@qodo/sdk 0.11.1 → 0.13.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.
- package/dist/api/agent.d.ts +38 -0
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +40 -0
- package/dist/api/agent.js.map +1 -1
- package/dist/api/websocket.d.ts +128 -2
- package/dist/api/websocket.d.ts.map +1 -1
- package/dist/api/websocket.js +508 -79
- package/dist/api/websocket.js.map +1 -1
- package/dist/sdk/QodoSDK.d.ts +36 -0
- package/dist/sdk/QodoSDK.d.ts.map +1 -1
- package/dist/sdk/QodoSDK.js +302 -130
- package/dist/sdk/QodoSDK.js.map +1 -1
- package/dist/sdk/events.d.ts +40 -1
- package/dist/sdk/events.d.ts.map +1 -1
- package/dist/sdk/events.js +9 -0
- package/dist/sdk/events.js.map +1 -1
- package/dist/session/SessionContext.d.ts +3 -1
- package/dist/session/SessionContext.d.ts.map +1 -1
- package/dist/session/SessionContext.js +13 -1
- package/dist/session/SessionContext.js.map +1 -1
- package/package.json +9 -11
package/dist/sdk/QodoSDK.js
CHANGED
|
@@ -46,6 +46,12 @@ export class QodoSDK {
|
|
|
46
46
|
pendingResolvers = [];
|
|
47
47
|
done = false;
|
|
48
48
|
activeRuns = 0;
|
|
49
|
+
// When true, this instance shares MCP with a parent and
|
|
50
|
+
// dispose() will not tear down MCP servers.
|
|
51
|
+
isFork = false;
|
|
52
|
+
_forkParent;
|
|
53
|
+
_activeForkCount = 0;
|
|
54
|
+
_listenerCleanups = [];
|
|
49
55
|
// For `sdk.message.delta`
|
|
50
56
|
lastAiText = '';
|
|
51
57
|
lastAiMessageId = '';
|
|
@@ -99,6 +105,276 @@ export class QodoSDK {
|
|
|
99
105
|
const nextFlags = { ...(this.options.flags || {}), sid: sessionId };
|
|
100
106
|
return new QodoSDK({ ...this.options, flags: nextFlags });
|
|
101
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Replace the backend session ID on this initialized instance without
|
|
110
|
+
* reinitializing MCP servers or other resources.
|
|
111
|
+
*
|
|
112
|
+
* Intended for long-lived SDK instances (e.g., Slack bots, multi-tenant
|
|
113
|
+
* servers) that need per-request session isolation while keeping MCP
|
|
114
|
+
* connections warm.
|
|
115
|
+
*
|
|
116
|
+
* If no sessionId is provided, a fresh one is fetched from the backend.
|
|
117
|
+
* Returns the effective session ID.
|
|
118
|
+
*/
|
|
119
|
+
async replaceSession(sessionId) {
|
|
120
|
+
if (!this.initialized) {
|
|
121
|
+
throw new Error('Cannot replaceSession before SDK is initialized. Call stream/prompt first, or use withSession().');
|
|
122
|
+
}
|
|
123
|
+
if (this.isFork) {
|
|
124
|
+
throw new Error('Cannot replaceSession on a fork. Create a new fork instead.');
|
|
125
|
+
}
|
|
126
|
+
if (this.activeRuns > 0) {
|
|
127
|
+
throw new Error('Cannot replaceSession while a run is in progress. Wait for the current run to complete.');
|
|
128
|
+
}
|
|
129
|
+
const newId = sessionId ?? await this.sessions.createSessionId();
|
|
130
|
+
this.sessionContext.replaceSessionId(newId);
|
|
131
|
+
return newId;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Create a lightweight SDK clone that shares this instance's MCP servers
|
|
135
|
+
* but gets its own session, WebSocket, and message state.
|
|
136
|
+
*
|
|
137
|
+
* Use this for concurrent request handling (e.g., Slack bots, multi-tenant
|
|
138
|
+
* servers) where each request needs session isolation but MCP connections
|
|
139
|
+
* should stay warm.
|
|
140
|
+
*
|
|
141
|
+
* The returned fork MUST be disposed after use via `fork.dispose()`.
|
|
142
|
+
* Disposing a fork tears down its session and WebSocket but leaves the
|
|
143
|
+
* parent's MCP servers running.
|
|
144
|
+
*
|
|
145
|
+
* @param sessionId Optional backend session ID. If omitted, a fresh one is created.
|
|
146
|
+
*/
|
|
147
|
+
async fork(sessionId) {
|
|
148
|
+
if (!this.initialized) {
|
|
149
|
+
throw new Error('Cannot fork before SDK is initialized. Call stream/prompt first.');
|
|
150
|
+
}
|
|
151
|
+
if (this.isFork) {
|
|
152
|
+
throw new Error('Cannot fork a forked instance. Call fork() on the parent SDK instead.');
|
|
153
|
+
}
|
|
154
|
+
const child = new QodoSDK({ ...this.options });
|
|
155
|
+
child.isFork = true;
|
|
156
|
+
child._forkParent = this;
|
|
157
|
+
this._activeForkCount++;
|
|
158
|
+
try {
|
|
159
|
+
await runWithEnvironment(child.env, async () => {
|
|
160
|
+
// Share parent's expensive resources (read-only after init)
|
|
161
|
+
child.env.authProvider = this.env.authProvider;
|
|
162
|
+
child.env.serverRegistry = this.env.serverRegistry;
|
|
163
|
+
child.env.mcpManager = this.env.mcpManager;
|
|
164
|
+
child.env.serverData = this.env.serverData;
|
|
165
|
+
// Fresh per-request middleware
|
|
166
|
+
const tpm = new ToolProcessorManager();
|
|
167
|
+
for (const mw of this.options.toolMiddleware ?? []) {
|
|
168
|
+
tpm.addMiddleware(mw);
|
|
169
|
+
}
|
|
170
|
+
child.env.toolProcessorManager = tpm;
|
|
171
|
+
// Fresh session context with a new session ID
|
|
172
|
+
const newId = sessionId ?? await child.sessions.createSessionId();
|
|
173
|
+
child.sessionContext = await SessionContext.newSessionContext({ ...this.sessionContext.getFlags() }, { ...this.sessionContext.getCommand() }, this.sessionContext.getGeneralInstructions(), this.sessionContext.getSystemPrompt(), undefined, // forks always start fresh
|
|
174
|
+
newId);
|
|
175
|
+
// Replicate parent's path configuration
|
|
176
|
+
const paths = this.sessionContext.getAccessiblePaths();
|
|
177
|
+
if (paths.length > 0) {
|
|
178
|
+
await child.sessionContext.setAccessiblePaths(paths);
|
|
179
|
+
}
|
|
180
|
+
const execCwd = this.sessionContext.getExecutionCwd();
|
|
181
|
+
if (execCwd) {
|
|
182
|
+
child.sessionContext.setExecutionCwd(execCwd);
|
|
183
|
+
}
|
|
184
|
+
// Fresh message manager, agent, and core
|
|
185
|
+
child.messageManager = new MessageManager();
|
|
186
|
+
child.agent = new AgentAPI(child.sessionContext);
|
|
187
|
+
child.setupEventListeners();
|
|
188
|
+
child.core = new AgentRunnerCore(child.sessionContext, child.messageManager, child.agent, () => { }, child.options.autoApproveTools !== false);
|
|
189
|
+
});
|
|
190
|
+
child.initialized = true;
|
|
191
|
+
child.lastInitMeta = this.lastInitMeta;
|
|
192
|
+
return child;
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
// Clean up partially constructed fork to avoid resource leaks.
|
|
196
|
+
// child.dispose() may return early (child not yet initialized),
|
|
197
|
+
// so always decrement the parent's fork count explicitly.
|
|
198
|
+
// Clear _forkParent first to prevent double-decrement in dispose().
|
|
199
|
+
child._forkParent = undefined;
|
|
200
|
+
this._activeForkCount--;
|
|
201
|
+
try {
|
|
202
|
+
await child.dispose();
|
|
203
|
+
}
|
|
204
|
+
catch { /* cleanup must not throw */ }
|
|
205
|
+
throw error;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Register message, loading, and error listeners on the message manager.
|
|
210
|
+
* Called during both full initialization and fork setup.
|
|
211
|
+
*/
|
|
212
|
+
setupEventListeners() {
|
|
213
|
+
// Clear any previous listener cleanups before registering new ones
|
|
214
|
+
this._listenerCleanups = [];
|
|
215
|
+
// Observe message list changes to emit:
|
|
216
|
+
// - sdk.message.full
|
|
217
|
+
// - sdk.message.delta (best effort from last AI message)
|
|
218
|
+
this._listenerCleanups.push(this.messageManager.addMessageListener((messages) => {
|
|
219
|
+
const lc = toLangChainDict(messages);
|
|
220
|
+
const openai = toOpenAIChat(messages);
|
|
221
|
+
const sid = this.sessionContext.getSessionId();
|
|
222
|
+
this.pushEvent(SdkEventType.MessageFull, sid, {
|
|
223
|
+
messages: { langchain: lc, openai },
|
|
224
|
+
});
|
|
225
|
+
// progress extraction
|
|
226
|
+
try {
|
|
227
|
+
const progress = extractProgress(messages);
|
|
228
|
+
if (progress) {
|
|
229
|
+
this.pushEvent(SdkEventType.Progress, sid, { ...progress });
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
catch { /* non-fatal: progress extraction is best-effort */ }
|
|
233
|
+
// tool lifecycle extraction from LangChain dict (AIMessage tool_calls + ToolMessage results)
|
|
234
|
+
try {
|
|
235
|
+
this.extractToolLifecycleFromLangChain(lc, sid);
|
|
236
|
+
}
|
|
237
|
+
catch { /* non-fatal: tool lifecycle extraction is best-effort */ }
|
|
238
|
+
// delta: compare last AI message string
|
|
239
|
+
try {
|
|
240
|
+
const lastAi = messages
|
|
241
|
+
.slice()
|
|
242
|
+
.reverse()
|
|
243
|
+
.find((m) => m?.constructor?.name === 'AIMessage');
|
|
244
|
+
const content = lastAi?.content;
|
|
245
|
+
const text = typeof content === 'string' ? content : '';
|
|
246
|
+
const messageId = lastAi?.additional_kwargs?.id || lastAi?.id || 'ai';
|
|
247
|
+
if (messageId !== this.lastAiMessageId) {
|
|
248
|
+
this.lastAiMessageId = messageId;
|
|
249
|
+
this.lastAiText = '';
|
|
250
|
+
}
|
|
251
|
+
if (text.length > this.lastAiText.length && text.startsWith(this.lastAiText)) {
|
|
252
|
+
const delta = text.slice(this.lastAiText.length);
|
|
253
|
+
if (delta && delta.length > 0) {
|
|
254
|
+
this.pushEvent(SdkEventType.MessageDelta, sid, {
|
|
255
|
+
message_id: String(messageId),
|
|
256
|
+
role: 'assistant',
|
|
257
|
+
delta,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
this.lastAiText = text;
|
|
262
|
+
}
|
|
263
|
+
catch { /* non-fatal: delta extraction is best-effort */ }
|
|
264
|
+
}));
|
|
265
|
+
// Finalization
|
|
266
|
+
this._listenerCleanups.push(this.messageManager.addLoadingListener(async (isLoading) => {
|
|
267
|
+
const sid = this.sessionContext.getSessionId();
|
|
268
|
+
if (!isLoading) {
|
|
269
|
+
try {
|
|
270
|
+
await this.agent.finishCurrentTask(false);
|
|
271
|
+
}
|
|
272
|
+
catch { /* best-effort: must not block finalization */ }
|
|
273
|
+
// AgentRunnerCore already emits final for old SDK, but we produce our own terminal sdk.final here
|
|
274
|
+
// by reading the message manager state.
|
|
275
|
+
try {
|
|
276
|
+
const finalized = buildFinalResult(this.messageManager);
|
|
277
|
+
// Check if there's an error - if so, mark as failure
|
|
278
|
+
const currentError = this.messageManager.getError();
|
|
279
|
+
const success = !currentError;
|
|
280
|
+
// Runtime Zod validation of structured_output when a schema is available
|
|
281
|
+
let validatedOutput = finalized.structured_output;
|
|
282
|
+
let validationError;
|
|
283
|
+
if (validatedOutput !== undefined && isZodSchema(this.runOutputZodSchema)) {
|
|
284
|
+
try {
|
|
285
|
+
validatedOutput = validateStructuredOutput(this.runOutputZodSchema, validatedOutput);
|
|
286
|
+
}
|
|
287
|
+
catch (ve) {
|
|
288
|
+
if (ve instanceof QodoOutputValidationError) {
|
|
289
|
+
validationError = ve.message;
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
validationError = ve instanceof Error ? ve.message : String(ve);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
this.pushEvent(SdkEventType.Final, sid, {
|
|
297
|
+
success: success && !validationError,
|
|
298
|
+
...(currentError ? { error: currentError } : {}),
|
|
299
|
+
...(validationError ? { error: validationError } : {}),
|
|
300
|
+
model: this.sessionContext.getModel(),
|
|
301
|
+
result: {
|
|
302
|
+
...(validatedOutput !== undefined ? { structured_output: validatedOutput } : {}),
|
|
303
|
+
...(finalized.final_output ? { final_output: finalized.final_output } : {}),
|
|
304
|
+
},
|
|
305
|
+
messages: { langchain: finalized.messagesLC, openai: finalized.messagesOpenAI },
|
|
306
|
+
meta: {
|
|
307
|
+
tools_auto_approved: this.options.autoApproveTools !== false,
|
|
308
|
+
subagents_used: finalized.subagentsUsed,
|
|
309
|
+
...(this.sessionContext.isDryRun() ? { dry_run: true } : {}),
|
|
310
|
+
...(() => { const _ee = this.sessionContext?.getCommand?.()?.exit_expression; return _ee ? { exit_expression: _ee } : {}; })(),
|
|
311
|
+
},
|
|
312
|
+
});
|
|
313
|
+
this.done = true;
|
|
314
|
+
}
|
|
315
|
+
catch (e) {
|
|
316
|
+
this.pushEvent(SdkEventType.Error, sid, { message: e?.message || 'Failed to finalize' });
|
|
317
|
+
this.pushEvent(SdkEventType.Final, sid, {
|
|
318
|
+
success: false,
|
|
319
|
+
error: e?.message || 'Failed to finalize',
|
|
320
|
+
model: this.sessionContext.getModel(),
|
|
321
|
+
result: {},
|
|
322
|
+
messages: { langchain: [], openai: [] },
|
|
323
|
+
meta: { tools_auto_approved: this.options.autoApproveTools !== false, subagents_used: false, ...(this.sessionContext.isDryRun() ? { dry_run: true } : {}), ...(() => { const _ee = this.sessionContext?.getCommand?.()?.exit_expression; return _ee ? { exit_expression: _ee } : {}; })() },
|
|
324
|
+
});
|
|
325
|
+
this.done = true;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}));
|
|
329
|
+
this._listenerCleanups.push(this.messageManager.addErrorListener(async (error) => {
|
|
330
|
+
if (!error)
|
|
331
|
+
return;
|
|
332
|
+
const sid = this.sessionContext.getSessionId();
|
|
333
|
+
this.pushEvent(SdkEventType.Error, sid, { message: error });
|
|
334
|
+
try {
|
|
335
|
+
await this.agent.finishCurrentTask(true);
|
|
336
|
+
}
|
|
337
|
+
catch { /* best-effort: must not block error handling */ }
|
|
338
|
+
}));
|
|
339
|
+
// Protocol-v2 transport lifecycle: surface reconnect, reconcile, and stall
|
|
340
|
+
// events through the SDK envelope stream. Consumers that only read these
|
|
341
|
+
// envelopes (no direct WebSocketClient access) can still distinguish a
|
|
342
|
+
// transient reconnect from a hard stall and respond appropriately.
|
|
343
|
+
const unsubscribeTransport = this.agent.onTransportEvent({
|
|
344
|
+
reconnecting: ({ attempt }) => {
|
|
345
|
+
const sid = this.sessionContext.getSessionId();
|
|
346
|
+
this.pushEvent(SdkEventType.Reconnecting, sid, { attempt });
|
|
347
|
+
},
|
|
348
|
+
reconnected: ({ downtime_ms }) => {
|
|
349
|
+
const sid = this.sessionContext.getSessionId();
|
|
350
|
+
this.pushEvent(SdkEventType.Reconnected, sid, { ...(typeof downtime_ms === 'number' ? { downtime_ms } : {}) });
|
|
351
|
+
},
|
|
352
|
+
resumeAck: ({ current_checkpoint, last_consumed_turn_id, awaiting, outbox_size }) => {
|
|
353
|
+
const sid = this.sessionContext.getSessionId();
|
|
354
|
+
this.pushEvent(SdkEventType.ResumeReconciled, sid, {
|
|
355
|
+
...(current_checkpoint ? { current_checkpoint } : {}),
|
|
356
|
+
...(last_consumed_turn_id ? { last_consumed_turn_id } : {}),
|
|
357
|
+
awaiting,
|
|
358
|
+
outbox_size,
|
|
359
|
+
});
|
|
360
|
+
},
|
|
361
|
+
reconcileFailed: ({ reason, awaiting }) => {
|
|
362
|
+
const sid = this.sessionContext.getSessionId();
|
|
363
|
+
this.pushEvent(SdkEventType.ReconcileFailed, sid, {
|
|
364
|
+
reason,
|
|
365
|
+
...(awaiting ? { awaiting } : {}),
|
|
366
|
+
});
|
|
367
|
+
},
|
|
368
|
+
stallDetected: ({ stage, outboxSize }) => {
|
|
369
|
+
const sid = this.sessionContext.getSessionId();
|
|
370
|
+
this.pushEvent(SdkEventType.StallDetected, sid, {
|
|
371
|
+
stage,
|
|
372
|
+
outbox_size: outboxSize,
|
|
373
|
+
});
|
|
374
|
+
},
|
|
375
|
+
});
|
|
376
|
+
this._listenerCleanups.push(unsubscribeTransport);
|
|
377
|
+
}
|
|
102
378
|
pushEvent(type, sessionId, data, opts) {
|
|
103
379
|
const evt = createSdkEvent({
|
|
104
380
|
type,
|
|
@@ -288,130 +564,7 @@ export class QodoSDK {
|
|
|
288
564
|
},
|
|
289
565
|
model: this.sessionContext.getModel(),
|
|
290
566
|
});
|
|
291
|
-
|
|
292
|
-
// - sdk.message.full
|
|
293
|
-
// - sdk.message.delta (best effort from last AI message)
|
|
294
|
-
this.messageManager.addMessageListener((messages) => {
|
|
295
|
-
const lc = toLangChainDict(messages);
|
|
296
|
-
const openai = toOpenAIChat(messages);
|
|
297
|
-
const sid = this.sessionContext.getSessionId();
|
|
298
|
-
this.pushEvent(SdkEventType.MessageFull, sid, {
|
|
299
|
-
messages: { langchain: lc, openai },
|
|
300
|
-
});
|
|
301
|
-
// progress extraction
|
|
302
|
-
try {
|
|
303
|
-
const progress = extractProgress(messages);
|
|
304
|
-
if (progress) {
|
|
305
|
-
this.pushEvent(SdkEventType.Progress, sid, { ...progress });
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
catch { /* non-fatal: progress extraction is best-effort */ }
|
|
309
|
-
// tool lifecycle extraction from LangChain dict (AIMessage tool_calls + ToolMessage results)
|
|
310
|
-
try {
|
|
311
|
-
this.extractToolLifecycleFromLangChain(lc, sid);
|
|
312
|
-
}
|
|
313
|
-
catch { /* non-fatal: tool lifecycle extraction is best-effort */ }
|
|
314
|
-
// delta: compare last AI message string
|
|
315
|
-
try {
|
|
316
|
-
const lastAi = messages
|
|
317
|
-
.slice()
|
|
318
|
-
.reverse()
|
|
319
|
-
.find((m) => m?.constructor?.name === 'AIMessage');
|
|
320
|
-
const content = lastAi?.content;
|
|
321
|
-
const text = typeof content === 'string' ? content : '';
|
|
322
|
-
const messageId = lastAi?.additional_kwargs?.id || lastAi?.id || 'ai';
|
|
323
|
-
if (messageId !== this.lastAiMessageId) {
|
|
324
|
-
this.lastAiMessageId = messageId;
|
|
325
|
-
this.lastAiText = '';
|
|
326
|
-
}
|
|
327
|
-
if (text.length > this.lastAiText.length && text.startsWith(this.lastAiText)) {
|
|
328
|
-
const delta = text.slice(this.lastAiText.length);
|
|
329
|
-
if (delta && delta.length > 0) {
|
|
330
|
-
this.pushEvent(SdkEventType.MessageDelta, sid, {
|
|
331
|
-
message_id: String(messageId),
|
|
332
|
-
role: 'assistant',
|
|
333
|
-
delta,
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
this.lastAiText = text;
|
|
338
|
-
}
|
|
339
|
-
catch { /* non-fatal: delta extraction is best-effort */ }
|
|
340
|
-
});
|
|
341
|
-
// Finalization
|
|
342
|
-
this.messageManager.addLoadingListener(async (isLoading) => {
|
|
343
|
-
const sid = this.sessionContext.getSessionId();
|
|
344
|
-
if (!isLoading) {
|
|
345
|
-
try {
|
|
346
|
-
await this.agent.finishCurrentTask(false);
|
|
347
|
-
}
|
|
348
|
-
catch { /* best-effort: must not block finalization */ }
|
|
349
|
-
// AgentRunnerCore already emits final for old SDK, but we produce our own terminal sdk.final here
|
|
350
|
-
// by reading the message manager state.
|
|
351
|
-
try {
|
|
352
|
-
const finalized = buildFinalResult(this.messageManager);
|
|
353
|
-
// Check if there's an error - if so, mark as failure
|
|
354
|
-
const currentError = this.messageManager.getError();
|
|
355
|
-
const success = !currentError;
|
|
356
|
-
// Runtime Zod validation of structured_output when a schema is available
|
|
357
|
-
let validatedOutput = finalized.structured_output;
|
|
358
|
-
let validationError;
|
|
359
|
-
if (validatedOutput !== undefined && isZodSchema(this.runOutputZodSchema)) {
|
|
360
|
-
try {
|
|
361
|
-
validatedOutput = validateStructuredOutput(this.runOutputZodSchema, validatedOutput);
|
|
362
|
-
}
|
|
363
|
-
catch (ve) {
|
|
364
|
-
if (ve instanceof QodoOutputValidationError) {
|
|
365
|
-
validationError = ve.message;
|
|
366
|
-
}
|
|
367
|
-
else {
|
|
368
|
-
validationError = ve instanceof Error ? ve.message : String(ve);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
this.pushEvent(SdkEventType.Final, sid, {
|
|
373
|
-
success: success && !validationError,
|
|
374
|
-
...(currentError ? { error: currentError } : {}),
|
|
375
|
-
...(validationError ? { error: validationError } : {}),
|
|
376
|
-
model: this.sessionContext.getModel(),
|
|
377
|
-
result: {
|
|
378
|
-
...(validatedOutput !== undefined ? { structured_output: validatedOutput } : {}),
|
|
379
|
-
...(finalized.final_output ? { final_output: finalized.final_output } : {}),
|
|
380
|
-
},
|
|
381
|
-
messages: { langchain: finalized.messagesLC, openai: finalized.messagesOpenAI },
|
|
382
|
-
meta: {
|
|
383
|
-
tools_auto_approved: this.options.autoApproveTools !== false,
|
|
384
|
-
subagents_used: finalized.subagentsUsed,
|
|
385
|
-
...(this.sessionContext.isDryRun() ? { dry_run: true } : {}),
|
|
386
|
-
...(() => { const _ee = this.sessionContext?.getCommand?.()?.exit_expression; return _ee ? { exit_expression: _ee } : {}; })(),
|
|
387
|
-
},
|
|
388
|
-
});
|
|
389
|
-
this.done = true;
|
|
390
|
-
}
|
|
391
|
-
catch (e) {
|
|
392
|
-
this.pushEvent(SdkEventType.Error, sid, { message: e?.message || 'Failed to finalize' });
|
|
393
|
-
this.pushEvent(SdkEventType.Final, sid, {
|
|
394
|
-
success: false,
|
|
395
|
-
error: e?.message || 'Failed to finalize',
|
|
396
|
-
model: this.sessionContext.getModel(),
|
|
397
|
-
result: {},
|
|
398
|
-
messages: { langchain: [], openai: [] },
|
|
399
|
-
meta: { tools_auto_approved: this.options.autoApproveTools !== false, subagents_used: false, ...(this.sessionContext.isDryRun() ? { dry_run: true } : {}), ...(() => { const _ee = this.sessionContext?.getCommand?.()?.exit_expression; return _ee ? { exit_expression: _ee } : {}; })() },
|
|
400
|
-
});
|
|
401
|
-
this.done = true;
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
});
|
|
405
|
-
this.messageManager.addErrorListener(async (error) => {
|
|
406
|
-
if (!error)
|
|
407
|
-
return;
|
|
408
|
-
const sid = this.sessionContext.getSessionId();
|
|
409
|
-
this.pushEvent(SdkEventType.Error, sid, { message: error });
|
|
410
|
-
try {
|
|
411
|
-
await this.agent.finishCurrentTask(true);
|
|
412
|
-
}
|
|
413
|
-
catch { /* best-effort: must not block error handling */ }
|
|
414
|
-
});
|
|
567
|
+
this.setupEventListeners();
|
|
415
568
|
this.core = new AgentRunnerCore(this.sessionContext, this.messageManager, this.agent,
|
|
416
569
|
// No-op emit: we emit via message manager listeners
|
|
417
570
|
() => { }, this.options.autoApproveTools !== false);
|
|
@@ -559,7 +712,8 @@ export class QodoSDK {
|
|
|
559
712
|
}
|
|
560
713
|
async *stream(commandOrPrompt, options) {
|
|
561
714
|
if (this.activeRuns > 0) {
|
|
562
|
-
|
|
715
|
+
// Initialized parents fork() to share warm MCP connections
|
|
716
|
+
const delegated = this.initialized ? await this.fork() : new QodoSDK(this.options);
|
|
563
717
|
try {
|
|
564
718
|
yield* delegated.stream(commandOrPrompt, options);
|
|
565
719
|
}
|
|
@@ -892,19 +1046,37 @@ export class QodoSDK {
|
|
|
892
1046
|
const env = this.env;
|
|
893
1047
|
await runWithEnvironment(env, async () => {
|
|
894
1048
|
try {
|
|
1049
|
+
// Remove event listeners FIRST to prevent stale callbacks during core teardown
|
|
1050
|
+
for (const cleanup of this._listenerCleanups) {
|
|
1051
|
+
try {
|
|
1052
|
+
cleanup();
|
|
1053
|
+
}
|
|
1054
|
+
catch { /* cleanup must not throw */ }
|
|
1055
|
+
}
|
|
1056
|
+
this._listenerCleanups = [];
|
|
895
1057
|
await this.core.dispose();
|
|
896
1058
|
try {
|
|
897
1059
|
this.agent.cleanup?.();
|
|
898
1060
|
}
|
|
899
1061
|
catch { /* cleanup: agent teardown must not throw */ }
|
|
900
|
-
|
|
901
|
-
|
|
1062
|
+
// Forks share the parent's MCP — only the parent should tear it down.
|
|
1063
|
+
if (!this.isFork) {
|
|
1064
|
+
if (this._activeForkCount > 0) {
|
|
1065
|
+
this.logger.warn(`[sdk] dispose() called while ${this._activeForkCount} fork(s) are still active. Fork operations may fail.`);
|
|
1066
|
+
}
|
|
902
1067
|
try {
|
|
903
|
-
await MCPManager.
|
|
1068
|
+
const { MCPManager } = await import('../mcp/MCPManager.js');
|
|
1069
|
+
try {
|
|
1070
|
+
await MCPManager.getInstance().dispose();
|
|
1071
|
+
}
|
|
1072
|
+
catch { /* cleanup: MCP dispose must not throw */ }
|
|
904
1073
|
}
|
|
905
|
-
catch { /* cleanup: MCP
|
|
1074
|
+
catch { /* cleanup: MCP import may fail if never initialized */ }
|
|
1075
|
+
}
|
|
1076
|
+
else if (this._forkParent) {
|
|
1077
|
+
this._forkParent._activeForkCount = Math.max(0, this._forkParent._activeForkCount - 1);
|
|
1078
|
+
this._forkParent = undefined; // break reference to allow GC and prevent double-decrement
|
|
906
1079
|
}
|
|
907
|
-
catch { /* cleanup: MCP import may fail if never initialized */ }
|
|
908
1080
|
}
|
|
909
1081
|
finally {
|
|
910
1082
|
this.initialized = false;
|
package/dist/sdk/QodoSDK.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QodoSDK.js","sourceRoot":"","sources":["../../src/sdk/QodoSDK.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QodoSDK.js","sourceRoot":"","sources":["../../src/sdk/QodoSDK.ts"],"names":[],"mappings":"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"}
|