Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 27, 2026

TCGC currently only supports auto-merging multiple services into one client. This design doc update adds support for three additional scenarios: separate clients per service, services as direct children without deep merging, and fully customized client hierarchies.

Changes to multiple-services.md

  • Scenario 1: Multiple independent clients, each targeting one service
  • Scenario 2: New autoMerge: false option to prevent deep merging—each service namespace becomes a direct sub-client preserving its own hierarchy
  • Scenario 3: Fully customized hierarchy using nested @client with explicit operation mapping via is keyword

autoMerge Behavior Summary

autoMerge Explicit @client Result
true (default) No All services' nested items merged as root client's sub-clients
false No Each service namespace becomes a sub-client with its own hierarchy
false Yes Only explicitly defined clients and operations
true Yes Explicit clients + remaining content auto-merged

Example

@client({
  name: "CombineClient",
  service: [ServiceA, ServiceB],
  autoMerge: false,  // NEW OPTION
})
namespace CombineClient;

With autoMerge: false:

client.service_a.operations.op_a()  # ServiceA hierarchy preserved
client.service_b.operations.op_b()  # ServiceB hierarchy preserved

Design doc only—no code changes included.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 3 commits January 27, 2026 09:29
… customization

Co-authored-by: tadelesh <1726438+tadelesh@users.noreply.github.com>
Co-authored-by: tadelesh <1726438+tadelesh@users.noreply.github.com>
Co-authored-by: tadelesh <1726438+tadelesh@users.noreply.github.com>
Copilot AI changed the title [WIP] Update client hierarchy design for multiple services support Extend multiple-services design doc with autoMerge option for client hierarchy customization Jan 27, 2026
Copilot AI requested a review from tadelesh January 27, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants