@hanphone/dsh-a2a 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +133 -87
  2. package/README.zh.md +64 -87
  3. package/cordis.patch.yml +4 -7
  4. package/lib/client.js +228 -36
  5. package/lib/index.js +1271 -625
  6. package/lib/types/api.d.ts +43 -13
  7. package/lib/types/api.d.ts.map +1 -1
  8. package/lib/types/api.js +60 -20
  9. package/lib/types/api.js.map +1 -1
  10. package/lib/types/client/index.d.ts +50 -14
  11. package/lib/types/client/index.d.ts.map +1 -1
  12. package/lib/types/commands.d.ts +4 -2
  13. package/lib/types/commands.d.ts.map +1 -1
  14. package/lib/types/commands.js +59 -46
  15. package/lib/types/commands.js.map +1 -1
  16. package/lib/types/events.d.ts +32 -9
  17. package/lib/types/events.d.ts.map +1 -1
  18. package/lib/types/index.d.ts +21 -32
  19. package/lib/types/index.d.ts.map +1 -1
  20. package/lib/types/index.js +178 -213
  21. package/lib/types/index.js.map +1 -1
  22. package/lib/types/outbound/calls.d.ts.map +1 -1
  23. package/lib/types/outbound/calls.js +8 -6
  24. package/lib/types/outbound/calls.js.map +1 -1
  25. package/lib/types/protocol.d.ts +174 -109
  26. package/lib/types/protocol.d.ts.map +1 -1
  27. package/lib/types/protocol.js +58 -34
  28. package/lib/types/protocol.js.map +1 -1
  29. package/lib/types/server/a2a-server.d.ts +7 -1
  30. package/lib/types/server/a2a-server.d.ts.map +1 -1
  31. package/lib/types/server/a2a-server.js +11 -3
  32. package/lib/types/server/a2a-server.js.map +1 -1
  33. package/lib/types/server/card.d.ts +6 -30
  34. package/lib/types/server/card.d.ts.map +1 -1
  35. package/lib/types/server/card.js +13 -49
  36. package/lib/types/server/card.js.map +1 -1
  37. package/lib/types/server/exec/agent-runtime.d.ts +3 -0
  38. package/lib/types/server/exec/agent-runtime.d.ts.map +1 -1
  39. package/lib/types/server/exec/agent-runtime.js +2 -1
  40. package/lib/types/server/exec/agent-runtime.js.map +1 -1
  41. package/lib/types/server/identity.d.ts +38 -0
  42. package/lib/types/server/identity.d.ts.map +1 -0
  43. package/lib/types/server/identity.js +89 -0
  44. package/lib/types/server/identity.js.map +1 -0
  45. package/lib/types/server/inbound-registry.d.ts +60 -0
  46. package/lib/types/server/inbound-registry.d.ts.map +1 -0
  47. package/lib/types/server/inbound-registry.js +86 -0
  48. package/lib/types/server/inbound-registry.js.map +1 -0
  49. package/lib/types/server/routes.d.ts +5 -1
  50. package/lib/types/server/routes.d.ts.map +1 -1
  51. package/lib/types/server/routes.js +9 -5
  52. package/lib/types/server/routes.js.map +1 -1
  53. package/lib/types/server/store.d.ts +37 -1
  54. package/lib/types/server/store.d.ts.map +1 -1
  55. package/lib/types/server/store.js +14 -0
  56. package/lib/types/server/store.js.map +1 -1
  57. package/lib/types/servers/inbound-manager.d.ts +131 -0
  58. package/lib/types/servers/inbound-manager.d.ts.map +1 -0
  59. package/lib/types/servers/inbound-manager.js +312 -0
  60. package/lib/types/servers/inbound-manager.js.map +1 -0
  61. package/lib/types/servers/outbound-manager.d.ts +129 -0
  62. package/lib/types/servers/outbound-manager.d.ts.map +1 -0
  63. package/lib/types/servers/outbound-manager.js +238 -0
  64. package/lib/types/servers/outbound-manager.js.map +1 -0
  65. package/lib/types/service.d.ts +108 -23
  66. package/lib/types/service.d.ts.map +1 -1
  67. package/lib/types/service.js +39 -18
  68. package/lib/types/service.js.map +1 -1
  69. package/package.json +3 -3
  70. package/src/api.ts +70 -31
  71. package/src/client/index.ts +339 -81
  72. package/src/commands.ts +59 -43
  73. package/src/events.ts +14 -7
  74. package/src/index.ts +204 -249
  75. package/src/outbound/calls.ts +8 -6
  76. package/src/protocol.ts +204 -95
  77. package/src/server/a2a-server.ts +16 -4
  78. package/src/server/card.ts +13 -62
  79. package/src/server/exec/agent-runtime.ts +5 -2
  80. package/src/server/identity.ts +109 -0
  81. package/src/server/inbound-registry.ts +129 -0
  82. package/src/server/routes.ts +6 -4
  83. package/src/server/store.ts +50 -4
  84. package/src/servers/inbound-manager.ts +385 -0
  85. package/src/servers/outbound-manager.ts +289 -0
  86. package/src/service.ts +136 -28
  87. package/lib/tsconfig.client.tsbuildinfo +0 -1
  88. package/lib/tsconfig.tsbuildinfo +0 -1
@@ -1,13 +1,18 @@
1
1
  /**
2
2
  * @hanphone/dsh-a2a — Cordis plugin entry.
3
3
  *
4
- * Mounts the A2A v1.0 dual-end plugin: the inbound server (AgentCard derived
5
- * from the live tool registry, JSON-RPC + SSE, durable SQLite task store,
6
- * session/subagent executors, the `a2a/inbound-task` policy gate + audit)
7
- * and the outbound client (persisted multi-agent registry, skills mapped to
8
- * model tools, sync calls with per-agent timeout). Optional services are
9
- * probed rather than injected so a composition lacking one half idles just
10
- * that half; only the storage domain is required.
4
+ * Mounts the A2A v1.0.1 dual-end plugin as a MULTI-INSTANCE composition: an
5
+ * arbitrary set of inbound A2A servers (each a preset-bound session pool, its
6
+ * own endpoint + AgentCard + creator-declared skills + auth) and an arbitrary
7
+ * set of outbound A2A connections (each a remote URL + preset + timeout).
8
+ * Instances are persisted in the `a2a` domain (`inbound_servers` /
9
+ * `outbound_servers` tables) and created/edited/started/stopped entirely from
10
+ * the GUI the plugin `Config` is minimal and instance setup is not
11
+ * patch-config driven. The protocol surface is aligned with the official A2A
12
+ * v1.0.1 spec (see docs/design.md).
13
+ *
14
+ * Optional services are probed rather than injected so a composition lacking
15
+ * one half idles just that half; only the storage domain is required.
11
16
  *
12
17
  * Function-plugin export shape: named `name`/`inject`/`Config`/`apply`, no
13
18
  * default export (mixing forms makes the Loader drop the namespace).
@@ -15,39 +20,23 @@
15
20
  */
16
21
  import type { Context } from '@deepseek-ai/cordis';
17
22
  import z from '@deepseek-ai/schemastery';
18
- import { type OutboundAgentSpec } from './outbound/registry.ts';
19
- import type { AgentSkill, TaskState } from './protocol.ts';
23
+ import { type OpResult } from './service.ts';
20
24
  export declare const name = "a2a";
21
25
  /** Only the storage domain is required; the other halves are probed. */
22
26
  export declare const inject: readonly ["storageDomain"];
27
+ /** Minimal host-level config; per-instance setup happens in the GUI/domain. */
23
28
  export interface A2AConfig {
24
- server: {
25
- enabled: boolean;
26
- name: string;
27
- description: string;
28
- version: string;
29
- /** Advertised base URL; null/absent lets the host webServer address be used. */
30
- baseUrl?: string;
31
- endpointPath: string;
32
- /** Environment variable name for the inbound bearer token; absent = anonymous. */
33
- authTokenEnv?: string;
34
- skills: {
35
- ids: string[];
36
- exclude: string[];
37
- };
38
- executors: Record<string, 'session' | 'subagent'>;
39
- subagentProvider: string;
40
- };
41
- client: {
42
- agents: OutboundAgentSpec[];
43
- toolPrefix: string;
44
- };
29
+ /** Advertised base URL for every inbound card; absent lets a default stand. */
30
+ baseUrl?: string;
31
+ /** Subagent driver provider for the inbound subagent executors. */
32
+ subagentProvider: string;
33
+ /** Default outbound connection timeout (ms). */
34
+ defaultTimeoutMs: number;
45
35
  }
46
36
  /** Loader-validated config schema (defaults applied by the Loader). */
47
37
  export declare const Config: z<A2AConfig>;
48
38
  export declare function apply(ctx: Context, config: A2AConfig): void;
49
- export type { TaskState };
50
- export type { AgentSkill };
39
+ export type { OpResult };
51
40
  export { A2AServer } from './server/a2a-server.ts';
52
41
  export { A2AClient, A2AError } from './outbound/calls.ts';
53
42
  export { A2AService } from './service.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAaxC,OAAO,EAA2C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAIxG,OAAO,KAAK,EAAa,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAErE,eAAO,MAAM,IAAI,QAAQ,CAAA;AAEzB,wEAAwE;AACxE,eAAO,MAAM,MAAM,4BAA6B,CAAA;AAEhD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,OAAO,EAAE,MAAM,CAAA;QACf,gFAAgF;QAChF,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,YAAY,EAAE,MAAM,CAAA;QACpB,kFAAkF;QAClF,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YAAC,OAAO,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;QAC5C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC,CAAA;QACjD,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,MAAM,EAAE;QACN,MAAM,EAAE,iBAAiB,EAAE,CAAA;QAC3B,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,uEAAuE;AACvE,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,CA0B9B,CAAA;AAcF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,QA6JpD;AAwFD,YAAY,EAAE,SAAS,EAAE,CAAA;AACzB,YAAY,EAAE,UAAU,EAAE,CAAA;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAQxC,OAAO,EAA8G,KAAK,QAAQ,EAAmC,MAAM,cAAc,CAAA;AAKzL,eAAO,MAAM,IAAI,QAAQ,CAAA;AAEzB,wEAAwE;AACxE,eAAO,MAAM,MAAM,4BAA6B,CAAA;AAEhD,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,CAAA;IACxB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,uEAAuE;AACvE,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,CAI9B,CAAA;AAEF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,QAoFpD;AAmKD,YAAY,EAAE,QAAQ,EAAE,CAAA;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
@@ -1,13 +1,18 @@
1
1
  /**
2
2
  * @hanphone/dsh-a2a — Cordis plugin entry.
3
3
  *
4
- * Mounts the A2A v1.0 dual-end plugin: the inbound server (AgentCard derived
5
- * from the live tool registry, JSON-RPC + SSE, durable SQLite task store,
6
- * session/subagent executors, the `a2a/inbound-task` policy gate + audit)
7
- * and the outbound client (persisted multi-agent registry, skills mapped to
8
- * model tools, sync calls with per-agent timeout). Optional services are
9
- * probed rather than injected so a composition lacking one half idles just
10
- * that half; only the storage domain is required.
4
+ * Mounts the A2A v1.0.1 dual-end plugin as a MULTI-INSTANCE composition: an
5
+ * arbitrary set of inbound A2A servers (each a preset-bound session pool, its
6
+ * own endpoint + AgentCard + creator-declared skills + auth) and an arbitrary
7
+ * set of outbound A2A connections (each a remote URL + preset + timeout).
8
+ * Instances are persisted in the `a2a` domain (`inbound_servers` /
9
+ * `outbound_servers` tables) and created/edited/started/stopped entirely from
10
+ * the GUI the plugin `Config` is minimal and instance setup is not
11
+ * patch-config driven. The protocol surface is aligned with the official A2A
12
+ * v1.0.1 spec (see docs/design.md).
13
+ *
14
+ * Optional services are probed rather than injected so a composition lacking
15
+ * one half idles just that half; only the storage domain is required.
11
16
  *
12
17
  * Function-plugin export shape: named `name`/`inject`/`Config`/`apply`, no
13
18
  * default export (mixing forms makes the Loader drop the namespace).
@@ -17,176 +22,72 @@ import z from '@deepseek-ai/schemastery';
17
22
  import { homedir } from 'node:os';
18
23
  import { join } from 'node:path';
19
24
  import { mkdirSync } from 'node:fs';
20
- import { deriveSkills, buildCard } from "./server/card.js";
21
25
  import { openDomain, DomainTaskStore } from "./server/store.js";
22
- import { ExecutorSet } from "./server/executor.js";
23
- import { ContextSessionPool, probeService } from "./server/exec/agent-runtime.js";
24
- import { createSessionExecutor } from "./server/exec/session.js";
25
- import { createSubagentExecutor } from "./server/exec/subagent.js";
26
- import { A2AServer } from "./server/a2a-server.js";
27
- import { A2aRoutes } from "./server/routes.js";
26
+ import { probeService } from "./server/exec/agent-runtime.js";
28
27
  import { handleApiRequest } from "./api.js";
29
- import { OutboundAgentRegistry, DomainAgentStore } from "./outbound/registry.js";
30
28
  import { A2AService } from "./service.js";
31
29
  import { buildA2aCommand } from "./commands.js";
30
+ import { InboundServerManager, DomainInboundStore } from "./servers/inbound-manager.js";
31
+ import { OutboundServerManager, DomainOutboundStore } from "./servers/outbound-manager.js";
32
32
  export const name = 'a2a';
33
33
  /** Only the storage domain is required; the other halves are probed. */
34
34
  export const inject = ['storageDomain'];
35
35
  /** Loader-validated config schema (defaults applied by the Loader). */
36
36
  export const Config = z.object({
37
- server: z.object({
38
- enabled: z.boolean().default(true),
39
- name: z.string().default('My DSH Agent'),
40
- description: z.string().default('A DeepSeek Harness agent exposed over A2A v1.0'),
41
- version: z.string().default('0.1.0'),
42
- baseUrl: z.string(),
43
- endpointPath: z.string().default('/a2a'),
44
- authTokenEnv: z.string(),
45
- skills: z.object({
46
- ids: z.array(z.string()).default([]),
47
- exclude: z.array(z.string()).default([]),
48
- }),
49
- executors: z.dict(z.union(['session', 'subagent'])).default({ chat: 'session' }),
50
- subagentProvider: z.string().default('in-process'),
51
- }),
52
- client: z.object({
53
- agents: z.array(z.object({
54
- name: z.string(),
55
- agentCardUrl: z.string(),
56
- bearerTokenEnv: z.string(),
57
- enabled: z.boolean().default(true),
58
- timeoutMs: z.number().default(60000),
59
- })).default([]),
60
- toolPrefix: z.string().default('a2a'),
61
- }),
37
+ baseUrl: z.string(),
38
+ subagentProvider: z.string().default('in-process'),
39
+ defaultTimeoutMs: z.number().default(60_000),
62
40
  });
63
41
  export function apply(ctx, config) {
64
42
  const logger = ctx.logger('a2a');
65
- const serverConfig = { ...config.server };
66
- const clientConfig = { ...config.client };
67
- const authToken = serverConfig.authTokenEnv !== undefined ? process.env[serverConfig.authTokenEnv] : undefined;
68
- const toolPrefix = clientConfig.toolPrefix;
69
- const subagentProvider = serverConfig.subagentProvider;
43
+ const subagentProvider = config.subagentProvider;
70
44
  const inboundCwd = inboundSessionCwd();
71
45
  ctx.inject(['storageDomain'], (ctx) => {
72
46
  ctx.effect(async () => {
73
47
  const domain = await openDomain(ctx.storageDomain);
74
48
  const store = new DomainTaskStore(domain);
75
- const holder = {
76
- domain,
77
- store,
78
- registry: undefined,
79
- server: undefined,
80
- routes: undefined,
81
- card: undefined,
82
- executors: undefined,
83
- enabled: serverConfig.enabled,
84
- };
85
- // ── inbound server half ────────────────────────────────────────────
49
+ // Probe the optional host services each half uses.
86
50
  const webServer = probeService(ctx, 'webServer', 'register');
87
- if (webServer === undefined) {
88
- logger.warn('a2a: webServer not mounted; inbound server idle');
89
- }
90
- else {
91
- try {
92
- const skills = deriveSkills(probeService(ctx, 'tools', 'get') ?? { get: () => undefined }, { ids: serverConfig.skills.ids, exclude: serverConfig.skills.exclude });
93
- const baseUrl = serverConfig.baseUrl ?? `http://127.0.0.1:${process.env['DSH_A2A_PORT'] ?? '3000'}`;
94
- const endpointPath = serverConfig.endpointPath ?? '/a2a';
95
- const card = buildCard({
96
- baseUrl,
97
- endpointPath,
98
- name: serverConfig.name ?? 'My DSH Agent',
99
- description: serverConfig.description ?? 'A DeepSeek Harness agent exposed over A2A v1.0',
100
- version: serverConfig.version ?? '0.1.0',
101
- skills,
102
- ...(authToken ? { authToken } : {}),
103
- });
104
- holder.card = card;
105
- // Executors: probe the agent loop; refuse tasks readably without it.
106
- const agents = probeService(ctx, 'agents', 'create');
107
- const presets = probeService(ctx, 'agentPresets', 'resolve');
108
- const sessionPool = agents
109
- ? new ContextSessionPool(agents, {
110
- cwd: inboundCwd,
111
- ...(presets ? { agentPresets: presets } : {}),
112
- resolveAgentOptions: () => resolveDefaultModel(ctx),
113
- })
114
- : undefined;
115
- const sessionExecutor = sessionPool ? createSessionExecutor(sessionPool) : refuseExecutor('no agent loop mounted');
116
- const subagents = probeService(ctx, 'subagents', 'start');
117
- const subagentExecutor = sessionPool !== undefined && subagents !== undefined
118
- ? createSubagentExecutor({ pool: sessionPool, subagents, provider: subagentProvider })
119
- : undefined;
120
- const executors = new ExecutorSet(serverConfig.executors, sessionExecutor, subagentExecutor);
121
- holder.executors = executors;
122
- const skillIds = new Set(skills.map((s) => s.id));
123
- const gate = async (input) => {
124
- if (!skillIds.has(input.skill)) {
125
- return { ok: false, reason: `unknown skill "${input.skill}"` };
126
- }
127
- const decision = {
128
- contextId: input.contextId,
129
- skill: input.skill,
130
- parts: input.parts,
131
- remotePeerId: input.remotePeerId,
132
- };
133
- const decided = await ctx.waterfall('a2a/inbound-task', decision, async (d) => d);
134
- // Built-in audit: every task decision is logged with its source.
135
- logger.info(`[a2a] inbound skill=${decided.skill} remote=${decided.remotePeerId} rejected=${decided.rejected?.reason ?? 'no'}`);
136
- if (decided.rejected !== undefined)
137
- return { ok: false, reason: decided.rejected.reason };
138
- return { ok: true };
139
- };
140
- const server = new A2AServer({
141
- card,
142
- store,
143
- executors,
144
- ...(authToken ? { authToken } : {}),
145
- gate,
146
- onTaskSettled: (taskId) => logger.info(`[a2a] task settled ${taskId}`),
147
- });
148
- holder.server = server;
149
- const routes = new A2aRoutes(webServer, server);
150
- holder.routes = routes;
151
- if (holder.enabled)
152
- routes.enable();
153
- }
154
- catch (err) {
155
- logger.error(`a2a: server half failed to build: ${err.message}`);
156
- }
157
- }
158
- // ── outbound client half (after the inbound routes exist, so a
159
- // loopback agent can fetch this server's own card) ──────────────────
160
- const toolsService = probeService(ctx, 'tools', 'get');
161
- if (toolsService === undefined) {
162
- logger.warn('a2a: tools service not mounted; outbound client idle');
163
- }
164
- else {
165
- const registry = new OutboundAgentRegistry({
166
- registrar: { register: (def) => toolsService.register(def) },
167
- store: new DomainAgentStore(domain.agents),
168
- toolPrefix,
169
- tokenOf: (env) => (env ? process.env[env] : undefined),
170
- onError: (message) => logger.warn(message),
171
- });
172
- holder.registry = registry;
173
- registry.loadAll();
174
- // Declared agents seed the registry: the persisted store stays the
175
- // runtime state, so a disabled or removed agent is not reconnected.
176
- if (clientConfig.agents.length > 0)
177
- await registry.seed(clientConfig.agents);
178
- }
179
- // ── service facade + commands ──────────────────────────────────────
180
- const impl = makeFacade(holder, logger.info.bind(logger));
51
+ const tools = probeService(ctx, 'tools', 'register');
52
+ const agents = probeService(ctx, 'agents', 'create');
53
+ const agentPresets = probeService(ctx, 'agentPresets', 'list');
54
+ const subagents = probeService(ctx, 'subagents', 'start');
55
+ const commandsRef = probeService(ctx, 'commands', 'register');
56
+ const baseUrl = config.baseUrl ?? `http://127.0.0.1:${webServerPort(webServer) ?? process.env['DSH_A2A_PORT'] ?? '3000'}`;
57
+ // ── inbound manager ───────────────────────────────────────────────
58
+ const inboundHost = {
59
+ ctx,
60
+ webServer: webServer ?? { register: noopRegister },
61
+ tasks: store,
62
+ logger,
63
+ ...(agents !== undefined ? { agents } : {}),
64
+ ...(agentPresets !== undefined ? { agentPresets } : {}),
65
+ ...(subagents !== undefined ? { subagents } : {}),
66
+ resolveDefaultModel: () => resolveDefaultModel(ctx),
67
+ sessionCwd: inboundCwd,
68
+ defaultBaseUrl: baseUrl,
69
+ subagentProvider,
70
+ newId: () => crypto.randomUUID().slice(0, 8),
71
+ };
72
+ const inboundManager = new InboundServerManager(inboundHost, new DomainInboundStore(domain.inbound_servers));
73
+ inboundManager.boot();
74
+ // ── outbound manager ──────────────────────────────────────────────
75
+ const outboundHost = {
76
+ registrar: { register: (def) => tools?.register(def) },
77
+ tokenOf: (env) => (env ? process.env[env] : undefined),
78
+ onError: (message) => logger.warn(message),
79
+ defaultTimeoutMs: config.defaultTimeoutMs,
80
+ };
81
+ const outboundManager = new OutboundServerManager(outboundHost, domain.agents, new DomainOutboundStore(domain.outbound_servers), () => `out-${crypto.randomUUID().slice(0, 12)}`);
82
+ outboundManager.boot();
83
+ // ── service facade + commands + GUI API ───────────────────────────
84
+ const impl = makeFacade({ domain, store, inboundManager, outboundManager, agentPresets, logger: logger.info.bind(logger) });
181
85
  new A2AService(ctx, impl);
182
- const commands = probeService(ctx, 'commands', 'register');
183
- if (commands !== undefined) {
184
- ctx.effect(() => commands.register(buildA2aCommand(impl)), 'a2a: command');
86
+ if (commandsRef !== undefined) {
87
+ ctx.effect(() => commandsRef.register(buildA2aCommand(impl)), 'a2a: command');
185
88
  }
186
- // ── GUI dashboard API (loopback-only /a2a/api) ─────────────────────
187
- const dashboardWebServer = probeService(ctx, 'webServer', 'register');
188
- if (dashboardWebServer !== undefined) {
189
- ctx.effect(() => dashboardWebServer.register({
89
+ if (webServer !== undefined) {
90
+ ctx.effect(() => webServer.register({
190
91
  kind: 'prefix',
191
92
  path: '/a2a/api',
192
93
  handler: (req, res) => handleApiRequest(req, res, impl),
@@ -196,80 +97,133 @@ export function apply(ctx, config) {
196
97
  logger.warn('a2a: webServer not mounted; GUI dashboard API idle');
197
98
  }
198
99
  return async () => {
199
- holder.routes?.dispose();
200
- await holder.executors?.disposeAll();
201
- await holder.registry?.disposeAll();
100
+ inboundManager.disposeAll();
101
+ await outboundManager.disposeAll();
202
102
  await domain.close();
203
103
  };
204
- }, 'a2a: domain + halves');
104
+ }, 'a2a: multi-instance composition');
205
105
  });
206
106
  }
207
- /** Facade closure over the shared holder (commands and `ctx.a2a` consumers). */
208
- function makeFacade(holder, log) {
209
- const serverEnabled = () => holder.routes?.active ?? false;
107
+ /** Facade closure over the two managers (commands and `ctx.a2a` consumers). */
108
+ function makeFacade(host) {
109
+ const inboundView = (id) => {
110
+ const live = host.inboundManager.get(id);
111
+ if (live === undefined)
112
+ return undefined;
113
+ const r = live.record;
114
+ return {
115
+ id: r.id,
116
+ name: r.name,
117
+ description: r.description,
118
+ version: r.version,
119
+ endpointPath: live.endpointPath,
120
+ ...(r.preset !== undefined ? { preset: r.preset } : {}),
121
+ ...(r.authTokenEnv !== undefined ? { authTokenEnv: r.authTokenEnv } : {}),
122
+ cardPath: live.cardPath,
123
+ ...(live.card.supportedInterfaces?.[0]?.url !== undefined ? { cardUrl: live.card.supportedInterfaces[0].url } : {}),
124
+ enabled: live.routes.active,
125
+ skills: r.skills.map((s) => ({ id: s.id, name: s.name, ...(s.description != null ? { description: s.description } : {}) })),
126
+ };
127
+ };
210
128
  return {
211
129
  status() {
212
130
  return {
213
- server: {
214
- enabled: serverEnabled(),
215
- cardUrl: holder.card?.supportedInterfaces?.[0]?.url,
216
- skills: holder.card?.skills?.map((s) => s.id) ?? [],
217
- executors: holder.executors ? ['session', ...(holder.executors['subagent'] !== undefined ? ['subagent'] : [])] : [],
218
- },
219
- tasks: holder.store.list().length,
220
- agents: holder.registry?.list() ?? [],
131
+ inbounds: host.inboundManager.list().map((live) => inboundView(live.id)).filter((v) => v !== undefined),
132
+ outbounds: host.outboundManager.list(),
133
+ tasks: host.store.list().length,
221
134
  };
222
135
  },
223
- async enableServer(enable) {
224
- if (holder.routes === undefined)
225
- return { ok: false, message: 'inbound server is not mounted (no webServer)' };
226
- if (enable)
227
- holder.routes.enable();
228
- else
229
- holder.routes.disable();
230
- log(`[a2a] server ${enable ? 'enabled' : 'disabled'}`);
231
- return { ok: true, message: `server ${enable ? 'enabled' : 'disabled'}` };
136
+ async presets() {
137
+ if (host.agentPresets === undefined)
138
+ return [];
139
+ try {
140
+ return (await host.agentPresets.list()).map((p) => ({
141
+ id: p.id,
142
+ ...(p.name !== undefined ? { name: p.name } : {}),
143
+ ...(p.description !== undefined ? { description: p.description } : {}),
144
+ ...(p.isDefault === true ? { isDefault: true } : {}),
145
+ }));
146
+ }
147
+ catch {
148
+ return [];
149
+ }
232
150
  },
233
- getTask(taskId) {
234
- return holder.store.get(taskId);
151
+ // ── inbound ─────────────────────────────────────────────────────────
152
+ listInboundServers() {
153
+ return host.inboundManager.list().map((live) => inboundView(live.id)).filter((v) => v !== undefined);
235
154
  },
236
- listTasks() {
237
- return holder.store.list();
155
+ async createInboundServer(input) {
156
+ const result = await host.inboundManager.add({
157
+ name: input.name,
158
+ description: input.description,
159
+ version: input.version,
160
+ ...(input.endpointPath !== undefined ? { endpointPath: input.endpointPath } : {}),
161
+ ...(input.preset !== undefined ? { preset: input.preset } : {}),
162
+ ...(input.authTokenEnv !== undefined ? { authTokenEnv: input.authTokenEnv } : {}),
163
+ ...(input.skills !== undefined ? { skills: input.skills } : {}),
164
+ ...(input.enabled !== undefined ? { enabled: input.enabled } : {}),
165
+ });
166
+ host.logger(`[a2a] inbound created: ${result.message}`);
167
+ return result;
238
168
  },
239
- async cancelTask(taskId) {
240
- const record = holder.store.get(taskId);
241
- if (record === undefined)
242
- return { ok: false, message: `task ${taskId} not found` };
243
- const aborted = holder.server?.abort?.(taskId) ?? false;
244
- return { ok: true, message: aborted ? `task ${taskId} canceled` : `task ${taskId} already terminal` };
169
+ async removeInboundServer(id) {
170
+ return host.inboundManager.remove(id);
245
171
  },
246
- agents() {
247
- return holder.registry?.list() ?? [];
172
+ async setInboundServerEnabled(id, enabled) {
173
+ return host.inboundManager.setEnabled(id, enabled);
248
174
  },
249
- async addAgent(spec) {
250
- const registry = holder.registry;
251
- if (registry === undefined)
252
- return { ok: false, message: 'outbound client not mounted (no tools service)' };
253
- const result = await registry.add({ ...spec, enabled: true, timeoutMs: 60000 });
254
- return result;
175
+ async updateInboundServer(id, patch) {
176
+ return host.inboundManager.update(id, patch);
255
177
  },
256
- async removeAgent(id) {
257
- return holder.registry?.remove(id) ?? { ok: false, message: 'outbound client not mounted' };
178
+ // ── outbound ────────────────────────────────────────────────────────
179
+ listOutboundServers() {
180
+ return [...host.outboundManager.list()];
258
181
  },
259
- async setAgentEnabled(id, enabled) {
260
- return holder.registry?.setEnabled(id, enabled) ?? { ok: false, message: 'outbound client not mounted' };
182
+ async createOutboundServer(input) {
183
+ return host.outboundManager.add({
184
+ ...(input.id !== undefined ? { id: input.id } : {}),
185
+ name: input.name,
186
+ agentCardUrl: input.agentCardUrl,
187
+ ...(input.bearerTokenEnv !== undefined ? { bearerTokenEnv: input.bearerTokenEnv } : {}),
188
+ ...(input.preset !== undefined ? { preset: input.preset } : {}),
189
+ enabled: input.enabled ?? true,
190
+ timeoutMs: input.timeoutMs ?? host.outboundManager.defaultTimeoutMs,
191
+ });
261
192
  },
262
- async refreshAgentCard(id) {
263
- return holder.registry?.refresh(id) ?? { ok: false, message: 'outbound client not mounted' };
193
+ async removeOutboundServer(id) {
194
+ return host.outboundManager.remove(id);
264
195
  },
265
- };
266
- }
267
- /** A task that refuses readably on compositions without an agent loop. */
268
- function refuseExecutor(reason) {
269
- return {
270
- name: 'refuse',
271
- async execute() {
272
- throw new Error(`a2a: ${reason}; refusing inbound task`);
196
+ async setOutboundServerEnabled(id, enabled) {
197
+ return host.outboundManager.setEnabled(id, enabled);
198
+ },
199
+ async refreshOutboundServer(id) {
200
+ return host.outboundManager.refresh(id);
201
+ },
202
+ // ── tasks ───────────────────────────────────────────────────────────
203
+ getTask(taskId) {
204
+ return host.store.get(taskId);
205
+ },
206
+ listTasks() {
207
+ return host.store.list();
208
+ },
209
+ async cancelTask(taskId) {
210
+ const live = host.inboundManager.list().find((l) => l.server.abort(taskId));
211
+ return { ok: live !== undefined, message: live !== undefined ? `task ${taskId} canceled` : `task ${taskId} not found or already terminal` };
212
+ },
213
+ // ── inbound peers (aggregated across instances) ─────────────────────
214
+ inbounds() {
215
+ return host.inboundManager.list().flatMap((live) => live.inbound.list());
216
+ },
217
+ async closeInbound(peerId) {
218
+ for (const live of host.inboundManager.list()) {
219
+ const peers = live.inbound.activeTasksOf(peerId);
220
+ for (const taskId of peers)
221
+ live.server.abort(taskId);
222
+ const result = live.inbound.closePeer(peerId);
223
+ if (result)
224
+ return { ok: true, message: `inbound peer ${peerId} closed` };
225
+ }
226
+ return { ok: false, message: `inbound peer ${peerId} not found` };
273
227
  },
274
228
  };
275
229
  }
@@ -290,6 +244,17 @@ function inboundSessionCwd() {
290
244
  }
291
245
  return dir;
292
246
  }
247
+ function noopRegister() {
248
+ return () => { };
249
+ }
250
+ /** The listening port of a mounted webServer (undefined when unavailable). */
251
+ function webServerPort(webServer) {
252
+ const candidate = webServer;
253
+ if (candidate === undefined)
254
+ return undefined;
255
+ const value = typeof candidate.port === 'function' ? candidate.port() : candidate.port;
256
+ return typeof value === 'number' && Number.isFinite(value) ? String(value) : undefined;
257
+ }
293
258
  export { A2AServer } from "./server/a2a-server.js";
294
259
  export { A2AClient, A2AError } from "./outbound/calls.js";
295
260
  export { A2AService } from "./service.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/outbound/calls.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,OAAO,EACZ,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAA;AAEvB,qDAAqD;AACrD,qBAAa,QAAS,SAAQ,KAAK;IAE/B,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAClC;AAED,6DAA6D;AAC7D,qBAAa,SAAS;IAOlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAEjC,OAAO;IASP,8EAA8E;WACjE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IA0BxF,gEAAgE;IAC1D,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAI5B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,iEAAiE;YACnD,QAAQ;YAaR,IAAI;CAkCnB"}
1
+ {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/outbound/calls.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,OAAO,EACZ,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAA;AAEvB,qDAAqD;AACrD,qBAAa,QAAS,SAAQ,KAAK;IAE/B,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAClC;AAED,6DAA6D;AAC7D,qBAAa,SAAS;IAOlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IAEjC,OAAO;IASP,8EAA8E;WACjE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IA0BxF,gEAAgE;IAC1D,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAI5B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,iEAAiE;YACnD,QAAQ;YAaR,IAAI;CAoCnB"}