@hanphone/dsh-a2a 0.1.0 → 0.2.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 (44) hide show
  1. package/README.md +98 -47
  2. package/README.zh.md +43 -42
  3. package/lib/client.js +49 -1
  4. package/lib/index.js +272 -17
  5. package/lib/tsconfig.client.tsbuildinfo +1 -1
  6. package/lib/tsconfig.tsbuildinfo +1 -1
  7. package/lib/types/api.d.ts +13 -0
  8. package/lib/types/api.d.ts.map +1 -1
  9. package/lib/types/api.js +5 -0
  10. package/lib/types/api.js.map +1 -1
  11. package/lib/types/client/index.d.ts +5 -0
  12. package/lib/types/client/index.d.ts.map +1 -1
  13. package/lib/types/index.d.ts.map +1 -1
  14. package/lib/types/index.js +74 -10
  15. package/lib/types/index.js.map +1 -1
  16. package/lib/types/server/a2a-server.d.ts +3 -1
  17. package/lib/types/server/a2a-server.d.ts.map +1 -1
  18. package/lib/types/server/a2a-server.js +5 -1
  19. package/lib/types/server/a2a-server.js.map +1 -1
  20. package/lib/types/server/identity.d.ts +38 -0
  21. package/lib/types/server/identity.d.ts.map +1 -0
  22. package/lib/types/server/identity.js +89 -0
  23. package/lib/types/server/identity.js.map +1 -0
  24. package/lib/types/server/inbound-registry.d.ts +60 -0
  25. package/lib/types/server/inbound-registry.d.ts.map +1 -0
  26. package/lib/types/server/inbound-registry.js +86 -0
  27. package/lib/types/server/inbound-registry.js.map +1 -0
  28. package/lib/types/server/store.d.ts +2 -0
  29. package/lib/types/server/store.d.ts.map +1 -1
  30. package/lib/types/server/store.js +4 -0
  31. package/lib/types/server/store.js.map +1 -1
  32. package/lib/types/service.d.ts +19 -0
  33. package/lib/types/service.d.ts.map +1 -1
  34. package/lib/types/service.js +12 -0
  35. package/lib/types/service.js.map +1 -1
  36. package/package.json +2 -2
  37. package/src/api.ts +27 -2
  38. package/src/client/index.ts +99 -2
  39. package/src/index.ts +76 -10
  40. package/src/server/a2a-server.ts +7 -2
  41. package/src/server/identity.ts +109 -0
  42. package/src/server/inbound-registry.ts +129 -0
  43. package/src/server/store.ts +5 -0
  44. package/src/service.ts +23 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbound-registry.js","sourceRoot":"","sources":["../../../src/server/inbound-registry.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,7 @@ export declare const a2aDomainSpec: {
53
53
  tasks: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<string, string>;
54
54
  contexts: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<string, string>;
55
55
  agents: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<string, string>;
56
+ identity: import("@deepseek-ai/dsh-storage-domain").DomainTableSpec<string, string>;
56
57
  };
57
58
  };
58
59
  export type A2aDomainSpec = typeof a2aDomainSpec;
@@ -74,6 +75,7 @@ export declare class A2aDomain {
74
75
  get tasks(): KvTable<string, string>;
75
76
  get contexts(): KvTable<string, string>;
76
77
  get agents(): KvTable<string, string>;
78
+ get identity(): KvTable<string, string>;
77
79
  close(): Promise<void>;
78
80
  }
79
81
  /** Task-store contract shared by the domain-backed and memory stores. */
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/server/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/server/store.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export const a2aDomainSpec = defineDomain({
19
19
  tasks: domainTable(json),
20
20
  contexts: domainTable(json),
21
21
  agents: domainTable(json),
22
+ identity: domainTable(json),
22
23
  },
23
24
  });
24
25
  /**
@@ -59,6 +60,9 @@ export class A2aDomain {
59
60
  get agents() {
60
61
  return this.handle.table('agents');
61
62
  }
63
+ get identity() {
64
+ return this.handle.table('identity');
65
+ }
62
66
  async close() {
63
67
  await this.handle.close();
64
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/server/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/server/store.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,17 @@ export interface A2AServiceImpl {
26
26
  removeAgent(id: string): Promise<OpResult>;
27
27
  setAgentEnabled(id: string, enabled: boolean): Promise<OpResult>;
28
28
  refreshAgentCard(id: string): Promise<OpResult>;
29
+ /** Current service identity (persisted override + composition defaults). */
30
+ identity(): unknown;
31
+ /** Persist and apply a new service identity onto the live AgentCard. */
32
+ updateIdentity(patch: {
33
+ readonly name?: string;
34
+ readonly description?: string;
35
+ readonly version?: string;
36
+ }): Promise<OpResult>;
37
+ /** Cancel an inbound peer's active tasks and drop its record. */
38
+ closeInbound(peerId: string): Promise<OpResult>;
39
+ inbounds(): unknown;
29
40
  }
30
41
  /** The service other plugins read as `ctx.a2a`. */
31
42
  export declare class A2AService extends Service {
@@ -45,5 +56,13 @@ export declare class A2AService extends Service {
45
56
  removeAgent(id: string): Promise<OpResult>;
46
57
  setAgentEnabled(id: string, enabled: boolean): Promise<OpResult>;
47
58
  refreshAgentCard(id: string): Promise<OpResult>;
59
+ identity(): unknown;
60
+ updateIdentity(patch: {
61
+ readonly name?: string;
62
+ readonly description?: string;
63
+ readonly version?: string;
64
+ }): Promise<OpResult>;
65
+ closeInbound(peerId: string): Promise<OpResult>;
66
+ inbounds(): unknown;
48
67
  }
49
68
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE3D,2CAA2C;AAC3C,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,MAAM,IAAI,OAAO,CAAA;IACjB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAChD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IAChC,SAAS,IAAI,OAAO,CAAA;IACpB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7C,MAAM,IAAI,OAAO,CAAA;IACjB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7H,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1C,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAChE,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAChD;AAED,mDAAmD;AACnD,qBAAa,UAAW,SAAQ,OAAO;IAGnC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADrB,GAAG,EAAE,OAAO,EACK,IAAI,EAAE,cAAc;IAKvC,MAAM,IAAI,OAAO;IAIX,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAItD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIhC,SAAS,IAAI,OAAO;IAId,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAInD,MAAM,IAAI,OAAO;IAIX,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI7H,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI1C,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIhE,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGtD"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"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"}
@@ -42,5 +42,17 @@ export class A2AService extends Service {
42
42
  async refreshAgentCard(id) {
43
43
  return this.impl.refreshAgentCard(id);
44
44
  }
45
+ identity() {
46
+ return this.impl.identity();
47
+ }
48
+ async updateIdentity(patch) {
49
+ return this.impl.updateIdentity(patch);
50
+ }
51
+ async closeInbound(peerId) {
52
+ return this.impl.closeInbound(peerId);
53
+ }
54
+ inbounds() {
55
+ return this.impl.inbounds();
56
+ }
45
57
  }
46
58
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,qBAAqB,CAAA;AAsB3D,mDAAmD;AACnD,MAAM,OAAO,UAAW,SAAQ,OAAO;IAGlB;IAFnB,YACE,GAAY,EACK,IAAoB;QAErC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAFA,SAAI,GAAJ,IAAI,CAAgB;IAGvC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAe;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAgG;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,OAAgB;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,qBAAqB,CAAA;AA6B3D,mDAAmD;AACnD,MAAM,OAAO,UAAW,SAAQ,OAAO;IAGlB;IAFnB,YACE,GAAY,EACK,IAAoB;QAErC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAFA,SAAI,GAAJ,IAAI,CAAgB;IAGvC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAe;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAgG;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,OAAgB;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAA2F;QAC9G,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IAC7B,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanphone/dsh-a2a",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Agent2Agent (A2A) v1.0 dual-end plugin for DeepSeek Harness: governed inbound tasks, durable task store, pluggable executors, multi-agent outbound consumption, GUI management dashboard.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -79,4 +79,4 @@
79
79
  "typecheck": "tsc -b tsconfig.json && tsc -p tsconfig.client.json",
80
80
  "test": "vitest run"
81
81
  }
82
- }
82
+ }
package/src/api.ts CHANGED
@@ -19,12 +19,23 @@ export type ApiAction =
19
19
  | { readonly action: 'agent.add'; readonly name: string; readonly agentCardUrl: string; readonly bearerTokenEnv?: string }
20
20
  | { readonly action: 'agent.remove' | 'agent.enable' | 'agent.disable' | 'agent.refresh'; readonly id: string }
21
21
  | { readonly action: 'task.cancel'; readonly id: string }
22
+ | { readonly action: 'identity.update'; readonly name?: string; readonly description?: string; readonly version?: string }
23
+ | { readonly action: 'inbound.close'; readonly id: string }
22
24
 
23
25
  /** One snapshot of the whole plugin for the dashboard. */
24
26
  export interface ApiSnapshot {
25
- readonly server: { readonly enabled: boolean; readonly cardUrl?: string; readonly skills: readonly string[] }
27
+ readonly server: {
28
+ readonly enabled: boolean
29
+ readonly cardUrl?: string
30
+ readonly skills: readonly string[]
31
+ readonly name?: string
32
+ readonly description?: string
33
+ readonly version?: string
34
+ readonly configured: boolean
35
+ }
26
36
  readonly tasks: readonly unknown[]
27
37
  readonly agents: readonly unknown[]
38
+ readonly inbounds: readonly unknown[]
28
39
  }
29
40
 
30
41
  function readBody(req: IncomingMessage): Promise<string> {
@@ -80,14 +91,24 @@ export async function handleApiRequest(
80
91
 
81
92
  function snapshotOf(impl: A2AServiceImpl): ApiSnapshot {
82
93
  const status = impl.status() as {
83
- server: { enabled: boolean; cardUrl?: string; skills: readonly string[] }
94
+ server: {
95
+ enabled: boolean
96
+ cardUrl?: string
97
+ skills: readonly string[]
98
+ name?: string
99
+ description?: string
100
+ version?: string
101
+ configured: boolean
102
+ }
84
103
  tasks: number
85
104
  agents: readonly unknown[]
105
+ inbounds: readonly unknown[]
86
106
  }
87
107
  return {
88
108
  server: status.server,
89
109
  tasks: impl.listTasks() as readonly unknown[],
90
110
  agents: impl.agents() as readonly unknown[],
111
+ inbounds: status.inbounds ?? [],
91
112
  }
92
113
  }
93
114
 
@@ -109,6 +130,10 @@ async function dispatch(payload: ApiAction, impl: A2AServiceImpl): Promise<{ rea
109
130
  return impl.refreshAgentCard(payload.id)
110
131
  case 'task.cancel':
111
132
  return impl.cancelTask(payload.id)
133
+ case 'identity.update':
134
+ return impl.updateIdentity({ ...(payload.name !== undefined ? { name: payload.name } : {}), ...(payload.description !== undefined ? { description: payload.description } : {}), ...(payload.version !== undefined ? { version: payload.version } : {}) })
135
+ case 'inbound.close':
136
+ return impl.closeInbound(payload.id)
112
137
  default:
113
138
  return { ok: false, message: `unknown action ${String((payload as { action?: unknown }).action)}` }
114
139
  }
@@ -69,9 +69,18 @@ export function apply(ctx: ClientContext): void {
69
69
 
70
70
  /** Wire types — mirror the host's src/api.ts snapshot. */
71
71
  export interface ApiSnapshot {
72
- readonly server: { readonly enabled: boolean; readonly cardUrl?: string; readonly skills: readonly string[] }
72
+ readonly server: {
73
+ readonly enabled: boolean
74
+ readonly cardUrl?: string
75
+ readonly skills: readonly string[]
76
+ readonly name?: string
77
+ readonly description?: string
78
+ readonly version?: string
79
+ readonly configured: boolean
80
+ }
73
81
  readonly tasks: readonly unknown[]
74
82
  readonly agents: readonly unknown[]
83
+ readonly inbounds: readonly unknown[]
75
84
  }
76
85
 
77
86
  interface AgentView {
@@ -85,6 +94,17 @@ interface AgentView {
85
94
  readonly lastError?: string
86
95
  }
87
96
 
97
+ interface InboundPeerView {
98
+ readonly id: string
99
+ readonly label: string
100
+ readonly source?: string
101
+ readonly firstSeen?: string
102
+ readonly lastSeen?: string
103
+ readonly taskCount: number
104
+ readonly activeTaskIds: readonly string[]
105
+ readonly streaming: boolean
106
+ }
107
+
88
108
  interface TaskView {
89
109
  readonly id: string
90
110
  readonly contextId?: string
@@ -116,13 +136,26 @@ export function A2aSection(_props: SectionProps): ReactElement {
116
136
  const [agentName, setAgentName] = useState('')
117
137
  const [agentUrl, setAgentUrl] = useState('')
118
138
  const [busy, setBusy] = useState(false)
139
+ const [editing, setEditing] = useState(false)
140
+ const [idName, setIdName] = useState('')
141
+ const [idDescription, setIdDescription] = useState('')
142
+ const [idVersion, setIdVersion] = useState('')
119
143
 
120
144
  useEffect(() => {
121
145
  let alive = true
122
146
  const tick = async (): Promise<void> => {
123
147
  try {
124
148
  const next = await fetchSnapshot()
125
- if (alive) { setSnap(next); setError(undefined) }
149
+ if (alive) {
150
+ setSnap(next)
151
+ setError(undefined)
152
+ // Seed the identity form from the live card when not editing.
153
+ if (!editing) {
154
+ setIdName(next.server.name ?? '')
155
+ setIdDescription(next.server.description ?? '')
156
+ setIdVersion(next.server.version ?? '')
157
+ }
158
+ }
126
159
  } catch (err) {
127
160
  if (alive) setError((err as Error).message)
128
161
  }
@@ -150,6 +183,7 @@ export function A2aSection(_props: SectionProps): ReactElement {
150
183
 
151
184
  const server = snap?.server
152
185
  const agents = (snap?.agents ?? []) as readonly AgentView[]
186
+ const inbounds = (snap?.inbounds ?? []) as readonly InboundPeerView[]
153
187
  const tasks = (snap?.tasks ?? []) as readonly TaskView[]
154
188
 
155
189
  return createElement(
@@ -191,6 +225,69 @@ export function A2aSection(_props: SectionProps): ReactElement {
191
225
  : null,
192
226
  ),
193
227
 
228
+ // ── service identity (guided first-run + edit) ───────────────────────
229
+ createElement(
230
+ 'div',
231
+ { className: 'dsh-a2a-card' },
232
+ server === undefined || (server as { configured?: boolean }).configured === false
233
+ ? createElement('h3', null, '服务身份(首次配置)')
234
+ : createElement('h3', null, '服务身份'),
235
+ createElement(
236
+ 'form',
237
+ {
238
+ className: 'dsh-a2a-form',
239
+ onSubmit: (ev: { preventDefault(): void }) => {
240
+ ev.preventDefault()
241
+ void control({ action: 'identity.update', name: idName, description: idDescription, version: idVersion }).then(() => {
242
+ setEditing(false)
243
+ })
244
+ },
245
+ },
246
+ createElement('input', { value: idVersion, placeholder: '版本', onChange: (e: { target: { value: string } }) => setIdVersion(e.target.value), style: { width: '60px' } }),
247
+ createElement('input', { value: idName, placeholder: '服务名称', onChange: (e: { target: { value: string } }) => setIdName(e.target.value), style: { width: '160px' } }),
248
+ createElement('input', { value: idDescription, placeholder: '服务描述', onChange: (e: { target: { value: string } }) => setIdDescription(e.target.value), style: { width: '260px' } }),
249
+ createElement('button', { type: 'submit', className: 'primary', disabled: busy }, '保存身份'),
250
+ ),
251
+ createElement('div', { className: 'dsh-a2a-row muted' }, '名称、描述、版本即刻重建 AgentCard;技能始终从工具注册表派生。'),
252
+ ),
253
+
254
+ // ── inbound peers monitoring ─────────────────────────────────────────
255
+ createElement(
256
+ 'div',
257
+ { className: 'dsh-a2a-card' },
258
+ createElement('h3', null, `入站连接(${inbounds.length})`),
259
+ inbounds.length === 0
260
+ ? createElement('div', { className: 'muted' }, '当前无远程对端正在调用本服务。')
261
+ : createElement(
262
+ 'table',
263
+ { className: 'dsh-a2a-table' },
264
+ createElement('thead', null,
265
+ createElement('tr', null,
266
+ createElement('th', null, '来源'),
267
+ createElement('th', null, '任务'),
268
+ createElement('th', null, '流式'),
269
+ createElement('th', null, '首次 / 最近'),
270
+ createElement('th', null, '操作'),
271
+ ),
272
+ ),
273
+ createElement('tbody', null,
274
+ ...inbounds.map((p) =>
275
+ createElement('tr', { key: p.id },
276
+ createElement('td', null, p.source ?? p.label),
277
+ createElement('td', null, `${p.taskCount}(活跃 ${p.activeTaskIds.length})`),
278
+ createElement('td', null, p.streaming ? '●' : '—'),
279
+ createElement('td', null,
280
+ createElement('span', { className: 'muted' }, `${p.firstSeen ?? ''} / ${p.lastSeen ?? ''}`),
281
+ ),
282
+ createElement('td', null,
283
+ createElement('button', { disabled: busy, onClick: () => void control({ action: 'inbound.close', id: p.id }) }, '关闭'),
284
+ ),
285
+ ),
286
+ ),
287
+ ),
288
+ ),
289
+ ),
290
+
194
291
  // ── outbound agents ──────────────────────────────────────────────────
195
292
  createElement(
196
293
  'div',
package/src/index.ts CHANGED
@@ -21,6 +21,8 @@ import { join } from 'node:path'
21
21
  import { mkdirSync } from 'node:fs'
22
22
  import { deriveSkills, buildCard, type ToolGetter } from './server/card.ts'
23
23
  import { openDomain, DomainTaskStore, type A2aDomain, type TaskStore } from './server/store.ts'
24
+ import { LiveInboundRegistry, type InboundRegistry } from './server/inbound-registry.ts'
25
+ import { cardOptionsFor, readIdentity, rebuildCardWithIdentity, writeIdentity, type A2aIdentity } from './server/identity.ts'
24
26
  import { ExecutorSet } from './server/executor.ts'
25
27
  import { ContextSessionPool, probeService, type AgentPresetsLike, type AgentRegistryLike } from './server/exec/agent-runtime.ts'
26
28
  import { createSessionExecutor } from './server/exec/session.ts'
@@ -94,11 +96,14 @@ interface Shared {
94
96
  readonly domain: A2aDomain
95
97
  readonly store: TaskStore
96
98
  registry: OutboundAgentRegistry | undefined
99
+ inbound: InboundRegistry | undefined
97
100
  server: A2AServer | undefined
98
101
  routes: A2aRoutes | undefined
99
102
  card: AgentCard | undefined
100
103
  executors: ExecutorSet | undefined
101
104
  enabled: boolean
105
+ /** Composition defaults for the card identity (before any persisted override). */
106
+ identityDefaults: { name: string; description: string; version: string }
102
107
  }
103
108
 
104
109
  export function apply(ctx: Context, config: A2AConfig) {
@@ -118,11 +123,17 @@ export function apply(ctx: Context, config: A2AConfig) {
118
123
  domain,
119
124
  store,
120
125
  registry: undefined,
126
+ inbound: undefined,
121
127
  server: undefined,
122
128
  routes: undefined,
123
129
  card: undefined,
124
130
  executors: undefined,
125
131
  enabled: serverConfig.enabled,
132
+ identityDefaults: {
133
+ name: serverConfig.name ?? 'My DSH Agent',
134
+ description: serverConfig.description ?? 'A DeepSeek Harness agent exposed over A2A v1.0',
135
+ version: serverConfig.version ?? '0.1.0',
136
+ },
126
137
  }
127
138
 
128
139
  // ── inbound server half ────────────────────────────────────────────
@@ -139,17 +150,14 @@ export function apply(ctx: Context, config: A2AConfig) {
139
150
  )
140
151
  const baseUrl = serverConfig.baseUrl ?? `http://127.0.0.1:${process.env['DSH_A2A_PORT'] ?? '3000'}`
141
152
  const endpointPath = serverConfig.endpointPath ?? '/a2a'
142
- const card = buildCard({
143
- baseUrl,
144
- endpointPath,
145
- name: serverConfig.name ?? 'My DSH Agent',
146
- description: serverConfig.description ?? 'A DeepSeek Harness agent exposed over A2A v1.0',
147
- version: serverConfig.version ?? '0.1.0',
148
- skills,
149
- ...(authToken ? { authToken } : {}),
150
- })
153
+ const persistedIdentity = readIdentity(domain)
154
+ const card = buildCard(cardOptionsFor(baseUrl, endpointPath, holder.identityDefaults, persistedIdentity, skills, authToken))
151
155
  holder.card = card
152
156
 
157
+ // Inbound connection registry (dashboard "who is talking to us").
158
+ const inbound = new LiveInboundRegistry()
159
+ holder.inbound = inbound
160
+
153
161
  // Executors: probe the agent loop; refuse tasks readably without it.
154
162
  const agents = probeService(ctx, 'agents', 'create') as AgentRegistryLike | undefined
155
163
  const presets = probeService(ctx, 'agentPresets', 'resolve') as AgentPresetsLike | undefined
@@ -192,7 +200,16 @@ export function apply(ctx: Context, config: A2AConfig) {
192
200
  executors,
193
201
  ...(authToken ? { authToken } : {}),
194
202
  gate,
195
- onTaskSettled: (taskId) => logger.info(`[a2a] task settled ${taskId}`),
203
+ onInbound: (facts) => inbound.note({
204
+ method: facts.method,
205
+ ...(facts.source !== undefined ? { source: facts.source } : {}),
206
+ taskIds: facts.taskIds,
207
+ streaming: facts.streaming,
208
+ }),
209
+ onTaskSettled: (taskId) => {
210
+ logger.info(`[a2a] task settled ${taskId}`)
211
+ inbound.settle(taskId)
212
+ },
196
213
  })
197
214
  holder.server = server
198
215
  const routes = new A2aRoutes(webServer as never, server)
@@ -271,9 +288,16 @@ function makeFacade(holder: Shared, log: (message: string) => void): A2AServiceI
271
288
  cardUrl: holder.card?.supportedInterfaces?.[0]?.url,
272
289
  skills: holder.card?.skills?.map((s) => s.id) ?? [],
273
290
  executors: holder.executors ? ['session', ...(holder.executors['subagent'] !== undefined ? ['subagent'] : [])] : [],
291
+ name: holder.card?.name,
292
+ description: holder.card?.description,
293
+ version: holder.card?.version,
294
+ // True when a persisted identity override exists (the dashboard has
295
+ // been configured); guides the first-run onboarding.
296
+ configured: readIdentity(holder.domain) !== undefined,
274
297
  },
275
298
  tasks: holder.store.list().length,
276
299
  agents: holder.registry?.list() ?? [],
300
+ inbounds: holder.inbound?.list() ?? [],
277
301
  }
278
302
  },
279
303
  async enableServer(enable: boolean): Promise<OpResult> {
@@ -313,6 +337,48 @@ function makeFacade(holder: Shared, log: (message: string) => void): A2AServiceI
313
337
  async refreshAgentCard(id: string): Promise<OpResult> {
314
338
  return holder.registry?.refresh(id) ?? { ok: false, message: 'outbound client not mounted' }
315
339
  },
340
+ identity(): unknown {
341
+ const current = holder.card
342
+ const persisted = readIdentity(holder.domain)
343
+ return {
344
+ ...(persisted ?? {}),
345
+ // Composition defaults shown when nothing is persisted yet.
346
+ defaults: holder.identityDefaults,
347
+ name: current?.name ?? holder.identityDefaults.name,
348
+ description: current?.description ?? holder.identityDefaults.description,
349
+ version: current?.version ?? holder.identityDefaults.version,
350
+ }
351
+ },
352
+ async updateIdentity(patch: { name?: string; description?: string; version?: string }): Promise<OpResult> {
353
+ const card = holder.card
354
+ const server = holder.server
355
+ if (card === undefined || server === undefined) return { ok: false, message: 'inbound server not mounted (no card)' }
356
+ const persisted = readIdentity(holder.domain)
357
+ const base = persisted ?? holder.identityDefaults
358
+ const next: A2aIdentity = {
359
+ name: patch.name?.trim() || base.name,
360
+ description: patch.description?.trim() || base.description,
361
+ version: patch.version?.trim() || base.version,
362
+ }
363
+ writeIdentity(holder.domain, next)
364
+ const rebuilt = rebuildCardWithIdentity(card, next, card.skills ?? [])
365
+ server.setCard(rebuilt)
366
+ holder.card = rebuilt
367
+ log(`[a2a] identity updated: ${next.name}`)
368
+ return { ok: true, message: `service identity updated (${next.name})` }
369
+ },
370
+ async closeInbound(peerId: string): Promise<OpResult> {
371
+ const inbound = holder.inbound
372
+ if (inbound === undefined) return { ok: false, message: 'inbound registry not mounted' }
373
+ // Cancel the peer's active tasks, then drop the record.
374
+ for (const taskId of inbound.activeTasksOf(peerId)) {
375
+ await holder.server?.abort?.(taskId)
376
+ }
377
+ return inbound.closePeer(peerId)
378
+ },
379
+ inbounds(): unknown {
380
+ return holder.inbound?.list() ?? []
381
+ },
316
382
  }
317
383
  }
318
384
 
@@ -70,7 +70,7 @@ export interface ServerResponseSpec {
70
70
 
71
71
  /** A2A JSON-RPC / SSE server over a structural request. */
72
72
  export class A2AServer {
73
- readonly card: AgentCard
73
+ card: AgentCard
74
74
  private readonly listeners = new Set<(frame: StreamResponse) => void>()
75
75
  private readonly waiters = new Map<string, () => void>()
76
76
  private readonly running = new Map<string, AbortController>()
@@ -79,6 +79,11 @@ export class A2AServer {
79
79
  this.card = opts.card
80
80
  }
81
81
 
82
+ /** Swap the served AgentCard (runtime identity edits). Routes re-read `server.card` on every request. */
83
+ setCard(next: AgentCard): void {
84
+ this.card = next
85
+ }
86
+
82
87
  /**
83
88
  * Abort a running task by control path (facade /a2a task cancel): abort the
84
89
  * executor's signal, settle the task CANCELED, and wake stream waiters.
@@ -226,7 +231,7 @@ export class A2AServer {
226
231
  const gateOutcome = await this.opts.gate(gateInputFrom(message, null))
227
232
  if (!gateOutcome.ok) throw rpcFault(A2A_ERROR_CODES.INVALID_PARAMS, gateOutcome.reason)
228
233
  const record = this.ensureTask(message, null)
229
- this.noteInbound({ method }, method, [record.taskId], false)
234
+ // handle() records this inbound after dispatch with the real source.
230
235
  await this.runTask(record)
231
236
  const settled = this.opts.store.get(record.taskId)
232
237
  return toTask(settled ?? record)