@claudebuddy/claudebuddy-agent-sdk 0.4.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 (223) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +501 -0
  3. package/dist/agent.d.ts +137 -0
  4. package/dist/agent.d.ts.map +1 -0
  5. package/dist/agent.js +573 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/engine.d.ts +70 -0
  8. package/dist/engine.d.ts.map +1 -0
  9. package/dist/engine.js +552 -0
  10. package/dist/engine.js.map +1 -0
  11. package/dist/hooks.d.ts +111 -0
  12. package/dist/hooks.d.ts.map +1 -0
  13. package/dist/hooks.js +179 -0
  14. package/dist/hooks.js.map +1 -0
  15. package/dist/index.d.ts +70 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +141 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/mcp/client.d.ts +19 -0
  20. package/dist/mcp/client.d.ts.map +1 -0
  21. package/dist/mcp/client.js +126 -0
  22. package/dist/mcp/client.js.map +1 -0
  23. package/dist/providers/anthropic.d.ts +17 -0
  24. package/dist/providers/anthropic.d.ts.map +1 -0
  25. package/dist/providers/anthropic.js +47 -0
  26. package/dist/providers/anthropic.js.map +1 -0
  27. package/dist/providers/index.d.ts +20 -0
  28. package/dist/providers/index.d.ts.map +1 -0
  29. package/dist/providers/index.js +26 -0
  30. package/dist/providers/index.js.map +1 -0
  31. package/dist/providers/openai.d.ts +26 -0
  32. package/dist/providers/openai.d.ts.map +1 -0
  33. package/dist/providers/openai.js +243 -0
  34. package/dist/providers/openai.js.map +1 -0
  35. package/dist/providers/types.d.ts +84 -0
  36. package/dist/providers/types.d.ts.map +1 -0
  37. package/dist/providers/types.js +11 -0
  38. package/dist/providers/types.js.map +1 -0
  39. package/dist/sdk-mcp-server.d.ts +52 -0
  40. package/dist/sdk-mcp-server.d.ts.map +1 -0
  41. package/dist/sdk-mcp-server.js +57 -0
  42. package/dist/sdk-mcp-server.js.map +1 -0
  43. package/dist/session.d.ts +73 -0
  44. package/dist/session.d.ts.map +1 -0
  45. package/dist/session.js +159 -0
  46. package/dist/session.js.map +1 -0
  47. package/dist/skills/bundled/commit.d.ts +7 -0
  48. package/dist/skills/bundled/commit.d.ts.map +1 -0
  49. package/dist/skills/bundled/commit.js +35 -0
  50. package/dist/skills/bundled/commit.js.map +1 -0
  51. package/dist/skills/bundled/debug.d.ts +7 -0
  52. package/dist/skills/bundled/debug.d.ts.map +1 -0
  53. package/dist/skills/bundled/debug.js +46 -0
  54. package/dist/skills/bundled/debug.js.map +1 -0
  55. package/dist/skills/bundled/index.d.ts +11 -0
  56. package/dist/skills/bundled/index.d.ts.map +1 -0
  57. package/dist/skills/bundled/index.js +26 -0
  58. package/dist/skills/bundled/index.js.map +1 -0
  59. package/dist/skills/bundled/review.d.ts +7 -0
  60. package/dist/skills/bundled/review.d.ts.map +1 -0
  61. package/dist/skills/bundled/review.js +38 -0
  62. package/dist/skills/bundled/review.js.map +1 -0
  63. package/dist/skills/bundled/simplify.d.ts +8 -0
  64. package/dist/skills/bundled/simplify.d.ts.map +1 -0
  65. package/dist/skills/bundled/simplify.js +48 -0
  66. package/dist/skills/bundled/simplify.js.map +1 -0
  67. package/dist/skills/bundled/test.d.ts +7 -0
  68. package/dist/skills/bundled/test.d.ts.map +1 -0
  69. package/dist/skills/bundled/test.js +40 -0
  70. package/dist/skills/bundled/test.js.map +1 -0
  71. package/dist/skills/index.d.ts +7 -0
  72. package/dist/skills/index.d.ts.map +1 -0
  73. package/dist/skills/index.js +8 -0
  74. package/dist/skills/index.js.map +1 -0
  75. package/dist/skills/registry.d.ts +43 -0
  76. package/dist/skills/registry.d.ts.map +1 -0
  77. package/dist/skills/registry.js +111 -0
  78. package/dist/skills/registry.js.map +1 -0
  79. package/dist/skills/types.d.ts +83 -0
  80. package/dist/skills/types.d.ts.map +1 -0
  81. package/dist/skills/types.js +8 -0
  82. package/dist/skills/types.js.map +1 -0
  83. package/dist/tool-helper.d.ts +73 -0
  84. package/dist/tool-helper.d.ts.map +1 -0
  85. package/dist/tool-helper.js +86 -0
  86. package/dist/tool-helper.js.map +1 -0
  87. package/dist/tools/agent-tool.d.ts +17 -0
  88. package/dist/tools/agent-tool.d.ts.map +1 -0
  89. package/dist/tools/agent-tool.js +150 -0
  90. package/dist/tools/agent-tool.js.map +1 -0
  91. package/dist/tools/ask-user.d.ts +18 -0
  92. package/dist/tools/ask-user.d.ts.map +1 -0
  93. package/dist/tools/ask-user.js +72 -0
  94. package/dist/tools/ask-user.js.map +1 -0
  95. package/dist/tools/bash.d.ts +5 -0
  96. package/dist/tools/bash.d.ts.map +1 -0
  97. package/dist/tools/bash.js +67 -0
  98. package/dist/tools/bash.js.map +1 -0
  99. package/dist/tools/config-tool.d.ts +20 -0
  100. package/dist/tools/config-tool.d.ts.map +1 -0
  101. package/dist/tools/config-tool.js +83 -0
  102. package/dist/tools/config-tool.js.map +1 -0
  103. package/dist/tools/cron-tools.d.ts +33 -0
  104. package/dist/tools/cron-tools.d.ts.map +1 -0
  105. package/dist/tools/cron-tools.js +128 -0
  106. package/dist/tools/cron-tools.js.map +1 -0
  107. package/dist/tools/edit.d.ts +5 -0
  108. package/dist/tools/edit.d.ts.map +1 -0
  109. package/dist/tools/edit.js +70 -0
  110. package/dist/tools/edit.js.map +1 -0
  111. package/dist/tools/glob.d.ts +5 -0
  112. package/dist/tools/glob.d.ts.map +1 -0
  113. package/dist/tools/glob.js +75 -0
  114. package/dist/tools/glob.js.map +1 -0
  115. package/dist/tools/grep.d.ts +5 -0
  116. package/dist/tools/grep.d.ts.map +1 -0
  117. package/dist/tools/grep.js +168 -0
  118. package/dist/tools/grep.js.map +1 -0
  119. package/dist/tools/index.d.ts +45 -0
  120. package/dist/tools/index.d.ts.map +1 -0
  121. package/dist/tools/index.js +162 -0
  122. package/dist/tools/index.js.map +1 -0
  123. package/dist/tools/lsp-tool.d.ts +9 -0
  124. package/dist/tools/lsp-tool.d.ts.map +1 -0
  125. package/dist/tools/lsp-tool.js +137 -0
  126. package/dist/tools/lsp-tool.js.map +1 -0
  127. package/dist/tools/mcp-resource-tools.d.ts +14 -0
  128. package/dist/tools/mcp-resource-tools.d.ts.map +1 -0
  129. package/dist/tools/mcp-resource-tools.js +117 -0
  130. package/dist/tools/mcp-resource-tools.js.map +1 -0
  131. package/dist/tools/notebook-edit.d.ts +5 -0
  132. package/dist/tools/notebook-edit.d.ts.map +1 -0
  133. package/dist/tools/notebook-edit.js +85 -0
  134. package/dist/tools/notebook-edit.js.map +1 -0
  135. package/dist/tools/plan-tools.d.ts +12 -0
  136. package/dist/tools/plan-tools.d.ts.map +1 -0
  137. package/dist/tools/plan-tools.js +77 -0
  138. package/dist/tools/plan-tools.js.map +1 -0
  139. package/dist/tools/read.d.ts +5 -0
  140. package/dist/tools/read.d.ts.map +1 -0
  141. package/dist/tools/read.js +66 -0
  142. package/dist/tools/read.js.map +1 -0
  143. package/dist/tools/send-message.d.ts +31 -0
  144. package/dist/tools/send-message.d.ts.map +1 -0
  145. package/dist/tools/send-message.js +77 -0
  146. package/dist/tools/send-message.js.map +1 -0
  147. package/dist/tools/skill-tool.d.ts +9 -0
  148. package/dist/tools/skill-tool.d.ts.map +1 -0
  149. package/dist/tools/skill-tool.js +115 -0
  150. package/dist/tools/skill-tool.js.map +1 -0
  151. package/dist/tools/task-tools.d.ts +48 -0
  152. package/dist/tools/task-tools.d.ts.map +1 -0
  153. package/dist/tools/task-tools.js +242 -0
  154. package/dist/tools/task-tools.js.map +1 -0
  155. package/dist/tools/team-tools.d.ts +34 -0
  156. package/dist/tools/team-tools.d.ts.map +1 -0
  157. package/dist/tools/team-tools.js +103 -0
  158. package/dist/tools/team-tools.js.map +1 -0
  159. package/dist/tools/todo-tool.d.ts +22 -0
  160. package/dist/tools/todo-tool.d.ts.map +1 -0
  161. package/dist/tools/todo-tool.js +93 -0
  162. package/dist/tools/todo-tool.js.map +1 -0
  163. package/dist/tools/tool-search.d.ts +13 -0
  164. package/dist/tools/tool-search.d.ts.map +1 -0
  165. package/dist/tools/tool-search.js +76 -0
  166. package/dist/tools/tool-search.js.map +1 -0
  167. package/dist/tools/types.d.ts +29 -0
  168. package/dist/tools/types.d.ts.map +1 -0
  169. package/dist/tools/types.js +52 -0
  170. package/dist/tools/types.js.map +1 -0
  171. package/dist/tools/update-goal.d.ts +38 -0
  172. package/dist/tools/update-goal.d.ts.map +1 -0
  173. package/dist/tools/update-goal.js +109 -0
  174. package/dist/tools/update-goal.js.map +1 -0
  175. package/dist/tools/web-fetch.d.ts +5 -0
  176. package/dist/tools/web-fetch.d.ts.map +1 -0
  177. package/dist/tools/web-fetch.js +60 -0
  178. package/dist/tools/web-fetch.js.map +1 -0
  179. package/dist/tools/web-search.d.ts +5 -0
  180. package/dist/tools/web-search.d.ts.map +1 -0
  181. package/dist/tools/web-search.js +77 -0
  182. package/dist/tools/web-search.js.map +1 -0
  183. package/dist/tools/worktree-tools.d.ts +10 -0
  184. package/dist/tools/worktree-tools.d.ts.map +1 -0
  185. package/dist/tools/worktree-tools.js +130 -0
  186. package/dist/tools/worktree-tools.js.map +1 -0
  187. package/dist/tools/write.d.ts +5 -0
  188. package/dist/tools/write.d.ts.map +1 -0
  189. package/dist/tools/write.js +40 -0
  190. package/dist/tools/write.js.map +1 -0
  191. package/dist/types.d.ts +485 -0
  192. package/dist/types.d.ts.map +1 -0
  193. package/dist/types.js +5 -0
  194. package/dist/types.js.map +1 -0
  195. package/dist/utils/compact.d.ts +44 -0
  196. package/dist/utils/compact.d.ts.map +1 -0
  197. package/dist/utils/compact.js +162 -0
  198. package/dist/utils/compact.js.map +1 -0
  199. package/dist/utils/context.d.ts +35 -0
  200. package/dist/utils/context.d.ts.map +1 -0
  201. package/dist/utils/context.js +174 -0
  202. package/dist/utils/context.js.map +1 -0
  203. package/dist/utils/fileCache.d.ts +64 -0
  204. package/dist/utils/fileCache.d.ts.map +1 -0
  205. package/dist/utils/fileCache.js +117 -0
  206. package/dist/utils/fileCache.js.map +1 -0
  207. package/dist/utils/messages.d.ts +57 -0
  208. package/dist/utils/messages.d.ts.map +1 -0
  209. package/dist/utils/messages.js +152 -0
  210. package/dist/utils/messages.js.map +1 -0
  211. package/dist/utils/retry.d.ts +48 -0
  212. package/dist/utils/retry.d.ts.map +1 -0
  213. package/dist/utils/retry.js +111 -0
  214. package/dist/utils/retry.js.map +1 -0
  215. package/dist/utils/spill.d.ts +100 -0
  216. package/dist/utils/spill.d.ts.map +1 -0
  217. package/dist/utils/spill.js +126 -0
  218. package/dist/utils/spill.js.map +1 -0
  219. package/dist/utils/tokens.d.ts +60 -0
  220. package/dist/utils/tokens.d.ts.map +1 -0
  221. package/dist/utils/tokens.js +140 -0
  222. package/dist/utils/tokens.js.map +1 -0
  223. package/package.json +71 -0
@@ -0,0 +1,485 @@
1
+ /**
2
+ * Core type definitions for the Agent SDK
3
+ */
4
+ import type { NormalizedMessageParam } from './providers/types.js';
5
+ export type ContentBlockParam = {
6
+ type: 'text';
7
+ text: string;
8
+ } | {
9
+ type: 'image';
10
+ source: any;
11
+ } | {
12
+ type: 'tool_use';
13
+ id: string;
14
+ name: string;
15
+ input: any;
16
+ } | {
17
+ type: 'tool_result';
18
+ tool_use_id: string;
19
+ content: string | any[];
20
+ is_error?: boolean;
21
+ };
22
+ export type ContentBlock = {
23
+ type: 'text';
24
+ text: string;
25
+ } | {
26
+ type: 'tool_use';
27
+ id: string;
28
+ name: string;
29
+ input: any;
30
+ } | {
31
+ type: 'thinking';
32
+ thinking: string;
33
+ };
34
+ export type MessageRole = 'user' | 'assistant';
35
+ export interface ConversationMessage {
36
+ role: MessageRole;
37
+ content: string | ContentBlockParam[];
38
+ }
39
+ export interface UserMessage {
40
+ type: 'user';
41
+ message: ConversationMessage;
42
+ uuid: string;
43
+ timestamp: string;
44
+ }
45
+ export interface AssistantMessage {
46
+ type: 'assistant';
47
+ message: {
48
+ role: 'assistant';
49
+ content: ContentBlock[];
50
+ };
51
+ uuid: string;
52
+ timestamp: string;
53
+ usage?: TokenUsage;
54
+ cost?: number;
55
+ }
56
+ export type Message = UserMessage | AssistantMessage;
57
+ export type SDKMessage = SDKAssistantMessage | SDKToolResultMessage | SDKResultMessage | SDKPartialMessage | SDKSystemMessage | SDKCompactBoundaryMessage | SDKStatusMessage | SDKTaskNotificationMessage | SDKRateLimitEvent;
58
+ export interface SDKAssistantMessage {
59
+ type: 'assistant';
60
+ uuid?: string;
61
+ session_id?: string;
62
+ message: {
63
+ role: 'assistant';
64
+ content: ContentBlock[];
65
+ };
66
+ parent_tool_use_id?: string | null;
67
+ }
68
+ export interface SDKToolResultMessage {
69
+ type: 'tool_result';
70
+ result: {
71
+ tool_use_id: string;
72
+ tool_name: string;
73
+ output: string;
74
+ };
75
+ }
76
+ export interface SDKResultMessage {
77
+ type: 'result';
78
+ subtype: 'success' | 'error_max_turns' | 'error_during_execution' | 'error_max_budget_usd' | string;
79
+ uuid?: string;
80
+ session_id?: string;
81
+ is_error?: boolean;
82
+ num_turns?: number;
83
+ result?: string;
84
+ stop_reason?: string | null;
85
+ total_cost_usd?: number;
86
+ duration_ms?: number;
87
+ duration_api_ms?: number;
88
+ usage?: TokenUsage;
89
+ model_usage?: Record<string, {
90
+ input_tokens: number;
91
+ output_tokens: number;
92
+ }>;
93
+ permission_denials?: Array<{
94
+ tool: string;
95
+ reason: string;
96
+ }>;
97
+ structured_output?: unknown;
98
+ errors?: string[];
99
+ /** @deprecated Use total_cost_usd */
100
+ cost?: number;
101
+ }
102
+ export interface SDKPartialMessage {
103
+ type: 'partial_message';
104
+ partial: {
105
+ type: 'text' | 'tool_use';
106
+ text?: string;
107
+ name?: string;
108
+ input?: string;
109
+ };
110
+ }
111
+ /** Emitted once at session start with initialization info. */
112
+ export interface SDKSystemMessage {
113
+ type: 'system';
114
+ subtype: 'init';
115
+ uuid?: string;
116
+ session_id: string;
117
+ tools: string[];
118
+ model: string;
119
+ cwd: string;
120
+ mcp_servers: Array<{
121
+ name: string;
122
+ status: string;
123
+ }>;
124
+ permission_mode: string;
125
+ }
126
+ /** Marks a compaction boundary in the conversation. */
127
+ export interface SDKCompactBoundaryMessage {
128
+ type: 'system';
129
+ subtype: 'compact_boundary';
130
+ summary?: string;
131
+ }
132
+ /** Status update during long operations. */
133
+ export interface SDKStatusMessage {
134
+ type: 'system';
135
+ subtype: 'status';
136
+ message: string;
137
+ }
138
+ /** Task lifecycle notification. */
139
+ export interface SDKTaskNotificationMessage {
140
+ type: 'system';
141
+ subtype: 'task_notification';
142
+ task_id: string;
143
+ status: string;
144
+ message?: string;
145
+ }
146
+ /** Rate limit event. */
147
+ export interface SDKRateLimitEvent {
148
+ type: 'system';
149
+ subtype: 'rate_limit';
150
+ retry_after_ms?: number;
151
+ message: string;
152
+ }
153
+ export interface TokenUsage {
154
+ input_tokens: number;
155
+ output_tokens: number;
156
+ cache_creation_input_tokens?: number;
157
+ cache_read_input_tokens?: number;
158
+ }
159
+ export interface ToolDefinition {
160
+ name: string;
161
+ description: string;
162
+ inputSchema: ToolInputSchema;
163
+ call: (input: any, context: ToolContext) => Promise<ToolResult>;
164
+ isReadOnly?: () => boolean;
165
+ isConcurrencySafe?: () => boolean;
166
+ isEnabled?: () => boolean;
167
+ prompt?: (context: ToolContext) => Promise<string>;
168
+ }
169
+ export interface ToolInputSchema {
170
+ type: 'object';
171
+ properties: Record<string, any>;
172
+ required?: string[];
173
+ }
174
+ export interface ToolContext {
175
+ cwd: string;
176
+ abortSignal?: AbortSignal;
177
+ /** Parent agent's LLM provider (inherited by subagents) */
178
+ provider?: import('./providers/types.js').LLMProvider;
179
+ /** Parent agent's model ID */
180
+ model?: string;
181
+ /** Parent agent's API type */
182
+ apiType?: import('./providers/types.js').ApiType;
183
+ }
184
+ export interface ToolResult {
185
+ type: 'tool_result';
186
+ tool_use_id: string;
187
+ content: string | any[];
188
+ is_error?: boolean;
189
+ }
190
+ export type PermissionMode = 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan' | 'dontAsk' | 'auto';
191
+ export type PermissionBehavior = 'allow' | 'deny';
192
+ export type CanUseToolResult = {
193
+ behavior: PermissionBehavior;
194
+ updatedInput?: unknown;
195
+ message?: string;
196
+ };
197
+ export type CanUseToolFn = (tool: ToolDefinition, input: unknown) => Promise<CanUseToolResult>;
198
+ export type McpServerConfig = McpStdioConfig | McpSseConfig | McpHttpConfig;
199
+ export interface McpStdioConfig {
200
+ type?: 'stdio';
201
+ command: string;
202
+ args?: string[];
203
+ env?: Record<string, string>;
204
+ }
205
+ export interface McpSseConfig {
206
+ type: 'sse';
207
+ url: string;
208
+ headers?: Record<string, string>;
209
+ }
210
+ export interface McpHttpConfig {
211
+ type: 'http';
212
+ url: string;
213
+ headers?: Record<string, string>;
214
+ }
215
+ export interface AgentDefinition {
216
+ description: string;
217
+ prompt: string;
218
+ tools?: string[];
219
+ disallowedTools?: string[];
220
+ model?: 'sonnet' | 'opus' | 'haiku' | 'inherit' | string;
221
+ mcpServers?: Array<string | {
222
+ name: string;
223
+ tools?: string[];
224
+ }>;
225
+ skills?: string[];
226
+ maxTurns?: number;
227
+ criticalSystemReminder_EXPERIMENTAL?: string;
228
+ }
229
+ export interface ThinkingConfig {
230
+ type: 'adaptive' | 'enabled' | 'disabled';
231
+ budgetTokens?: number;
232
+ }
233
+ export interface SandboxSettings {
234
+ enabled?: boolean;
235
+ autoAllowBashIfSandboxed?: boolean;
236
+ excludedCommands?: string[];
237
+ allowUnsandboxedCommands?: boolean;
238
+ network?: SandboxNetworkConfig;
239
+ filesystem?: SandboxFilesystemConfig;
240
+ ignoreViolations?: Record<string, string[]>;
241
+ enableWeakerNestedSandbox?: boolean;
242
+ ripgrep?: {
243
+ command: string;
244
+ args?: string[];
245
+ };
246
+ }
247
+ export interface SandboxNetworkConfig {
248
+ allowedDomains?: string[];
249
+ allowManagedDomainsOnly?: boolean;
250
+ allowLocalBinding?: boolean;
251
+ allowUnixSockets?: string[];
252
+ allowAllUnixSockets?: boolean;
253
+ httpProxyPort?: number;
254
+ socksProxyPort?: number;
255
+ }
256
+ export interface SandboxFilesystemConfig {
257
+ allowWrite?: string[];
258
+ denyWrite?: string[];
259
+ denyRead?: string[];
260
+ }
261
+ export interface OutputFormat {
262
+ type: 'json_schema';
263
+ schema: Record<string, unknown>;
264
+ }
265
+ export type SettingSource = 'user' | 'project' | 'local';
266
+ export interface ModelInfo {
267
+ value: string;
268
+ displayName: string;
269
+ description: string;
270
+ supportsEffort?: boolean;
271
+ supportedEffortLevels?: ('low' | 'medium' | 'high' | 'max')[];
272
+ supportsAdaptiveThinking?: boolean;
273
+ supportsFastMode?: boolean;
274
+ }
275
+ export interface AgentOptions {
276
+ /** LLM model ID */
277
+ model?: string;
278
+ /**
279
+ * API type: 'anthropic-messages' or 'openai-completions'.
280
+ * Falls back to CLAUDEBUDDY_API_TYPE env var. Default: 'anthropic-messages'.
281
+ */
282
+ apiType?: import('./providers/types.js').ApiType;
283
+ /** API key. Falls back to CLAUDEBUDDY_API_KEY env var. */
284
+ apiKey?: string;
285
+ /** API base URL override */
286
+ baseURL?: string;
287
+ /** Working directory for file/shell tools */
288
+ cwd?: string;
289
+ /** System prompt override or preset */
290
+ systemPrompt?: string | {
291
+ type: 'preset';
292
+ preset: 'default';
293
+ append?: string;
294
+ };
295
+ /** Append to default system prompt */
296
+ appendSystemPrompt?: string;
297
+ /** Available tools (ToolDefinition[] or string[] preset) */
298
+ tools?: ToolDefinition[] | string[] | {
299
+ type: 'preset';
300
+ preset: 'default';
301
+ };
302
+ /** Maximum number of agentic turns per query */
303
+ maxTurns?: number;
304
+ /** Maximum USD budget per query */
305
+ maxBudgetUsd?: number;
306
+ /** Extended thinking configuration */
307
+ thinking?: ThinkingConfig;
308
+ /** Maximum thinking tokens (deprecated, use thinking.budgetTokens) */
309
+ maxThinkingTokens?: number;
310
+ /** Structured output JSON schema */
311
+ jsonSchema?: Record<string, unknown>;
312
+ /** Structured output format */
313
+ outputFormat?: OutputFormat;
314
+ /** Permission handler callback */
315
+ canUseTool?: CanUseToolFn;
316
+ /** Permission mode controlling tool approval behavior */
317
+ permissionMode?: PermissionMode;
318
+ /** Abort controller for cancellation */
319
+ abortController?: AbortController;
320
+ /** Abort signal for cancellation */
321
+ abortSignal?: AbortSignal;
322
+ /** Whether to include partial streaming events */
323
+ includePartialMessages?: boolean;
324
+ /** Environment variables */
325
+ env?: Record<string, string | undefined>;
326
+ /** Tool names to pre-approve without prompting */
327
+ allowedTools?: string[];
328
+ /** Tool names to deny */
329
+ disallowedTools?: string[];
330
+ /** MCP server configurations */
331
+ mcpServers?: Record<string, McpServerConfig | any>;
332
+ /** Custom subagent definitions */
333
+ agents?: Record<string, AgentDefinition>;
334
+ /** Maximum tokens for responses */
335
+ maxTokens?: number;
336
+ /** Effort level for reasoning */
337
+ effort?: 'low' | 'medium' | 'high' | 'max';
338
+ /** Fallback model if primary is unavailable */
339
+ fallbackModel?: string;
340
+ /** Continue the most recent session in cwd */
341
+ continue?: boolean;
342
+ /** Resume a specific session by ID */
343
+ resume?: string;
344
+ /** Fork a session instead of continuing it */
345
+ forkSession?: boolean;
346
+ /** Persist session to disk */
347
+ persistSession?: boolean;
348
+ /**
349
+ * Conversation history to start from, instead of loading it from disk.
350
+ *
351
+ * Lets a host keep sessions in its own store (a database, say) and stay
352
+ * stateless: pass the prior turns here with `persistSession: false` and the
353
+ * SDK never touches the session files. Takes precedence over `resume`.
354
+ */
355
+ history?: NormalizedMessageParam[];
356
+ /** Explicit session ID */
357
+ sessionId?: string;
358
+ /** Enable file checkpointing (for rewindFiles) */
359
+ enableFileCheckpointing?: boolean;
360
+ /** Sandbox configuration */
361
+ sandbox?: SandboxSettings;
362
+ /** Load settings from filesystem */
363
+ settingSources?: SettingSource[];
364
+ /** Plugin configurations */
365
+ plugins?: Array<{
366
+ name: string;
367
+ config?: Record<string, unknown>;
368
+ }>;
369
+ /** Additional working directories */
370
+ additionalDirectories?: string[];
371
+ /** Default agent to use */
372
+ agent?: string;
373
+ /** Debug mode */
374
+ debug?: boolean;
375
+ /** Debug log file */
376
+ debugFile?: string;
377
+ /** Tool-specific configuration */
378
+ toolConfig?: Record<string, unknown>;
379
+ /** Enable prompt suggestions */
380
+ promptSuggestions?: boolean;
381
+ /** Strict MCP config validation */
382
+ strictMcpConfig?: boolean;
383
+ /** Extra CLI arguments */
384
+ extraArgs?: Record<string, string | null>;
385
+ /** SDK betas to enable */
386
+ betas?: string[];
387
+ /** Permission prompt tool name override */
388
+ permissionPromptToolName?: string;
389
+ /** Hook configurations */
390
+ hooks?: Record<string, Array<{
391
+ matcher?: string;
392
+ hooks: Array<(input: any, toolUseId: string, context: {
393
+ signal: AbortSignal;
394
+ }) => Promise<any>>;
395
+ timeout?: number;
396
+ }>>;
397
+ /** 模型上下文窗口大小(单位:tokens),不设置则按原有模型匹配逻辑 */
398
+ contextWindowSize?: number;
399
+ /** 模型定价(每百万 tokens,USD),不设置则按原有模型匹配逻辑 */
400
+ pricingPerMillion?: {
401
+ input: number;
402
+ output: number;
403
+ };
404
+ /**
405
+ * Spill 溢出配置:超长工具结果落盘,head/tail 预览 + locator 替换,
406
+ * 避免超大工具输出撑爆上下文。
407
+ */
408
+ spill?: {
409
+ /** 工具结果超过该字节数即落盘(默认 20000) */
410
+ maxInlineBytes?: number;
411
+ /** 给模型的 head/tail 预览字节数(默认 4000) */
412
+ previewBytes?: number;
413
+ /** 永不落盘的工具名(如 read,避免 read->spill->read 循环) */
414
+ neverSpillTools?: string[];
415
+ /**
416
+ * 只对这些工具启用落盘(白名单)。若提供非空数组,则仅列表中
417
+ * 的工具超限时才会 spill,其余工具走内联截断。
418
+ */
419
+ enabledFor?: string[];
420
+ /** 落盘目录(默认 <cwd>/.spill) */
421
+ spillDir?: string;
422
+ };
423
+ /**
424
+ * Goal 目标驱动循环:给一个目标让 agent 一直执行到完成/受阻。
425
+ * agent 空闲且无新输入时自动注入 continuation,完成判定交给
426
+ * `update_goal` 工具,`maxGoalRounds` 防止无限循环。
427
+ */
428
+ goal?: {
429
+ /** 是否启用目标驱动循环(默认 false) */
430
+ enabled?: boolean;
431
+ /**
432
+ * 当 query() 收到一个字符串 prompt 时,自动以该 prompt 为目标进入
433
+ * goal 驱动的自治循环(等价于显式调用 runGoal)。默认 false。
434
+ */
435
+ enabledOnQuery?: boolean;
436
+ /** 最大目标轮次,超过则强制停止(默认 10) */
437
+ maxGoalRounds?: number;
438
+ /** 连续 N 轮无进展即视为受阻停止(可选) */
439
+ maxConsecutiveStalls?: number;
440
+ /** 每个目标轮次内部的最大 turn 数(默认继承 maxTurns) */
441
+ turnsPerRound?: number;
442
+ } | boolean;
443
+ }
444
+ export interface QueryResult {
445
+ /** Final text output from the assistant */
446
+ text: string;
447
+ /** Token usage */
448
+ usage: TokenUsage;
449
+ /** Number of agentic turns */
450
+ num_turns: number;
451
+ /** Duration in milliseconds */
452
+ duration_ms: number;
453
+ /** All conversation messages */
454
+ messages: Message[];
455
+ }
456
+ export interface QueryEngineConfig {
457
+ cwd: string;
458
+ model: string;
459
+ /** LLM provider instance (created from apiType) */
460
+ provider: import('./providers/types.js').LLMProvider;
461
+ tools: ToolDefinition[];
462
+ systemPrompt?: string;
463
+ appendSystemPrompt?: string;
464
+ maxTurns: number;
465
+ maxBudgetUsd?: number;
466
+ maxTokens: number;
467
+ thinking?: ThinkingConfig;
468
+ jsonSchema?: Record<string, unknown>;
469
+ canUseTool: CanUseToolFn;
470
+ includePartialMessages: boolean;
471
+ abortSignal?: AbortSignal;
472
+ agents?: Record<string, AgentDefinition>;
473
+ /** Hook registry for lifecycle events */
474
+ hookRegistry?: import('./hooks.js').HookRegistry;
475
+ /** Session ID for hook context */
476
+ sessionId?: string;
477
+ contextWindowSize?: number;
478
+ pricingPerMillion?: {
479
+ input: number;
480
+ output: number;
481
+ };
482
+ /** Spill overflow configuration passed to the engine. */
483
+ spill?: NonNullable<AgentOptions['spill']>;
484
+ }
485
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAGlE,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE7F,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAM1C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,CAAA;AAE9C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAA;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,mBAAmB,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE;QACP,IAAI,EAAE,WAAW,CAAA;QACjB,OAAO,EAAE,YAAY,EAAE,CAAA;KACxB,CAAA;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,gBAAgB,CAAA;AAMpD,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,oBAAoB,GACpB,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,yBAAyB,GACzB,gBAAgB,GAChB,0BAA0B,GAC1B,iBAAiB,CAAA;AAErB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE;QACP,IAAI,EAAE,WAAW,CAAA;QACjB,OAAO,EAAE,YAAY,EAAE,CAAA;KACxB,CAAA;IACD,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,sBAAsB,GAAG,MAAM,CAAA;IACnG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7E,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5D,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,iBAAiB,CAAA;IACvB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;QACzB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpD,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,uDAAuD;AACvD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,QAAQ,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,mCAAmC;AACnC,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,mBAAmB,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAwB;AACxB,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,YAAY,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB;AAMD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,eAAe,CAAA;IAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IAC/D,UAAU,CAAC,EAAE,MAAM,OAAO,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAA;IACzB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,sBAAsB,EAAE,WAAW,CAAA;IACrD,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,OAAO,CAAC,EAAE,OAAO,sBAAsB,EAAE,OAAO,CAAA;CACjD;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,aAAa,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,GAAG,EAAE,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAMD,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,aAAa,GACb,mBAAmB,GACnB,MAAM,GACN,SAAS,GACT,MAAM,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,CAAA;AAEjD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,OAAO,KACX,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAM9B,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,YAAY,GACZ,aAAa,CAAA;AAEjB,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAMD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IACxD,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IAC/D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mCAAmC,CAAC,EAAE,MAAM,CAAA;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;IACzC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAMD,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,UAAU,CAAC,EAAE,uBAAuB,CAAA;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC3C,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAMD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAMD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;AAMxD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,qBAAqB,CAAC,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,EAAE,CAAA;IAC7D,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,sBAAsB,EAAE,OAAO,CAAA;IAChD,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9E,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAA;IAC3E,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,+BAA+B;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,kCAAkC;IAClC,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,yDAAyD;IACzD,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,wCAAwC;IACxC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,oCAAoC;IACpC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,kDAAkD;IAClD,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACxC,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,yBAAyB;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,GAAG,CAAC,CAAA;IAClD,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAA;IAC1C,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,oCAAoC;IACpC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAA;IACnE,qCAAqC;IACrC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mCAAmC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IACzC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,2CAA2C;IAC3C,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;YAAE,MAAM,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/F,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAC,CAAC,CAAA;IACH,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,yCAAyC;IACzC,iBAAiB,CAAC,EAAE;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,8BAA8B;QAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,oCAAoC;QACpC,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,+CAA+C;QAC/C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IACD;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,2BAA2B;QAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB;;;WAGG;QACH,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,4BAA4B;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,2BAA2B;QAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B,wCAAwC;QACxC,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,GAAG,OAAO,CAAA;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB;IAClB,KAAK,EAAE,UAAU,CAAA;IACjB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAMD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,QAAQ,EAAE,OAAO,sBAAsB,EAAE,WAAW,CAAA;IACpD,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,UAAU,EAAE,YAAY,CAAA;IACxB,sBAAsB,EAAE,OAAO,CAAA;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,yCAAyC;IACzC,YAAY,CAAC,EAAE,OAAO,YAAY,EAAE,YAAY,CAAA;IAChD,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,yDAAyD;IACzD,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;CAC3C"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Core type definitions for the Agent SDK
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Context Compression / Auto-Compaction
3
+ *
4
+ * Summarizes long conversation histories when context window fills up.
5
+ * Three-tier system:
6
+ * 1. Auto-compact: triggered when tokens exceed threshold
7
+ * 2. Micro-compact: cache-aware per-request optimization
8
+ * 3. Session memory compaction: consolidates across sessions
9
+ */
10
+ import type { LLMProvider } from '../providers/types.js';
11
+ import type { NormalizedMessageParam } from '../providers/types.js';
12
+ /**
13
+ * State for tracking auto-compaction across turns.
14
+ */
15
+ export interface AutoCompactState {
16
+ compacted: boolean;
17
+ turnCounter: number;
18
+ consecutiveFailures: number;
19
+ }
20
+ /**
21
+ * Create initial auto-compact state.
22
+ */
23
+ export declare function createAutoCompactState(): AutoCompactState;
24
+ /**
25
+ * Check if auto-compaction should trigger.
26
+ */
27
+ export declare function shouldAutoCompact(messages: any[], model: string, state: AutoCompactState, contextWindowSize?: number): boolean;
28
+ /**
29
+ * Compact conversation by summarizing with the LLM.
30
+ *
31
+ * Sends the entire conversation to the LLM for summarization,
32
+ * then replaces the history with a compact summary.
33
+ */
34
+ export declare function compactConversation(provider: LLMProvider, model: string, messages: any[], state: AutoCompactState): Promise<{
35
+ compactedMessages: NormalizedMessageParam[];
36
+ summary: string;
37
+ state: AutoCompactState;
38
+ }>;
39
+ /**
40
+ * Micro-compact: optimize messages by truncating large tool results
41
+ * to fit within token budgets.
42
+ */
43
+ export declare function microCompactMessages(messages: any[], maxToolResultChars?: number): any[];
44
+ //# sourceMappingURL=compact.d.ts.map
@@ -0,0 +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"}