feat(tools): fabric-guild-list returns serviceEndpoint for announce targets

FabricSession.guilds type + fabric-guild-list response now carry the
new serviceEndpoint field (added to GuildNode in Fabric.Backend.Center).
The tool description teaches agents the distinction: 'endpoint' is the
client-facing URL (which they themselves use to call the guild from
plugin context), 'serviceEndpoint' is what to plumb into
dialectic_propose_topic's announce_guild_base_url so the dialectic
backend can dial it from inside the deployment.

Fixes bug #2 from the first e2e debate run: agent-supplied
'http://server.t3:7002' wasn't backend-reachable; agent now
supplies 'http://fabric-backend-guild:7002' via serviceEndpoint
and broadcasts actually land.
This commit is contained in:
h z
2026-05-23 22:21:03 +01:00
parent 0e36457d8f
commit 8963f3ca00
2 changed files with 23 additions and 4 deletions

View File

@@ -10,6 +10,13 @@ export type FabricSession = {
nodeId: string;
name: string;
endpoint: string;
// Service-to-service endpoint (e.g. http://backend-guild:7002) — what
// an in-deployment backend uses to reach this guild. Distinct from
// `endpoint` which is the client/browser-facing URL. Plumb this into
// `announce_guild_base_url` on dialectic_propose_topic so the
// dialectic-backend can actually dial it. Null when the admin hasn't
// configured it.
serviceEndpoint?: string | null;
status: string;
// free-form description of this guild's role; admin-set on Center.
// null when the admin hasn't filled it in yet.