@amaster.ai/dsh-a2a 0.1.34 → 0.1.36

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.
@@ -16,11 +16,13 @@ import type { Context } from '@deepseek-ai/cordis';
16
16
  import type { Agent } from '@deepseek-ai/dsh-agent';
17
17
  import type { TurnEndReason } from '@deepseek-ai/dsh-session';
18
18
  import Schema from '@deepseek-ai/schemastery';
19
+ export type { ExtendedAgentCardProvider } from '@a2a-js/sdk/server';
19
20
  export type { A2aApproval, A2aApprovalCodec, A2aApprovalReply } from './approval.js';
20
21
  export { defaultApprovalCodec } from './approval.js';
21
22
  export type { A2aFileMaterializer } from './content.js';
22
- export type { A2aInbox, A2aInboxEvent } from './inbox.js';
23
+ export type { A2aInbox, A2aInboxEvent, InboxPageOptions, InboxSnapshot } from './inbox.js';
23
24
  export { INBOX_EXTENSION } from './inbox.js';
25
+ export type { InboxChange } from './inbox-changes.js';
24
26
  export type { SubagentToolSource } from './translator.js';
25
27
  /** Event emitted when one A2A user message enters the dsh inbox. */
26
28
  export declare const A2A_MESSAGE_ADMITTED_EVENT: "a2a/message-admitted";
@@ -68,200 +70,252 @@ declare module '@deepseek-ai/cordis' {
68
70
  export declare const name = "dsh-a2a";
69
71
  /** The bridge creates and owns agents through the registry service. */
70
72
  export declare const inject: string[];
71
- export declare const Config: Schema<Schemastery.ObjectS<{
72
- inbox: Schema<Schemastery.ObjectS<{
73
- enabled: Schema<boolean, boolean>;
74
- shutdown: Schema<"cancel" | "retain-pending", "cancel" | "retain-pending">;
75
- }>, Schemastery.ObjectT<{
76
- enabled: Schema<boolean, boolean>;
77
- shutdown: Schema<"cancel" | "retain-pending", "cancel" | "retain-pending">;
78
- }>>;
79
- enabled: Schema<boolean, boolean>;
80
- host: Schema<string, string>;
81
- port: Schema<number, number>;
82
- basePath: Schema<string, string>;
83
- heartbeat: Schema<Schemastery.ObjectS<{
84
- enabled: Schema<boolean, boolean>;
85
- intervalMs: Schema<number, number>;
86
- }>, Schemastery.ObjectT<{
87
- enabled: Schema<boolean, boolean>;
88
- intervalMs: Schema<number, number>;
89
- }>>;
73
+ export declare const Config: Schema<Schemastery.ObjectS<NoInfer<{
74
+ inbox: Schema<Schemastery.ObjectS<NoInfer<{
75
+ enabled: Schema<boolean, boolean, "defined">;
76
+ notifications: Schema<boolean, boolean, "defined">;
77
+ shutdown: Schema<"cancel" | "retain-pending", "cancel" | "retain-pending", "defined">;
78
+ }>>, Schemastery.ObjectT<NoInfer<{
79
+ enabled: Schema<boolean, boolean, "defined">;
80
+ notifications: Schema<boolean, boolean, "defined">;
81
+ shutdown: Schema<"cancel" | "retain-pending", "cancel" | "retain-pending", "defined">;
82
+ }>>, "plain">;
83
+ enabled: Schema<boolean, boolean, "defined">;
84
+ host: Schema<string, string, "defined">;
85
+ port: Schema<number, number, "defined">;
86
+ basePath: Schema<string, string, "defined">;
87
+ rest: Schema<boolean, boolean, "defined">;
88
+ grpc: Schema<Schemastery.ObjectS<NoInfer<{
89
+ enabled: Schema<boolean, boolean, "defined">;
90
+ port: Schema<number, number, "defined">;
91
+ publicUrl: Schema<string, string, "defined">;
92
+ }>>, Schemastery.ObjectT<NoInfer<{
93
+ enabled: Schema<boolean, boolean, "defined">;
94
+ port: Schema<number, number, "defined">;
95
+ publicUrl: Schema<string, string, "defined">;
96
+ }>>, "plain">;
97
+ pushNotifications: Schema<boolean, boolean, "defined">;
98
+ heartbeat: Schema<Schemastery.ObjectS<NoInfer<{
99
+ enabled: Schema<boolean, boolean, "defined">;
100
+ intervalMs: Schema<number, number, "defined">;
101
+ }>>, Schemastery.ObjectT<NoInfer<{
102
+ enabled: Schema<boolean, boolean, "defined">;
103
+ intervalMs: Schema<number, number, "defined">;
104
+ }>>, "plain">;
90
105
  /** Working directory for agents spawned by A2A tasks. Must be absolute. */
91
- cwd: Schema<string, string>;
106
+ cwd: Schema<string, string, "defined">;
92
107
  /**
93
108
  * Root directory for fallback or opted-in local file parts (date-layered
94
109
  * below it). Empty = <OS temp>/dsh-a2a-uploads.
95
110
  */
96
- uploadsDir: Schema<string, string>;
97
- subagentTools: Schema<Schemastery.ObjectS<{
98
- enabled: Schema<boolean, boolean>;
99
- }>, Schemastery.ObjectT<{
100
- enabled: Schema<boolean, boolean>;
101
- }>>;
102
- agent: Schema<Schemastery.ObjectS<{
103
- provider: Schema<string, string>;
104
- model: Schema<string, string>;
111
+ uploadsDir: Schema<string, string, "defined">;
112
+ urlDownloads: Schema<Schemastery.ObjectS<NoInfer<{
113
+ allowPrivate: Schema<boolean, boolean, "defined">;
114
+ allowedHosts: Schema<string[], string[], "defined">;
115
+ }>>, Schemastery.ObjectT<NoInfer<{
116
+ allowPrivate: Schema<boolean, boolean, "defined">;
117
+ allowedHosts: Schema<string[], string[], "defined">;
118
+ }>>, "plain">;
119
+ subagentTools: Schema<Schemastery.ObjectS<NoInfer<{
120
+ enabled: Schema<boolean, boolean, "defined">;
121
+ }>>, Schemastery.ObjectT<NoInfer<{
122
+ enabled: Schema<boolean, boolean, "defined">;
123
+ }>>, "plain">;
124
+ agent: Schema<Schemastery.ObjectS<NoInfer<{
125
+ provider: Schema<string, string, "defined">;
126
+ model: Schema<string, string, "defined">;
105
127
  /**
106
128
  * Agent preset to mount per task (empty = the deployment default when the
107
129
  * profile composes a preset roster). The web profile keeps tools inside
108
130
  * presets — without one the agent sees an empty tool catalog.
109
131
  */
110
- preset: Schema<string, string>;
111
- }>, Schemastery.ObjectT<{
112
- provider: Schema<string, string>;
113
- model: Schema<string, string>;
132
+ preset: Schema<string, string, "defined">;
133
+ }>>, Schemastery.ObjectT<NoInfer<{
134
+ provider: Schema<string, string, "defined">;
135
+ model: Schema<string, string, "defined">;
114
136
  /**
115
137
  * Agent preset to mount per task (empty = the deployment default when the
116
138
  * profile composes a preset roster). The web profile keeps tools inside
117
139
  * presets — without one the agent sees an empty tool catalog.
118
140
  */
119
- preset: Schema<string, string>;
120
- }>>;
121
- card: Schema<Schemastery.ObjectS<{
122
- name: Schema<string, string>;
123
- description: Schema<string, string>;
124
- version: Schema<string, string>;
125
- publicUrl: Schema<string, string>;
126
- }>, Schemastery.ObjectT<{
127
- name: Schema<string, string>;
128
- description: Schema<string, string>;
129
- version: Schema<string, string>;
130
- publicUrl: Schema<string, string>;
131
- }>>;
141
+ preset: Schema<string, string, "defined">;
142
+ }>>, "plain">;
143
+ card: Schema<Schemastery.ObjectS<NoInfer<{
144
+ name: Schema<string, string, "defined">;
145
+ description: Schema<string, string, "defined">;
146
+ version: Schema<string, string, "defined">;
147
+ publicUrl: Schema<string, string, "defined">;
148
+ }>>, Schemastery.ObjectT<NoInfer<{
149
+ name: Schema<string, string, "defined">;
150
+ description: Schema<string, string, "defined">;
151
+ version: Schema<string, string, "defined">;
152
+ publicUrl: Schema<string, string, "defined">;
153
+ }>>, "plain">;
132
154
  /**
133
155
  * A2A task snapshots, including protocol history. dsh-storage separately
134
156
  * owns the full conversation log. 'memory' loses tasks on restart.
135
157
  */
136
- taskStore: Schema<"memory" | "filesystem" | "redis" | "gcs", "memory" | "filesystem" | "redis" | "gcs">;
137
- filesystem: Schema<Schemastery.ObjectS<{
138
- root: Schema<string, string>;
139
- }>, Schemastery.ObjectT<{
140
- root: Schema<string, string>;
141
- }>>;
142
- redis: Schema<Schemastery.ObjectS<{
143
- url: Schema<string, string>;
144
- keyPrefix: Schema<string, string>;
145
- ttlSeconds: Schema<number, number>;
146
- }>, Schemastery.ObjectT<{
147
- url: Schema<string, string>;
148
- keyPrefix: Schema<string, string>;
149
- ttlSeconds: Schema<number, number>;
150
- }>>;
151
- gcs: Schema<Schemastery.ObjectS<{
152
- bucket: Schema<string, string>;
153
- prefix: Schema<string, string>;
154
- keyFilename: Schema<string, string>;
155
- }>, Schemastery.ObjectT<{
156
- bucket: Schema<string, string>;
157
- prefix: Schema<string, string>;
158
- keyFilename: Schema<string, string>;
159
- }>>;
160
- }>, Schemastery.ObjectT<{
161
- inbox: Schema<Schemastery.ObjectS<{
162
- enabled: Schema<boolean, boolean>;
163
- shutdown: Schema<"cancel" | "retain-pending", "cancel" | "retain-pending">;
164
- }>, Schemastery.ObjectT<{
165
- enabled: Schema<boolean, boolean>;
166
- shutdown: Schema<"cancel" | "retain-pending", "cancel" | "retain-pending">;
167
- }>>;
168
- enabled: Schema<boolean, boolean>;
169
- host: Schema<string, string>;
170
- port: Schema<number, number>;
171
- basePath: Schema<string, string>;
172
- heartbeat: Schema<Schemastery.ObjectS<{
173
- enabled: Schema<boolean, boolean>;
174
- intervalMs: Schema<number, number>;
175
- }>, Schemastery.ObjectT<{
176
- enabled: Schema<boolean, boolean>;
177
- intervalMs: Schema<number, number>;
178
- }>>;
158
+ taskStore: Schema<"memory" | "filesystem" | "redis" | "gcs", "memory" | "filesystem" | "redis" | "gcs", "defined">;
159
+ filesystem: Schema<Schemastery.ObjectS<NoInfer<{
160
+ root: Schema<string, string, "defined">;
161
+ }>>, Schemastery.ObjectT<NoInfer<{
162
+ root: Schema<string, string, "defined">;
163
+ }>>, "plain">;
164
+ redis: Schema<Schemastery.ObjectS<NoInfer<{
165
+ url: Schema<string, string, "defined">;
166
+ keyPrefix: Schema<string, string, "defined">;
167
+ ttlSeconds: Schema<number, number, "defined">;
168
+ }>>, Schemastery.ObjectT<NoInfer<{
169
+ url: Schema<string, string, "defined">;
170
+ keyPrefix: Schema<string, string, "defined">;
171
+ ttlSeconds: Schema<number, number, "defined">;
172
+ }>>, "plain">;
173
+ gcs: Schema<Schemastery.ObjectS<NoInfer<{
174
+ bucket: Schema<string, string, "defined">;
175
+ prefix: Schema<string, string, "defined">;
176
+ keyFilename: Schema<string, string, "defined">;
177
+ }>>, Schemastery.ObjectT<NoInfer<{
178
+ bucket: Schema<string, string, "defined">;
179
+ prefix: Schema<string, string, "defined">;
180
+ keyFilename: Schema<string, string, "defined">;
181
+ }>>, "plain">;
182
+ }>>, Schemastery.ObjectT<NoInfer<{
183
+ inbox: Schema<Schemastery.ObjectS<NoInfer<{
184
+ enabled: Schema<boolean, boolean, "defined">;
185
+ notifications: Schema<boolean, boolean, "defined">;
186
+ shutdown: Schema<"cancel" | "retain-pending", "cancel" | "retain-pending", "defined">;
187
+ }>>, Schemastery.ObjectT<NoInfer<{
188
+ enabled: Schema<boolean, boolean, "defined">;
189
+ notifications: Schema<boolean, boolean, "defined">;
190
+ shutdown: Schema<"cancel" | "retain-pending", "cancel" | "retain-pending", "defined">;
191
+ }>>, "plain">;
192
+ enabled: Schema<boolean, boolean, "defined">;
193
+ host: Schema<string, string, "defined">;
194
+ port: Schema<number, number, "defined">;
195
+ basePath: Schema<string, string, "defined">;
196
+ rest: Schema<boolean, boolean, "defined">;
197
+ grpc: Schema<Schemastery.ObjectS<NoInfer<{
198
+ enabled: Schema<boolean, boolean, "defined">;
199
+ port: Schema<number, number, "defined">;
200
+ publicUrl: Schema<string, string, "defined">;
201
+ }>>, Schemastery.ObjectT<NoInfer<{
202
+ enabled: Schema<boolean, boolean, "defined">;
203
+ port: Schema<number, number, "defined">;
204
+ publicUrl: Schema<string, string, "defined">;
205
+ }>>, "plain">;
206
+ pushNotifications: Schema<boolean, boolean, "defined">;
207
+ heartbeat: Schema<Schemastery.ObjectS<NoInfer<{
208
+ enabled: Schema<boolean, boolean, "defined">;
209
+ intervalMs: Schema<number, number, "defined">;
210
+ }>>, Schemastery.ObjectT<NoInfer<{
211
+ enabled: Schema<boolean, boolean, "defined">;
212
+ intervalMs: Schema<number, number, "defined">;
213
+ }>>, "plain">;
179
214
  /** Working directory for agents spawned by A2A tasks. Must be absolute. */
180
- cwd: Schema<string, string>;
215
+ cwd: Schema<string, string, "defined">;
181
216
  /**
182
217
  * Root directory for fallback or opted-in local file parts (date-layered
183
218
  * below it). Empty = <OS temp>/dsh-a2a-uploads.
184
219
  */
185
- uploadsDir: Schema<string, string>;
186
- subagentTools: Schema<Schemastery.ObjectS<{
187
- enabled: Schema<boolean, boolean>;
188
- }>, Schemastery.ObjectT<{
189
- enabled: Schema<boolean, boolean>;
190
- }>>;
191
- agent: Schema<Schemastery.ObjectS<{
192
- provider: Schema<string, string>;
193
- model: Schema<string, string>;
220
+ uploadsDir: Schema<string, string, "defined">;
221
+ urlDownloads: Schema<Schemastery.ObjectS<NoInfer<{
222
+ allowPrivate: Schema<boolean, boolean, "defined">;
223
+ allowedHosts: Schema<string[], string[], "defined">;
224
+ }>>, Schemastery.ObjectT<NoInfer<{
225
+ allowPrivate: Schema<boolean, boolean, "defined">;
226
+ allowedHosts: Schema<string[], string[], "defined">;
227
+ }>>, "plain">;
228
+ subagentTools: Schema<Schemastery.ObjectS<NoInfer<{
229
+ enabled: Schema<boolean, boolean, "defined">;
230
+ }>>, Schemastery.ObjectT<NoInfer<{
231
+ enabled: Schema<boolean, boolean, "defined">;
232
+ }>>, "plain">;
233
+ agent: Schema<Schemastery.ObjectS<NoInfer<{
234
+ provider: Schema<string, string, "defined">;
235
+ model: Schema<string, string, "defined">;
194
236
  /**
195
237
  * Agent preset to mount per task (empty = the deployment default when the
196
238
  * profile composes a preset roster). The web profile keeps tools inside
197
239
  * presets — without one the agent sees an empty tool catalog.
198
240
  */
199
- preset: Schema<string, string>;
200
- }>, Schemastery.ObjectT<{
201
- provider: Schema<string, string>;
202
- model: Schema<string, string>;
241
+ preset: Schema<string, string, "defined">;
242
+ }>>, Schemastery.ObjectT<NoInfer<{
243
+ provider: Schema<string, string, "defined">;
244
+ model: Schema<string, string, "defined">;
203
245
  /**
204
246
  * Agent preset to mount per task (empty = the deployment default when the
205
247
  * profile composes a preset roster). The web profile keeps tools inside
206
248
  * presets — without one the agent sees an empty tool catalog.
207
249
  */
208
- preset: Schema<string, string>;
209
- }>>;
210
- card: Schema<Schemastery.ObjectS<{
211
- name: Schema<string, string>;
212
- description: Schema<string, string>;
213
- version: Schema<string, string>;
214
- publicUrl: Schema<string, string>;
215
- }>, Schemastery.ObjectT<{
216
- name: Schema<string, string>;
217
- description: Schema<string, string>;
218
- version: Schema<string, string>;
219
- publicUrl: Schema<string, string>;
220
- }>>;
250
+ preset: Schema<string, string, "defined">;
251
+ }>>, "plain">;
252
+ card: Schema<Schemastery.ObjectS<NoInfer<{
253
+ name: Schema<string, string, "defined">;
254
+ description: Schema<string, string, "defined">;
255
+ version: Schema<string, string, "defined">;
256
+ publicUrl: Schema<string, string, "defined">;
257
+ }>>, Schemastery.ObjectT<NoInfer<{
258
+ name: Schema<string, string, "defined">;
259
+ description: Schema<string, string, "defined">;
260
+ version: Schema<string, string, "defined">;
261
+ publicUrl: Schema<string, string, "defined">;
262
+ }>>, "plain">;
221
263
  /**
222
264
  * A2A task snapshots, including protocol history. dsh-storage separately
223
265
  * owns the full conversation log. 'memory' loses tasks on restart.
224
266
  */
225
- taskStore: Schema<"memory" | "filesystem" | "redis" | "gcs", "memory" | "filesystem" | "redis" | "gcs">;
226
- filesystem: Schema<Schemastery.ObjectS<{
227
- root: Schema<string, string>;
228
- }>, Schemastery.ObjectT<{
229
- root: Schema<string, string>;
230
- }>>;
231
- redis: Schema<Schemastery.ObjectS<{
232
- url: Schema<string, string>;
233
- keyPrefix: Schema<string, string>;
234
- ttlSeconds: Schema<number, number>;
235
- }>, Schemastery.ObjectT<{
236
- url: Schema<string, string>;
237
- keyPrefix: Schema<string, string>;
238
- ttlSeconds: Schema<number, number>;
239
- }>>;
240
- gcs: Schema<Schemastery.ObjectS<{
241
- bucket: Schema<string, string>;
242
- prefix: Schema<string, string>;
243
- keyFilename: Schema<string, string>;
244
- }>, Schemastery.ObjectT<{
245
- bucket: Schema<string, string>;
246
- prefix: Schema<string, string>;
247
- keyFilename: Schema<string, string>;
248
- }>>;
249
- }>>;
267
+ taskStore: Schema<"memory" | "filesystem" | "redis" | "gcs", "memory" | "filesystem" | "redis" | "gcs", "defined">;
268
+ filesystem: Schema<Schemastery.ObjectS<NoInfer<{
269
+ root: Schema<string, string, "defined">;
270
+ }>>, Schemastery.ObjectT<NoInfer<{
271
+ root: Schema<string, string, "defined">;
272
+ }>>, "plain">;
273
+ redis: Schema<Schemastery.ObjectS<NoInfer<{
274
+ url: Schema<string, string, "defined">;
275
+ keyPrefix: Schema<string, string, "defined">;
276
+ ttlSeconds: Schema<number, number, "defined">;
277
+ }>>, Schemastery.ObjectT<NoInfer<{
278
+ url: Schema<string, string, "defined">;
279
+ keyPrefix: Schema<string, string, "defined">;
280
+ ttlSeconds: Schema<number, number, "defined">;
281
+ }>>, "plain">;
282
+ gcs: Schema<Schemastery.ObjectS<NoInfer<{
283
+ bucket: Schema<string, string, "defined">;
284
+ prefix: Schema<string, string, "defined">;
285
+ keyFilename: Schema<string, string, "defined">;
286
+ }>>, Schemastery.ObjectT<NoInfer<{
287
+ bucket: Schema<string, string, "defined">;
288
+ prefix: Schema<string, string, "defined">;
289
+ keyFilename: Schema<string, string, "defined">;
290
+ }>>, "plain">;
291
+ }>>, "plain">;
250
292
  export interface A2aPluginConfig {
251
293
  inbox?: {
252
294
  enabled: boolean;
295
+ notifications?: boolean;
253
296
  shutdown?: 'cancel' | 'retain-pending';
254
297
  };
255
298
  enabled: boolean;
256
299
  host: string;
257
300
  port: number;
258
301
  basePath: string;
302
+ rest?: boolean;
303
+ grpc?: {
304
+ enabled: boolean;
305
+ port: number;
306
+ publicUrl?: string;
307
+ };
259
308
  heartbeat?: {
260
309
  enabled: boolean;
261
310
  intervalMs: number;
262
311
  };
312
+ pushNotifications?: boolean;
263
313
  cwd: string;
264
314
  uploadsDir: string;
315
+ urlDownloads?: {
316
+ allowPrivate?: boolean;
317
+ allowedHosts: string[];
318
+ };
265
319
  subagentTools: {
266
320
  enabled: boolean;
267
321
  };
@@ -297,4 +351,5 @@ export interface A2aTasks {
297
351
  }
298
352
  export declare function apply(ctx: Context, config: A2aPluginConfig): Promise<{
299
353
  port: number;
354
+ grpcPort?: number;
300
355
  }> | undefined;
@@ -12,8 +12,10 @@
12
12
  * the server, builds the card, and optionally adds transport heartbeats.
13
13
  */
14
14
  import { type AgentExtension, type Message, type Task } from '@a2a-js/sdk';
15
- import { type AgentExecutor, DefaultExecutionEventBus, ServerCallContext, type TaskStore } from '@a2a-js/sdk/server';
15
+ import { type AgentExecutor, DefaultExecutionEventBus, type ExtendedAgentCardProvider, ServerCallContext, type TaskStore } from '@a2a-js/sdk/server';
16
+ import type { NativeInbox } from './inbox.js';
16
17
  export interface A2aServerOptions {
18
+ inbox?: NativeInbox;
17
19
  extensions?: AgentExtension[];
18
20
  host: string;
19
21
  port: number;
@@ -31,6 +33,15 @@ export interface A2aServerOptions {
31
33
  enabled: boolean;
32
34
  intervalMs: number;
33
35
  };
36
+ pushNotifications?: boolean;
37
+ rest?: boolean;
38
+ grpc?: {
39
+ enabled: boolean;
40
+ port: number;
41
+ publicUrl?: string;
42
+ };
43
+ /** Host provider must authorize the request before returning private card data. */
44
+ extendedAgentCard?: ExtendedAgentCardProvider;
34
45
  approvalGuard?: (message: Message) => undefined | (() => void);
35
46
  beforeWorkingTaskMessage?: (message: Message, requestHeaders: unknown) => Promise<void>;
36
47
  beforeMessage?: (message: Message, context: ServerCallContext) => Promise<undefined | (() => void)>;
@@ -41,6 +52,7 @@ export interface A2aServer {
41
52
  restoreTask(task: Task, context: ServerCallContext): DefaultExecutionEventBus;
42
53
  /** The bound port (differs from options.port when 0). */
43
54
  port: number;
55
+ grpcPort?: number;
44
56
  close(): Promise<void>;
45
57
  }
46
58
  export declare function startA2aServer(options: A2aServerOptions): Promise<A2aServer>;
@@ -0,0 +1,8 @@
1
+ import type { Writable } from 'node:stream';
2
+ import { DefaultExecutionEventBus, type DefaultRequestHandler } from '@a2a-js/sdk/server';
3
+ /** SDK transports do not end their pending iterators on connection close. */
4
+ export declare function withStreamConnection<T>(output: Writable, run: () => T): T;
5
+ /** A disconnected subscriber stops only its SDK queue, never the task bus. */
6
+ export declare function subscriptionBus(source: DefaultExecutionEventBus | undefined): DefaultExecutionEventBus | undefined;
7
+ /** Keep SDK parsing, serialization and errors; adapt only stream consumption. */
8
+ export declare function connectedRequestHandler(handler: DefaultRequestHandler): DefaultRequestHandler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amaster.ai/dsh-a2a",
3
- "version": "0.1.34",
3
+ "version": "0.1.36",
4
4
  "description": "A2A protocol (JSON-RPC + SSE) server plugin for DeepSeek Harness: expose dsh agents as A2A agents.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -33,21 +33,23 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@a2a-js/sdk": "^1.1.0",
36
- "@deepseek-ai/schemastery": "^3.18.1",
36
+ "@deepseek-ai/schemastery": "^3.18.5",
37
37
  "express": "^4.21.0"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "@deepseek-ai/cordis": "^4.0.1",
41
41
  "@deepseek-ai/dsh-agent": ">=0.2.0-rc.2 || >=0.2.1-alpha.1",
42
42
  "@deepseek-ai/dsh-attachment": ">=0.1.5-rc.1 || >=0.1.6-alpha.1 || >=0.1.7-alpha.1 || >=0.2.0-rc.1 || >=0.2.1-rc.1",
43
+ "@deepseek-ai/dsh-goal": ">=0.2.0-rc.2 || >=0.2.1-alpha.1",
43
44
  "@deepseek-ai/dsh-llm": ">=0.1.5-rc.1 || >=0.1.6-alpha.1 || >=0.1.7-alpha.1 || >=0.2.0-rc.1 || >=0.2.1-rc.1",
44
- "@deepseek-ai/dsh-session": ">=0.2.0-rc.1 || >=0.2.1-rc.1",
45
+ "@deepseek-ai/dsh-session": ">=0.2.1-rc.5",
46
+ "@deepseek-ai/dsh-session-persistence": ">=0.2.0-rc.2 || >=0.2.1-alpha.1",
45
47
  "@deepseek-ai/dsh-tools": ">=0.1.5-rc.1 || >=0.1.6-alpha.1 || >=0.1.7-alpha.1 || >=0.2.0-rc.1 || >=0.2.1-rc.1",
46
48
  "@deepseek-ai/dsh-user-approval": ">=0.1.6-alpha.2 || >=0.1.7-alpha.1 || >=0.2.0-rc.1 || >=0.2.1-rc.1",
47
49
  "@google-cloud/storage": "^7.0.0",
48
50
  "ioredis": "^5.0.0",
49
- "@deepseek-ai/dsh-goal": ">=0.2.0-rc.2 || >=0.2.1-alpha.1",
50
- "@deepseek-ai/dsh-session-persistence": ">=0.2.0-rc.2 || >=0.2.1-alpha.1"
51
+ "@grpc/grpc-js": "^1.11.0",
52
+ "@bufbuild/protobuf": "^2.10.2"
51
53
  },
52
54
  "peerDependenciesMeta": {
53
55
  "@deepseek-ai/dsh-attachment": {
@@ -67,26 +69,34 @@
67
69
  },
68
70
  "@deepseek-ai/dsh-session-persistence": {
69
71
  "optional": true
72
+ },
73
+ "@grpc/grpc-js": {
74
+ "optional": true
75
+ },
76
+ "@bufbuild/protobuf": {
77
+ "optional": true
70
78
  }
71
79
  },
72
80
  "devDependencies": {
73
81
  "@a2a-js/sdk-v03": "npm:@a2a-js/sdk@0.3.14",
82
+ "@bufbuild/protobuf": "2.10.2",
74
83
  "@deepseek-ai/cordis": "4.0.5",
75
- "@deepseek-ai/dsh-agent": "0.2.1-rc.4",
76
- "@deepseek-ai/dsh-attachment": "0.2.1-rc.4",
77
- "@deepseek-ai/dsh-llm": "0.2.1-rc.4",
78
- "@deepseek-ai/dsh-session": "0.2.1-rc.4",
79
- "@deepseek-ai/dsh-session-projection": "0.2.1-rc.4",
80
- "@deepseek-ai/dsh-tools": "0.2.1-rc.4",
81
- "@deepseek-ai/dsh-user-approval": "0.2.1-rc.4",
84
+ "@deepseek-ai/dsh-agent": "0.2.1-rc.5",
85
+ "@deepseek-ai/dsh-attachment": "0.2.1-rc.5",
86
+ "@deepseek-ai/dsh-goal": "0.2.1-rc.5",
87
+ "@deepseek-ai/dsh-llm": "0.2.1-rc.5",
88
+ "@deepseek-ai/dsh-session": "0.2.1-rc.5",
89
+ "@deepseek-ai/dsh-session-persistence": "0.2.1-rc.5",
90
+ "@deepseek-ai/dsh-session-projection": "0.2.1-rc.5",
91
+ "@deepseek-ai/dsh-tools": "0.2.1-rc.5",
92
+ "@deepseek-ai/dsh-user-approval": "0.2.1-rc.5",
82
93
  "@google-cloud/storage": "^7.0.0",
94
+ "@grpc/grpc-js": "1.14.4",
83
95
  "@types/express": "^4.17.21",
84
96
  "@types/node": "^22.0.0",
85
97
  "ioredis": "^5.0.0",
86
98
  "typescript": "^5.6.3",
87
- "vitest": "^4.1.11",
88
- "@deepseek-ai/dsh-goal": "0.2.1-rc.4",
89
- "@deepseek-ai/dsh-session-persistence": "0.2.1-rc.4"
99
+ "vitest": "^4.1.11"
90
100
  },
91
101
  "engines": {
92
102
  "node": "^20.19 || ^22.12 || >=24.0"