@qodo/sdk 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/.claude/skills/qodo-agent/SKILL.md +233 -3
  2. package/.claude/skills/qodo-agent/assets/programmatic-agent.ts +76 -2
  3. package/.claude/skills/qodo-agent/references/common-issues.md +79 -0
  4. package/bin/rg +0 -0
  5. package/dist/api/agent.d.ts.map +1 -1
  6. package/dist/api/agent.js +13 -8
  7. package/dist/api/agent.js.map +1 -1
  8. package/dist/api/http.d.ts.map +1 -1
  9. package/dist/api/http.js +5 -2
  10. package/dist/api/http.js.map +1 -1
  11. package/dist/api/websocket.d.ts.map +1 -1
  12. package/dist/api/websocket.js +6 -3
  13. package/dist/api/websocket.js.map +1 -1
  14. package/dist/auth/index.d.ts +18 -0
  15. package/dist/auth/index.d.ts.map +1 -1
  16. package/dist/auth/index.js +69 -10
  17. package/dist/auth/index.js.map +1 -1
  18. package/dist/context/messageManager.d.ts +1 -1
  19. package/dist/context/messageManager.d.ts.map +1 -1
  20. package/dist/context/messageManager.js +1 -1
  21. package/dist/context/messageManager.js.map +1 -1
  22. package/dist/index.d.ts +21 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +18 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/mcp/MCPManager.js +2 -2
  27. package/dist/mcp/MCPManager.js.map +1 -1
  28. package/dist/mcp/baseServer.js +1 -1
  29. package/dist/mcp/baseServer.js.map +1 -1
  30. package/dist/mcp/servers/ripgrep.d.ts.map +1 -1
  31. package/dist/mcp/servers/ripgrep.js +6 -2
  32. package/dist/mcp/servers/ripgrep.js.map +1 -1
  33. package/dist/mcp/servers/shell.js +1 -1
  34. package/dist/mcp/servers/shell.js.map +1 -1
  35. package/dist/mcp/serversRegistry.d.ts.map +1 -1
  36. package/dist/mcp/serversRegistry.js +7 -1
  37. package/dist/mcp/serversRegistry.js.map +1 -1
  38. package/dist/mcp/toolProcessor.d.ts +44 -4
  39. package/dist/mcp/toolProcessor.d.ts.map +1 -1
  40. package/dist/mcp/toolProcessor.js +255 -20
  41. package/dist/mcp/toolProcessor.js.map +1 -1
  42. package/dist/messages/index.d.ts +8 -0
  43. package/dist/messages/index.d.ts.map +1 -0
  44. package/dist/messages/index.js +7 -0
  45. package/dist/messages/index.js.map +1 -0
  46. package/dist/messages/openai.d.ts +26 -0
  47. package/dist/messages/openai.d.ts.map +1 -0
  48. package/dist/messages/openai.js +55 -0
  49. package/dist/messages/openai.js.map +1 -0
  50. package/dist/messages/types.d.ts +73 -0
  51. package/dist/messages/types.d.ts.map +1 -0
  52. package/dist/messages/types.js +78 -0
  53. package/dist/messages/types.js.map +1 -0
  54. package/dist/parser/index.js +3 -3
  55. package/dist/parser/index.js.map +1 -1
  56. package/dist/sdk/QodoSDK.d.ts +30 -10
  57. package/dist/sdk/QodoSDK.d.ts.map +1 -1
  58. package/dist/sdk/QodoSDK.js +165 -33
  59. package/dist/sdk/QodoSDK.js.map +1 -1
  60. package/dist/sdk/artifacts.d.ts +156 -0
  61. package/dist/sdk/artifacts.d.ts.map +1 -0
  62. package/dist/sdk/artifacts.js +166 -0
  63. package/dist/sdk/artifacts.js.map +1 -0
  64. package/dist/sdk/bootstrap.d.ts.map +1 -1
  65. package/dist/sdk/bootstrap.js +11 -4
  66. package/dist/sdk/bootstrap.js.map +1 -1
  67. package/dist/sdk/discovery.js +1 -1
  68. package/dist/sdk/discovery.js.map +1 -1
  69. package/dist/sdk/events.d.ts +46 -1
  70. package/dist/sdk/events.d.ts.map +1 -1
  71. package/dist/sdk/events.js +6 -0
  72. package/dist/sdk/events.js.map +1 -1
  73. package/dist/sdk/middleware.d.ts +59 -0
  74. package/dist/sdk/middleware.d.ts.map +1 -0
  75. package/dist/sdk/middleware.js +69 -0
  76. package/dist/sdk/middleware.js.map +1 -0
  77. package/dist/sdk/pipeline/PipelineBuilder.d.ts +61 -0
  78. package/dist/sdk/pipeline/PipelineBuilder.d.ts.map +1 -0
  79. package/dist/sdk/pipeline/PipelineBuilder.js +91 -0
  80. package/dist/sdk/pipeline/PipelineBuilder.js.map +1 -0
  81. package/dist/sdk/pipeline/PipelineRunner.d.ts +28 -0
  82. package/dist/sdk/pipeline/PipelineRunner.d.ts.map +1 -0
  83. package/dist/sdk/pipeline/PipelineRunner.js +210 -0
  84. package/dist/sdk/pipeline/PipelineRunner.js.map +1 -0
  85. package/dist/sdk/pipeline/compiler.d.ts +24 -0
  86. package/dist/sdk/pipeline/compiler.d.ts.map +1 -0
  87. package/dist/sdk/pipeline/compiler.js +197 -0
  88. package/dist/sdk/pipeline/compiler.js.map +1 -0
  89. package/dist/sdk/pipeline/declarative.d.ts +34 -0
  90. package/dist/sdk/pipeline/declarative.d.ts.map +1 -0
  91. package/dist/sdk/pipeline/declarative.js +9 -0
  92. package/dist/sdk/pipeline/declarative.js.map +1 -0
  93. package/dist/sdk/pipeline/index.d.ts +20 -0
  94. package/dist/sdk/pipeline/index.d.ts.map +1 -0
  95. package/dist/sdk/pipeline/index.js +19 -0
  96. package/dist/sdk/pipeline/index.js.map +1 -0
  97. package/dist/sdk/pipeline/types.d.ts +75 -0
  98. package/dist/sdk/pipeline/types.d.ts.map +1 -0
  99. package/dist/sdk/pipeline/types.js +10 -0
  100. package/dist/sdk/pipeline/types.js.map +1 -0
  101. package/dist/sdk/policies.d.ts +163 -0
  102. package/dist/sdk/policies.d.ts.map +1 -0
  103. package/dist/sdk/policies.js +243 -0
  104. package/dist/sdk/policies.js.map +1 -0
  105. package/dist/sdk/runner/AgentRunner.js +5 -5
  106. package/dist/sdk/runner/AgentRunner.js.map +1 -1
  107. package/dist/sdk/runner/finalize.d.ts +47 -0
  108. package/dist/sdk/runner/finalize.d.ts.map +1 -1
  109. package/dist/sdk/runner/finalize.js +42 -2
  110. package/dist/sdk/runner/finalize.js.map +1 -1
  111. package/dist/sdk/runner/formats.d.ts +1 -1
  112. package/dist/sdk/runner/formats.d.ts.map +1 -1
  113. package/dist/sdk/runner/formats.js +22 -37
  114. package/dist/sdk/runner/formats.js.map +1 -1
  115. package/dist/sdk/runner/progress.d.ts +1 -1
  116. package/dist/sdk/runner/progress.d.ts.map +1 -1
  117. package/dist/sdk/runner/progress.js +1 -1
  118. package/dist/sdk/runner/progress.js.map +1 -1
  119. package/dist/session/SessionContext.d.ts +1 -0
  120. package/dist/session/SessionContext.d.ts.map +1 -1
  121. package/dist/session/SessionContext.js +3 -0
  122. package/dist/session/SessionContext.js.map +1 -1
  123. package/dist/session/environment.d.ts +16 -6
  124. package/dist/session/environment.d.ts.map +1 -1
  125. package/dist/session/environment.js.map +1 -1
  126. package/dist/session/serverData.d.ts.map +1 -1
  127. package/dist/session/serverData.js +21 -3
  128. package/dist/session/serverData.js.map +1 -1
  129. package/dist/tracing/PipelineTracer.d.ts +37 -0
  130. package/dist/tracing/PipelineTracer.d.ts.map +1 -0
  131. package/dist/tracing/PipelineTracer.js +64 -0
  132. package/dist/tracing/PipelineTracer.js.map +1 -0
  133. package/dist/tracing/SdkTracer.d.ts +91 -0
  134. package/dist/tracing/SdkTracer.d.ts.map +1 -0
  135. package/dist/tracing/SdkTracer.js +243 -0
  136. package/dist/tracing/SdkTracer.js.map +1 -0
  137. package/dist/tracing/index.d.ts +6 -0
  138. package/dist/tracing/index.d.ts.map +1 -0
  139. package/dist/tracing/index.js +3 -0
  140. package/dist/tracing/index.js.map +1 -0
  141. package/dist/tracing/pipelineHelpers.d.ts +20 -0
  142. package/dist/tracing/pipelineHelpers.d.ts.map +1 -0
  143. package/dist/tracing/pipelineHelpers.js +140 -0
  144. package/dist/tracing/pipelineHelpers.js.map +1 -0
  145. package/dist/tracing/types.d.ts +46 -0
  146. package/dist/tracing/types.d.ts.map +1 -0
  147. package/dist/tracing/types.js +9 -0
  148. package/dist/tracing/types.js.map +1 -0
  149. package/package.json +13 -6
  150. package/scripts/download-ripgrep.js +269 -0
@@ -2,17 +2,18 @@ import { ConfigManager } from '../config/index.js';
2
2
  import { v4 as uuid } from 'uuid';
3
3
  import { findNearestAgentConfig } from './discovery.js';
4
4
  import { buildDefaultSdkAgentConfig } from './defaults.js';
5
- import { mcpInitialization, ServerRegistry } from '../mcp/index.js';
5
+ import { mcpInitialization, ServerRegistry, ToolProcessorManager } from '../mcp/index.js';
6
6
  import { runWithEnvironment, ServerData, SessionContext } from '../session/index.js';
7
7
  import { MessageManager } from '../context/index.js';
8
8
  import { AgentAPI } from '../api/agent.js';
9
9
  import { AgentRunnerCore } from './runner/index.js';
10
10
  import { BackendBootstrap } from './bootstrap.js';
11
+ import { AuthProvider } from '../auth/index.js';
11
12
  import { QodoInfoClient, QodoSessionsClient } from '../clients/index.js';
12
13
  import { canonicalizePathSync, extractSetFlags } from '../utils/index.js';
13
14
  import { extractProgress } from './runner/progress.js';
14
15
  import { toLangChainDict, toOpenAIChat } from './runner/formats.js';
15
- import { buildFinalResult } from './runner/finalize.js';
16
+ import { buildFinalResult, isZodSchema, validateStructuredOutput, QodoOutputValidationError } from './runner/finalize.js';
16
17
  import { createSdkEvent, getSdkVersion, SdkEventType, } from './events.js';
17
18
  export class QodoSDK {
18
19
  options;
@@ -53,6 +54,8 @@ export class QodoSDK {
53
54
  toolExecutedEmitted = new Set();
54
55
  // Track tool names by call id so sdk.tool.executed can include tool_name
55
56
  toolRegistry = new Map();
57
+ // Per-run Zod schema for runtime validation of structured_output
58
+ runOutputZodSchema = undefined;
56
59
  constructor(options = {}) {
57
60
  this.options = options;
58
61
  this.info = QodoInfoClient.fromSdkOptions(options);
@@ -118,6 +121,17 @@ export class QodoSDK {
118
121
  return this.lastInitMeta;
119
122
  return { commandName: '', promptMode: false, projectPath: this.options.projectPath ? canonicalizePathSync(this.options.projectPath) : canonicalizePathSync(process.cwd()), agentSource: { source: 'default' } };
120
123
  }
124
+ // Create environment-scoped auth provider
125
+ const authProvider = new AuthProvider(this.options.apiKey);
126
+ this.env.authProvider = authProvider;
127
+ // Create environment-scoped ToolProcessorManager and register user middleware
128
+ const tpm = new ToolProcessorManager();
129
+ if (this.options.toolMiddleware) {
130
+ for (const mw of this.options.toolMiddleware) {
131
+ tpm.addMiddleware(mw);
132
+ }
133
+ }
134
+ this.env.toolProcessorManager = tpm;
121
135
  // Init backend get-things (supports baseUrl override)
122
136
  const bootstrap = new BackendBootstrap({ baseUrlOverride: this.options?.backend?.baseUrl });
123
137
  await bootstrap.init();
@@ -235,12 +249,12 @@ export class QodoSDK {
235
249
  try {
236
250
  this.sessionContext.setExecutionCwd?.(effectiveCwd2);
237
251
  }
238
- catch { }
252
+ catch { /* best-effort: method may not exist */ }
239
253
  const roots = [effectiveCwd2, ...((this.options.additionalPaths || []).map((r) => canonicalizePathSync(r)))];
240
254
  try {
241
255
  await this.sessionContext.setAccessiblePaths(roots);
242
256
  }
243
- catch { }
257
+ catch { /* best-effort: accessible paths are non-critical */ }
244
258
  if (!disableMcp) {
245
259
  await mcpInitialization();
246
260
  }
@@ -255,7 +269,7 @@ export class QodoSDK {
255
269
  this.sessionContext.addPreviousSessionSummarization(sid, summary);
256
270
  }
257
271
  }
258
- catch { }
272
+ catch { /* best-effort: context prefetch failure should not block run */ }
259
273
  }
260
274
  // Per-client message manager and agent
261
275
  this.messageManager = new MessageManager();
@@ -288,12 +302,12 @@ export class QodoSDK {
288
302
  this.pushEvent(SdkEventType.Progress, sid, { ...progress });
289
303
  }
290
304
  }
291
- catch { }
305
+ catch { /* non-fatal: progress extraction is best-effort */ }
292
306
  // tool lifecycle extraction from LangChain dict (AIMessage tool_calls + ToolMessage results)
293
307
  try {
294
308
  this.extractToolLifecycleFromLangChain(lc, sid);
295
309
  }
296
- catch { }
310
+ catch { /* non-fatal: tool lifecycle extraction is best-effort */ }
297
311
  // delta: compare last AI message string
298
312
  try {
299
313
  const lastAi = messages
@@ -319,7 +333,7 @@ export class QodoSDK {
319
333
  }
320
334
  this.lastAiText = text;
321
335
  }
322
- catch { }
336
+ catch { /* non-fatal: delta extraction is best-effort */ }
323
337
  });
324
338
  // Finalization
325
339
  this.messageManager.addLoadingListener(async (isLoading) => {
@@ -328,7 +342,7 @@ export class QodoSDK {
328
342
  try {
329
343
  await this.agent.finishCurrentTask(false);
330
344
  }
331
- catch { }
345
+ catch { /* best-effort: must not block finalization */ }
332
346
  // AgentRunnerCore already emits final for old SDK, but we produce our own terminal sdk.final here
333
347
  // by reading the message manager state.
334
348
  try {
@@ -336,18 +350,36 @@ export class QodoSDK {
336
350
  // Check if there's an error - if so, mark as failure
337
351
  const currentError = this.messageManager.getError();
338
352
  const success = !currentError;
353
+ // Runtime Zod validation of structured_output when a schema is available
354
+ let validatedOutput = finalized.structured_output;
355
+ let validationError;
356
+ if (validatedOutput !== undefined && isZodSchema(this.runOutputZodSchema)) {
357
+ try {
358
+ validatedOutput = validateStructuredOutput(this.runOutputZodSchema, validatedOutput);
359
+ }
360
+ catch (ve) {
361
+ if (ve instanceof QodoOutputValidationError) {
362
+ validationError = ve.message;
363
+ }
364
+ else {
365
+ validationError = ve instanceof Error ? ve.message : String(ve);
366
+ }
367
+ }
368
+ }
339
369
  this.pushEvent(SdkEventType.Final, sid, {
340
- success,
370
+ success: success && !validationError,
341
371
  ...(currentError ? { error: currentError } : {}),
372
+ ...(validationError ? { error: validationError } : {}),
342
373
  model: this.sessionContext.getModel(),
343
374
  result: {
344
- ...(finalized.structured_output ? { structured_output: finalized.structured_output } : {}),
375
+ ...(validatedOutput !== undefined ? { structured_output: validatedOutput } : {}),
345
376
  ...(finalized.final_output ? { final_output: finalized.final_output } : {}),
346
377
  },
347
378
  messages: { langchain: finalized.messagesLC, openai: finalized.messagesOpenAI },
348
379
  meta: {
349
380
  tools_auto_approved: this.options.autoApproveTools !== false,
350
381
  subagents_used: finalized.subagentsUsed,
382
+ ...(this.sessionContext.isDryRun() ? { dry_run: true } : {}),
351
383
  },
352
384
  });
353
385
  this.done = true;
@@ -360,7 +392,7 @@ export class QodoSDK {
360
392
  model: this.sessionContext.getModel(),
361
393
  result: {},
362
394
  messages: { langchain: [], openai: [] },
363
- meta: { tools_auto_approved: this.options.autoApproveTools !== false, subagents_used: false },
395
+ meta: { tools_auto_approved: this.options.autoApproveTools !== false, subagents_used: false, ...(this.sessionContext.isDryRun() ? { dry_run: true } : {}) },
364
396
  });
365
397
  this.done = true;
366
398
  }
@@ -374,7 +406,7 @@ export class QodoSDK {
374
406
  try {
375
407
  await this.agent.finishCurrentTask(true);
376
408
  }
377
- catch { }
409
+ catch { /* best-effort: must not block error handling */ }
378
410
  });
379
411
  this.core = new AgentRunnerCore(this.sessionContext, this.messageManager, this.agent,
380
412
  // No-op emit: we emit via message manager listeners
@@ -504,6 +536,7 @@ export class QodoSDK {
504
536
  const serverName = String(data.additional_kwargs?.server_name || this.toolRegistry.get(toolCallId)?.server_name || 'unknown');
505
537
  const toolName = String(this.toolRegistry.get(toolCallId)?.tool_name || 'unknown');
506
538
  const status = data.status;
539
+ const dryRun = !!(this.sessionContext?.isDryRun?.());
507
540
  this.pushEvent(SdkEventType.ToolExecuted, sid, {
508
541
  tool_call_id: toolCallId,
509
542
  server_name: serverName,
@@ -513,6 +546,7 @@ export class QodoSDK {
513
546
  content: data.content,
514
547
  raw: data,
515
548
  },
549
+ ...(dryRun ? { dry_run: true } : {}),
516
550
  });
517
551
  this.toolExecutedEmitted.add(toolCallId);
518
552
  }
@@ -529,7 +563,7 @@ export class QodoSDK {
529
563
  try {
530
564
  await delegated.dispose();
531
565
  }
532
- catch { }
566
+ catch { /* cleanup: dispose must not throw in finally */ }
533
567
  }
534
568
  return;
535
569
  }
@@ -545,6 +579,7 @@ export class QodoSDK {
545
579
  this.toolApprovalInFlight.clear();
546
580
  this.toolExecutedEmitted.clear();
547
581
  this.toolRegistry.clear();
582
+ this.runOutputZodSchema = undefined;
548
583
  // Initialize per-run metadata
549
584
  this.runId = uuid();
550
585
  this.seq = 0;
@@ -565,7 +600,7 @@ export class QodoSDK {
565
600
  }
566
601
  }
567
602
  }
568
- catch { }
603
+ catch { /* best-effort: reinit check should not block new run */ }
569
604
  }
570
605
  let initMeta = null;
571
606
  let initFailed = false;
@@ -586,11 +621,17 @@ export class QodoSDK {
586
621
  model: self.options.model || '',
587
622
  result: {},
588
623
  messages: { langchain: [], openai: [] },
589
- meta: { tools_auto_approved: self.options.autoApproveTools !== false, subagents_used: false },
624
+ meta: { tools_auto_approved: self.options.autoApproveTools !== false, subagents_used: false, ...(options?.dryRun ? { dry_run: true } : {}) },
590
625
  });
591
626
  // Do NOT return here – we still want to drain the queued events below.
592
627
  }
593
628
  if (!initFailed) {
629
+ // Thread per-run dryRun flag into session context
630
+ const isDryRun = !!(options?.dryRun);
631
+ try {
632
+ self.sessionContext.getFlags().dryRun = isDryRun;
633
+ }
634
+ catch { /* best-effort: dryRun flag threading is non-critical */ }
594
635
  // Emit run.started
595
636
  try {
596
637
  const sid = self.sessionContext.getSessionId();
@@ -601,9 +642,10 @@ export class QodoSDK {
601
642
  cwd: initMeta.projectPath,
602
643
  agent: initMeta.agentSource,
603
644
  tools_auto_approved: self.options.autoApproveTools !== false,
645
+ dry_run: isDryRun,
604
646
  });
605
647
  }
606
- catch { }
648
+ catch { /* non-fatal: run.started event emission is best-effort */ }
607
649
  }
608
650
  const extra = options?.extraInstructions || '';
609
651
  const args = options?.args || {};
@@ -628,6 +670,23 @@ export class QodoSDK {
628
670
  prompt = '';
629
671
  promptExtra = commandOrPrompt ? `${commandOrPrompt}${extra ? ` ${extra}` : ''}` : extra;
630
672
  }
673
+ // Inject dry-run playbook into the prompt so the agent understands
674
+ // that tool results are simulated and adapts its behaviour.
675
+ if (options?.dryRun) {
676
+ const dryRunPlaybook = [
677
+ '',
678
+ '--- DRY RUN MODE ---',
679
+ 'This run is executing in dry-run mode. Important rules:',
680
+ '1. Every tool call you make will be intercepted. You will receive simulated (mock) responses marked with "[DRY RUN]".',
681
+ '2. Treat simulated results as plausible placeholders — reason about them as if they were real data.',
682
+ '3. Continue your analysis normally. Describe what actions you would take and what results you would expect.',
683
+ '4. Do NOT tell the user that tools are unavailable or that you cannot access the filesystem. Tools are working — their results are simply simulated.',
684
+ '5. In your final answer, clearly summarize the plan of actions you would execute in a real run, including which tools you called and why.',
685
+ '--- END DRY RUN MODE ---',
686
+ '',
687
+ ].join('\n');
688
+ promptExtra = promptExtra ? `${promptExtra}\n${dryRunPlaybook}` : dryRunPlaybook;
689
+ }
631
690
  if (!initFailed) {
632
691
  try {
633
692
  // If the command was built with sdkCommand({ args: <zod schema> }), validate args here.
@@ -643,6 +702,18 @@ export class QodoSDK {
643
702
  catch (e) {
644
703
  throw e;
645
704
  }
705
+ // Resolve Zod schema for runtime validation of structured_output.
706
+ // Priority: options.outputSchema (if Zod) > command.__sdk.outputSchema
707
+ if (options?.outputSchema && isZodSchema(options.outputSchema)) {
708
+ self.runOutputZodSchema = options.outputSchema;
709
+ }
710
+ else {
711
+ const cmdSdk = self.sessionContext?.getCommand?.();
712
+ const cmdZod = cmdSdk?.__sdk?.outputSchema;
713
+ if (cmdZod && isZodSchema(cmdZod)) {
714
+ self.runOutputZodSchema = cmdZod;
715
+ }
716
+ }
646
717
  await self.core.start(prompt, promptExtra, args, options?.outputSchema);
647
718
  }
648
719
  catch (e) {
@@ -654,7 +725,7 @@ export class QodoSDK {
654
725
  model: self.sessionContext?.getModel() || '',
655
726
  result: {},
656
727
  messages: { langchain: [], openai: [] },
657
- meta: { tools_auto_approved: self.options.autoApproveTools !== false, subagents_used: false },
728
+ meta: { tools_auto_approved: self.options.autoApproveTools !== false, subagents_used: false, ...(options?.dryRun ? { dry_run: true } : {}) },
658
729
  });
659
730
  // Do not set done=true here; allow the event drain loop to see sdk.final and terminate.
660
731
  }
@@ -708,12 +779,50 @@ export class QodoSDK {
708
779
  break;
709
780
  }
710
781
  }
711
- const innerGen = inner();
712
- while (true) {
713
- const { value, done } = await runWithEnvironment(env, () => innerGen.next());
714
- if (done)
715
- return;
716
- yield value;
782
+ // Set up execution timeout if specified
783
+ let timeoutTimer;
784
+ if (options?.timeout && options.timeout > 0) {
785
+ const timeoutMs = options.timeout;
786
+ timeoutTimer = setTimeout(() => {
787
+ const sid = this.sessionContext?.getSessionId?.() || '';
788
+ try {
789
+ this.cancel();
790
+ }
791
+ catch { /* best-effort: cancel must not prevent timeout event emission */ }
792
+ this.pushEvent(SdkEventType.Error, sid, {
793
+ message: `Execution timed out after ${timeoutMs}ms`,
794
+ });
795
+ this.pushEvent(SdkEventType.Final, sid, {
796
+ success: false,
797
+ error: `Execution timed out after ${timeoutMs}ms`,
798
+ model: this.sessionContext?.getModel?.() || '',
799
+ result: {},
800
+ messages: { langchain: [], openai: [] },
801
+ meta: {
802
+ tools_auto_approved: this.options.autoApproveTools !== false,
803
+ subagents_used: false,
804
+ timed_out: true,
805
+ ...(options?.dryRun ? { dry_run: true } : {}),
806
+ },
807
+ });
808
+ }, timeoutMs);
809
+ // Prevent the timer from keeping the process alive
810
+ if (typeof timeoutTimer === 'object' && 'unref' in timeoutTimer) {
811
+ timeoutTimer.unref();
812
+ }
813
+ }
814
+ try {
815
+ const innerGen = inner();
816
+ while (true) {
817
+ const { value, done } = await runWithEnvironment(env, () => innerGen.next());
818
+ if (done)
819
+ return;
820
+ yield value;
821
+ }
822
+ }
823
+ finally {
824
+ if (timeoutTimer !== undefined)
825
+ clearTimeout(timeoutTimer);
717
826
  }
718
827
  }
719
828
  finally {
@@ -721,13 +830,36 @@ export class QodoSDK {
721
830
  }
722
831
  }
723
832
  async run(commandOrPrompt, options) {
724
- let final = null;
725
- for await (const ev of this.stream(commandOrPrompt, options)) {
726
- if (ev.type === SdkEventType.Final)
727
- final = ev.data;
833
+ const maxRetries = options?.maxRetries ?? 0;
834
+ let lastFinal = null;
835
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
836
+ lastFinal = null;
837
+ // On retry attempts, create a fresh SDK instance to get a clean session
838
+ if (attempt > 0) {
839
+ try {
840
+ await this.dispose();
841
+ }
842
+ catch { /* cleanup: dispose must not throw between retries */ }
843
+ }
844
+ // Strip maxRetries from inner options to prevent recursive retry
845
+ const innerOpts = maxRetries > 0
846
+ ? { ...options, maxRetries: 0 }
847
+ : options;
848
+ for await (const ev of this.stream(commandOrPrompt, innerOpts)) {
849
+ if (ev.type === SdkEventType.Final)
850
+ lastFinal = ev.data;
851
+ }
852
+ await new Promise((r) => setTimeout(r, 10));
853
+ // If successful, return immediately
854
+ if (lastFinal?.success) {
855
+ return lastFinal;
856
+ }
857
+ // If retries remain, loop; otherwise return the last failure
858
+ if (attempt < maxRetries) {
859
+ this.logger.info(`[retry] Attempt ${attempt + 1} failed, retrying (${maxRetries - attempt - 1} retries remaining)...`);
860
+ }
728
861
  }
729
- await new Promise((r) => setTimeout(r, 10));
730
- return final;
862
+ return lastFinal;
731
863
  }
732
864
  /**
733
865
  * SDK-first friendly API: treat input as a free-form prompt (never a command name).
@@ -759,15 +891,15 @@ export class QodoSDK {
759
891
  try {
760
892
  this.agent.cleanup?.();
761
893
  }
762
- catch { }
894
+ catch { /* cleanup: agent teardown must not throw */ }
763
895
  try {
764
896
  const { MCPManager } = await import('../mcp/MCPManager.js');
765
897
  try {
766
898
  await MCPManager.getInstance().dispose();
767
899
  }
768
- catch { }
900
+ catch { /* cleanup: MCP dispose must not throw */ }
769
901
  }
770
- catch { }
902
+ catch { /* cleanup: MCP import may fail if never initialized */ }
771
903
  }
772
904
  finally {
773
905
  this.initialized = false;
@@ -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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"}