@claudebuddy/claudebuddy-agent-sdk 0.4.0 → 0.5.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 (115) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +75 -3
  3. package/dist/agent.d.ts +12 -22
  4. package/dist/agent.d.ts.map +1 -1
  5. package/dist/agent.js +209 -224
  6. package/dist/agent.js.map +1 -1
  7. package/dist/engine.d.ts +7 -3
  8. package/dist/engine.d.ts.map +1 -1
  9. package/dist/engine.js +234 -224
  10. package/dist/engine.js.map +1 -1
  11. package/dist/index.d.ts +4 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/mcp/client.d.ts +3 -0
  16. package/dist/mcp/client.d.ts.map +1 -1
  17. package/dist/mcp/client.js +13 -4
  18. package/dist/mcp/client.js.map +1 -1
  19. package/dist/providers/anthropic.d.ts +2 -1
  20. package/dist/providers/anthropic.d.ts.map +1 -1
  21. package/dist/providers/anthropic.js +31 -1
  22. package/dist/providers/anthropic.js.map +1 -1
  23. package/dist/providers/openai.d.ts +3 -1
  24. package/dist/providers/openai.d.ts.map +1 -1
  25. package/dist/providers/openai.js +54 -3
  26. package/dist/providers/openai.js.map +1 -1
  27. package/dist/providers/sse.d.ts +3 -0
  28. package/dist/providers/sse.d.ts.map +1 -0
  29. package/dist/providers/sse.js +36 -0
  30. package/dist/providers/sse.js.map +1 -0
  31. package/dist/providers/types.d.ts +16 -0
  32. package/dist/providers/types.d.ts.map +1 -1
  33. package/dist/session.d.ts +10 -0
  34. package/dist/session.d.ts.map +1 -1
  35. package/dist/session.js +98 -4
  36. package/dist/session.js.map +1 -1
  37. package/dist/tools/agent-tool.d.ts.map +1 -1
  38. package/dist/tools/agent-tool.js +32 -9
  39. package/dist/tools/agent-tool.js.map +1 -1
  40. package/dist/tools/ask-user.d.ts +3 -2
  41. package/dist/tools/ask-user.d.ts.map +1 -1
  42. package/dist/tools/ask-user.js +16 -15
  43. package/dist/tools/ask-user.js.map +1 -1
  44. package/dist/tools/bash.d.ts +0 -3
  45. package/dist/tools/bash.d.ts.map +1 -1
  46. package/dist/tools/bash.js +79 -59
  47. package/dist/tools/bash.js.map +1 -1
  48. package/dist/tools/config-tool.d.ts +4 -3
  49. package/dist/tools/config-tool.d.ts.map +1 -1
  50. package/dist/tools/config-tool.js +20 -16
  51. package/dist/tools/config-tool.js.map +1 -1
  52. package/dist/tools/cron-tools.d.ts +3 -2
  53. package/dist/tools/cron-tools.d.ts.map +1 -1
  54. package/dist/tools/cron-tools.js +33 -29
  55. package/dist/tools/cron-tools.js.map +1 -1
  56. package/dist/tools/index.js +55 -53
  57. package/dist/tools/index.js.map +1 -1
  58. package/dist/tools/lsp-tool.js +2 -2
  59. package/dist/tools/lsp-tool.js.map +1 -1
  60. package/dist/tools/mcp-resource-tools.d.ts +2 -1
  61. package/dist/tools/mcp-resource-tools.d.ts.map +1 -1
  62. package/dist/tools/mcp-resource-tools.js +44 -27
  63. package/dist/tools/mcp-resource-tools.js.map +1 -1
  64. package/dist/tools/plan-tools.d.ts +3 -2
  65. package/dist/tools/plan-tools.d.ts.map +1 -1
  66. package/dist/tools/plan-tools.js +24 -21
  67. package/dist/tools/plan-tools.js.map +1 -1
  68. package/dist/tools/send-message.d.ts +5 -4
  69. package/dist/tools/send-message.d.ts.map +1 -1
  70. package/dist/tools/send-message.js +24 -21
  71. package/dist/tools/send-message.js.map +1 -1
  72. package/dist/tools/session-state.d.ts +4 -0
  73. package/dist/tools/session-state.d.ts.map +1 -0
  74. package/dist/tools/session-state.js +9 -0
  75. package/dist/tools/session-state.js.map +1 -0
  76. package/dist/tools/task-tools.d.ts +19 -4
  77. package/dist/tools/task-tools.d.ts.map +1 -1
  78. package/dist/tools/task-tools.js +119 -31
  79. package/dist/tools/task-tools.js.map +1 -1
  80. package/dist/tools/team-tools.d.ts +7 -3
  81. package/dist/tools/team-tools.d.ts.map +1 -1
  82. package/dist/tools/team-tools.js +26 -22
  83. package/dist/tools/team-tools.js.map +1 -1
  84. package/dist/tools/todo-tool.d.ts +3 -2
  85. package/dist/tools/todo-tool.d.ts.map +1 -1
  86. package/dist/tools/todo-tool.js +24 -21
  87. package/dist/tools/todo-tool.js.map +1 -1
  88. package/dist/tools/tool-search.d.ts +2 -1
  89. package/dist/tools/tool-search.d.ts.map +1 -1
  90. package/dist/tools/tool-search.js +14 -13
  91. package/dist/tools/tool-search.js.map +1 -1
  92. package/dist/tools/update-goal.d.ts +9 -7
  93. package/dist/tools/update-goal.d.ts.map +1 -1
  94. package/dist/tools/update-goal.js +20 -21
  95. package/dist/tools/update-goal.js.map +1 -1
  96. package/dist/tools/worktree-tools.d.ts +0 -6
  97. package/dist/tools/worktree-tools.d.ts.map +1 -1
  98. package/dist/tools/worktree-tools.js +14 -6
  99. package/dist/tools/worktree-tools.js.map +1 -1
  100. package/dist/types.d.ts +31 -0
  101. package/dist/types.d.ts.map +1 -1
  102. package/dist/utils/compact.d.ts +5 -1
  103. package/dist/utils/compact.d.ts.map +1 -1
  104. package/dist/utils/compact.js +11 -1
  105. package/dist/utils/compact.js.map +1 -1
  106. package/dist/utils/permissions.d.ts +7 -0
  107. package/dist/utils/permissions.d.ts.map +1 -0
  108. package/dist/utils/permissions.js +39 -0
  109. package/dist/utils/permissions.js.map +1 -0
  110. package/dist/utils/retry.d.ts.map +1 -1
  111. package/dist/utils/retry.js +17 -2
  112. package/dist/utils/retry.js.map +1 -1
  113. package/docs/background-tasks.md +62 -0
  114. package/docs/runtime-progress.md +63 -0
  115. package/package.json +9 -5
package/dist/types.d.ts CHANGED
@@ -103,6 +103,8 @@ export interface SDKPartialMessage {
103
103
  type: 'partial_message';
104
104
  partial: {
105
105
  type: 'text' | 'tool_use';
106
+ index?: number;
107
+ id?: string;
106
108
  text?: string;
107
109
  name?: string;
108
110
  input?: string;
@@ -156,6 +158,12 @@ export interface TokenUsage {
156
158
  cache_creation_input_tokens?: number;
157
159
  cache_read_input_tokens?: number;
158
160
  }
161
+ /** Shared accounting for a query or goal and all of its child model calls. */
162
+ export interface ExecutionBudget {
163
+ cost: number;
164
+ usage: TokenUsage;
165
+ modelUsage?: Record<string, TokenUsage>;
166
+ }
159
167
  export interface ToolDefinition {
160
168
  name: string;
161
169
  description: string;
@@ -172,6 +180,8 @@ export interface ToolInputSchema {
172
180
  required?: string[];
173
181
  }
174
182
  export interface ToolContext {
183
+ /** Engine-owned background tasks, drained before the run result. */
184
+ taskGroup?: Set<string>;
175
185
  cwd: string;
176
186
  abortSignal?: AbortSignal;
177
187
  /** Parent agent's LLM provider (inherited by subagents) */
@@ -180,6 +190,19 @@ export interface ToolContext {
180
190
  model?: string;
181
191
  /** Parent agent's API type */
182
192
  apiType?: import('./providers/types.js').ApiType;
193
+ /** Mutable state shared within one Agent session, never across instances. */
194
+ sessionState?: Map<string, unknown>;
195
+ tools?: ToolDefinition[];
196
+ agents?: Record<string, AgentDefinition>;
197
+ canUseTool?: CanUseToolFn;
198
+ executionBudget?: ExecutionBudget;
199
+ maxBudgetUsd?: number;
200
+ pricingPerMillion?: {
201
+ input: number;
202
+ output: number;
203
+ };
204
+ hookRegistry?: import('./hooks.js').HookRegistry;
205
+ sessionId?: string;
183
206
  }
184
207
  export interface ToolResult {
185
208
  type: 'tool_result';
@@ -442,6 +465,11 @@ export interface AgentOptions {
442
465
  } | boolean;
443
466
  }
444
467
  export interface QueryResult {
468
+ /** Final engine status, including cancellation and resource limits. */
469
+ subtype: string;
470
+ is_error: boolean;
471
+ errors?: string[];
472
+ total_cost_usd: number;
445
473
  /** Final text output from the assistant */
446
474
  text: string;
447
475
  /** Token usage */
@@ -463,6 +491,9 @@ export interface QueryEngineConfig {
463
491
  appendSystemPrompt?: string;
464
492
  maxTurns: number;
465
493
  maxBudgetUsd?: number;
494
+ executionBudget?: ExecutionBudget;
495
+ sessionState?: Map<string, unknown>;
496
+ permissionMode?: PermissionMode;
466
497
  maxTokens: number;
467
498
  thinking?: ThinkingConfig;
468
499
  jsonSchema?: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,11 @@ export declare function shouldAutoCompact(messages: any[], model: string, state:
31
31
  * Sends the entire conversation to the LLM for summarization,
32
32
  * then replaces the history with a compact summary.
33
33
  */
34
- export declare function compactConversation(provider: LLMProvider, model: string, messages: any[], state: AutoCompactState): Promise<{
34
+ export declare function compactConversation(provider: LLMProvider, model: string, messages: any[], state: AutoCompactState, options?: {
35
+ signal?: AbortSignal;
36
+ onUsage?: (usage: import('../types.js').TokenUsage) => void;
37
+ }): Promise<{
38
+ success: boolean;
35
39
  compactedMessages: NormalizedMessageParam[];
36
40
  summary: string;
37
41
  state: AutoCompactState;
@@ -1 +1 @@
1
- {"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/utils/compact.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAMnE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAMzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,GAAG,EAAE,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,gBAAgB,EACvB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,GAAG,EAAE,EACf,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC;IACT,iBAAiB,EAAE,sBAAsB,EAAE,CAAA;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAC,CAwDD;AAqDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,GAAG,EAAE,EACf,kBAAkB,GAAE,MAAc,GACjC,GAAG,EAAE,CAsBP"}
1
+ {"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/utils/compact.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAMnE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAMzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,GAAG,EAAE,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,gBAAgB,EACvB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,GAAG,EAAE,EACf,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,aAAa,EAAE,UAAU,KAAK,IAAI,CAAA;CAAO,GAClG,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,sBAAsB,EAAE,CAAA;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAC,CAiED;AAqDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,GAAG,EAAE,EACf,kBAAkB,GAAE,MAAc,GACjC,GAAG,EAAE,CAsBP"}
@@ -34,13 +34,15 @@ export function shouldAutoCompact(messages, model, state, contextWindowSize) {
34
34
  * Sends the entire conversation to the LLM for summarization,
35
35
  * then replaces the history with a compact summary.
36
36
  */
37
- export async function compactConversation(provider, model, messages, state) {
37
+ export async function compactConversation(provider, model, messages, state, options = {}) {
38
38
  try {
39
+ options.signal?.throwIfAborted();
39
40
  // Strip images before compacting to save tokens
40
41
  const strippedMessages = stripImagesFromMessages(messages);
41
42
  // Build compaction prompt
42
43
  const compactionPrompt = buildCompactionPrompt(strippedMessages);
43
44
  const response = await provider.createMessage({
45
+ signal: options.signal,
44
46
  model,
45
47
  maxTokens: 8192,
46
48
  system: 'You are a conversation summarizer. Create a detailed summary of the conversation that preserves all important context, decisions made, files modified, tool outputs, and current state. The summary should allow the conversation to continue seamlessly.',
@@ -51,10 +53,14 @@ export async function compactConversation(provider, model, messages, state) {
51
53
  },
52
54
  ],
53
55
  });
56
+ options.onUsage?.(response.usage);
57
+ options.signal?.throwIfAborted();
54
58
  const summary = response.content
55
59
  .filter((b) => b.type === 'text')
56
60
  .map((b) => b.text)
57
61
  .join('\n');
62
+ if (!summary.trim())
63
+ throw new Error('Compaction returned an empty summary');
58
64
  // Replace messages with summary
59
65
  const compactedMessages = [
60
66
  {
@@ -67,6 +73,7 @@ export async function compactConversation(provider, model, messages, state) {
67
73
  },
68
74
  ];
69
75
  return {
76
+ success: true,
70
77
  compactedMessages,
71
78
  summary,
72
79
  state: {
@@ -77,7 +84,10 @@ export async function compactConversation(provider, model, messages, state) {
77
84
  };
78
85
  }
79
86
  catch (err) {
87
+ if (options.signal?.aborted)
88
+ throw options.signal.reason ?? err;
80
89
  return {
90
+ success: false,
81
91
  compactedMessages: messages,
82
92
  summary: '',
83
93
  state: {
@@ -1 +1 @@
1
- {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/utils/compact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/utils/compact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { AgentOptions, CanUseToolFn, PermissionMode, ToolDefinition } from '../types.js';
2
+ /** Final allow/deny bounds apply to every source, including query overrides. */
3
+ export declare function restrictTools(tools: ToolDefinition[], base: AgentOptions, overrides?: Partial<AgentOptions>): ToolDefinition[];
4
+ /** Modes are SDK policy; trusted tool metadata describes the operation's effects. */
5
+ export declare function createPermissionPolicy(mode: PermissionMode, allowedTools: string[] | undefined, callback?: CanUseToolFn): CanUseToolFn;
6
+ export declare function validateRunOptions(options: AgentOptions): void;
7
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/utils/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG7F,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,cAAc,EAAE,CAK9H;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,EAClC,QAAQ,CAAC,EAAE,YAAY,GACtB,YAAY,CAcd;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAe9D"}
@@ -0,0 +1,39 @@
1
+ import { FileEditTool, FileWriteTool, NotebookEditTool } from '../tools/index.js';
2
+ /** Final allow/deny bounds apply to every source, including query overrides. */
3
+ export function restrictTools(tools, base, overrides) {
4
+ return tools.filter(tool => tool.isEnabled?.() !== false && [base, overrides].every(options => !options || ((options.allowedTools === undefined || options.allowedTools.includes(tool.name)) &&
5
+ !options.disallowedTools?.includes(tool.name))));
6
+ }
7
+ /** Modes are SDK policy; trusted tool metadata describes the operation's effects. */
8
+ export function createPermissionPolicy(mode, allowedTools, callback) {
9
+ return async (tool, input) => {
10
+ const readOnly = tool.isReadOnly?.() === true;
11
+ if (mode === 'plan' && !readOnly) {
12
+ return { behavior: 'deny', message: `Plan mode does not allow tool "${tool.name}"` };
13
+ }
14
+ const preapproved = readOnly || allowedTools?.includes(tool.name) ||
15
+ mode === 'bypassPermissions' ||
16
+ (mode === 'acceptEdits' && [FileEditTool, FileWriteTool, NotebookEditTool].includes(tool));
17
+ if (!preapproved && (mode === 'dontAsk' || !callback)) {
18
+ return { behavior: 'deny', message: `Tool "${tool.name}" requires explicit approval` };
19
+ }
20
+ return callback ? callback(tool, input) : { behavior: 'allow' };
21
+ };
22
+ }
23
+ export function validateRunOptions(options) {
24
+ const sandbox = options.sandbox;
25
+ if (sandbox && (sandbox.enabled === true || Object.entries(sandbox).some(([key, value]) => key !== 'enabled' && value !== undefined))) {
26
+ throw new Error('Sandbox enforcement is not supported by this in-process runtime');
27
+ }
28
+ const modes = ['default', 'acceptEdits', 'dontAsk', 'auto', 'plan', 'bypassPermissions'];
29
+ if (options.permissionMode !== undefined && !modes.includes(options.permissionMode)) {
30
+ throw new Error(`Unsupported permission mode: ${options.permissionMode}`);
31
+ }
32
+ if (options.maxTurns !== undefined && (!Number.isInteger(options.maxTurns) || options.maxTurns < 1)) {
33
+ throw new Error('maxTurns must be a positive integer');
34
+ }
35
+ if (options.maxBudgetUsd !== undefined && (!Number.isFinite(options.maxBudgetUsd) || options.maxBudgetUsd < 0)) {
36
+ throw new Error('maxBudgetUsd must be a finite non-negative number');
37
+ }
38
+ }
39
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/utils/permissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAE,WAAkC,GAAG,OAAO,CAgB9F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,WAAkC,GAAG,MAAM,CAKjG;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,GAAE,WAAkC,EAC1C,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,CAAC,CAAC,CA4BZ;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAQtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAc/C"}
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAE,WAAkC,GAAG,OAAO,CAgB9F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,WAAkC,GAAG,MAAM,CAKjG;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,GAAE,WAAkC,EAC1C,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,CAAC,CAAC,CAyCZ;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAQtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAc/C"}
@@ -46,12 +46,14 @@ export async function withRetry(fn, config = DEFAULT_RETRY_CONFIG, abortSignal)
46
46
  let lastError;
47
47
  for (let attempt = 0; attempt <= config.maxRetries; attempt++) {
48
48
  if (abortSignal?.aborted) {
49
- throw new Error('Aborted');
49
+ throw abortSignal.reason ?? new Error('Aborted');
50
50
  }
51
51
  try {
52
52
  return await fn();
53
53
  }
54
54
  catch (err) {
55
+ if (abortSignal?.aborted)
56
+ throw abortSignal.reason ?? err;
55
57
  lastError = err;
56
58
  if (!isRetryableError(err, config)) {
57
59
  throw err;
@@ -61,7 +63,20 @@ export async function withRetry(fn, config = DEFAULT_RETRY_CONFIG, abortSignal)
61
63
  }
62
64
  // Wait before retry
63
65
  const delay = getRetryDelay(attempt, config);
64
- await new Promise((resolve) => setTimeout(resolve, delay));
66
+ await new Promise((resolve, reject) => {
67
+ const onAbort = () => {
68
+ clearTimeout(timer);
69
+ abortSignal?.removeEventListener('abort', onAbort);
70
+ reject(abortSignal?.reason ?? new Error('Aborted'));
71
+ };
72
+ const timer = setTimeout(() => {
73
+ abortSignal?.removeEventListener('abort', onAbort);
74
+ resolve();
75
+ }, delay);
76
+ abortSignal?.addEventListener('abort', onAbort, { once: true });
77
+ if (abortSignal?.aborted)
78
+ onAbort();
79
+ });
65
80
  }
66
81
  }
67
82
  throw lastError;
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ # Real background execution
2
+
3
+ Bash and Agent now accept `run_in_background: true`. They return JSON with a
4
+ `task_id` and initial `status`. TaskGet/TaskList expose the same task, and TaskOutput
5
+ returns its current status, bounded output and (for Bash) exit code. Set
6
+ `block: true` with `timeout` to wait up to 600000 ms; a wait timeout does not cancel
7
+ the task. `TaskStop` requests real cancellation. `agent.stopTask(id)` waits for the
8
+ owned execution to settle. All task lookup and cancellation are session-scoped.
9
+
10
+ ```ts
11
+ // Tool inputs generated by the model:
12
+ // Bash: { command: "npm test", run_in_background: true }
13
+ // TaskOutput: { id: "<returned task_id>", block: true, timeout: 30000 }
14
+ // TaskStop: { id: "<returned task_id>" }
15
+ ```
16
+
17
+ Background work is scoped to the QueryEngine invocation that created it. It runs
18
+ alongside subsequent model turns. On normal completion the engine joins its work,
19
+ emits `system/task_notification` events, and then reports the final result with all
20
+ child usage included. Each notification reports the task's own terminal status;
21
+ the parent result describes the parent run, not whether every child succeeded.
22
+ Consumers must check both. On interruption, exhausted turns/budget, failure or an
23
+ early iterator exit, owned background work is cancelled and joined. Goal rounds
24
+ therefore do not leave work running into the next round. This is not a daemon or a
25
+ cross-query job service, and resumed transcripts do not restart background work.
26
+
27
+ Bash captures stdout/stderr as they arrive, retains a bounded output tail (100000
28
+ characters), and reports nonzero exits, timeout and cancellation as errors. On
29
+ POSIX systems commands have a process group: cancellation sends SIGTERM to that
30
+ group and escalates to SIGKILL after 500 ms. Processes that intentionally detach into
31
+ a new session are outside that group. Windows currently cancels only the direct
32
+ process; full Windows process-tree management is not implemented. Child stdin is
33
+ closed; interactive terminals remain outside this API.
34
+
35
+ Background subagents inherit the parent's provider, tool and permission constraints,
36
+ shared budget and cancellation. Their output is available on completion. Custom
37
+ providers and tools must cooperate with AbortSignal; the SDK cannot forcefully
38
+ terminate arbitrary JavaScript callbacks. Parallel requests can overshoot the
39
+ admission-based cost cap, as documented in the runtime reliability notes.
40
+
41
+ TaskCreate continues to create tracking records. TaskUpdate cannot overwrite runtime
42
+ status or output for real executions. Cancellation is a request until the execution
43
+ settles; TaskOutput can wait for that transition. Direct tool callers that bypass
44
+ Agent/QueryEngine own cleanup and must stop their tasks explicitly.
45
+
46
+ ## Capability honesty
47
+
48
+ The catalog still contains 35 base tool definitions. CronCreate/CronDelete/CronList
49
+ and RemoteTrigger are disabled and excluded from model schemas because no scheduler
50
+ or remote backend is installed. Other conditional tools such as Skill may further
51
+ reduce the available set. Direct cron helpers manage definitions only; they do not
52
+ schedule execution. RemoteTrigger reports an error when called directly. LSP's
53
+ advertised description now explicitly identifies its lexical search fallback.
54
+ A real scheduler, language-server integration and search backend remain separate
55
+ follow-up work.
56
+
57
+ ## Verification
58
+
59
+ Offline tests cover actual Bash output and nonzero exits, timeouts, cancellation
60
+ including TERM-resistant process groups, bounded output, session isolation, runtime
61
+ status protection, subagent cancellation, shared usage at completion, iterator
62
+ cleanup and suppression of disabled tool schemas. No paid model API is used.
@@ -0,0 +1,63 @@
1
+ # Streaming, scheduling and recovery
2
+
3
+ This second runtime batch retains the in-process TypeScript architecture and the
4
+ first batch's permission, cancellation and budget contracts.
5
+
6
+ ## Incremental responses
7
+
8
+ Enable `includePartialMessages: true` to receive `partial_message` events while the
9
+ provider is still responding. Built-in Anthropic and OpenAI-compatible providers
10
+ implement an optional `LLMProvider.streamMessage` async generator. Custom providers
11
+ without this method continue through the buffered `createMessage` path.
12
+
13
+ Text partials contain incremental `text`, not the accumulated response. Tool partials
14
+ contain `index`, optional `id`/`name`, and incremental JSON `input`. They are for
15
+ presentation only. Execute tools only after receiving and validating the complete
16
+ response. A completed `assistant` event contains the authoritative full message;
17
+ UIs should replace/finalize their partial display rather than append it again.
18
+
19
+ Streams are not automatically retried. On interruption, emitted partial text may
20
+ remain visible but is not committed to conversation history. Incomplete tool calls
21
+ are never dispatched. Usage is charged once when a complete provider response is
22
+ available; interrupted streams can incur provider charges that are not reported in
23
+ the local ledger. Some OpenAI-compatible servers do not support `stream_options`;
24
+ use buffered mode for these servers.
25
+
26
+ ## Tool ordering
27
+
28
+ The scheduler preserves the model's call order across barriers. Only adjacent tools
29
+ that explicitly declare both `isReadOnly()` and `isConcurrencySafe()` true may run
30
+ in parallel, bounded by `AGENT_SDK_MAX_TOOL_CONCURRENCY` (default 10). Mutations,
31
+ unknown tools, and reads without a concurrency guarantee run serially. Results stay
32
+ in request order. This avoids reading a file before an earlier requested edit.
33
+
34
+ ## Durable progress
35
+
36
+ With `persistSession` enabled (the existing default), the Agent checkpoints its
37
+ normalized history during execution, before publishing semantic events, and in
38
+ cleanup. Snapshots use a temporary file, fsync and atomic rename. This reduces the
39
+ loss window from “until close” to the current incomplete operation.
40
+
41
+ `events.jsonl` records semantic events with a version, unique cursor ID and timestamp.
42
+ Token deltas are intentionally ephemeral. Use `readSessionEvents(sessionId, afterId?)`
43
+ to replay committed events. Goal runs log their public aggregate terminal result,
44
+ not the hidden per-round results. A torn final append is ignored on reads and repaired
45
+ before the next append. Checkpoints and the event log are separate writes, not a
46
+ transaction: a crash can leave a newer checkpoint than the last published event.
47
+
48
+ On resume, a tool request without a recorded result receives an explicit unknown-
49
+ outcome error. The SDK never automatically replays such a call: inspect external
50
+ state before asking the model to retry. This is conversation recovery, not exactly-
51
+ once external side effects or restoration of in-memory task state.
52
+
53
+ Storage is single-writer per session ID. Multiple processes must not write the same
54
+ session concurrently. `AGENT_SDK_SESSION_DIR` can select a storage directory. Set
55
+ `persistSession: false` for hosts that own persistence. Storage errors during a run
56
+ surface to the caller rather than claiming the event was durably published.
57
+
58
+ ## Offline verification
59
+
60
+ Run `npm run test:all`. Added checks cover true HTTP SSE delivery before completion,
61
+ UTF-8 fragmentation, interleaved tool argument assembly, truncated streams, generator
62
+ cleanup, mutation/read ordering, safe parallel reads, event replay, torn tails,
63
+ unknown tool outcomes and persistence before Agent.close(). No paid API calls.
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "bugs": {
17
17
  "url": "https://github.com/claudebuddy/claudebuddy-agent-sdk/issues"
18
18
  },
19
- "version": "0.4.0",
19
+ "version": "0.5.0",
20
20
  "description": "Open-source Agent SDK. Runs the full agent loop in-process — no local CLI required. Deploy anywhere: cloud, serverless, Docker, CI/CD.",
21
21
  "type": "module",
22
22
  "main": "./dist/index.js",
@@ -24,7 +24,10 @@
24
24
  "files": [
25
25
  "dist",
26
26
  "README.md",
27
- "LICENSE"
27
+ "LICENSE",
28
+ "docs/background-tasks.md",
29
+ "docs/runtime-progress.md",
30
+ "CHANGELOG.md"
28
31
  ],
29
32
  "exports": {
30
33
  ".": {
@@ -36,11 +39,12 @@
36
39
  "build": "tsc",
37
40
  "dev": "tsc --watch",
38
41
  "prepublishOnly": "npm run build",
39
- "test": "npx tsx examples/01-simple-query.ts",
40
- "test:all": "for f in examples/*.ts; do echo \"--- Running $f ---\"; npx tsx $f; echo; done",
42
+ "test": "tsx --test tests/*.test.ts",
43
+ "test:all": "npm test && npm run build",
41
44
  "web": "npx tsx examples/web/server.ts",
42
45
  "publish:npm": "npm publish --registry=https://registry.npmjs.org/",
43
- "publish:github": "npm publish --registry=https://npm.pkg.github.com/"
46
+ "publish:github": "npm publish --registry=https://npm.pkg.github.com/",
47
+ "test:examples": "for f in examples/*.ts; do npx tsx \"$f\" || exit $?; done"
44
48
  },
45
49
  "engines": {
46
50
  "node": ">=18.0.0"