@hanphone/dsh-a2a 0.2.0 → 0.3.1

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 (78) hide show
  1. package/README.md +106 -106
  2. package/README.zh.md +50 -74
  3. package/cordis.patch.yml +4 -7
  4. package/lib/client.js +186 -73
  5. package/lib/index.js +1275 -868
  6. package/lib/types/api.d.ts +30 -23
  7. package/lib/types/api.d.ts.map +1 -1
  8. package/lib/types/api.js +56 -23
  9. package/lib/types/api.js.map +1 -1
  10. package/lib/types/client/index.d.ts +50 -19
  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 +177 -272
  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 +4 -0
  30. package/lib/types/server/a2a-server.d.ts.map +1 -1
  31. package/lib/types/server/a2a-server.js +6 -2
  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 +20 -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/routes.d.ts +5 -1
  42. package/lib/types/server/routes.d.ts.map +1 -1
  43. package/lib/types/server/routes.js +9 -5
  44. package/lib/types/server/routes.js.map +1 -1
  45. package/lib/types/server/store.d.ts +32 -0
  46. package/lib/types/server/store.d.ts.map +1 -1
  47. package/lib/types/server/store.js +10 -0
  48. package/lib/types/server/store.js.map +1 -1
  49. package/lib/types/servers/inbound-manager.d.ts +154 -0
  50. package/lib/types/servers/inbound-manager.d.ts.map +1 -0
  51. package/lib/types/servers/inbound-manager.js +335 -0
  52. package/lib/types/servers/inbound-manager.js.map +1 -0
  53. package/lib/types/servers/outbound-manager.d.ts +129 -0
  54. package/lib/types/servers/outbound-manager.d.ts.map +1 -0
  55. package/lib/types/servers/outbound-manager.js +238 -0
  56. package/lib/types/servers/outbound-manager.js.map +1 -0
  57. package/lib/types/service.d.ts +104 -40
  58. package/lib/types/service.d.ts.map +1 -1
  59. package/lib/types/service.js +36 -27
  60. package/lib/types/service.js.map +1 -1
  61. package/package.json +2 -2
  62. package/src/api.ts +65 -53
  63. package/src/client/index.ts +272 -148
  64. package/src/commands.ts +59 -43
  65. package/src/events.ts +14 -7
  66. package/src/index.ts +203 -310
  67. package/src/outbound/calls.ts +8 -6
  68. package/src/protocol.ts +204 -95
  69. package/src/server/a2a-server.ts +9 -2
  70. package/src/server/card.ts +13 -62
  71. package/src/server/exec/agent-runtime.ts +20 -2
  72. package/src/server/routes.ts +6 -4
  73. package/src/server/store.ts +42 -3
  74. package/src/servers/inbound-manager.ts +416 -0
  75. package/src/servers/outbound-manager.ts +289 -0
  76. package/src/service.ts +125 -40
  77. package/lib/tsconfig.client.tsbuildinfo +0 -1
  78. package/lib/tsconfig.tsbuildinfo +0 -1
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * GUI control API for the A2A settings dashboard: one `GET /a2a/api`
3
- * snapshot plus `POST /a2a/api` control actions (server toggle, outbound
4
- * agent management, task view). The browser half talks only to this route;
5
- * it carries no protocol knowledge. Loopback-only by default so the
6
- * dashboard cannot be driven from the wire.
3
+ * snapshot plus `POST /a2a/api` control actions (inbound/outbound server
4
+ * CRUD + enable/disable, task view/cancel) and `GET /a2a/api/presets` for the
5
+ * preset roster the pickers need. The browser half talks only to this route;
6
+ * it carries no protocol knowledge. Loopback-only by default so the dashboard
7
+ * cannot be driven from the wire.
7
8
  *
8
9
  * The route body is bound to the same `A2AServiceImpl` facade the `/a2a`
9
10
  * command surface uses, so GUI actions and commands cannot disagree.
@@ -13,41 +14,47 @@ import type { IncomingMessage, ServerResponse } from 'node:http';
13
14
  import type { A2AServiceImpl } from './service.ts';
14
15
  /** Control actions the dashboard can issue. */
15
16
  export type ApiAction = {
16
- readonly action: 'server.enable' | 'server.disable';
17
+ readonly action: 'inbound.create';
18
+ readonly name: string;
19
+ readonly description: string;
20
+ readonly version: string;
21
+ readonly endpointPath?: string;
22
+ readonly preset?: string;
23
+ readonly authTokenEnv?: string;
24
+ readonly enabled?: boolean;
25
+ } | {
26
+ readonly action: 'inbound.remove' | 'inbound.enable' | 'inbound.disable' | 'inbound.update';
27
+ readonly id: string;
28
+ readonly name?: string;
29
+ readonly description?: string;
30
+ readonly version?: string;
31
+ readonly endpointPath?: string;
32
+ readonly preset?: string;
33
+ readonly authTokenEnv?: string;
17
34
  } | {
18
- readonly action: 'agent.add';
35
+ readonly action: 'outbound.create';
19
36
  readonly name: string;
20
37
  readonly agentCardUrl: string;
21
38
  readonly bearerTokenEnv?: string;
39
+ readonly preset?: string;
40
+ readonly enabled?: boolean;
41
+ readonly timeoutMs?: number;
22
42
  } | {
23
- readonly action: 'agent.remove' | 'agent.enable' | 'agent.disable' | 'agent.refresh';
43
+ readonly action: 'outbound.remove' | 'outbound.enable' | 'outbound.disable' | 'outbound.refresh';
24
44
  readonly id: string;
25
45
  } | {
26
46
  readonly action: 'task.cancel';
27
47
  readonly id: string;
28
- } | {
29
- readonly action: 'identity.update';
30
- readonly name?: string;
31
- readonly description?: string;
32
- readonly version?: string;
33
48
  } | {
34
49
  readonly action: 'inbound.close';
35
50
  readonly id: string;
36
51
  };
37
52
  /** One snapshot of the whole plugin for the dashboard. */
38
53
  export interface ApiSnapshot {
39
- readonly server: {
40
- readonly enabled: boolean;
41
- readonly cardUrl?: string;
42
- readonly skills: readonly string[];
43
- readonly name?: string;
44
- readonly description?: string;
45
- readonly version?: string;
46
- readonly configured: boolean;
47
- };
48
- readonly tasks: readonly unknown[];
49
- readonly agents: readonly unknown[];
50
54
  readonly inbounds: readonly unknown[];
55
+ readonly outbounds: readonly unknown[];
56
+ readonly tasks: readonly unknown[];
57
+ readonly peers: readonly unknown[];
51
58
  }
52
59
  /** Handle one dashboard API request against the service facade. */
53
60
  export declare function handleApiRequest(req: IncomingMessage, res: ServerResponse, impl: A2AServiceImpl): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,+CAA+C;AAC/C,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACxH;IAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7G;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACxH;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7D,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;QAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;KAC7B,CAAA;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CACtC;AAsBD,mEAAmE;AACnE,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CAwBf"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,+CAA+C;AAC/C,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1O;IAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAChS;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACjN;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACzH;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7D,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CACnC;AAsBD,mEAAmE;AACnE,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
package/lib/types/api.js CHANGED
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * GUI control API for the A2A settings dashboard: one `GET /a2a/api`
3
- * snapshot plus `POST /a2a/api` control actions (server toggle, outbound
4
- * agent management, task view). The browser half talks only to this route;
5
- * it carries no protocol knowledge. Loopback-only by default so the
6
- * dashboard cannot be driven from the wire.
3
+ * snapshot plus `POST /a2a/api` control actions (inbound/outbound server
4
+ * CRUD + enable/disable, task view/cancel) and `GET /a2a/api/presets` for the
5
+ * preset roster the pickers need. The browser half talks only to this route;
6
+ * it carries no protocol knowledge. Loopback-only by default so the dashboard
7
+ * cannot be driven from the wire.
7
8
  *
8
9
  * The route body is bound to the same `A2AServiceImpl` facade the `/a2a`
9
10
  * command surface uses, so GUI actions and commands cannot disagree.
@@ -33,6 +34,11 @@ export async function handleApiRequest(req, res, impl) {
33
34
  res.end('forbidden');
34
35
  return;
35
36
  }
37
+ const path = (req.url ?? '').split('?')[0] ?? '';
38
+ if (req.method === 'GET' && path === '/a2a/api/presets') {
39
+ json(res, 200, await impl.presets());
40
+ return;
41
+ }
36
42
  if (req.method === 'GET') {
37
43
  json(res, 200, snapshotOf(impl));
38
44
  return;
@@ -56,32 +62,59 @@ export async function handleApiRequest(req, res, impl) {
56
62
  function snapshotOf(impl) {
57
63
  const status = impl.status();
58
64
  return {
59
- server: status.server,
60
- tasks: impl.listTasks(),
61
- agents: impl.agents(),
62
65
  inbounds: status.inbounds ?? [],
66
+ outbounds: status.outbounds ?? [],
67
+ tasks: impl.listTasks(),
68
+ // `status()` may already carry aggregated peers; fall back to the facade.
69
+ peers: (status.peers ?? impl.inbounds()),
63
70
  };
64
71
  }
65
72
  async function dispatch(payload, impl) {
66
73
  switch (payload.action) {
67
- case 'server.enable':
68
- return impl.enableServer(true);
69
- case 'server.disable':
70
- return impl.enableServer(false);
71
- case 'agent.add':
72
- return impl.addAgent({ name: payload.name, agentCardUrl: payload.agentCardUrl, ...(payload.bearerTokenEnv ? { bearerTokenEnv: payload.bearerTokenEnv } : {}) });
73
- case 'agent.remove':
74
- return impl.removeAgent(payload.id);
75
- case 'agent.enable':
76
- return impl.setAgentEnabled(payload.id, true);
77
- case 'agent.disable':
78
- return impl.setAgentEnabled(payload.id, false);
79
- case 'agent.refresh':
80
- return impl.refreshAgentCard(payload.id);
74
+ case 'inbound.create':
75
+ return impl.createInboundServer({
76
+ name: payload.name,
77
+ description: payload.description,
78
+ version: payload.version,
79
+ ...(payload.endpointPath !== undefined ? { endpointPath: payload.endpointPath } : {}),
80
+ ...(payload.preset !== undefined ? { preset: payload.preset } : {}),
81
+ ...(payload.authTokenEnv !== undefined ? { authTokenEnv: payload.authTokenEnv } : {}),
82
+ ...(payload.enabled !== undefined ? { enabled: payload.enabled } : {}),
83
+ });
84
+ case 'inbound.remove':
85
+ return impl.removeInboundServer(payload.id);
86
+ case 'inbound.enable':
87
+ return impl.setInboundServerEnabled(payload.id, true);
88
+ case 'inbound.disable':
89
+ return impl.setInboundServerEnabled(payload.id, false);
90
+ case 'inbound.update':
91
+ return impl.updateInboundServer(payload.id, {
92
+ ...(payload.name !== undefined ? { name: payload.name } : {}),
93
+ ...(payload.description !== undefined ? { description: payload.description } : {}),
94
+ ...(payload.version !== undefined ? { version: payload.version } : {}),
95
+ ...(payload.endpointPath !== undefined ? { endpointPath: payload.endpointPath } : {}),
96
+ ...(payload.preset !== undefined ? { preset: payload.preset } : {}),
97
+ ...(payload.authTokenEnv !== undefined ? { authTokenEnv: payload.authTokenEnv } : {}),
98
+ });
99
+ case 'outbound.create':
100
+ return impl.createOutboundServer({
101
+ name: payload.name,
102
+ agentCardUrl: payload.agentCardUrl,
103
+ ...(payload.bearerTokenEnv !== undefined ? { bearerTokenEnv: payload.bearerTokenEnv } : {}),
104
+ ...(payload.preset !== undefined ? { preset: payload.preset } : {}),
105
+ ...(payload.enabled !== undefined ? { enabled: payload.enabled } : {}),
106
+ ...(payload.timeoutMs !== undefined ? { timeoutMs: payload.timeoutMs } : {}),
107
+ });
108
+ case 'outbound.remove':
109
+ return impl.removeOutboundServer(payload.id);
110
+ case 'outbound.enable':
111
+ return impl.setOutboundServerEnabled(payload.id, true);
112
+ case 'outbound.disable':
113
+ return impl.setOutboundServerEnabled(payload.id, false);
114
+ case 'outbound.refresh':
115
+ return impl.refreshOutboundServer(payload.id);
81
116
  case 'task.cancel':
82
117
  return impl.cancelTask(payload.id);
83
- case 'identity.update':
84
- return impl.updateIdentity({ ...(payload.name !== undefined ? { name: payload.name } : {}), ...(payload.description !== undefined ? { description: payload.description } : {}), ...(payload.version !== undefined ? { version: payload.version } : {}) });
85
118
  case 'inbound.close':
86
119
  return impl.closeInbound(payload.id);
87
120
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA8BH,SAAS,QAAQ,CAAC,GAAoB;IACpC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACrD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACpE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,6DAA6D;AAC7D,SAAS,UAAU,CAAC,GAAoB;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAA;IACzC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,kBAAkB,CAAA;AACvF,CAAC;AAED,SAAS,IAAI,CAAC,GAAmB,EAAE,MAAc,EAAE,KAAc;IAC/D,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAA;IAC1F,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AAChC,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAoB,EACpB,GAAmB,EACnB,IAAoB;IAEpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;QACpD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpB,OAAM;IACR,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;QAChC,OAAM;IACR,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,OAAkB,CAAA;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAc,CAAA;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAA;YAC3D,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACxC,OAAM;IACR,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;IACpD,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,IAAoB;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAazB,CAAA;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,IAAI,CAAC,SAAS,EAAwB;QAC7C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAwB;QAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;KAChC,CAAA;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAAkB,EAAE,IAAoB;IAC9D,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,eAAe;YAClB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAChC,KAAK,gBAAgB;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACjC,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACjK,KAAK,cAAc;YACjB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACrC,KAAK,cAAc;YACjB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC/C,KAAK,eAAe;YAClB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAChD,KAAK,eAAe;YAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC1C,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACpC,KAAK,iBAAiB;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC3P,KAAK,eAAe;YAClB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACtC;YACE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,MAAM,CAAE,OAAgC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAA;IACvG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,18 @@
1
1
  /**
2
2
  * A2A settings dashboard — browser half.
3
3
  *
4
- * Registers one `settings.section` ("A2A 连接") listing who is connected TO
5
- * this DSH (inbound server state + tasks) and who this DSH is connected TO
6
- * (outbound agents), with per-agent controls (enable/disable/remove/refresh)
7
- * and the inbound-server toggle. All data and controls live behind the host's
8
- * loopback-only `/a2a/api` route (src/api.ts); this half is a thin read/write
9
- * client with no protocol knowledge and no direct storage access.
4
+ * Registers one `settings.section` ("A2A 连接") managing the multi-instance
5
+ * A2A composition: inbound server instances (create/start/stop/remove/edit,
6
+ * each with its own agent preset, creator-declared skill declarations, and
7
+ * auth env) and outbound server connections (create/start/stop/remove/refresh,
8
+ * each with a remote URL and optional preset). All data and controls live
9
+ * behind the host's loopback-only `/a2a/api` route (src/api.ts); this half is
10
+ * a thin read/write client with no protocol knowledge and no direct storage
11
+ * access.
10
12
  *
11
13
  * Styling: one idempotent `<style>` injector built on the product's
12
14
  * `--dsw-alias-*` design tokens so light/dark themes follow the DSH shell.
13
- * No inline styles.
15
+ * No inline styles beyond fixed-width inputs.
14
16
  * @module dsh-a2a/client
15
17
  */
16
18
  import type { Context as ClientContext } from '@deepseek-ai/cordis';
@@ -19,20 +21,49 @@ import { type ReactElement } from 'react';
19
21
  /** Services this plugin needs from the client runtime. */
20
22
  export declare const inject: string[];
21
23
  export declare function apply(ctx: ClientContext): void;
22
- /** Wire types — mirror the host's src/api.ts snapshot. */
24
+ /** Wire types — mirror the host's src/api.ts + src/service.ts views. */
25
+ export interface SkillView {
26
+ readonly id: string;
27
+ readonly name: string;
28
+ readonly description?: string;
29
+ }
30
+ export interface InboundServerView {
31
+ readonly id: string;
32
+ readonly name: string;
33
+ readonly description: string;
34
+ readonly version: string;
35
+ readonly endpointPath: string;
36
+ readonly preset?: string;
37
+ readonly authTokenEnv?: string;
38
+ readonly cardPath: string;
39
+ readonly cardUrl?: string;
40
+ readonly enabled: boolean;
41
+ readonly skills: readonly SkillView[];
42
+ }
43
+ export interface OutboundServerView {
44
+ readonly id: string;
45
+ readonly name: string;
46
+ readonly agentCardUrl: string;
47
+ readonly preset?: string;
48
+ readonly enabled: boolean;
49
+ readonly timeoutMs: number;
50
+ readonly state: string;
51
+ readonly skillCount: number;
52
+ readonly toolCount: number;
53
+ readonly lastError?: string;
54
+ }
55
+ export interface PresetView {
56
+ readonly id: string;
57
+ readonly name?: string;
58
+ readonly description?: string;
59
+ /** Whether this preset is the deployment default when none is named. */
60
+ readonly isDefault?: boolean;
61
+ }
23
62
  export interface ApiSnapshot {
24
- readonly server: {
25
- readonly enabled: boolean;
26
- readonly cardUrl?: string;
27
- readonly skills: readonly string[];
28
- readonly name?: string;
29
- readonly description?: string;
30
- readonly version?: string;
31
- readonly configured: boolean;
32
- };
63
+ readonly inbounds: readonly InboundServerView[];
64
+ readonly outbounds: readonly OutboundServerView[];
33
65
  readonly tasks: readonly unknown[];
34
- readonly agents: readonly unknown[];
35
- readonly inbounds: readonly unknown[];
66
+ readonly peers: readonly unknown[];
36
67
  }
37
68
  type SectionProps = PropsRuntime<'settings.section'>;
38
69
  export declare function A2aSection(_props: SectionProps): ReactElement;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAE7E,0DAA0D;AAC1D,eAAO,MAAM,MAAM,UAAY,CAAA;AA6B/B,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAe9C;AAED,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;QAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;KAC7B,CAAA;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CACtC;AA+CD,KAAK,YAAY,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEpD,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAiQ7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAE7E,0DAA0D;AAC1D,eAAO,MAAM,MAAM,UAAY,CAAA;AAgC/B,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAc9C;AAED,wEAAwE;AACxE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAA;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC/C,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CACnC;AA0CD,KAAK,YAAY,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEpD,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CA6V7D"}
@@ -1,6 +1,8 @@
1
1
  /**
2
- * The `/a2a` command surface: status, server enable/disable, card, agents,
3
- * and task control — the P0 operations surface (the settings panel is P1).
2
+ * The `/a2a` command surface: status, inbound/outbound server CRUD +
3
+ * enable/disable, and task control — a text backup to the GUI (the settings
4
+ * panel is the primary surface). All operations delegate to the same
5
+ * `A2AServiceImpl` facade as the dashboard API.
4
6
  * @module dsh-a2a/commands
5
7
  */
6
8
  import type { CommandDefinition } from '@deepseek-ai/dsh-commands';
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAoC,MAAM,2BAA2B,CAAA;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,iBAAiB,CAqEvE"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAoC,MAAM,2BAA2B,CAAA;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,iBAAiB,CAmFvE"}
@@ -1,66 +1,77 @@
1
1
  /**
2
- * The `/a2a` command surface: status, server enable/disable, card, agents,
3
- * and task control — the P0 operations surface (the settings panel is P1).
2
+ * The `/a2a` command surface: status, inbound/outbound server CRUD +
3
+ * enable/disable, and task control — a text backup to the GUI (the settings
4
+ * panel is the primary surface). All operations delegate to the same
5
+ * `A2AServiceImpl` facade as the dashboard API.
4
6
  * @module dsh-a2a/commands
5
7
  */
6
8
  /** Build the `/a2a` command definition over the service facade. */
7
9
  export function buildA2aCommand(impl) {
8
10
  return {
9
11
  name: 'a2a',
10
- description: 'Manage the A2A plugin: status, server, agents, tasks, card.',
12
+ description: 'Manage the A2A plugin: status, inbound/outbound servers, tasks.',
11
13
  handler: async (invocation) => {
12
14
  const [verb, ...rest] = invocation.rawInput.trim().split(/\s+/);
13
15
  switch (verb ?? '') {
14
- case '': {
15
- const status = impl.status();
16
- return success(`A2A status\n${JSON.stringify(status, null, 2)}`);
17
- }
16
+ case '':
18
17
  case 'status':
19
18
  return success(JSON.stringify(impl.status(), null, 2));
20
- case 'enable':
21
- return outcome(await impl.enableServer(true));
22
- case 'disable':
23
- return outcome(await impl.enableServer(false));
24
- case 'card':
25
- return success(JSON.stringify(impl.listTasks(), null, 2).slice(0, 4000));
26
- case 'agents':
27
- return success(JSON.stringify(impl.agents(), null, 2));
28
- case 'agent': {
29
- const [action, ...args] = rest;
19
+ case 'presets':
20
+ return success(JSON.stringify(await impl.presets(), null, 2));
21
+ case 'inbound': {
22
+ const [action, id, ...args] = rest;
23
+ switch (action ?? '') {
24
+ case 'list':
25
+ return success(JSON.stringify(impl.listInboundServers(), null, 2));
26
+ case 'create': {
27
+ const name = args[0];
28
+ if (!name)
29
+ return error('usage: /a2a inbound create <name> [preset] [description]');
30
+ const preset = args[1];
31
+ return outcome(await impl.createInboundServer({
32
+ name,
33
+ description: args[2] ?? 'An A2A inbound server',
34
+ version: '1.0.0',
35
+ ...(preset && preset !== 'default' ? { preset } : {}),
36
+ }));
37
+ }
38
+ case 'remove':
39
+ return id ? outcome(await impl.removeInboundServer(id)) : error('usage: /a2a inbound remove <id>');
40
+ case 'enable':
41
+ return id ? outcome(await impl.setInboundServerEnabled(id, true)) : error('usage: /a2a inbound enable <id>');
42
+ case 'disable':
43
+ return id ? outcome(await impl.setInboundServerEnabled(id, false)) : error('usage: /a2a inbound disable <id>');
44
+ default:
45
+ return error('usage: /a2a inbound list|create|remove|enable|disable ...');
46
+ }
47
+ }
48
+ case 'outbound': {
49
+ const [action, id, ...args] = rest;
30
50
  switch (action ?? '') {
31
- case 'add': {
51
+ case 'list':
52
+ return success(JSON.stringify(impl.listOutboundServers(), null, 2));
53
+ case 'create': {
32
54
  const url = args[0];
33
55
  if (!url)
34
- return error('usage: /a2a agent add <agentCardUrl> [name]');
56
+ return error('usage: /a2a outbound create <agentCardUrl> [name] [preset]');
35
57
  const name = args[1] ?? url;
36
- return outcome(await impl.addAgent({ name, agentCardUrl: url }));
37
- }
38
- case 'remove': {
39
- const id = args[0];
40
- if (!id)
41
- return error('usage: /a2a agent remove <id>');
42
- return outcome(await impl.removeAgent(id));
43
- }
44
- case 'enable': {
45
- const id = args[0];
46
- if (!id)
47
- return error('usage: /a2a agent enable <id>');
48
- return outcome(await impl.setAgentEnabled(id, true));
49
- }
50
- case 'disable': {
51
- const id = args[0];
52
- if (!id)
53
- return error('usage: /a2a agent disable <id>');
54
- return outcome(await impl.setAgentEnabled(id, false));
55
- }
56
- case 'refresh': {
57
- const id = args[0];
58
- if (!id)
59
- return error('usage: /a2a agent refresh <id>');
60
- return outcome(await impl.refreshAgentCard(id));
58
+ const preset = args[2];
59
+ return outcome(await impl.createOutboundServer({
60
+ name,
61
+ agentCardUrl: url,
62
+ ...(preset && preset !== 'default' ? { preset } : {}),
63
+ }));
61
64
  }
65
+ case 'remove':
66
+ return id ? outcome(await impl.removeOutboundServer(id)) : error('usage: /a2a outbound remove <id>');
67
+ case 'enable':
68
+ return id ? outcome(await impl.setOutboundServerEnabled(id, true)) : error('usage: /a2a outbound enable <id>');
69
+ case 'disable':
70
+ return id ? outcome(await impl.setOutboundServerEnabled(id, false)) : error('usage: /a2a outbound disable <id>');
71
+ case 'refresh':
72
+ return id ? outcome(await impl.refreshOutboundServer(id)) : error('usage: /a2a outbound refresh <id>');
62
73
  default:
63
- return error('usage: /a2a agent add|remove|enable|disable|refresh ...');
74
+ return error('usage: /a2a outbound list|create|remove|enable|disable|refresh ...');
64
75
  }
65
76
  }
66
77
  case 'tasks':
@@ -73,8 +84,10 @@ export function buildA2aCommand(impl) {
73
84
  return outcome(await impl.cancelTask(id));
74
85
  return error('usage: /a2a task get|cancel <taskId>');
75
86
  }
87
+ case 'peers':
88
+ return success(JSON.stringify(impl.inbounds(), null, 2));
76
89
  case 'help':
77
- return success('a2a commands: status | enable | disable | card | agents | agent add/remove/enable/disable/refresh | tasks | task get/cancel <id> | help');
90
+ return success('a2a: status | presets | inbound list/create/remove/enable/disable | outbound list/create/remove/enable/disable/refresh | tasks | task get/cancel <id> | peers | help');
78
91
  default:
79
92
  return error(`unknown a2a verb "${verb}" (try /a2a help)`);
80
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"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"}
@@ -24,30 +24,53 @@ export interface InboundTaskDecision {
24
24
  /** The facade other plugins read as `ctx.a2a`. */
25
25
  export interface A2AServiceLike {
26
26
  status(): unknown;
27
- enableServer(enable: boolean): Promise<{
27
+ presets(): Promise<Array<{
28
+ id: string;
29
+ name?: string;
30
+ description?: string;
31
+ }>>;
32
+ listInboundServers(): unknown;
33
+ createInboundServer(input: unknown): Promise<{
28
34
  readonly ok: boolean;
29
35
  readonly message: string;
30
36
  }>;
31
- listTasks(): unknown;
32
- getTask(taskId: string): unknown;
33
- cancelTask(taskId: string): Promise<{
37
+ removeInboundServer(id: string): Promise<{
38
+ readonly ok: boolean;
39
+ readonly message: string;
40
+ }>;
41
+ setInboundServerEnabled(id: string, enabled: boolean): Promise<{
42
+ readonly ok: boolean;
43
+ readonly message: string;
44
+ }>;
45
+ updateInboundServer(id: string, patch: unknown): Promise<{
34
46
  readonly ok: boolean;
35
47
  readonly message: string;
36
48
  }>;
37
- agents(): unknown;
38
- addAgent(spec: unknown): Promise<{
49
+ listOutboundServers(): unknown;
50
+ createOutboundServer(input: unknown): Promise<{
39
51
  readonly ok: boolean;
40
52
  readonly message: string;
41
53
  }>;
42
- removeAgent(id: string): Promise<{
54
+ removeOutboundServer(id: string): Promise<{
43
55
  readonly ok: boolean;
44
56
  readonly message: string;
45
57
  }>;
46
- setAgentEnabled(id: string, enabled: boolean): Promise<{
58
+ setOutboundServerEnabled(id: string, enabled: boolean): Promise<{
59
+ readonly ok: boolean;
60
+ readonly message: string;
61
+ }>;
62
+ refreshOutboundServer(id: string): Promise<{
63
+ readonly ok: boolean;
64
+ readonly message: string;
65
+ }>;
66
+ getTask(taskId: string): unknown;
67
+ listTasks(): unknown;
68
+ cancelTask(taskId: string): Promise<{
47
69
  readonly ok: boolean;
48
70
  readonly message: string;
49
71
  }>;
50
- refreshAgentCard(id: string): Promise<{
72
+ inbounds(): unknown;
73
+ closeInbound(peerId: string): Promise<{
51
74
  readonly ok: boolean;
52
75
  readonly message: string;
53
76
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CACvC;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B,MAAM,IAAI,OAAO,CAAA;IACjB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC1F,SAAS,IAAI,OAAO,CAAA;IACpB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IAChC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvF,MAAM,IAAI,OAAO,CAAA;IACjB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpF,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpF,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC1G,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1F;AAED,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,oEAAoE;QACpE,GAAG,EAAE,cAAc,CAAA;KACpB;IAED,UAAU,MAAM;QACd;;;;;;;;;WASG;QACH,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;KACrL;CACF"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}