@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.
- package/cli/CHANGELOG.md +10 -0
- package/cli/dist/codebuddy-headless.js +309 -291
- package/cli/package.json +3 -2
- package/cli/product.cloudhosted.json +2 -2
- package/cli/product.internal.json +2 -2
- package/cli/product.ioa.json +2 -2
- package/cli/product.json +2 -2
- package/cli/product.selfhosted.json +2 -2
- package/lib/_internal/query-controller.d.ts +48 -2
- package/lib/_internal/query-controller.d.ts.map +1 -1
- package/lib/_internal/query-controller.js +335 -2
- package/lib/_internal/query-controller.js.map +1 -1
- package/lib/_internal/remote-extensions-options.d.ts +3 -0
- package/lib/_internal/remote-extensions-options.d.ts.map +1 -0
- package/lib/_internal/remote-extensions-options.js +37 -0
- package/lib/_internal/remote-extensions-options.js.map +1 -0
- package/lib/_internal/session-mirror.d.ts +53 -0
- package/lib/_internal/session-mirror.d.ts.map +1 -0
- package/lib/_internal/session-mirror.js +156 -0
- package/lib/_internal/session-mirror.js.map +1 -0
- package/lib/_internal/session-store-runtime.d.ts +52 -0
- package/lib/_internal/session-store-runtime.d.ts.map +1 -0
- package/lib/_internal/session-store-runtime.js +283 -0
- package/lib/_internal/session-store-runtime.js.map +1 -0
- package/lib/in-memory-session-store.d.ts +31 -0
- package/lib/in-memory-session-store.d.ts.map +1 -0
- package/lib/in-memory-session-store.js +127 -0
- package/lib/in-memory-session-store.js.map +1 -0
- package/lib/index.d.ts +13 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +16 -1
- package/lib/index.js.map +1 -1
- package/lib/mcp/delegated-redaction.d.ts +47 -0
- package/lib/mcp/delegated-redaction.d.ts.map +1 -0
- package/lib/mcp/delegated-redaction.js +362 -0
- package/lib/mcp/delegated-redaction.js.map +1 -0
- package/lib/mcp/index.d.ts +4 -0
- package/lib/mcp/index.d.ts.map +1 -1
- package/lib/mcp/index.js +8 -1
- package/lib/mcp/index.js.map +1 -1
- package/lib/mcp/managed-remote-mcp-bridge.d.ts +49 -0
- package/lib/mcp/managed-remote-mcp-bridge.d.ts.map +1 -0
- package/lib/mcp/managed-remote-mcp-bridge.js +303 -0
- package/lib/mcp/managed-remote-mcp-bridge.js.map +1 -0
- package/lib/query.d.ts +14 -1
- package/lib/query.d.ts.map +1 -1
- package/lib/query.js +320 -28
- package/lib/query.js.map +1 -1
- package/lib/remote-error-codes.d.ts +8 -0
- package/lib/remote-error-codes.d.ts.map +1 -0
- package/lib/remote-error-codes.js +23 -0
- package/lib/remote-error-codes.js.map +1 -0
- package/lib/session-store-protocol.d.ts +19 -0
- package/lib/session-store-protocol.d.ts.map +1 -0
- package/lib/session-store-protocol.js +125 -0
- package/lib/session-store-protocol.js.map +1 -0
- package/lib/session.d.ts +8 -1
- package/lib/session.d.ts.map +1 -1
- package/lib/session.js +132 -11
- package/lib/session.js.map +1 -1
- package/lib/transport/index.d.ts +53 -3
- package/lib/transport/index.d.ts.map +1 -1
- package/lib/transport/index.js.map +1 -1
- package/lib/transport/process-transport.d.ts +81 -4
- package/lib/transport/process-transport.d.ts.map +1 -1
- package/lib/transport/process-transport.js +295 -15
- package/lib/transport/process-transport.js.map +1 -1
- package/lib/types.d.ts +629 -6
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +14 -1
- package/lib/types.js.map +1 -1
- 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.
|
|
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.
|
|
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()
|
|
150
|
-
|
|
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 =
|
|
275
|
-
|
|
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 =
|
|
281
|
-
|
|
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 =
|
|
293
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
361
|
-
if (this.
|
|
362
|
-
|
|
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
|
|
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
|
|
649
|
+
if (!willSendPrompt(this.prompt)) {
|
|
394
650
|
return;
|
|
395
651
|
}
|
|
396
652
|
if (typeof this.prompt === 'string') {
|
|
397
|
-
|
|
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"}
|