@tencent-ai/agent-sdk 0.3.229 → 0.3.230-dev.80d16dd.202607272156

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 (72) hide show
  1. package/cli/CHANGELOG.md +10 -0
  2. package/cli/dist/codebuddy-headless.js +309 -291
  3. package/cli/package.json +3 -2
  4. package/cli/product.cloudhosted.json +2 -2
  5. package/cli/product.internal.json +2 -2
  6. package/cli/product.ioa.json +2 -2
  7. package/cli/product.json +2 -2
  8. package/cli/product.selfhosted.json +2 -2
  9. package/lib/_internal/query-controller.d.ts +48 -2
  10. package/lib/_internal/query-controller.d.ts.map +1 -1
  11. package/lib/_internal/query-controller.js +335 -2
  12. package/lib/_internal/query-controller.js.map +1 -1
  13. package/lib/_internal/remote-extensions-options.d.ts +3 -0
  14. package/lib/_internal/remote-extensions-options.d.ts.map +1 -0
  15. package/lib/_internal/remote-extensions-options.js +37 -0
  16. package/lib/_internal/remote-extensions-options.js.map +1 -0
  17. package/lib/_internal/session-mirror.d.ts +53 -0
  18. package/lib/_internal/session-mirror.d.ts.map +1 -0
  19. package/lib/_internal/session-mirror.js +156 -0
  20. package/lib/_internal/session-mirror.js.map +1 -0
  21. package/lib/_internal/session-store-runtime.d.ts +52 -0
  22. package/lib/_internal/session-store-runtime.d.ts.map +1 -0
  23. package/lib/_internal/session-store-runtime.js +283 -0
  24. package/lib/_internal/session-store-runtime.js.map +1 -0
  25. package/lib/in-memory-session-store.d.ts +31 -0
  26. package/lib/in-memory-session-store.d.ts.map +1 -0
  27. package/lib/in-memory-session-store.js +127 -0
  28. package/lib/in-memory-session-store.js.map +1 -0
  29. package/lib/index.d.ts +13 -1
  30. package/lib/index.d.ts.map +1 -1
  31. package/lib/index.js +16 -1
  32. package/lib/index.js.map +1 -1
  33. package/lib/mcp/delegated-redaction.d.ts +47 -0
  34. package/lib/mcp/delegated-redaction.d.ts.map +1 -0
  35. package/lib/mcp/delegated-redaction.js +362 -0
  36. package/lib/mcp/delegated-redaction.js.map +1 -0
  37. package/lib/mcp/index.d.ts +4 -0
  38. package/lib/mcp/index.d.ts.map +1 -1
  39. package/lib/mcp/index.js +8 -1
  40. package/lib/mcp/index.js.map +1 -1
  41. package/lib/mcp/managed-remote-mcp-bridge.d.ts +49 -0
  42. package/lib/mcp/managed-remote-mcp-bridge.d.ts.map +1 -0
  43. package/lib/mcp/managed-remote-mcp-bridge.js +303 -0
  44. package/lib/mcp/managed-remote-mcp-bridge.js.map +1 -0
  45. package/lib/query.d.ts +14 -1
  46. package/lib/query.d.ts.map +1 -1
  47. package/lib/query.js +320 -28
  48. package/lib/query.js.map +1 -1
  49. package/lib/remote-error-codes.d.ts +8 -0
  50. package/lib/remote-error-codes.d.ts.map +1 -0
  51. package/lib/remote-error-codes.js +23 -0
  52. package/lib/remote-error-codes.js.map +1 -0
  53. package/lib/session-store-protocol.d.ts +19 -0
  54. package/lib/session-store-protocol.d.ts.map +1 -0
  55. package/lib/session-store-protocol.js +125 -0
  56. package/lib/session-store-protocol.js.map +1 -0
  57. package/lib/session.d.ts +8 -1
  58. package/lib/session.d.ts.map +1 -1
  59. package/lib/session.js +132 -11
  60. package/lib/session.js.map +1 -1
  61. package/lib/transport/index.d.ts +53 -3
  62. package/lib/transport/index.d.ts.map +1 -1
  63. package/lib/transport/index.js.map +1 -1
  64. package/lib/transport/process-transport.d.ts +81 -4
  65. package/lib/transport/process-transport.d.ts.map +1 -1
  66. package/lib/transport/process-transport.js +295 -15
  67. package/lib/transport/process-transport.js.map +1 -1
  68. package/lib/types.d.ts +629 -6
  69. package/lib/types.d.ts.map +1 -1
  70. package/lib/types.js +14 -1
  71. package/lib/types.js.map +1 -1
  72. package/package.json +3 -2
package/lib/query.js CHANGED
@@ -5,11 +5,48 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Query = void 0;
7
7
  exports.query = query;
8
+ const node_crypto_1 = require("node:crypto");
8
9
  const query_controller_1 = require("./_internal/query-controller");
10
+ const remote_extensions_options_1 = require("./_internal/remote-extensions-options");
11
+ const session_store_runtime_1 = require("./_internal/session-store-runtime");
9
12
  const connect_1 = require("./connect");
10
13
  const errors_1 = require("./errors");
14
+ const remote_error_codes_1 = require("./remote-error-codes");
11
15
  const transport_1 = require("./transport");
12
16
  const utils_1 = require("./utils");
17
+ function syntheticUuid() {
18
+ try {
19
+ const c = globalThis.crypto;
20
+ if (c?.randomUUID) {
21
+ return c.randomUUID();
22
+ }
23
+ }
24
+ catch {
25
+ // fall through
26
+ }
27
+ return `syn-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
28
+ }
29
+ function isAsyncIterablePrompt(prompt) {
30
+ return typeof prompt !== 'string'
31
+ && prompt !== undefined
32
+ && typeof prompt[Symbol.asyncIterator] === 'function';
33
+ }
34
+ function willSendPrompt(prompt) {
35
+ if (typeof prompt === 'string') {
36
+ return prompt.trim().length > 0;
37
+ }
38
+ return prompt !== undefined;
39
+ }
40
+ function legacyOrGeneratedOperationContext(options) {
41
+ const legacyContextId = options?.exec?.remoteExecutionContextId?.trim();
42
+ if (legacyContextId) {
43
+ return { contextId: legacyContextId };
44
+ }
45
+ if (!options?.fileSystem && !options?.exec && !options?.sessionStore && !options?.remoteExtensions) {
46
+ return undefined;
47
+ }
48
+ return { contextId: `ctx1_${(0, node_crypto_1.randomBytes)(16).toString('base64url')}` };
49
+ }
13
50
  /**
14
51
  * Create a query for interacting with the agent.
15
52
  *
@@ -57,13 +94,44 @@ class Query {
57
94
  // 2. Allow fork operations which don't need locks
58
95
  this.prompt = prompt;
59
96
  this.options = options;
60
- this.initialized = false;
97
+ this.initializePromise = null;
98
+ this.handlerAbortController = new AbortController();
61
99
  this.iterator = null;
62
100
  this.connectPromise = null;
101
+ this.finalizePromise = null;
102
+ this.initialized = false;
63
103
  // Session lock tracking
64
104
  this.lockedSessionId = null;
65
105
  // Session ID captured from CLI messages
66
106
  this._sessionId = null;
107
+ this.terminalResultSeen = false;
108
+ this.pendingMirrorErrors = [];
109
+ this.remoteExtensions = (0, remote_extensions_options_1.captureRemoteExtensions)(options?.remoteExtensions);
110
+ this.explicitRemoteContext = options?.remoteContext !== undefined;
111
+ if (options?.remoteContext) {
112
+ if (!options.remoteContext.contextId?.trim()) {
113
+ throw new remote_error_codes_1.RemoteProtocolError('REMOTE_CONTEXT_MISSING', 'options.remoteContext.contextId must be non-empty');
114
+ }
115
+ if (isAsyncIterablePrompt(prompt)) {
116
+ throw new remote_error_codes_1.RemoteProtocolError('REMOTE_OPERATION_UNSUPPORTED', 'remoteContext supports only a single string prompt');
117
+ }
118
+ }
119
+ this.connectionRemoteContext = options?.remoteContext
120
+ ?? legacyOrGeneratedOperationContext(options);
121
+ this.sessionStoreMode = options?.sessionStore
122
+ ? options.persistSession === false ? 'remote' : 'mirror'
123
+ : undefined;
124
+ if (this.sessionStoreMode === 'remote' && !options?.sessionStoreProjectKey?.trim()) {
125
+ throw new Error('options.sessionStoreProjectKey is required when SessionStore is remote');
126
+ }
127
+ // file-history 备份 blob 不属于 SessionStore;两种远端模式都不能与
128
+ // 显式开启 checkpoint 同时使用。
129
+ if (options?.sessionStore) {
130
+ if (options.enableFileCheckpointing === true) {
131
+ throw new Error('options.sessionStore cannot be combined with enableFileCheckpointing: true — '
132
+ + 'file checkpoint blobs are written to local disk and are not mirrored');
133
+ }
134
+ }
67
135
  // Validate sessionId format
68
136
  if (options?.sessionId) {
69
137
  const sessionIdPattern = /^[a-zA-Z0-9][a-zA-Z0-9\-_:]*$/;
@@ -101,6 +169,7 @@ class Query {
101
169
  continue: options?.continue,
102
170
  resume: options?.resume,
103
171
  forkSession: options?.forkSession,
172
+ sessionStoreMode: this.sessionStoreMode,
104
173
  // MCP options (transport extracts SDK servers automatically)
105
174
  mcpServers: options?.mcpServers,
106
175
  strictMcpConfig: options?.strictMcpConfig,
@@ -121,13 +190,66 @@ class Query {
121
190
  stderr: options?.stderr,
122
191
  // Transport control request timeout
123
192
  requestTimeoutMs: options?.requestTimeoutMs,
193
+ // FileSystem replacement (only modules are serialized; handler stays in-process)
194
+ fileSystem: options?.fileSystem ? { modules: options.fileSystem.modules } : undefined,
195
+ // Channel replacement (only empty descriptor is serialized; handler stays in-process)
196
+ channel: options?.channel,
197
+ // Exec replacement (only serializable subset; handler stays in-process)
198
+ exec: options?.exec ? {
199
+ ...(options.exec.maxOutputBytes ? { maxOutputBytes: options.exec.maxOutputBytes } : {}),
200
+ ...(options.exec.capabilityId ? { capabilityId: options.exec.capabilityId } : {}),
201
+ ...(options.exec.remoteExecutionContextId ? { remoteExecutionContextId: options.exec.remoteExecutionContextId } : {}),
202
+ } : undefined,
203
+ remoteExtensions: this.remoteExtensions ? true : undefined,
204
+ // Local-execution fail-closed (serialized whole; no in-process handler)
205
+ localExecutionDeny: options?.localExecutionDeny,
206
+ // Remote MCP 委托接线:remoteMcp 进 initialize capabilities;
207
+ // delegatedMcpServers + mcpTransportFactory 在 transport 构造期注册 bridge。
208
+ remoteMcp: options?.remoteMcp,
209
+ delegatedMcpServers: options?.delegatedMcpServers,
210
+ mcpTransportFactory: options?.mcpTransportFactory,
211
+ controlConnectionId: options?.controlConnectionId,
212
+ tenantId: options?.tenantId,
213
+ userId: options?.userId,
214
+ runId: options?.runId,
124
215
  };
125
216
  this.transport = (0, transport_1.createTransport)(transportOptions);
126
217
  this.abortController = options?.abortController ?? new AbortController();
218
+ if (options?.sessionStore && this.sessionStoreMode) {
219
+ this.sessionStoreRuntime = new session_store_runtime_1.SessionStoreRuntime({
220
+ store: options.sessionStore,
221
+ mode: this.sessionStoreMode,
222
+ projectKey: options.sessionStoreProjectKey,
223
+ expectedContextId: this.connectionRemoteContext?.contextId,
224
+ requireRequestContext: this.explicitRemoteContext,
225
+ closeDeadlineMs: options.requestTimeoutMs,
226
+ onMirrorFailure: failure => {
227
+ const mirrorError = {
228
+ type: 'system',
229
+ subtype: 'mirror_error',
230
+ uuid: syntheticUuid(),
231
+ session_id: failure.key.sessionId,
232
+ session_store_key: failure.key,
233
+ error: failure.error,
234
+ dropped_entries: failure.droppedEntries,
235
+ };
236
+ this.pendingMirrorErrors.push(mirrorError);
237
+ if (!this.terminalResultSeen) {
238
+ this.transport.enqueueMessage?.(mirrorError);
239
+ }
240
+ },
241
+ });
242
+ }
127
243
  // QueryController owns initialize + hook registry + control-request routing.
128
244
  // The canUseTool getter is lazy because options shouldn't be re-read on every
129
245
  // call (they don't change for query()), but it matches Session's pattern.
130
- this.controller = new query_controller_1.QueryController(this.transport, options?.hooks, () => options?.canUseTool, () => this.abortController.signal, () => options?.elicitation);
246
+ this.controller = new query_controller_1.QueryController(this.transport, options?.hooks, () => options?.canUseTool, () => this.handlerAbortController.signal, () => options?.elicitation, () => options?.fileSystem?.handler, () => options?.channel?.handler, () => options?.exec?.handler, this.sessionStoreRuntime, this.connectionRemoteContext?.contextId, this.explicitRemoteContext, () => this.remoteExtensions?.handler, {
247
+ ...(options?.userId ? { userId: options.userId } : {}),
248
+ ...(options?.sessionId || options?.resume
249
+ ? { sessionId: options.sessionId ?? options.resume }
250
+ : {}),
251
+ ...(options?.runId ? { runId: options.runId } : {}),
252
+ });
131
253
  // Register control request handler on transport so control requests
132
254
  // are dispatched directly in handleLine(), bypassing the message queue.
133
255
  this.transport.onControlRequest(request => {
@@ -136,6 +258,14 @@ class Query {
136
258
  // Individual control request errors shouldn't affect the query
137
259
  });
138
260
  });
261
+ if (this.sessionStoreRuntime && this.sessionStoreMode === 'mirror') {
262
+ this.transport.onNotification('session_store', notification => {
263
+ const data = notification.data;
264
+ if (data?.key?.sessionId && Array.isArray(data.events)) {
265
+ this.sessionStoreRuntime.handleMirrorNotification(data);
266
+ }
267
+ });
268
+ }
139
269
  // elicitation/complete 收口通知(fire-and-forget,无需订阅握手):
140
270
  // agent 侧查单证实/超时后撤卡/翻终态。
141
271
  if (options?.elicitation?.complete) {
@@ -146,9 +276,27 @@ class Query {
146
276
  }
147
277
  // Auto-connect: start CLI process immediately (non-blocking)
148
278
  // This reduces latency for the first message
149
- this.connectPromise = this.transport.connect().catch(() => {
150
- // Ignore connection errors - they'll be reported when iteration starts
279
+ this.connectPromise = this.transport.connect()
280
+ .catch(() => {
281
+ // Connection errors are reported when the query is first used.
151
282
  });
283
+ const abortQuery = () => {
284
+ this.handlerAbortController.abort(this.abortController.signal.reason);
285
+ this.handlerAbortController = new AbortController();
286
+ if (this.remoteExtensions) {
287
+ // eslint-disable-next-line no-void
288
+ void this.finalize('other').catch(() => undefined);
289
+ }
290
+ else {
291
+ this.cleanup();
292
+ }
293
+ };
294
+ if (this.abortController.signal.aborted) {
295
+ abortQuery();
296
+ }
297
+ else {
298
+ this.abortController.signal.addEventListener('abort', abortQuery, { once: true });
299
+ }
152
300
  // Track initial values (passed to CLI via command line args)
153
301
  this._initialPermissionMode = options?.permissionMode ?? 'default';
154
302
  this._initialModel = options?.model;
@@ -168,10 +316,21 @@ class Query {
168
316
  }
169
317
  async return() {
170
318
  await this.interrupt();
319
+ if (this.remoteExtensions) {
320
+ await this.finalize('other');
321
+ }
171
322
  return { done: true, value: undefined };
172
323
  }
173
324
  async throw(e) {
174
325
  await this.interrupt();
326
+ if (this.remoteExtensions) {
327
+ try {
328
+ await this.finalize('other');
329
+ }
330
+ catch {
331
+ // 收尾失败不能覆盖调用方主动传入的异常。
332
+ }
333
+ }
175
334
  throw e;
176
335
  }
177
336
  // ============= Connection Methods =============
@@ -193,6 +352,10 @@ class Query {
193
352
  * ```
194
353
  */
195
354
  async connect() {
355
+ // 等构造器启动的连接完成。
356
+ if (this.connectPromise) {
357
+ await this.connectPromise;
358
+ }
196
359
  await this.transport.connect();
197
360
  await this.initialize();
198
361
  }
@@ -263,6 +426,9 @@ class Query {
263
426
  return this._currentModel;
264
427
  }
265
428
  async setMaxThinkingTokens(maxThinkingTokens) {
429
+ if (this.connectionRemoteContext) {
430
+ await this.initialize();
431
+ }
266
432
  await this.transport.sendControlRequest({
267
433
  subtype: 'set_max_thinking_tokens',
268
434
  session_id: this.getSessionId(),
@@ -271,36 +437,50 @@ class Query {
271
437
  }
272
438
  // ============= Query Methods =============
273
439
  async supportedCommands() {
274
- const response = await this.transport.sendControlRequest({
275
- subtype: 'initialize',
276
- });
440
+ const response = this.connectionRemoteContext
441
+ ? await this.initialize()
442
+ : await this.transport.sendControlRequest({ subtype: 'initialize' });
277
443
  return response.commands ?? [];
278
444
  }
279
445
  async supportedModels() {
280
- const response = await this.transport.sendControlRequest({
281
- subtype: 'initialize',
282
- });
446
+ const response = this.connectionRemoteContext
447
+ ? await this.initialize()
448
+ : await this.transport.sendControlRequest({ subtype: 'initialize' });
283
449
  return response.models ?? [];
284
450
  }
285
451
  async mcpServerStatus() {
452
+ if (this.connectionRemoteContext) {
453
+ await this.initialize();
454
+ }
286
455
  const response = await this.transport.sendControlRequest({
287
456
  subtype: 'mcp_status',
288
457
  });
289
458
  return response.mcp_servers ?? [];
290
459
  }
291
460
  async accountInfo() {
292
- const response = await this.transport.sendControlRequest({
293
- subtype: 'initialize',
294
- });
461
+ const response = this.connectionRemoteContext
462
+ ? await this.initialize()
463
+ : await this.transport.sendControlRequest({ subtype: 'initialize' });
295
464
  return response.account ?? {};
296
465
  }
297
466
  async streamInput(stream) {
467
+ if (this.explicitRemoteContext) {
468
+ throw new remote_error_codes_1.RemoteProtocolError('REMOTE_OPERATION_UNSUPPORTED', 'remoteContext supports only a single string prompt');
469
+ }
470
+ if (this.connectionRemoteContext) {
471
+ await this.initialize();
472
+ }
298
473
  for await (const message of stream) {
299
- this.transport.sendUserMessage(message);
474
+ this.transport.sendUserMessage(message, undefined, undefined, this.connectionRemoteContext);
300
475
  }
301
476
  }
302
477
  // ============= Private Methods =============
303
478
  async *createIterator() {
479
+ let terminalResult;
480
+ let terminalError;
481
+ let sessionStoreClosed = false;
482
+ let finalizationReason = 'other';
483
+ let primaryError;
304
484
  try {
305
485
  // Wait for connection to complete (if in progress)
306
486
  if (this.connectPromise) {
@@ -316,6 +496,12 @@ class Query {
316
496
  break;
317
497
  }
318
498
  if ((0, utils_1.isMessage)(message)) {
499
+ if (message.type === 'system' && message.subtype === 'mirror_error') {
500
+ const pendingIndex = this.pendingMirrorErrors.findIndex(error => error.uuid === message.uuid);
501
+ if (pendingIndex >= 0) {
502
+ this.pendingMirrorErrors.splice(pendingIndex, 1);
503
+ }
504
+ }
319
505
  // Capture session_id from CLI messages for use in control requests
320
506
  if (!this._sessionId && 'session_id' in message && message.session_id) {
321
507
  this._sessionId = message.session_id;
@@ -340,26 +526,90 @@ class Query {
340
526
  !this.options?.includePartialMessages) {
341
527
  continue;
342
528
  }
529
+ if (message.type === 'error') {
530
+ if (this.remoteExtensions) {
531
+ terminalError = message;
532
+ // 必须在离开本循环前收尾:break 会触发消息流的 return()
533
+ // → transport.close(),读侧一关、子进程一 SIGTERM,CLI 在
534
+ // shutdown 里发出的远端 Hook(SessionEnd)请求就没人接。
535
+ await this.finalize(finalizationReason).catch(() => undefined);
536
+ }
537
+ else {
538
+ yield message;
539
+ }
540
+ break;
541
+ }
343
542
  // Check for execution error BEFORE yielding
344
543
  // This ensures the exception is thrown even if caller breaks after receiving result
345
544
  if (message.type === 'result') {
346
545
  if (message.is_error && 'errors' in message && message.errors && message.errors.length > 0) {
347
546
  throw new errors_1.ExecutionError(message.errors, message.subtype);
348
547
  }
349
- yield message;
548
+ this.terminalResultSeen = true;
549
+ terminalResult = message;
550
+ finalizationReason = 'prompt_input_exit';
551
+ if (this.remoteExtensions) {
552
+ // 同上:shutdown 握手必须跑在消息流关闭之前。
553
+ await this.finalize(finalizationReason);
554
+ }
350
555
  break;
351
556
  }
352
557
  yield message;
353
558
  }
354
559
  }
560
+ if (this.remoteExtensions && terminalResult) {
561
+ await this.finalize(finalizationReason);
562
+ }
563
+ if (terminalError) {
564
+ await this.finalize(finalizationReason).catch(() => undefined);
565
+ yield terminalError;
566
+ }
567
+ if (terminalResult) {
568
+ if (!this.remoteExtensions) {
569
+ if (this.sessionStoreRuntime) {
570
+ await this.sessionStoreRuntime.close();
571
+ sessionStoreClosed = true;
572
+ }
573
+ }
574
+ for (const mirrorError of this.pendingMirrorErrors) {
575
+ yield mirrorError;
576
+ }
577
+ yield terminalResult;
578
+ }
579
+ }
580
+ catch (error) {
581
+ primaryError = error;
582
+ throw error;
355
583
  }
356
584
  finally {
357
- this.cleanup();
585
+ if (this.remoteExtensions) {
586
+ if (primaryError === undefined) {
587
+ await this.finalize(finalizationReason);
588
+ }
589
+ else {
590
+ await this.finalize(finalizationReason).catch(() => undefined);
591
+ }
592
+ }
593
+ else {
594
+ if (this.sessionStoreRuntime && !sessionStoreClosed) {
595
+ await this.sessionStoreRuntime.close();
596
+ }
597
+ this.cleanup();
598
+ }
358
599
  }
359
600
  }
360
- async initialize() {
361
- if (this.initialized) {
362
- return;
601
+ initialize() {
602
+ if (!this.initializePromise) {
603
+ this.initializePromise = this.performInitialize().catch(error => {
604
+ this.cleanup();
605
+ throw error;
606
+ });
607
+ }
608
+ return this.initializePromise;
609
+ }
610
+ async performInitialize() {
611
+ if (this.connectPromise) {
612
+ await this.connectPromise;
363
613
  }
364
614
  // Delayed lock acquisition: acquire lock when actually used to reduce leak risk
365
615
  // Fork operations don't need locks since they create independent copies
@@ -376,7 +626,12 @@ class Query {
376
626
  endpoint: this.options?.endpoint,
377
627
  // Tell CLI whether prompt will follow (controls resume history replay).
378
628
  // hasPrompt=true means CLI should NOT replay history.
379
- hasPrompt: this.prompt !== undefined && this.prompt !== '',
629
+ hasPrompt: willSendPrompt(this.prompt),
630
+ // Remote MCP managed 标记、transport 白名单和 server 描述符透传给 CLI initialize。
631
+ remoteMcp: this.options?.remoteMcp,
632
+ delegatedMcpServers: this.options?.delegatedMcpServers,
633
+ remoteContext: this.connectionRemoteContext,
634
+ remoteExtensions: this.remoteExtensions?.metadata,
380
635
  });
381
636
  this.initialized = true;
382
637
  // When ``options.model`` was unset, sync the CLI-reported model into both
@@ -386,21 +641,18 @@ class Query {
386
641
  this._currentModel = response.currentModelId;
387
642
  this._initialModel = response.currentModelId;
388
643
  }
644
+ return response;
389
645
  }
390
646
  async sendPrompt() {
391
647
  // If no prompt is provided (e.g., resume mode to get history only),
392
648
  // don't send any message. CLI will return history when no prompt is sent.
393
- if (this.prompt === undefined) {
649
+ if (!willSendPrompt(this.prompt)) {
394
650
  return;
395
651
  }
396
652
  if (typeof this.prompt === 'string') {
397
- // Empty string also triggers history-only mode
398
- if (this.prompt.trim() === '') {
399
- return;
400
- }
401
- this.transport.sendUserMessage(this.prompt, this.options?.traceId, this.options?.parentSpanId);
653
+ this.transport.sendUserMessage(this.prompt, this.options?.traceId, this.options?.parentSpanId, this.connectionRemoteContext);
402
654
  }
403
- else {
655
+ else if (this.prompt) {
404
656
  for await (const message of this.prompt) {
405
657
  if (!message.trace_id && this.options?.traceId) {
406
658
  message.trace_id = this.options.traceId;
@@ -408,7 +660,7 @@ class Query {
408
660
  if (!message.parent_span_id && this.options?.parentSpanId) {
409
661
  message.parent_span_id = this.options.parentSpanId;
410
662
  }
411
- this.transport.sendUserMessage(message);
663
+ this.transport.sendUserMessage(message, undefined, undefined, this.connectionRemoteContext);
412
664
  }
413
665
  }
414
666
  }
@@ -424,6 +676,46 @@ class Query {
424
676
  // Close main transport (handles SDK MCP cleanup internally)
425
677
  this.transport.close();
426
678
  }
679
+ finalize(reason) {
680
+ if (!this.finalizePromise) {
681
+ this.finalizePromise = this.performFinalize(reason);
682
+ }
683
+ return this.finalizePromise;
684
+ }
685
+ async performFinalize(reason) {
686
+ let firstError;
687
+ let failed = false;
688
+ try {
689
+ try {
690
+ await this.sessionStoreRuntime?.close();
691
+ }
692
+ catch (error) {
693
+ failed = true;
694
+ firstError = error;
695
+ }
696
+ if (this.initialized && this.remoteExtensions) {
697
+ try {
698
+ await this.transport.sendControlRequest({
699
+ subtype: 'shutdown',
700
+ session_id: this.getSessionId(),
701
+ reason,
702
+ });
703
+ }
704
+ catch (error) {
705
+ if (!failed) {
706
+ failed = true;
707
+ firstError = error;
708
+ }
709
+ }
710
+ }
711
+ }
712
+ finally {
713
+ this.cleanup();
714
+ }
715
+ if (failed) {
716
+ throw firstError;
717
+ }
718
+ }
427
719
  }
428
720
  exports.Query = Query;
429
721
  //# sourceMappingURL=query.js.map
package/lib/query.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const REMOTE_ERROR_CODES: readonly ['REMOTE_CONTEXT_MISSING', 'REMOTE_CONTEXT_UNKNOWN', 'REMOTE_CONTEXT_EXPIRED', 'REMOTE_CONTEXT_MISMATCH', 'REMOTE_OPERATION_UNSUPPORTED'];
2
+ export type RemoteErrorCode = typeof REMOTE_ERROR_CODES[number];
3
+ export declare function isRemoteErrorCode(code: unknown): code is RemoteErrorCode;
4
+ export declare class RemoteProtocolError extends Error {
5
+ readonly code: RemoteErrorCode;
6
+ constructor(code: RemoteErrorCode, message: string);
7
+ }
8
+ //# sourceMappingURL=remote-error-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-error-codes.d.ts","sourceRoot":"","sources":["../src/remote-error-codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,YAC3B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,CACxB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAEhE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,eAAe,CAExE;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAE,eAAe;IAA1C,YAAqB,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAG1D;CACJ"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemoteProtocolError = exports.REMOTE_ERROR_CODES = void 0;
4
+ exports.isRemoteErrorCode = isRemoteErrorCode;
5
+ exports.REMOTE_ERROR_CODES = [
6
+ 'REMOTE_CONTEXT_MISSING',
7
+ 'REMOTE_CONTEXT_UNKNOWN',
8
+ 'REMOTE_CONTEXT_EXPIRED',
9
+ 'REMOTE_CONTEXT_MISMATCH',
10
+ 'REMOTE_OPERATION_UNSUPPORTED',
11
+ ];
12
+ function isRemoteErrorCode(code) {
13
+ return typeof code === 'string' && exports.REMOTE_ERROR_CODES.includes(code);
14
+ }
15
+ class RemoteProtocolError extends Error {
16
+ constructor(code, message) {
17
+ super(message);
18
+ this.code = code;
19
+ this.name = 'RemoteProtocolError';
20
+ }
21
+ }
22
+ exports.RemoteProtocolError = RemoteProtocolError;
23
+ //# sourceMappingURL=remote-error-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-error-codes.js","sourceRoot":"","sources":["../src/remote-error-codes.ts"],"names":[],"mappings":";;;;AAAa,QAAA,kBAAkB,GAAG;IAC9B,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,yBAAyB;IACzB,8BAA8B;CACxB,CAAC;AAIX,2BAAkC,IAAa;IAC3C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAK,QAAA,kBAAwC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChG,CAAC;AAED,yBAAiC,SAAQ,KAAK;IAC1C,YAAqB,IAAqB,EAAE,OAAe;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;oBADE,IAAI;QAErB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACtC,CAAC;CACJ"}
@@ -0,0 +1,19 @@
1
+ import type { SessionStoreEntry, SessionStoreEvent } from './types';
2
+ export type SessionStoreErrorCode = 'INVALID_EVENT' | 'INVALID_SESSION_HISTORY' | 'EVENT_CONFLICT' | 'ENTRY_TOO_LARGE' | 'SESSION_TOO_LARGE' | 'SESSION_DELETED' | 'SESSION_NOT_FOUND' | 'SESSION_STORE_SCOPE_MISMATCH' | 'SESSION_STORE_OPERATION_UNSUPPORTED' | 'SESSION_STORE_PROTOCOL_MISMATCH' | 'SESSION_STORE_MODE_MISMATCH' | 'SESSION_STORE_UNAVAILABLE' | 'SESSION_STORE_INTERNAL' | 'OUTCOME_UNKNOWN';
3
+ export declare class SessionStoreProtocolError extends Error {
4
+ readonly code: SessionStoreErrorCode;
5
+ constructor(code: SessionStoreErrorCode, message: string, options?: {
6
+ cause?: unknown;
7
+ });
8
+ }
9
+ export interface NormalizedSessionStoreEvent {
10
+ event: SessionStoreEvent;
11
+ payloadDigest: string;
12
+ bytes: number;
13
+ }
14
+ export declare function sessionStoreProtocolError(code: SessionStoreErrorCode, message: string, cause?: unknown): SessionStoreProtocolError;
15
+ export declare function toSessionStoreWireItem(item: SessionStoreEntry): SessionStoreEntry;
16
+ export declare function canonicalizeSessionStoreItem(item: SessionStoreEntry): string;
17
+ export declare function digestSessionStoreItem(item: SessionStoreEntry): string;
18
+ export declare function normalizeSessionStoreEvents(events: SessionStoreEvent[]): NormalizedSessionStoreEvent[];
19
+ //# sourceMappingURL=session-store-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store-protocol.d.ts","sourceRoot":"","sources":["../src/session-store-protocol.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEpE,MAAM,MAAM,qBAAqB,GAC3B,eAAe,GACf,yBAAyB,GACzB,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,GACnB,8BAA8B,GAC9B,qCAAqC,GACrC,iCAAiC,GACjC,6BAA6B,GAC7B,2BAA2B,GAC3B,wBAAwB,GACxB,iBAAiB,CAAC;AAExB,qBAAa,yBAA0B,SAAQ,KAAK;IAE5C,QAAQ,CAAC,IAAI,EAAE,qBAAqB;IADxC,YACa,IAAI,EAAE,qBAAqB,EACpC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAOhC;CACJ;AAED,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,iBAAiB,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,yBAAyB,CACrC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,GAChB,yBAAyB,CAE3B;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAsBjF;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAE5E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAItE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,2BAA2B,EAAE,CAyBtG"}