orbitx 0.2.6 → 0.2.7

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 (263) hide show
  1. package/dist/core/agent-providers.d.ts +15 -10
  2. package/dist/core/agent-providers.d.ts.map +1 -1
  3. package/dist/core/agent-providers.js +65 -15
  4. package/dist/core/agent-providers.js.map +1 -1
  5. package/dist/core/ai-provider.d.ts +52 -2
  6. package/dist/core/ai-provider.d.ts.map +1 -1
  7. package/dist/core/ai-provider.js.map +1 -1
  8. package/dist/core/anthropic-provider.d.ts +5 -0
  9. package/dist/core/anthropic-provider.d.ts.map +1 -1
  10. package/dist/core/anthropic-provider.js +100 -17
  11. package/dist/core/anthropic-provider.js.map +1 -1
  12. package/dist/core/base-agent.d.ts +19 -41
  13. package/dist/core/base-agent.d.ts.map +1 -1
  14. package/dist/core/base-agent.js +112 -136
  15. package/dist/core/base-agent.js.map +1 -1
  16. package/dist/core/deepseek-provider.d.ts +3 -0
  17. package/dist/core/deepseek-provider.d.ts.map +1 -1
  18. package/dist/core/deepseek-provider.js +59 -12
  19. package/dist/core/deepseek-provider.js.map +1 -1
  20. package/dist/core/mcp-client.d.ts +10 -2
  21. package/dist/core/mcp-client.d.ts.map +1 -1
  22. package/dist/core/mcp-client.js +28 -4
  23. package/dist/core/mcp-client.js.map +1 -1
  24. package/dist/core/mcp-server.d.ts +5 -1
  25. package/dist/core/mcp-server.d.ts.map +1 -1
  26. package/dist/core/mcp-server.js +31 -1
  27. package/dist/core/mcp-server.js.map +1 -1
  28. package/dist/core/mcp.d.ts +9 -23
  29. package/dist/core/mcp.d.ts.map +1 -1
  30. package/dist/core/mcp.js +1 -24
  31. package/dist/core/mcp.js.map +1 -1
  32. package/dist/core/ollama-provider.d.ts +3 -0
  33. package/dist/core/ollama-provider.d.ts.map +1 -1
  34. package/dist/core/ollama-provider.js +31 -7
  35. package/dist/core/ollama-provider.js.map +1 -1
  36. package/dist/core/openai-provider.d.ts +3 -0
  37. package/dist/core/openai-provider.d.ts.map +1 -1
  38. package/dist/core/openai-provider.js +51 -8
  39. package/dist/core/openai-provider.js.map +1 -1
  40. package/dist/core/skill.d.ts +2 -2
  41. package/dist/core/skill.d.ts.map +1 -1
  42. package/dist/index.d.ts +13 -20
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +9 -10
  45. package/dist/index.js.map +1 -1
  46. package/dist/templates/simple.d.ts +8 -12
  47. package/dist/templates/simple.d.ts.map +1 -1
  48. package/dist/templates/simple.js +6 -10
  49. package/dist/templates/simple.js.map +1 -1
  50. package/dist/tests/tools/agent/agent-tools.test.js +20 -17
  51. package/dist/tests/tools/agent/agent-tools.test.js.map +1 -1
  52. package/dist/tests/tools/question-answer/question-answer.test.js +1 -11
  53. package/dist/tests/tools/question-answer/question-answer.test.js.map +1 -1
  54. package/dist/tests/tools/utils/read-image.test.js +29 -17
  55. package/dist/tests/tools/utils/read-image.test.js.map +1 -1
  56. package/dist/tools/agent/hire.d.ts +1 -2
  57. package/dist/tools/agent/hire.d.ts.map +1 -1
  58. package/dist/tools/agent/hire.js +1 -4
  59. package/dist/tools/agent/hire.js.map +1 -1
  60. package/dist/tools/agent/index.d.ts +1 -3
  61. package/dist/tools/agent/index.d.ts.map +1 -1
  62. package/dist/tools/agent/index.js +0 -1
  63. package/dist/tools/agent/index.js.map +1 -1
  64. package/dist/tools/agent/list.d.ts +1 -1
  65. package/dist/tools/agent/list.d.ts.map +1 -1
  66. package/dist/tools/agent/prompt.d.ts +1 -2
  67. package/dist/tools/agent/prompt.d.ts.map +1 -1
  68. package/dist/tools/agent/prompt.js +11 -7
  69. package/dist/tools/agent/prompt.js.map +1 -1
  70. package/dist/tools/agent/report.d.ts +1 -1
  71. package/dist/tools/agent/report.d.ts.map +1 -1
  72. package/dist/tools/bash/index.d.ts +1 -3
  73. package/dist/tools/bash/index.d.ts.map +1 -1
  74. package/dist/tools/bash/index.js +0 -1
  75. package/dist/tools/bash/index.js.map +1 -1
  76. package/dist/tools/bash/list.d.ts +1 -1
  77. package/dist/tools/bash/list.d.ts.map +1 -1
  78. package/dist/tools/bash/list.js +1 -1
  79. package/dist/tools/bash/list.js.map +1 -1
  80. package/dist/tools/bash/logs.d.ts +1 -1
  81. package/dist/tools/bash/logs.d.ts.map +1 -1
  82. package/dist/tools/bash/logs.js +1 -1
  83. package/dist/tools/bash/logs.js.map +1 -1
  84. package/dist/tools/bash/run.d.ts +1 -2
  85. package/dist/tools/bash/run.d.ts.map +1 -1
  86. package/dist/tools/bash/run.js +1 -7
  87. package/dist/tools/bash/run.js.map +1 -1
  88. package/dist/tools/bash/terminate.d.ts +1 -2
  89. package/dist/tools/bash/terminate.d.ts.map +1 -1
  90. package/dist/tools/bash/terminate.js +1 -4
  91. package/dist/tools/bash/terminate.js.map +1 -1
  92. package/dist/tools/bash/wait.d.ts +1 -2
  93. package/dist/tools/bash/wait.d.ts.map +1 -1
  94. package/dist/tools/bash/wait.js +1 -7
  95. package/dist/tools/bash/wait.js.map +1 -1
  96. package/dist/tools/bash/write-input.d.ts +1 -2
  97. package/dist/tools/bash/write-input.d.ts.map +1 -1
  98. package/dist/tools/bash/write-input.js +1 -4
  99. package/dist/tools/bash/write-input.js.map +1 -1
  100. package/dist/tools/browser/click.d.ts +1 -2
  101. package/dist/tools/browser/click.d.ts.map +1 -1
  102. package/dist/tools/browser/click.js +1 -4
  103. package/dist/tools/browser/click.js.map +1 -1
  104. package/dist/tools/browser/console.d.ts +1 -1
  105. package/dist/tools/browser/console.d.ts.map +1 -1
  106. package/dist/tools/browser/create-session.d.ts +1 -2
  107. package/dist/tools/browser/create-session.d.ts.map +1 -1
  108. package/dist/tools/browser/create-session.js +1 -4
  109. package/dist/tools/browser/create-session.js.map +1 -1
  110. package/dist/tools/browser/fill.d.ts +1 -2
  111. package/dist/tools/browser/fill.d.ts.map +1 -1
  112. package/dist/tools/browser/fill.js +1 -4
  113. package/dist/tools/browser/fill.js.map +1 -1
  114. package/dist/tools/browser/get-sessions.d.ts +1 -1
  115. package/dist/tools/browser/get-sessions.d.ts.map +1 -1
  116. package/dist/tools/browser/index.d.ts +1 -3
  117. package/dist/tools/browser/index.d.ts.map +1 -1
  118. package/dist/tools/browser/index.js +0 -1
  119. package/dist/tools/browser/index.js.map +1 -1
  120. package/dist/tools/browser/inject.d.ts +1 -2
  121. package/dist/tools/browser/inject.d.ts.map +1 -1
  122. package/dist/tools/browser/inject.js +1 -4
  123. package/dist/tools/browser/inject.js.map +1 -1
  124. package/dist/tools/browser/navigate.d.ts +1 -2
  125. package/dist/tools/browser/navigate.d.ts.map +1 -1
  126. package/dist/tools/browser/navigate.js +1 -4
  127. package/dist/tools/browser/navigate.js.map +1 -1
  128. package/dist/tools/browser/network-status.d.ts +1 -1
  129. package/dist/tools/browser/network-status.d.ts.map +1 -1
  130. package/dist/tools/browser/network.d.ts +1 -1
  131. package/dist/tools/browser/network.d.ts.map +1 -1
  132. package/dist/tools/browser/read.d.ts +1 -2
  133. package/dist/tools/browser/read.d.ts.map +1 -1
  134. package/dist/tools/browser/read.js +1 -4
  135. package/dist/tools/browser/read.js.map +1 -1
  136. package/dist/tools/browser/remove-session.d.ts +1 -2
  137. package/dist/tools/browser/remove-session.d.ts.map +1 -1
  138. package/dist/tools/browser/remove-session.js +1 -4
  139. package/dist/tools/browser/remove-session.js.map +1 -1
  140. package/dist/tools/browser/screenshot.d.ts +1 -2
  141. package/dist/tools/browser/screenshot.d.ts.map +1 -1
  142. package/dist/tools/browser/screenshot.js +16 -15
  143. package/dist/tools/browser/screenshot.js.map +1 -1
  144. package/dist/tools/browser/scroll-info.d.ts +1 -1
  145. package/dist/tools/browser/scroll-info.d.ts.map +1 -1
  146. package/dist/tools/browser/scroll.d.ts +1 -2
  147. package/dist/tools/browser/scroll.d.ts.map +1 -1
  148. package/dist/tools/browser/scroll.js +1 -4
  149. package/dist/tools/browser/scroll.js.map +1 -1
  150. package/dist/tools/browser/submit-form.d.ts +1 -2
  151. package/dist/tools/browser/submit-form.d.ts.map +1 -1
  152. package/dist/tools/browser/submit-form.js +1 -4
  153. package/dist/tools/browser/submit-form.js.map +1 -1
  154. package/dist/tools/fs/create-dir.d.ts +1 -2
  155. package/dist/tools/fs/create-dir.d.ts.map +1 -1
  156. package/dist/tools/fs/create-dir.js +1 -4
  157. package/dist/tools/fs/create-dir.js.map +1 -1
  158. package/dist/tools/fs/delete.d.ts +1 -2
  159. package/dist/tools/fs/delete.d.ts.map +1 -1
  160. package/dist/tools/fs/delete.js +1 -4
  161. package/dist/tools/fs/delete.js.map +1 -1
  162. package/dist/tools/fs/edit-file.d.ts +1 -2
  163. package/dist/tools/fs/edit-file.d.ts.map +1 -1
  164. package/dist/tools/fs/edit-file.js +1 -4
  165. package/dist/tools/fs/edit-file.js.map +1 -1
  166. package/dist/tools/fs/index.d.ts +1 -3
  167. package/dist/tools/fs/index.d.ts.map +1 -1
  168. package/dist/tools/fs/index.js +0 -1
  169. package/dist/tools/fs/index.js.map +1 -1
  170. package/dist/tools/fs/list-dir.d.ts +1 -2
  171. package/dist/tools/fs/list-dir.d.ts.map +1 -1
  172. package/dist/tools/fs/list-dir.js +1 -4
  173. package/dist/tools/fs/list-dir.js.map +1 -1
  174. package/dist/tools/fs/move.d.ts +1 -2
  175. package/dist/tools/fs/move.d.ts.map +1 -1
  176. package/dist/tools/fs/move.js +1 -4
  177. package/dist/tools/fs/move.js.map +1 -1
  178. package/dist/tools/fs/read-file.d.ts +1 -2
  179. package/dist/tools/fs/read-file.d.ts.map +1 -1
  180. package/dist/tools/fs/read-file.js +1 -4
  181. package/dist/tools/fs/read-file.js.map +1 -1
  182. package/dist/tools/fs/stat.d.ts +1 -2
  183. package/dist/tools/fs/stat.d.ts.map +1 -1
  184. package/dist/tools/fs/stat.js +1 -4
  185. package/dist/tools/fs/stat.js.map +1 -1
  186. package/dist/tools/fs/write-file.d.ts +1 -2
  187. package/dist/tools/fs/write-file.d.ts.map +1 -1
  188. package/dist/tools/fs/write-file.js +1 -4
  189. package/dist/tools/fs/write-file.js.map +1 -1
  190. package/dist/tools/present/add.d.ts +1 -2
  191. package/dist/tools/present/add.d.ts.map +1 -1
  192. package/dist/tools/present/add.js +1 -4
  193. package/dist/tools/present/add.js.map +1 -1
  194. package/dist/tools/present/clear.d.ts +1 -2
  195. package/dist/tools/present/clear.d.ts.map +1 -1
  196. package/dist/tools/present/clear.js +1 -4
  197. package/dist/tools/present/clear.js.map +1 -1
  198. package/dist/tools/present/get-list.d.ts +1 -2
  199. package/dist/tools/present/get-list.d.ts.map +1 -1
  200. package/dist/tools/present/get-list.js +0 -2
  201. package/dist/tools/present/get-list.js.map +1 -1
  202. package/dist/tools/present/index.d.ts +1 -3
  203. package/dist/tools/present/index.d.ts.map +1 -1
  204. package/dist/tools/present/index.js +0 -1
  205. package/dist/tools/present/index.js.map +1 -1
  206. package/dist/tools/question-answer/index.d.ts +1 -3
  207. package/dist/tools/question-answer/index.d.ts.map +1 -1
  208. package/dist/tools/question-answer/index.js +0 -1
  209. package/dist/tools/question-answer/index.js.map +1 -1
  210. package/dist/tools/question-answer/question-answer.d.ts +1 -2
  211. package/dist/tools/question-answer/question-answer.d.ts.map +1 -1
  212. package/dist/tools/question-answer/question-answer.js +1 -4
  213. package/dist/tools/question-answer/question-answer.js.map +1 -1
  214. package/dist/tools/todo/check-task.d.ts +1 -2
  215. package/dist/tools/todo/check-task.d.ts.map +1 -1
  216. package/dist/tools/todo/check-task.js +1 -4
  217. package/dist/tools/todo/check-task.js.map +1 -1
  218. package/dist/tools/todo/create-list.d.ts +1 -2
  219. package/dist/tools/todo/create-list.d.ts.map +1 -1
  220. package/dist/tools/todo/create-list.js +1 -4
  221. package/dist/tools/todo/create-list.js.map +1 -1
  222. package/dist/tools/todo/create-task.d.ts +1 -2
  223. package/dist/tools/todo/create-task.d.ts.map +1 -1
  224. package/dist/tools/todo/create-task.js +1 -4
  225. package/dist/tools/todo/create-task.js.map +1 -1
  226. package/dist/tools/todo/get-list.d.ts +1 -1
  227. package/dist/tools/todo/get-list.d.ts.map +1 -1
  228. package/dist/tools/todo/get-list.js +1 -1
  229. package/dist/tools/todo/get-list.js.map +1 -1
  230. package/dist/tools/todo/get-lists.d.ts +1 -1
  231. package/dist/tools/todo/get-lists.d.ts.map +1 -1
  232. package/dist/tools/todo/get-lists.js +1 -1
  233. package/dist/tools/todo/get-lists.js.map +1 -1
  234. package/dist/tools/todo/index.d.ts +1 -3
  235. package/dist/tools/todo/index.d.ts.map +1 -1
  236. package/dist/tools/todo/index.js +0 -1
  237. package/dist/tools/todo/index.js.map +1 -1
  238. package/dist/tools/todo/remove-list.d.ts +1 -2
  239. package/dist/tools/todo/remove-list.d.ts.map +1 -1
  240. package/dist/tools/todo/remove-list.js +1 -4
  241. package/dist/tools/todo/remove-list.js.map +1 -1
  242. package/dist/tools/todo/remove-task.d.ts +1 -2
  243. package/dist/tools/todo/remove-task.d.ts.map +1 -1
  244. package/dist/tools/todo/remove-task.js +1 -4
  245. package/dist/tools/todo/remove-task.js.map +1 -1
  246. package/dist/tools/utils/delay.d.ts +1 -1
  247. package/dist/tools/utils/delay.d.ts.map +1 -1
  248. package/dist/tools/utils/get-current-time.d.ts +1 -1
  249. package/dist/tools/utils/get-current-time.d.ts.map +1 -1
  250. package/dist/tools/utils/index.d.ts +1 -1
  251. package/dist/tools/utils/index.d.ts.map +1 -1
  252. package/dist/tools/utils/read-image.d.ts +12 -7
  253. package/dist/tools/utils/read-image.d.ts.map +1 -1
  254. package/dist/tools/utils/read-image.js +27 -17
  255. package/dist/tools/utils/read-image.js.map +1 -1
  256. package/docs/agents.md +50 -25
  257. package/docs/api-reference.md +12 -13
  258. package/docs/getting-started.md +2 -2
  259. package/docs/mcp-architecture.md +14 -2
  260. package/docs/providers.md +114 -15
  261. package/docs/streaming.md +19 -2
  262. package/docs/tools.md +41 -8
  263. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import type { Message, StreamCallback } from "./ai-provider.js";
1
+ import type { Message, StreamCallback, ProviderType } from "./ai-provider.js";
2
2
  import type MCPClient from "./mcp-client.js";
3
3
  import type MCPTool from "./mcp.js";
4
4
  import type Skill from "./skill.js";
@@ -17,73 +17,51 @@ export type ExtractedSegment = {
17
17
  };
18
18
  export declare class BaseAgent {
19
19
  #private;
20
- constructor({ instruction, allowedTools, aiProvider, mcpClient, initData, skills, maxMemorizeToken, }: {
20
+ constructor({ safetyPolicies, instruction, allowedTools, aiProvider, mcpClient, initData, skills, maxMemorizeToken, features: { executeProviderFromMCPTool } }: {
21
+ safetyPolicies?: string;
21
22
  instruction: string;
22
- allowedTools: MCPTool<any>[];
23
+ allowedTools: MCPTool[];
23
24
  aiProvider: AgentProvidersInput;
24
25
  mcpClient: MCPClient;
25
26
  skills?: Skill[];
26
27
  /** If omitted, derived from the main provider's reported context window (via getCapabilities()) instead of a hardcoded constant, so the memory-compaction trigger point scales with whatever model is actually in use. */
27
28
  maxMemorizeToken?: number;
28
29
  initData?: {
29
- memory: string;
30
- messagesFull: Message[];
31
- fullInputMissTokens: number;
32
- fullInputHitTokens: number;
33
- fullOutputTokens: number;
30
+ compactMemory: string;
31
+ /** Retired messages only, disjoint from messagesCompact — see the field comment on #retiredMessages. Each Message carries its own `usage`/`timestamp`, which is what token accounting is now derived from (see getCompactTotalTokens()/getFullTotalToken()). */
32
+ retiredMessages: Message[];
33
+ /** The working context currently replayed to the provider every turn. */
34
34
  messagesCompact: Message[];
35
- currentInputMissTokens: number;
36
- currentInputHitTokens: number;
37
- currentOutputTokens: number;
38
- /** Optional so snapshots taken before image-usage tracking existed still load — missing values default to 0. */
39
- imageInputMissTokens?: number;
40
- imageOutputTokens?: number;
35
+ };
36
+ /** Off by default — opt-in flags for capabilities that widen what a tool can trigger through this agent. */
37
+ features?: {
38
+ /** Whether a tool's `execute()` may call `mcp.executeProvider(...)` to reach a registered `AIProvider` directly. Off by default: a tool that can trigger an arbitrary provider call is a bigger trust surface than one that only returns data to the model, so it needs an explicit opt-in. When false, #executeProvider throws instead of dispatching. */
39
+ executeProviderFromMCPTool?: boolean;
41
40
  };
42
41
  });
43
42
  stop(): Promise<void>;
44
43
  safeStop(): Promise<void>;
45
44
  immediateStop(): void;
46
45
  run(prompt: string, streamCallback?: StreamCallback): Promise<void>;
47
- /** Full recoverable snapshot of agent state — pass this back in as `initData` on a fresh BaseAgent instance (e.g. after a process restart) to resume exactly where this one left off. Persist the return value to disk (or wherever) whenever you want a recovery point. */
48
46
  getCurrentAgentStates(): {
49
- memory: string;
50
- messagesFull: Message[];
51
- fullInputMissTokens: number;
52
- fullInputHitTokens: number;
53
- fullOutputTokens: number;
47
+ compactMemory: string;
48
+ retiredMessages: Message[];
54
49
  messagesCompact: Message[];
55
- currentInputMissTokens: number;
56
- currentInputHitTokens: number;
57
- currentOutputTokens: number;
58
- imageInputMissTokens: number;
59
- imageOutputTokens: number;
60
- };
61
- /** Lifetime total across the main loop (current + all prior compacted segments) AND every ImageDescriber call this agent has made. */
62
- getTotalTokens(): {
63
- total: number;
64
- inputHit: number;
65
- inputMiss: number;
66
- output: number;
67
- };
68
- getCurrentTotalTokens(): {
69
- total: number;
70
- inputHit: number;
71
- inputMiss: number;
72
- output: number;
73
50
  };
74
- /** Usage from ImageDescriber calls only (see #resolveToolOutputForModel) — not included in getCurrentTotalTokens()/getFullTotalTokens() since it isn't part of the main loop's current/full split, but it IS folded into getTotalTokens()'s grand total. Each call is a fresh, standalone chat, so there's no hit/miss split to make — inputHit is always 0, every input token counts as inputMiss. */
75
- getImageTotalTokens(): {
51
+ getCompactTotalTokens(type: ProviderType): {
76
52
  total: number;
77
53
  inputHit: number;
78
54
  inputMiss: number;
79
55
  output: number;
80
56
  };
81
- getFullTotalTokens(): {
57
+ getFullTotalToken(type: ProviderType): {
82
58
  total: number;
83
59
  inputHit: number;
84
60
  inputMiss: number;
85
61
  output: number;
86
62
  };
63
+ getCompactTotalCost(type: ProviderType): number;
64
+ getFullTotalCost(type: ProviderType): number;
87
65
  }
88
66
  export default BaseAgent;
89
67
  //# sourceMappingURL=base-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../../src/core/base-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,OAAO,EAAE,cAAc,EAA6C,MAAM,kBAAkB,CAAC;AACvH,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,gBAAgB,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAAC;AA2BhD,qBAAa,SAAS;;gBA4CN,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAUC,EACD,MAAW,EACX,gBAAgB,GACnB,EAAE;QACC,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,UAAU,EAAE,mBAAmB,CAAC;QAChC,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,0NAA0N;QAC1N,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,YAAY,EAAE,OAAO,EAAE,CAAC;YACxB,mBAAmB,EAAE,MAAM,CAAC;YAC5B,kBAAkB,EAAE,MAAM,CAAC;YAC3B,gBAAgB,EAAE,MAAM,CAAC;YACzB,eAAe,EAAE,OAAO,EAAE,CAAC;YAC3B,sBAAsB,EAAE,MAAM,CAAC;YAC/B,qBAAqB,EAAE,MAAM,CAAC;YAC9B,mBAAmB,EAAE,MAAM,CAAC;YAC5B,gHAAgH;YAChH,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;SAC9B,CAAA;KACJ;IA6IK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B,aAAa,IAAI,IAAI;IAKf,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAuIzE,4QAA4Q;IAC5Q,qBAAqB;;;;;;;;;;;;;IAerB,sIAAsI;IACtI,cAAc;;;;;;IASd,qBAAqB;;;;;;IASrB,uYAAuY;IACvY,mBAAmB;;;;;;IASnB,kBAAkB;;;;;;CAQrB;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../../src/core/base-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,OAAO,EAAE,cAAc,EAA2D,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnJ,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAyB,KAAK,mBAAmB,EAAyB,MAAM,sBAAsB,CAAC;AAE9G,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,gBAAgB,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAAC;AA2BhD,qBAAa,SAAS;;gBAqCN,EACR,cAAmB,EACnB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAIC,EACD,MAAW,EACX,gBAAgB,EAChB,QAAQ,EAAE,EACN,0BAAkC,EAGrC,EACJ,EAAE;QACC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,OAAO,EAAE,CAAC;QACxB,UAAU,EAAE,mBAAmB,CAAC;QAChC,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,0NAA0N;QAC1N,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE;YACP,aAAa,EAAE,MAAM,CAAC;YACtB,gQAAgQ;YAChQ,eAAe,EAAE,OAAO,EAAE,CAAC;YAC3B,yEAAyE;YACzE,eAAe,EAAE,OAAO,EAAE,CAAC;SAC9B,CAAC;QACF,4GAA4G;QAC5G,QAAQ,CAAC,EAAE;YACP,2VAA2V;YAC3V,0BAA0B,CAAC,EAAE,OAAO,CAAC;SACxC,CAAA;KACJ;IAsIK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B,aAAa,IAAI,IAAI;IAKf,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6JzE,qBAAqB;;;;;IAQrB,qBAAqB,CAAC,IAAI,EAAE,YAAY;;;;;;IAKxC,iBAAiB,CAAC,IAAI,EAAE,YAAY;;;;;;IAKpC,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;IAI/C,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;CAG/C;AAED,eAAe,SAAS,CAAC"}
@@ -1,4 +1,3 @@
1
- import { ImageDescriber } from "./image-describer.js";
2
1
  import { resolveAgentProviders } from "./agent-providers.js";
3
2
  /** Built-in tool, always available alongside whatever MCP tools are allowed — lets the model trigger memory compaction itself instead of only having it happen as a hidden side-effect. */
4
3
  const COMPACT_MEMORY_TOOL_NAME = "compact_memory";
@@ -16,65 +15,48 @@ const COMPACT_MEMORY_TOOL = {
16
15
  };
17
16
  export class BaseAgent {
18
17
  #maxMemorizeToken;
18
+ #safetyPolicies = "";
19
19
  #instruction = "";
20
20
  #allSkills = [];
21
21
  #allowedTools = [];
22
22
  /** Built once, lazily, from all skills/tools — never changes after that, so it's identical (and cache-friendly) across every turn and every iteration of the run loop. */
23
23
  #systemPrompt;
24
- #memory = "";
25
- #messagesFull = [];
24
+ #compactMemory = "";
25
+ /** Retired messages only — whatever a `compact_memory` call has already folded out of #messagesCompact. Disjoint from #messagesCompact, not a superset of it: a message lives in exactly one of the two at any time. The complete history is the concatenation of this and #messagesCompact, not this array alone. */
26
+ #retiredMessages = [];
26
27
  #runningProcess = false;
27
28
  #incomingRun = [];
28
- #fullInputMissTokens = 0;
29
- #fullInputHitTokens = 0;
30
- #fullOutputTokens = 0;
29
+ /** The working context currently replayed to the provider every turn. Everything gets pushed here first; #compact() moves it into #retiredMessages and clears this. */
31
30
  #messagesCompact = [];
32
- #currentInputMissTokens = 0;
33
- #currentInputHitTokens = 0;
34
- #currentLastOutputTokens = 0;
35
- #currentOutputTokens = 0;
36
- // Usage from ImageDescriber calls (see #resolveToolOutputForModel) — tracked
37
- // separately from the main loop's counters above since each call is a fresh,
38
- // standalone chat with no history to replay, unlike the main loop. No hit/miss
39
- // split here (unlike #currentInput*Tokens above) — there's nothing to have been
40
- // cached from a prior turn, so every input token is a miss.
41
- #imageInputMissTokens = 0;
42
- #imageOutputTokens = 0;
43
31
  #stopSignal = false;
44
32
  /** Set for the duration of the in-flight `#mainProvider.chat()` call in the run loop below, and cleared right after — lets `immediateStop()` cancel that specific call without needing to know anything about the loop's internal state. */
45
33
  #currentAbortController;
46
34
  #mcpClient;
35
+ /** Every provider this agent was given, keyed by role — see agent-providers.ts. Only ever touched from #executeProvider — never handed to a tool or across a transport boundary directly (see MCP#executeProvider in mcp.ts). */
36
+ #providers;
47
37
  #mainProvider;
48
- #imageProvider;
49
- constructor({ instruction, allowedTools, aiProvider, mcpClient, initData = {
50
- memory: "",
51
- messagesFull: [],
52
- fullInputMissTokens: 0,
53
- fullInputHitTokens: 0,
54
- fullOutputTokens: 0,
38
+ #usageByToolCallId = new Map();
39
+ /** See the `features.executeProviderFromMCPTool` constructor option — off by default. */
40
+ #executeProviderFromMCPTool = false;
41
+ constructor({ safetyPolicies = "", instruction, allowedTools, aiProvider, mcpClient, initData = {
42
+ compactMemory: "",
43
+ retiredMessages: [],
55
44
  messagesCompact: [],
56
- currentInputMissTokens: 0,
57
- currentInputHitTokens: 0,
58
- currentOutputTokens: 0,
59
- }, skills = [], maxMemorizeToken, }) {
45
+ }, skills = [], maxMemorizeToken, features: { executeProviderFromMCPTool = false } = {
46
+ executeProviderFromMCPTool: false
47
+ } }) {
48
+ this.#safetyPolicies = safetyPolicies;
60
49
  this.#instruction = instruction;
61
50
  this.#allowedTools = allowedTools;
62
51
  this.#mcpClient = mcpClient;
63
- this.#memory = initData.memory;
64
- this.#messagesFull = initData.messagesFull;
65
- this.#fullInputMissTokens = initData.fullInputMissTokens;
66
- this.#fullInputHitTokens = initData.fullInputHitTokens;
67
- this.#fullOutputTokens = initData.fullOutputTokens;
52
+ this.#compactMemory = initData.compactMemory;
53
+ this.#retiredMessages = initData.retiredMessages;
68
54
  this.#messagesCompact = initData.messagesCompact;
69
- this.#currentInputMissTokens = initData.currentInputMissTokens;
70
- this.#currentInputHitTokens = initData.currentInputHitTokens;
71
- this.#currentOutputTokens = initData.currentOutputTokens;
72
- this.#imageInputMissTokens = initData.imageInputMissTokens ?? 0;
73
- this.#imageOutputTokens = initData.imageOutputTokens ?? 0;
74
55
  this.#allSkills = skills;
75
- const resolved = resolveAgentProviders(aiProvider);
76
- this.#mainProvider = resolved.main;
77
- this.#imageProvider = resolved.image;
56
+ this.#executeProviderFromMCPTool = executeProviderFromMCPTool;
57
+ this.#providers = resolveAgentProviders(aiProvider);
58
+ this.#mainProvider = this.#providers.getMain();
59
+ this.#mcpClient.setExecuteProviderHandler(this.#executeProvider.bind(this));
78
60
  this.#maxMemorizeToken = maxMemorizeToken ?? this.#deriveMaxMemorizeToken();
79
61
  }
80
62
  #deriveMaxMemorizeToken() {
@@ -96,7 +78,7 @@ ${skill.getSkill().instructions}
96
78
  `}
97
79
 
98
80
  MEMORY:
99
- ${this.#memory || "(empty)"}
81
+ ${this.#compactMemory || "(empty)"}
100
82
 
101
83
  INSTRUCTIONS:
102
84
  ${this.#instruction}
@@ -106,7 +88,7 @@ ${this.#instruction}
106
88
  return `You are an assistant with access to tools (provided natively). Think step by step. After each tool result, continue reasoning or call another tool as needed. Never invent tool results.
107
89
  ${this.#buildSkillsAndMemoryBlock(skills)}`;
108
90
  }
109
- /** Built once from the full, fixed set of skills/tools and cached — identical on every turn, so it's also a stable prefix for provider-side prompt caching. */
91
+ /** Built from the fixed set of skills/tools plus the current MEMORY note, and cached until #compact() invalidates it (the cache is only ever a stable prefix for provider-side prompt caching between compactions, not across one). */
110
92
  #getOrBuildSystemPrompt() {
111
93
  if (this.#systemPrompt !== undefined) {
112
94
  return this.#systemPrompt;
@@ -118,63 +100,65 @@ ${this.#buildSkillsAndMemoryBlock(skills)}`;
118
100
  #buildForceCompactPrompt() {
119
101
  return `You're nearing the safe context limit for this conversation. Before doing anything else, call the "${COMPACT_MEMORY_TOOL_NAME}" tool with a "new_memory" summary capturing every important fact, decision, and pending task so far.`;
120
102
  }
121
- /** Rolls the current (working) token counters into the lifetime totals, clears the working context, and stores the new running summary. Shared by voluntary and forced compaction — both go through the same `compact_memory` tool call. */
122
- #compactMemory(newMemory) {
123
- this.#memory = newMemory;
103
+ /** Folds the working context into the retired-message archive and stores the new running summary. Shared by voluntary and forced compaction — both go through the same `compact_memory` tool call. Messages live in exactly one of messagesCompact/retiredMessages at a time (see the class-level note above #retiredMessages) — no lifetime counters to roll over separately, since usage travels with each message itself. */
104
+ #compact(newMemory) {
105
+ this.#compactMemory = newMemory;
106
+ this.#retiredMessages.push(...this.#messagesCompact);
124
107
  this.#messagesCompact = [];
125
- this.#fullInputHitTokens += this.#currentInputHitTokens;
126
- this.#fullInputMissTokens += this.#currentInputMissTokens;
127
- this.#fullOutputTokens += this.#currentOutputTokens;
128
- this.#currentInputHitTokens = 0;
129
- this.#currentInputMissTokens = 0;
130
- this.#currentOutputTokens = 0;
131
- this.#currentLastOutputTokens = 0;
108
+ this.#systemPrompt = undefined;
132
109
  return "Memory compacted. Continue where you left off, using MEMORY above for context.";
133
110
  }
134
- async #resolveToolOutputForModel(toolName, output) {
135
- if (output.type === "text") {
136
- return { text: JSON.stringify(output.output) };
111
+ async #executeProvider(toolCallId, type, input) {
112
+ if (!this.#executeProviderFromMCPTool) {
113
+ throw new Error("BaseAgent#executeProvider: this feature is disabled by agent features (features.executeProviderFromMCPTool is false).");
137
114
  }
138
- // output.type === "image"
139
- const { image, mimeType, focusHint, ...rest } = output.output;
140
- if (!this.#imageProvider) {
141
- return {
142
- text: JSON.stringify({
143
- error: `${toolName} produced an image, but image description is not supported in this session (no provider with image support is configured).`,
144
- ...rest,
145
- }),
146
- };
115
+ const usage = this.#usageByToolCallId.get(toolCallId);
116
+ if (!usage) {
117
+ throw new Error(`BaseAgent#executeProvider: "${toolCallId}" is not a currently active tool call.`);
147
118
  }
148
- if (this.#imageProvider === this.#mainProvider) {
149
- return {
150
- text: JSON.stringify({ message: `${toolName} produced an image, attached.`, ...rest }),
151
- imagePart: { image, mimeType },
152
- };
119
+ const provider = this.#providers.getProvider(type);
120
+ if (!provider) {
121
+ throw new Error(`BaseAgent#executeProvider: no provider available for type "${type}".`);
122
+ }
123
+ const result = await provider.chat([
124
+ // { role: "system", content: this.#safetyPolicies }, // WE NEED IMPLEMENT SAFETY POLICY LATER BUT WE DISABLE THIS FEATURE BY DEFAULT FOR NOW
125
+ { role: "user", ...input },
126
+ ]);
127
+ if (result.cost !== undefined) {
128
+ usage.push({ type, unit: "cost", cost: result.cost });
153
129
  }
154
- const describer = new ImageDescriber(this.#imageProvider);
155
- const result = await describer.describe(image, mimeType, focusHint);
156
- this.#imageInputMissTokens += result.inputTokens;
157
- this.#imageOutputTokens += result.outputTokens;
158
- return { text: JSON.stringify({ description: result.description, ...rest }) };
130
+ else {
131
+ usage.push({
132
+ type,
133
+ unit: "tokens",
134
+ inputMissTokens: (result.inputMissTokens ?? 0) + (result.inputCacheTokens ?? 0),
135
+ inputCacheTokens: 0,
136
+ outputTokens: result.outputTokens ?? 0,
137
+ });
138
+ }
139
+ return { output: { content: result.content } };
159
140
  }
160
141
  async #dispatchTool(id, toolName, inputs) {
161
142
  if (toolName === COMPACT_MEMORY_TOOL_NAME) {
162
143
  if (typeof inputs?.new_memory === "string") {
163
- return { id, name: toolName, resultText: this.#compactMemory(inputs.new_memory) };
144
+ return { id, name: toolName, resultText: this.#compact(inputs.new_memory) };
164
145
  }
165
146
  return { id, name: toolName, resultText: `Error: ${COMPACT_MEMORY_TOOL_NAME} requires new_memory:string, got ${JSON.stringify(inputs)}` };
166
147
  }
167
148
  if (!this.#allowedTools.map(t => t.getOptions().name).includes(toolName)) {
168
149
  return { id, name: toolName, resultText: `Error: tool "${toolName}" not found or not allowed.` };
169
150
  }
151
+ this.#usageByToolCallId.set(id, []);
170
152
  try {
171
- const output = await this.#mcpClient.callTool(toolName, inputs);
172
- const resolved = await this.#resolveToolOutputForModel(toolName, output);
173
- return { id, name: toolName, resultText: resolved.text, imagePart: resolved.imagePart };
153
+ const output = await this.#mcpClient.callTool(toolName, inputs, id);
154
+ return { id, name: toolName, resultText: JSON.stringify(output.output), usage: this.#usageByToolCallId.get(id) };
174
155
  }
175
156
  catch (err) {
176
157
  return { id, name: toolName, resultText: `Error: ${err?.message ?? String(err)}` };
177
158
  }
159
+ finally {
160
+ this.#usageByToolCallId.delete(id);
161
+ }
178
162
  }
179
163
  async stop() {
180
164
  return this.safeStop();
@@ -240,8 +224,8 @@ ${this.#buildSkillsAndMemoryBlock(skills)}`;
240
224
  }
241
225
  const systemPrompt = this.#getOrBuildSystemPrompt();
242
226
  if (firstIteration) {
243
- this.#messagesFull.push({ role: "user", content: prompt });
244
- this.#messagesCompact.push({ role: "user", content: prompt });
227
+ const userMessage = { role: "user", content: prompt, timestamp: Date.now() };
228
+ this.#messagesCompact.push(userMessage);
245
229
  await streamCallback?.({ role: "user", content: prompt, done: true });
246
230
  }
247
231
  const abortController = new AbortController();
@@ -249,6 +233,7 @@ ${this.#buildSkillsAndMemoryBlock(skills)}`;
249
233
  let chat;
250
234
  try {
251
235
  chat = await this.#mainProvider.chat([
236
+ { role: "system", content: this.#safetyPolicies },
252
237
  { role: "system", content: systemPrompt },
253
238
  ...this.#messagesCompact
254
239
  ], streamCallback, allTools, abortController.signal);
@@ -266,16 +251,13 @@ ${this.#buildSkillsAndMemoryBlock(skills)}`;
266
251
  const assistantMessage = {
267
252
  role: "assistant",
268
253
  content: chat.content,
254
+ timestamp: Date.now(),
255
+ usage: [{ type: "main", unit: "tokens", inputMissTokens: chat.inputMissTokens ?? 0, inputCacheTokens: chat.inputCacheTokens ?? 0, outputTokens: chat.outputTokens ?? 0 }],
269
256
  ...(chat.toolCalls?.length ? { toolCalls: chat.toolCalls } : {}),
270
257
  ...(chat.thinking ? { thinking: chat.thinking } : {}),
271
258
  ...(chat.providerThinking ? { providerThinking: chat.providerThinking } : {}),
272
259
  };
273
- this.#messagesFull.push(assistantMessage);
274
260
  this.#messagesCompact.push(assistantMessage);
275
- this.#currentInputHitTokens += this.#currentInputMissTokens;
276
- this.#currentInputMissTokens += chat.inputTokens - this.#currentInputMissTokens;
277
- this.#currentOutputTokens += chat.outputTokens;
278
- this.#currentLastOutputTokens = chat.outputTokens;
279
261
  let calledAnyTool = false;
280
262
  const nativeCalls = chat.toolCalls ?? [];
281
263
  for (const call of nativeCalls) {
@@ -286,18 +268,17 @@ ${this.#buildSkillsAndMemoryBlock(skills)}`;
286
268
  content: result.resultText,
287
269
  toolCallId: result.id,
288
270
  toolName: result.name,
289
- ...(result.imagePart ? { parts: [{ type: "text", text: result.resultText }, { type: "image", ...result.imagePart }] } : {}),
271
+ timestamp: Date.now(),
272
+ usage: result.usage ?? [],
290
273
  };
291
- this.#messagesFull.push(toolMessage);
292
274
  this.#messagesCompact.push(toolMessage);
293
- await streamCallback?.({ role: "tool", content: result.resultText, done: true, toolCallId: result.id, toolName: result.name });
275
+ await streamCallback?.({ role: "tool", content: result.resultText, done: true, toolCallId: result.id, toolName: result.name, usage: { inputMissTokens: 0, inputCacheTokens: 0, outputTokens: 0 } });
294
276
  }
295
- const overMemoryBudget = this.#currentInputMissTokens + this.#currentLastOutputTokens > this.#maxMemorizeToken;
277
+ const overMemoryBudget = this.#sumTokensForType("main", this.#messagesCompact).inputMiss > this.#maxMemorizeToken;
296
278
  if (overMemoryBudget) {
297
- const forcePrompt = { role: "user", content: this.#buildForceCompactPrompt() };
298
- this.#messagesFull.push(forcePrompt);
279
+ const forcePrompt = { role: "user", content: this.#buildForceCompactPrompt(), timestamp: Date.now(), hidden: true };
299
280
  this.#messagesCompact.push(forcePrompt);
300
- await streamCallback?.({ role: "user", content: forcePrompt.content, done: true });
281
+ await streamCallback?.({ role: "user", content: forcePrompt.content, done: true, hidden: true });
301
282
  }
302
283
  const stopAfterToolCall = this.#allowedTools.filter(t => nativeCalls.map(nc => nc.name).includes(t.getOptions().name)).find(t => t.getOptions().stopIterationAfterUsingThisTool);
303
284
  keepGoing = (!stopAfterToolCall && calledAnyTool) || overMemoryBudget;
@@ -305,8 +286,8 @@ ${this.#buildSkillsAndMemoryBlock(skills)}`;
305
286
  if (this.#incomingRun.length > 1) {
306
287
  for (let i = 0; i < this.#incomingRun.length - 1; i++) {
307
288
  const run = this.#incomingRun[i];
308
- this.#messagesFull.push({ role: "user", content: run.prompt });
309
- this.#messagesCompact.push({ role: "user", content: run.prompt });
289
+ const queuedMessage = { role: "user", content: run.prompt, timestamp: Date.now() };
290
+ this.#messagesCompact.push(queuedMessage);
310
291
  await streamCallback?.({ role: "user", content: run.prompt, done: true });
311
292
  clearTimeout(run.timeout);
312
293
  clearInterval(run.interval);
@@ -315,55 +296,50 @@ ${this.#buildSkillsAndMemoryBlock(skills)}`;
315
296
  }
316
297
  this.#runningProcess = false;
317
298
  }
318
- /** Full recoverable snapshot of agent state — pass this back in as `initData` on a fresh BaseAgent instance (e.g. after a process restart) to resume exactly where this one left off. Persist the return value to disk (or wherever) whenever you want a recovery point. */
299
+ #sumTokensForType(type, messages) {
300
+ let inputMiss = 0, inputCache = 0, output = 0;
301
+ for (const m of messages) {
302
+ for (const u of m.usage ?? []) {
303
+ if (u.type === type && u.unit === "tokens") {
304
+ inputMiss += u.inputMissTokens;
305
+ inputCache += u.inputCacheTokens;
306
+ output += u.outputTokens;
307
+ }
308
+ }
309
+ }
310
+ return { inputMiss, inputCache, output };
311
+ }
312
+ #sumCostForType(type, messages) {
313
+ let cost = 0;
314
+ for (const m of messages) {
315
+ for (const u of m.usage ?? []) {
316
+ if (u.type === type && u.unit === "cost") {
317
+ cost += u.cost;
318
+ }
319
+ }
320
+ }
321
+ return cost;
322
+ }
319
323
  getCurrentAgentStates() {
320
324
  return {
321
- memory: this.#memory,
322
- messagesFull: this.#messagesFull,
323
- fullInputMissTokens: this.#fullInputMissTokens,
324
- fullInputHitTokens: this.#fullInputHitTokens,
325
- fullOutputTokens: this.#fullOutputTokens,
325
+ compactMemory: this.#compactMemory,
326
+ retiredMessages: this.#retiredMessages,
326
327
  messagesCompact: this.#messagesCompact,
327
- currentInputMissTokens: this.#currentInputMissTokens,
328
- currentInputHitTokens: this.#currentInputHitTokens,
329
- currentOutputTokens: this.#currentOutputTokens,
330
- imageInputMissTokens: this.#imageInputMissTokens,
331
- imageOutputTokens: this.#imageOutputTokens,
332
328
  };
333
329
  }
334
- /** Lifetime total across the main loop (current + all prior compacted segments) AND every ImageDescriber call this agent has made. */
335
- getTotalTokens() {
336
- return {
337
- total: this.#currentInputHitTokens + this.#currentInputMissTokens + this.#currentOutputTokens + this.#fullInputHitTokens + this.#fullInputMissTokens + this.#fullOutputTokens + this.#imageInputMissTokens + this.#imageOutputTokens,
338
- inputHit: this.#currentInputHitTokens + this.#fullInputHitTokens,
339
- inputMiss: this.#currentInputMissTokens + this.#fullInputMissTokens + this.#imageInputMissTokens,
340
- output: this.#currentOutputTokens + this.#fullOutputTokens + this.#imageOutputTokens
341
- };
330
+ getCompactTotalTokens(type) {
331
+ const t = this.#sumTokensForType(type, this.#messagesCompact);
332
+ return { total: t.inputMiss + t.inputCache + t.output, inputHit: t.inputCache, inputMiss: t.inputMiss, output: t.output };
342
333
  }
343
- getCurrentTotalTokens() {
344
- return {
345
- total: this.#currentInputHitTokens + this.#currentInputMissTokens + this.#currentOutputTokens,
346
- inputHit: this.#currentInputHitTokens,
347
- inputMiss: this.#currentInputMissTokens,
348
- output: this.#currentOutputTokens
349
- };
334
+ getFullTotalToken(type) {
335
+ const t = this.#sumTokensForType(type, [...this.#retiredMessages, ...this.#messagesCompact]);
336
+ return { total: t.inputMiss + t.inputCache + t.output, inputHit: t.inputCache, inputMiss: t.inputMiss, output: t.output };
350
337
  }
351
- /** Usage from ImageDescriber calls only (see #resolveToolOutputForModel) — not included in getCurrentTotalTokens()/getFullTotalTokens() since it isn't part of the main loop's current/full split, but it IS folded into getTotalTokens()'s grand total. Each call is a fresh, standalone chat, so there's no hit/miss split to make — inputHit is always 0, every input token counts as inputMiss. */
352
- getImageTotalTokens() {
353
- return {
354
- total: this.#imageInputMissTokens + this.#imageOutputTokens,
355
- inputHit: 0,
356
- inputMiss: this.#imageInputMissTokens,
357
- output: this.#imageOutputTokens
358
- };
338
+ getCompactTotalCost(type) {
339
+ return this.#sumCostForType(type, this.#messagesCompact);
359
340
  }
360
- getFullTotalTokens() {
361
- return {
362
- total: this.#fullInputHitTokens + this.#fullInputMissTokens + this.#fullOutputTokens,
363
- inputHit: this.#fullInputHitTokens,
364
- inputMiss: this.#fullInputMissTokens,
365
- output: this.#fullOutputTokens
366
- };
341
+ getFullTotalCost(type) {
342
+ return this.#sumCostForType(type, [...this.#retiredMessages, ...this.#messagesCompact]);
367
343
  }
368
344
  }
369
345
  export default BaseAgent;
@@ -1 +1 @@
1
- {"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../../src/core/base-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../../src/core/base-agent.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,11 @@ export declare class DeepSeekProvider extends AIProvider {
7
7
  supportsImages?: boolean;
8
8
  contextWindow?: number;
9
9
  thinkEffort?: number;
10
+ userId?: string;
10
11
  });
11
12
  getCapabilities(): ProviderCapabilities;
13
+ /** Settable without reconstructing this provider: `thinkEffort`, `userId`, `supportsTools` — read fresh from the corresponding private field on every `chat()` call. */
14
+ setOption(key: string, value: unknown): void;
12
15
  chat(messages: Message[], streamCallback?: StreamCallback, tools?: ToolSchema[], signal?: AbortSignal): Promise<ChatResponse>;
13
16
  }
14
17
  export default DeepSeekProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"deepseek-provider.d.ts","sourceRoot":"","sources":["../../src/core/deepseek-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAmB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACjI,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAoE1C,qBAAa,gBAAiB,SAAQ,UAAU;;gBAShC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAA4B,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAalL,eAAe,IAAI,oBAAoB;IAUjC,IAAI,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,CAAC,EAAE,cAAc,EAC/B,KAAK,CAAC,EAAE,UAAU,EAAE,EACpB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,YAAY,CAAC;CA2H3B;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"deepseek-provider.d.ts","sourceRoot":"","sources":["../../src/core/deepseek-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAmB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACjI,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAuE1C,qBAAa,gBAAiB,SAAQ,UAAU;;gBAWhC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAA4B,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAcnM,eAAe,IAAI,oBAAoB;IAqBvC,wKAAwK;IACxK,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAStC,IAAI,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,CAAC,EAAE,cAAc,EAC/B,KAAK,CAAC,EAAE,UAAU,EAAE,EACpB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,YAAY,CAAC;CA4I3B;AAED,eAAe,gBAAgB,CAAC"}