orbitx 0.2.6 → 0.2.8

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 (283) 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 +13 -4
  21. package/dist/core/mcp-client.d.ts.map +1 -1
  22. package/dist/core/mcp-client.js +40 -7
  23. package/dist/core/mcp-client.js.map +1 -1
  24. package/dist/core/mcp-execution-policy.d.ts +14 -0
  25. package/dist/core/mcp-execution-policy.d.ts.map +1 -0
  26. package/dist/core/mcp-execution-policy.js +9 -0
  27. package/dist/core/mcp-execution-policy.js.map +1 -0
  28. package/dist/core/mcp-filter.d.ts +6 -2
  29. package/dist/core/mcp-filter.d.ts.map +1 -1
  30. package/dist/core/mcp-filter.js +4 -2
  31. package/dist/core/mcp-filter.js.map +1 -1
  32. package/dist/core/mcp-server.d.ts +5 -1
  33. package/dist/core/mcp-server.d.ts.map +1 -1
  34. package/dist/core/mcp-server.js +31 -1
  35. package/dist/core/mcp-server.js.map +1 -1
  36. package/dist/core/mcp.d.ts +9 -23
  37. package/dist/core/mcp.d.ts.map +1 -1
  38. package/dist/core/mcp.js +1 -24
  39. package/dist/core/mcp.js.map +1 -1
  40. package/dist/core/ollama-provider.d.ts +3 -0
  41. package/dist/core/ollama-provider.d.ts.map +1 -1
  42. package/dist/core/ollama-provider.js +31 -7
  43. package/dist/core/ollama-provider.js.map +1 -1
  44. package/dist/core/openai-provider.d.ts +3 -0
  45. package/dist/core/openai-provider.d.ts.map +1 -1
  46. package/dist/core/openai-provider.js +51 -8
  47. package/dist/core/openai-provider.js.map +1 -1
  48. package/dist/core/skill.d.ts +2 -2
  49. package/dist/core/skill.d.ts.map +1 -1
  50. package/dist/index.d.ts +16 -21
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +11 -11
  53. package/dist/index.js.map +1 -1
  54. package/dist/templates/simple.d.ts +8 -12
  55. package/dist/templates/simple.d.ts.map +1 -1
  56. package/dist/templates/simple.js +6 -10
  57. package/dist/templates/simple.js.map +1 -1
  58. package/dist/tests/core/mcp-execution-policy.test.d.ts +2 -0
  59. package/dist/tests/core/mcp-execution-policy.test.d.ts.map +1 -0
  60. package/dist/tests/core/mcp-execution-policy.test.js +77 -0
  61. package/dist/tests/core/mcp-execution-policy.test.js.map +1 -0
  62. package/dist/tests/core/mcp-output-filter.test.d.ts +2 -0
  63. package/dist/tests/core/mcp-output-filter.test.d.ts.map +1 -0
  64. package/dist/tests/core/mcp-output-filter.test.js +43 -0
  65. package/dist/tests/core/mcp-output-filter.test.js.map +1 -0
  66. package/dist/tests/index.d.ts +2 -0
  67. package/dist/tests/index.d.ts.map +1 -1
  68. package/dist/tests/index.js +2 -0
  69. package/dist/tests/index.js.map +1 -1
  70. package/dist/tests/tools/agent/agent-tools.test.js +20 -17
  71. package/dist/tests/tools/agent/agent-tools.test.js.map +1 -1
  72. package/dist/tests/tools/question-answer/question-answer.test.js +1 -11
  73. package/dist/tests/tools/question-answer/question-answer.test.js.map +1 -1
  74. package/dist/tests/tools/utils/read-image.test.js +29 -17
  75. package/dist/tests/tools/utils/read-image.test.js.map +1 -1
  76. package/dist/tools/agent/hire.d.ts +1 -2
  77. package/dist/tools/agent/hire.d.ts.map +1 -1
  78. package/dist/tools/agent/hire.js +1 -4
  79. package/dist/tools/agent/hire.js.map +1 -1
  80. package/dist/tools/agent/index.d.ts +1 -3
  81. package/dist/tools/agent/index.d.ts.map +1 -1
  82. package/dist/tools/agent/index.js +0 -1
  83. package/dist/tools/agent/index.js.map +1 -1
  84. package/dist/tools/agent/list.d.ts +1 -1
  85. package/dist/tools/agent/list.d.ts.map +1 -1
  86. package/dist/tools/agent/prompt.d.ts +1 -2
  87. package/dist/tools/agent/prompt.d.ts.map +1 -1
  88. package/dist/tools/agent/prompt.js +11 -7
  89. package/dist/tools/agent/prompt.js.map +1 -1
  90. package/dist/tools/agent/report.d.ts +1 -1
  91. package/dist/tools/agent/report.d.ts.map +1 -1
  92. package/dist/tools/bash/index.d.ts +1 -3
  93. package/dist/tools/bash/index.d.ts.map +1 -1
  94. package/dist/tools/bash/index.js +0 -1
  95. package/dist/tools/bash/index.js.map +1 -1
  96. package/dist/tools/bash/list.d.ts +1 -1
  97. package/dist/tools/bash/list.d.ts.map +1 -1
  98. package/dist/tools/bash/list.js +1 -1
  99. package/dist/tools/bash/list.js.map +1 -1
  100. package/dist/tools/bash/logs.d.ts +1 -1
  101. package/dist/tools/bash/logs.d.ts.map +1 -1
  102. package/dist/tools/bash/logs.js +1 -1
  103. package/dist/tools/bash/logs.js.map +1 -1
  104. package/dist/tools/bash/run.d.ts +1 -2
  105. package/dist/tools/bash/run.d.ts.map +1 -1
  106. package/dist/tools/bash/run.js +1 -7
  107. package/dist/tools/bash/run.js.map +1 -1
  108. package/dist/tools/bash/terminate.d.ts +1 -2
  109. package/dist/tools/bash/terminate.d.ts.map +1 -1
  110. package/dist/tools/bash/terminate.js +1 -4
  111. package/dist/tools/bash/terminate.js.map +1 -1
  112. package/dist/tools/bash/wait.d.ts +1 -2
  113. package/dist/tools/bash/wait.d.ts.map +1 -1
  114. package/dist/tools/bash/wait.js +1 -7
  115. package/dist/tools/bash/wait.js.map +1 -1
  116. package/dist/tools/bash/write-input.d.ts +1 -2
  117. package/dist/tools/bash/write-input.d.ts.map +1 -1
  118. package/dist/tools/bash/write-input.js +1 -4
  119. package/dist/tools/bash/write-input.js.map +1 -1
  120. package/dist/tools/browser/click.d.ts +1 -2
  121. package/dist/tools/browser/click.d.ts.map +1 -1
  122. package/dist/tools/browser/click.js +1 -4
  123. package/dist/tools/browser/click.js.map +1 -1
  124. package/dist/tools/browser/console.d.ts +1 -1
  125. package/dist/tools/browser/console.d.ts.map +1 -1
  126. package/dist/tools/browser/create-session.d.ts +1 -2
  127. package/dist/tools/browser/create-session.d.ts.map +1 -1
  128. package/dist/tools/browser/create-session.js +1 -4
  129. package/dist/tools/browser/create-session.js.map +1 -1
  130. package/dist/tools/browser/fill.d.ts +1 -2
  131. package/dist/tools/browser/fill.d.ts.map +1 -1
  132. package/dist/tools/browser/fill.js +1 -4
  133. package/dist/tools/browser/fill.js.map +1 -1
  134. package/dist/tools/browser/get-sessions.d.ts +1 -1
  135. package/dist/tools/browser/get-sessions.d.ts.map +1 -1
  136. package/dist/tools/browser/index.d.ts +1 -3
  137. package/dist/tools/browser/index.d.ts.map +1 -1
  138. package/dist/tools/browser/index.js +0 -1
  139. package/dist/tools/browser/index.js.map +1 -1
  140. package/dist/tools/browser/inject.d.ts +1 -2
  141. package/dist/tools/browser/inject.d.ts.map +1 -1
  142. package/dist/tools/browser/inject.js +1 -4
  143. package/dist/tools/browser/inject.js.map +1 -1
  144. package/dist/tools/browser/navigate.d.ts +1 -2
  145. package/dist/tools/browser/navigate.d.ts.map +1 -1
  146. package/dist/tools/browser/navigate.js +1 -4
  147. package/dist/tools/browser/navigate.js.map +1 -1
  148. package/dist/tools/browser/network-status.d.ts +1 -1
  149. package/dist/tools/browser/network-status.d.ts.map +1 -1
  150. package/dist/tools/browser/network.d.ts +1 -1
  151. package/dist/tools/browser/network.d.ts.map +1 -1
  152. package/dist/tools/browser/read.d.ts +1 -2
  153. package/dist/tools/browser/read.d.ts.map +1 -1
  154. package/dist/tools/browser/read.js +1 -4
  155. package/dist/tools/browser/read.js.map +1 -1
  156. package/dist/tools/browser/remove-session.d.ts +1 -2
  157. package/dist/tools/browser/remove-session.d.ts.map +1 -1
  158. package/dist/tools/browser/remove-session.js +1 -4
  159. package/dist/tools/browser/remove-session.js.map +1 -1
  160. package/dist/tools/browser/screenshot.d.ts +1 -2
  161. package/dist/tools/browser/screenshot.d.ts.map +1 -1
  162. package/dist/tools/browser/screenshot.js +16 -15
  163. package/dist/tools/browser/screenshot.js.map +1 -1
  164. package/dist/tools/browser/scroll-info.d.ts +1 -1
  165. package/dist/tools/browser/scroll-info.d.ts.map +1 -1
  166. package/dist/tools/browser/scroll.d.ts +1 -2
  167. package/dist/tools/browser/scroll.d.ts.map +1 -1
  168. package/dist/tools/browser/scroll.js +1 -4
  169. package/dist/tools/browser/scroll.js.map +1 -1
  170. package/dist/tools/browser/submit-form.d.ts +1 -2
  171. package/dist/tools/browser/submit-form.d.ts.map +1 -1
  172. package/dist/tools/browser/submit-form.js +1 -4
  173. package/dist/tools/browser/submit-form.js.map +1 -1
  174. package/dist/tools/fs/create-dir.d.ts +1 -2
  175. package/dist/tools/fs/create-dir.d.ts.map +1 -1
  176. package/dist/tools/fs/create-dir.js +1 -4
  177. package/dist/tools/fs/create-dir.js.map +1 -1
  178. package/dist/tools/fs/delete.d.ts +1 -2
  179. package/dist/tools/fs/delete.d.ts.map +1 -1
  180. package/dist/tools/fs/delete.js +1 -4
  181. package/dist/tools/fs/delete.js.map +1 -1
  182. package/dist/tools/fs/edit-file.d.ts +1 -2
  183. package/dist/tools/fs/edit-file.d.ts.map +1 -1
  184. package/dist/tools/fs/edit-file.js +1 -4
  185. package/dist/tools/fs/edit-file.js.map +1 -1
  186. package/dist/tools/fs/index.d.ts +1 -3
  187. package/dist/tools/fs/index.d.ts.map +1 -1
  188. package/dist/tools/fs/index.js +0 -1
  189. package/dist/tools/fs/index.js.map +1 -1
  190. package/dist/tools/fs/list-dir.d.ts +1 -2
  191. package/dist/tools/fs/list-dir.d.ts.map +1 -1
  192. package/dist/tools/fs/list-dir.js +1 -4
  193. package/dist/tools/fs/list-dir.js.map +1 -1
  194. package/dist/tools/fs/move.d.ts +1 -2
  195. package/dist/tools/fs/move.d.ts.map +1 -1
  196. package/dist/tools/fs/move.js +1 -4
  197. package/dist/tools/fs/move.js.map +1 -1
  198. package/dist/tools/fs/read-file.d.ts +1 -2
  199. package/dist/tools/fs/read-file.d.ts.map +1 -1
  200. package/dist/tools/fs/read-file.js +1 -4
  201. package/dist/tools/fs/read-file.js.map +1 -1
  202. package/dist/tools/fs/stat.d.ts +1 -2
  203. package/dist/tools/fs/stat.d.ts.map +1 -1
  204. package/dist/tools/fs/stat.js +1 -4
  205. package/dist/tools/fs/stat.js.map +1 -1
  206. package/dist/tools/fs/write-file.d.ts +1 -2
  207. package/dist/tools/fs/write-file.d.ts.map +1 -1
  208. package/dist/tools/fs/write-file.js +1 -4
  209. package/dist/tools/fs/write-file.js.map +1 -1
  210. package/dist/tools/present/add.d.ts +1 -2
  211. package/dist/tools/present/add.d.ts.map +1 -1
  212. package/dist/tools/present/add.js +1 -4
  213. package/dist/tools/present/add.js.map +1 -1
  214. package/dist/tools/present/clear.d.ts +1 -2
  215. package/dist/tools/present/clear.d.ts.map +1 -1
  216. package/dist/tools/present/clear.js +1 -4
  217. package/dist/tools/present/clear.js.map +1 -1
  218. package/dist/tools/present/get-list.d.ts +1 -2
  219. package/dist/tools/present/get-list.d.ts.map +1 -1
  220. package/dist/tools/present/get-list.js +0 -2
  221. package/dist/tools/present/get-list.js.map +1 -1
  222. package/dist/tools/present/index.d.ts +1 -3
  223. package/dist/tools/present/index.d.ts.map +1 -1
  224. package/dist/tools/present/index.js +0 -1
  225. package/dist/tools/present/index.js.map +1 -1
  226. package/dist/tools/question-answer/index.d.ts +1 -3
  227. package/dist/tools/question-answer/index.d.ts.map +1 -1
  228. package/dist/tools/question-answer/index.js +0 -1
  229. package/dist/tools/question-answer/index.js.map +1 -1
  230. package/dist/tools/question-answer/question-answer.d.ts +1 -2
  231. package/dist/tools/question-answer/question-answer.d.ts.map +1 -1
  232. package/dist/tools/question-answer/question-answer.js +1 -4
  233. package/dist/tools/question-answer/question-answer.js.map +1 -1
  234. package/dist/tools/todo/check-task.d.ts +1 -2
  235. package/dist/tools/todo/check-task.d.ts.map +1 -1
  236. package/dist/tools/todo/check-task.js +1 -4
  237. package/dist/tools/todo/check-task.js.map +1 -1
  238. package/dist/tools/todo/create-list.d.ts +1 -2
  239. package/dist/tools/todo/create-list.d.ts.map +1 -1
  240. package/dist/tools/todo/create-list.js +1 -4
  241. package/dist/tools/todo/create-list.js.map +1 -1
  242. package/dist/tools/todo/create-task.d.ts +1 -2
  243. package/dist/tools/todo/create-task.d.ts.map +1 -1
  244. package/dist/tools/todo/create-task.js +1 -4
  245. package/dist/tools/todo/create-task.js.map +1 -1
  246. package/dist/tools/todo/get-list.d.ts +1 -1
  247. package/dist/tools/todo/get-list.d.ts.map +1 -1
  248. package/dist/tools/todo/get-list.js +1 -1
  249. package/dist/tools/todo/get-list.js.map +1 -1
  250. package/dist/tools/todo/get-lists.d.ts +1 -1
  251. package/dist/tools/todo/get-lists.d.ts.map +1 -1
  252. package/dist/tools/todo/get-lists.js +1 -1
  253. package/dist/tools/todo/get-lists.js.map +1 -1
  254. package/dist/tools/todo/index.d.ts +1 -3
  255. package/dist/tools/todo/index.d.ts.map +1 -1
  256. package/dist/tools/todo/index.js +0 -1
  257. package/dist/tools/todo/index.js.map +1 -1
  258. package/dist/tools/todo/remove-list.d.ts +1 -2
  259. package/dist/tools/todo/remove-list.d.ts.map +1 -1
  260. package/dist/tools/todo/remove-list.js +1 -4
  261. package/dist/tools/todo/remove-list.js.map +1 -1
  262. package/dist/tools/todo/remove-task.d.ts +1 -2
  263. package/dist/tools/todo/remove-task.d.ts.map +1 -1
  264. package/dist/tools/todo/remove-task.js +1 -4
  265. package/dist/tools/todo/remove-task.js.map +1 -1
  266. package/dist/tools/utils/delay.d.ts +1 -1
  267. package/dist/tools/utils/delay.d.ts.map +1 -1
  268. package/dist/tools/utils/get-current-time.d.ts +1 -1
  269. package/dist/tools/utils/get-current-time.d.ts.map +1 -1
  270. package/dist/tools/utils/index.d.ts +1 -1
  271. package/dist/tools/utils/index.d.ts.map +1 -1
  272. package/dist/tools/utils/read-image.d.ts +12 -7
  273. package/dist/tools/utils/read-image.d.ts.map +1 -1
  274. package/dist/tools/utils/read-image.js +27 -17
  275. package/dist/tools/utils/read-image.js.map +1 -1
  276. package/docs/agents.md +50 -25
  277. package/docs/api-reference.md +14 -14
  278. package/docs/getting-started.md +2 -2
  279. package/docs/mcp-architecture.md +52 -6
  280. package/docs/providers.md +114 -15
  281. package/docs/streaming.md +19 -2
  282. package/docs/tools.md +43 -10
  283. package/package.json +1 -1
@@ -1,16 +1,21 @@
1
- import type { AIProvider } from "./ai-provider.js";
2
- export type AgentProviderRole = "main" | "image";
1
+ import type { AIProvider, ProviderType } from "./ai-provider.js";
3
2
  export interface AgentProviderEntry {
4
- aiProvider: AIProvider;
5
- type: AgentProviderRole;
3
+ type: ProviderType;
4
+ provider: AIProvider | AIProvider[];
5
+ default?: number;
6
6
  }
7
7
  export type AgentProvidersInput = AIProvider | AgentProviderEntry[];
8
- export interface ResolvedAgentProviders {
9
- main: AIProvider;
10
- /** Present only if a provider was assigned the "image" role, or (single-provider case) the one provider supports images. */
11
- image?: AIProvider;
8
+ interface ProviderPool {
9
+ providers: AIProvider[];
10
+ default: number;
12
11
  }
13
- /** Only two provider roles exist: "main" (the agent loop itself) and "image" (describing/handling image tool output). There is no separate "utils" provider — all skills and tools are always included in the system prompt from the start, so there's nothing left for a utils pass to decide. */
14
- export declare function resolveAgentProviders(input: AgentProvidersInput): ResolvedAgentProviders;
12
+ export declare class ProviderRegistry {
13
+ #private;
14
+ constructor(byType: Map<ProviderType, ProviderPool>);
15
+ getMain(): AIProvider;
16
+ getProvider(type: ProviderType): AIProvider | undefined;
17
+ getProviders(type: ProviderType): AIProvider[] | undefined;
18
+ }
19
+ export declare function resolveAgentProviders(input: AgentProvidersInput): ProviderRegistry;
15
20
  export default resolveAgentProviders;
16
21
  //# sourceMappingURL=agent-providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-providers.d.ts","sourceRoot":"","sources":["../../src/core/agent-providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,kBAAkB,EAAE,CAAC;AAEpE,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,4HAA4H;IAC5H,KAAK,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,mSAAmS;AACnS,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,sBAAsB,CAoBxF;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"agent-providers.d.ts","sourceRoot":"","sources":["../../src/core/agent-providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAwB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEvF,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,kBAAkB,EAAE,CAAC;AAEpE,UAAU,YAAY;IAClB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACnB;AAwBD,qBAAa,gBAAgB;;gBAGb,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC;IAInD,OAAO,IAAI,UAAU;IAIrB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS;IAkBvD,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,EAAE,GAAG,SAAS;CAG7D;AAWD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,gBAAgB,CAclF;AAED,eAAe,qBAAqB,CAAC"}
@@ -1,21 +1,71 @@
1
- /** Only two provider roles exist: "main" (the agent loop itself) and "image" (describing/handling image tool output). There is no separate "utils" provider — all skills and tools are always included in the system prompt from the start, so there's nothing left for a utils pass to decide. */
2
- export function resolveAgentProviders(input) {
3
- if (!Array.isArray(input)) {
4
- const caps = input.getCapabilities();
5
- return {
6
- main: input,
7
- image: caps.supportsImages ? input : undefined,
8
- };
1
+ /**
2
+ * Maps the well-known `ProviderType` role names onto the `ProviderCapabilities`
3
+ * flag that actually describes that ability — used only as a fallback when
4
+ * nothing is registered under the role itself (see `getProvider` below).
5
+ * Role names with no capability equivalent (`main`, `llm-low`/`medium`/`high`,
6
+ * any custom string) simply aren't listed here, so the fallback never applies
7
+ * to them.
8
+ */
9
+ const CAPABILITY_BY_TYPE = {
10
+ "image-describer": "supportsImages",
11
+ "image-generation": "supportsImageGeneration",
12
+ "image-editing": "supportsImageEditing",
13
+ "video-describer": "supportsVideo",
14
+ "video-generation": "supportsVideoGeneration",
15
+ "video-editing": "supportsVideoEditing",
16
+ "audio-describer": "supportsAudio",
17
+ "audio-generation": "supportsAudioGeneration",
18
+ "audio-design": "supportsAudioDesign",
19
+ "audio-clone": "supportsAudioClone",
20
+ "3d-model-generator": "supports3DModelGeneration",
21
+ };
22
+ export class ProviderRegistry {
23
+ #byType;
24
+ constructor(byType) {
25
+ this.#byType = byType;
26
+ }
27
+ getMain() {
28
+ return this.#byType.get("main").providers[this.#byType.get("main").default];
29
+ }
30
+ getProvider(type) {
31
+ const pool = this.#byType.get(type);
32
+ if (pool)
33
+ return pool.providers[pool.default];
34
+ const capabilityKey = CAPABILITY_BY_TYPE[type];
35
+ if (!capabilityKey)
36
+ return undefined;
37
+ for (const otherPool of this.#byType.values()) {
38
+ for (const provider of otherPool.providers) {
39
+ if (provider.getCapabilities()[capabilityKey]) {
40
+ return provider;
41
+ }
42
+ }
43
+ }
44
+ return undefined;
9
45
  }
10
- const mainEntry = input.find(e => e.type === "main");
11
- if (!mainEntry) {
46
+ getProviders(type) {
47
+ return this.#byType.get(type)?.providers;
48
+ }
49
+ }
50
+ function toPool(entry) {
51
+ const providers = Array.isArray(entry.provider) ? entry.provider : [entry.provider];
52
+ const defaultIndex = entry.default ?? 0;
53
+ if (defaultIndex < 0 || defaultIndex >= providers.length) {
54
+ throw new Error(`resolveAgentProviders: entry "${entry.type}" has default=${defaultIndex}, out of range for its ${providers.length}-provider pool.`);
55
+ }
56
+ return { providers, default: defaultIndex };
57
+ }
58
+ export function resolveAgentProviders(input) {
59
+ const entries = Array.isArray(input) ? input : [{ type: "main", provider: input }];
60
+ const mainEntries = entries.filter(e => e.type === "main");
61
+ if (mainEntries.length === 0) {
12
62
  throw new Error("resolveAgentProviders: a provider with type \"main\" is required when passing an array of providers.");
13
63
  }
14
- const imageEntry = input.find(e => e.type === "image");
15
- return {
16
- main: mainEntry.aiProvider,
17
- image: imageEntry?.aiProvider,
18
- };
64
+ const byType = new Map();
65
+ for (const entry of entries) {
66
+ byType.set(entry.type, toPool(entry));
67
+ }
68
+ return new ProviderRegistry(byType);
19
69
  }
20
70
  export default resolveAgentProviders;
21
71
  //# sourceMappingURL=agent-providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-providers.js","sourceRoot":"","sources":["../../src/core/agent-providers.ts"],"names":[],"mappings":"AAiBA,mSAAmS;AACnS,MAAM,UAAU,qBAAqB,CAAC,KAA0B;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO;YACH,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACjD,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;IAC5H,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAEvD,OAAO;QACH,IAAI,EAAE,SAAS,CAAC,UAAU;QAC1B,KAAK,EAAE,UAAU,EAAE,UAAU;KAChC,CAAC;AACN,CAAC;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"agent-providers.js","sourceRoot":"","sources":["../../src/core/agent-providers.ts"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAA8D;IAClF,iBAAiB,EAAE,gBAAgB;IACnC,kBAAkB,EAAE,yBAAyB;IAC7C,eAAe,EAAE,sBAAsB;IACvC,iBAAiB,EAAE,eAAe;IAClC,kBAAkB,EAAE,yBAAyB;IAC7C,eAAe,EAAE,sBAAsB;IACvC,iBAAiB,EAAE,eAAe;IAClC,kBAAkB,EAAE,yBAAyB;IAC7C,cAAc,EAAE,qBAAqB;IACrC,aAAa,EAAE,oBAAoB;IACnC,oBAAoB,EAAE,2BAA2B;CACpD,CAAC;AAEF,MAAM,OAAO,gBAAgB;IACzB,OAAO,CAAkC;IAEzC,YAAY,MAAuC;QAC/C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,OAAO,CAAC,CAAC;IAClF,CAAC;IAED,WAAW,CAAC,IAAkB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE9C,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa;YAAE,OAAO,SAAS,CAAC;QAErC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;gBACzC,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC5C,OAAO,QAAQ,CAAC;gBACpB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,IAAkB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC7C,CAAC;CACJ;AAED,SAAS,MAAM,CAAC,KAAyB;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IACxC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,IAAI,iBAAiB,YAAY,0BAA0B,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC;IACzJ,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAA0B;IAC5D,MAAM,OAAO,GAAyB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzG,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;IAC5H,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,eAAe,qBAAqB,CAAC"}
@@ -31,6 +31,20 @@ export type MessageContentPart = {
31
31
  image: string;
32
32
  mimeType?: string;
33
33
  };
34
+ export type ProviderType = "main" | "image-describer" | "image-generation" | "image-editing" | "video-describer" | "video-generation" | "video-editing" | "audio-describer" | "audio-generation" | "audio-design" | "audio-clone" | "3d-model-generator" | "llm-low" | "llm-medium" | "llm-high" | (string & {});
35
+ export interface MessageUsageTokens {
36
+ type: ProviderType;
37
+ unit: "tokens";
38
+ inputMissTokens: number;
39
+ inputCacheTokens: number;
40
+ outputTokens: number;
41
+ }
42
+ export interface MessageUsageCost {
43
+ type: ProviderType;
44
+ unit: "cost";
45
+ cost: number;
46
+ }
47
+ export type MessageUsage = MessageUsageTokens | MessageUsageCost;
34
48
  export interface Message {
35
49
  role: "user" | "system" | "assistant" | "tool";
36
50
  content?: string;
@@ -52,11 +66,17 @@ export interface Message {
52
66
  * untouched; only the provider that produced it interprets it.
53
67
  */
54
68
  providerThinking?: any[];
69
+ timestamp?: number;
70
+ /** True on messages BaseAgent injects itself rather than ones a human or the model produced (e.g. the forced-compaction nudge) — a hint for UI code to filter out of what's shown to an end user. Defaults to false/absent; purely a display hint, not sent to any provider. */
71
+ hidden?: boolean;
72
+ usage?: MessageUsage[];
55
73
  }
56
74
  export interface ChatResponse {
57
75
  content: string;
58
- inputTokens: number;
59
- outputTokens: number;
76
+ inputMissTokens?: number;
77
+ inputCacheTokens?: number;
78
+ outputTokens?: number;
79
+ cost?: number;
60
80
  /** Native tool calls requested by the model, when the provider supports native tool-calling and tools were supplied. */
61
81
  toolCalls?: ToolCallRequest[];
62
82
  /** Accumulated reasoning/thinking text produced this turn, when thinking was requested and the provider can surface it. See `Message.thinking`. */
@@ -88,6 +108,13 @@ export type StreamCallback = (chunk: {
88
108
  toolName?: string;
89
109
  /** Reasoning/thinking text delta for this chunk, mirroring `content` — present only while the model is thinking, absent (or empty) once it moves on to its actual answer. Only ever set on non-`done` assistant chunks. Never set unless the provider was configured with `thinkEffort` and can stream thinking (see `ProviderCapabilities.supportsThinking`); when a thinking chunk is emitted, `content` on that same chunk is empty. */
90
110
  thinking?: string;
111
+ /** Mirrors `Message.hidden` — true on chunks for a message BaseAgent injected itself (e.g. the forced-compaction nudge), so a live-streaming UI can filter it out the same way it would filter the persisted Message. */
112
+ hidden?: boolean;
113
+ usage?: {
114
+ inputMissTokens: number;
115
+ inputCacheTokens: number;
116
+ outputTokens: number;
117
+ };
91
118
  }) => Promise<void> | void;
92
119
  /**
93
120
  * Static capability + limits description for a provider/model pair. This
@@ -103,10 +130,32 @@ export interface ProviderCapabilities {
103
130
  supportsImages: boolean;
104
131
  /** The model's total context window, in tokens. Used to derive a safe default for when to trigger a memory-compaction event, without needing a hardcoded per-agent constant. */
105
132
  contextWindow: number;
133
+ /** The model's maximum output tokens per response, when known. Not yet enforced anywhere — reserved for the agent loop to size/guard its own output budgeting in a future release. Undefined where not confirmed for a given provider/model. */
134
+ maxOutputTokens?: number;
106
135
  /** Fraction of the context window (0-1) that's safe to fill before compacting; leaves headroom for the system prompt, tool schema, and the model's own output. Defaults applied by callers if not specified. */
107
136
  safeUsageRatio?: number;
108
137
  /** Whether this provider can surface the model's reasoning/thinking text (streamed via the `thinking` chunk field, and returned as `ChatResponse.thinking`) when constructed with `thinkEffort`. A provider may still accept/honor `thinkEffort` server-side (e.g. it changes response quality/latency) while reporting `false` here, if its API never exposes the reasoning text itself. */
109
138
  supportsThinking?: boolean;
139
+ /** Whether this provider/model accepts video content in messages. */
140
+ supportsVideo?: boolean;
141
+ /** Whether this provider/model accepts audio content in messages. */
142
+ supportsAudio?: boolean;
143
+ /** Whether this provider/model can generate new images. */
144
+ supportsImageGeneration?: boolean;
145
+ /** Whether this provider/model can edit an existing image. */
146
+ supportsImageEditing?: boolean;
147
+ /** Whether this provider/model can generate new video. */
148
+ supportsVideoGeneration?: boolean;
149
+ /** Whether this provider/model can edit existing video. */
150
+ supportsVideoEditing?: boolean;
151
+ /** Whether this provider/model can generate new audio (speech, music, sound effects). */
152
+ supportsAudioGeneration?: boolean;
153
+ /** Whether this provider/model can design/produce sound effects or soundscapes. */
154
+ supportsAudioDesign?: boolean;
155
+ /** Whether this provider/model can clone a voice from a reference sample. */
156
+ supportsAudioClone?: boolean;
157
+ /** Whether this provider/model can generate a new 3D model. */
158
+ supports3DModelGeneration?: boolean;
110
159
  }
111
160
  export declare abstract class AIProvider {
112
161
  /**
@@ -120,6 +169,7 @@ export declare abstract class AIProvider {
120
169
  abstract chat(messages: Message[], streamCallback?: StreamCallback, tools?: ToolSchema[], signal?: AbortSignal): Promise<ChatResponse>;
121
170
  /** Describe what this provider/model can do — used by BaseAgent to pick the native-tools vs. legacy-JSON path and to size the memory-compaction threshold. */
122
171
  abstract getCapabilities(): ProviderCapabilities;
172
+ abstract setOption(key: string, value: unknown): void;
123
173
  }
124
174
  export default AIProvider;
125
175
  //# sourceMappingURL=ai-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-provider.d.ts","sourceRoot":"","sources":["../../src/core/ai-provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider.js","sourceRoot":"","sources":["../../src/core/ai-provider.ts"],"names":[],"mappings":"AAgHA,MAAM,OAAgB,UAAU;CAkB/B;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ai-provider.js","sourceRoot":"","sources":["../../src/core/ai-provider.ts"],"names":[],"mappings":"AAqLA,MAAM,OAAgB,UAAU;CAoB/B;AAED,eAAe,UAAU,CAAC"}
@@ -8,8 +8,13 @@ export declare class AnthropicProvider extends AIProvider {
8
8
  contextWindow?: number;
9
9
  maxTokens?: number;
10
10
  thinkEffort?: number;
11
+ userId?: string;
12
+ disablePromptCaching?: boolean;
13
+ extendedContext?: boolean | string;
11
14
  });
12
15
  getCapabilities(): ProviderCapabilities;
16
+ /** Settable without reconstructing this provider: `thinkEffort`, `userId`, `disablePromptCaching`, `maxTokens`, `supportsTools` — every one of these is read fresh from the corresponding private field on every `chat()` call, never baked into derived state at construction (unlike `contextWindow`/`extendedContext`, which are out of scope here). */
17
+ setOption(key: string, value: unknown): void;
13
18
  chat(messages: Message[], streamCallback?: StreamCallback, tools?: ToolSchema[], signal?: AbortSignal): Promise<ChatResponse>;
14
19
  }
15
20
  export default AnthropicProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../src/core/anthropic-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;AAyH1C,qBAAa,iBAAkB,SAAQ,UAAU;;gBAUjC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAA0B,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAWpM,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;CA4J3B;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../src/core/anthropic-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;AA0J1C,qBAAa,iBAAkB,SAAQ,UAAU;;gBAcjC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAA0B,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAO;IAazR,eAAe,IAAI,oBAAoB;IAqBvC,2VAA2V;IAC3V,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAWtC,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;CAwK3B;AAED,eAAe,iBAAiB,CAAC"}
@@ -3,13 +3,33 @@ import AIProvider from "./ai-provider.js";
3
3
  import { toAnthropicTools } from "./tool-schema-translator.js";
4
4
  import { withRetry } from "./retry.js";
5
5
  const MODEL_CONTEXT_WINDOWS = {
6
- "claude-opus-4-8": 200_000,
7
- "claude-sonnet-5": 200_000,
6
+ "claude-opus-5": 1_000_000,
7
+ "claude-sonnet-5": 1_000_000,
8
+ "claude-fable-5": 1_000_000,
9
+ "claude-opus-4-8": 1_000_000,
10
+ "claude-opus-4-7": 1_000_000,
11
+ "claude-opus-4-6": 1_000_000,
12
+ "claude-sonnet-4-6": 1_000_000,
13
+ "claude-opus-4-5": 200_000,
14
+ "claude-sonnet-4-5": 200_000,
8
15
  "claude-haiku-4-5-20251001": 200_000,
9
- "claude-fable-5": 200_000,
10
- "claude-mythos-5": 200_000,
16
+ "claude-mythos-5": 1_000_000,
11
17
  };
12
18
  const DEFAULT_CONTEXT_WINDOW = 200_000;
19
+ const MODEL_MAX_OUTPUT_TOKENS = {
20
+ "claude-fable-5": 128_000,
21
+ "claude-mythos-5": 128_000,
22
+ "claude-opus-5": 128_000,
23
+ "claude-sonnet-5": 128_000,
24
+ "claude-opus-4-8": 128_000,
25
+ "claude-opus-4-7": 128_000,
26
+ "claude-opus-4-6": 128_000,
27
+ "claude-sonnet-4-6": 128_000,
28
+ "claude-opus-4-5": 64_000,
29
+ "claude-sonnet-4-5": 64_000,
30
+ "claude-haiku-4-5-20251001": 64_000,
31
+ };
32
+ const DEFAULT_MAX_OUTPUT_TOKENS = 128_000;
13
33
  // Anthropic's extended thinking takes a numeric token budget rather than a
14
34
  // low/medium/high enum, so the universal 0-1 `thinkEffort` is mapped onto a
15
35
  // budget range instead of going through resolveThinkEffortLevel(). The
@@ -82,6 +102,19 @@ function toAnthropicMessages(messages) {
82
102
  }
83
103
  return { system: systemParts.join("\n\n"), messages: out };
84
104
  }
105
+ function withCacheControl(messages) {
106
+ if (messages.length === 0)
107
+ return messages;
108
+ const last = messages[messages.length - 1];
109
+ const content = typeof last.content === "string"
110
+ ? [{ type: "text", text: last.content }]
111
+ : [...last.content];
112
+ if (content.length === 0)
113
+ return messages;
114
+ const lastIndex = content.length - 1;
115
+ content[lastIndex] = { ...content[lastIndex], cache_control: { type: "ephemeral" } };
116
+ return [...messages.slice(0, -1), { ...last, content }];
117
+ }
85
118
  function fromAnthropicToolCalls(content) {
86
119
  if (!content)
87
120
  return undefined;
@@ -123,30 +156,71 @@ export class AnthropicProvider extends AIProvider {
123
156
  #maxTokens;
124
157
  /** Universal 0-1 thinking effort — see src/core/think-effort.ts. Mapped onto Anthropic's numeric thinking-token budget in #chat. */
125
158
  #thinkEffort;
159
+ /** Opaque end-user identifier forwarded as `metadata.user_id` on every request, for Anthropic's own abuse-monitoring — see docs/providers.md#user-tracking. */
160
+ #userId;
161
+ /** Ephemeral cache_control breakpoint on by default (see withCacheControl) — set true to send every request uncached. */
162
+ #disablePromptCaching;
126
163
  constructor(apiKey, model = "claude-sonnet-5", options = {}) {
127
164
  super();
128
165
  this.#client = new Anthropic({ apiKey });
129
166
  this.#model = model;
130
167
  this.#supportsTools = options.supportsTools ?? true;
131
168
  this.#supportsImages = options.supportsImages ?? true;
132
- this.#contextWindow = options.contextWindow ?? MODEL_CONTEXT_WINDOWS[model] ?? DEFAULT_CONTEXT_WINDOW;
169
+ this.#contextWindow = options.contextWindow ?? (MODEL_CONTEXT_WINDOWS[model] ?? DEFAULT_CONTEXT_WINDOW);
133
170
  this.#maxTokens = options.maxTokens ?? 4096;
134
171
  this.#thinkEffort = options.thinkEffort;
172
+ this.#userId = options.userId;
173
+ this.#disablePromptCaching = options.disablePromptCaching ?? false;
135
174
  }
136
175
  getCapabilities() {
137
176
  return {
138
177
  supportsTools: this.#supportsTools,
139
178
  supportsImages: this.#supportsImages,
140
179
  contextWindow: this.#contextWindow,
141
- safeUsageRatio: 0.5,
180
+ safeUsageRatio: 0.7,
142
181
  supportsThinking: true,
182
+ maxOutputTokens: MODEL_MAX_OUTPUT_TOKENS[this.#model] ?? DEFAULT_MAX_OUTPUT_TOKENS,
183
+ supportsVideo: false,
184
+ supportsAudio: false,
185
+ supportsImageGeneration: false,
186
+ supportsImageEditing: false,
187
+ supportsVideoGeneration: false,
188
+ supportsVideoEditing: false,
189
+ supportsAudioGeneration: false,
190
+ supportsAudioDesign: false,
191
+ supportsAudioClone: false,
192
+ supports3DModelGeneration: false,
143
193
  };
144
194
  }
195
+ /** Settable without reconstructing this provider: `thinkEffort`, `userId`, `disablePromptCaching`, `maxTokens`, `supportsTools` — every one of these is read fresh from the corresponding private field on every `chat()` call, never baked into derived state at construction (unlike `contextWindow`/`extendedContext`, which are out of scope here). */
196
+ setOption(key, value) {
197
+ switch (key) {
198
+ case "thinkEffort":
199
+ this.#thinkEffort = value;
200
+ return;
201
+ case "userId":
202
+ this.#userId = value;
203
+ return;
204
+ case "disablePromptCaching":
205
+ this.#disablePromptCaching = value;
206
+ return;
207
+ case "maxTokens":
208
+ this.#maxTokens = value;
209
+ return;
210
+ case "supportsTools":
211
+ this.#supportsTools = value;
212
+ return;
213
+ default: throw new Error(`AnthropicProvider does not support setting option "${key}"`);
214
+ }
215
+ }
145
216
  async chat(messages, streamCallback, tools, signal) {
146
- const { system, messages: formattedMessages } = toAnthropicMessages(messages);
217
+ const { system, messages: rawFormattedMessages } = toAnthropicMessages(messages);
218
+ const formattedMessages = this.#disablePromptCaching ? rawFormattedMessages : withCacheControl(rawFormattedMessages);
147
219
  const formattedTools = tools && tools.length > 0 && this.#supportsTools
148
220
  ? toAnthropicTools(tools)
149
221
  : undefined;
222
+ const metadataParam = this.#userId ? { metadata: { user_id: this.#userId } } : {};
223
+ const requestOptions = { signal };
150
224
  const thinkingBudget = this.#thinkEffort !== undefined
151
225
  ? resolveThinkingBudget(this.#thinkEffort, this.#maxTokens)
152
226
  : undefined;
@@ -168,10 +242,12 @@ export class AnthropicProvider extends AIProvider {
168
242
  messages: formattedMessages,
169
243
  ...(formattedTools ? { tools: formattedTools } : {}),
170
244
  ...thinkingParam,
245
+ ...metadataParam,
171
246
  stream: true,
172
- }, { signal });
247
+ }, requestOptions);
173
248
  let fullContent = "";
174
- let inputTokens = 0;
249
+ let inputMissTokens = 0;
250
+ let inputCacheTokens = 0;
175
251
  let outputTokens = 0;
176
252
  // Anthropic streams tool_use blocks as a start event (with
177
253
  // id/name) followed by incremental input_json_delta chunks,
@@ -206,14 +282,14 @@ export class AnthropicProvider extends AIProvider {
206
282
  if (event.type === "content_block_delta") {
207
283
  if (event.delta?.type === "text_delta" && event.delta.text) {
208
284
  fullContent += event.delta.text;
209
- await streamCallback({ role: "assistant", content: event.delta.text, done: false });
285
+ await streamCallback({ role: "assistant", content: event.delta.text, done: false, usage: { inputMissTokens, inputCacheTokens, outputTokens } });
210
286
  }
211
287
  if (event.delta?.type === "input_json_delta" && toolBlocks[event.index]) {
212
288
  toolBlocks[event.index].inputJson += event.delta.partial_json || "";
213
289
  }
214
290
  if (event.delta?.type === "thinking_delta" && thinkingBlocks[event.index]) {
215
291
  thinkingBlocks[event.index].thinking += event.delta.thinking || "";
216
- await streamCallback({ role: "assistant", content: "", done: false, thinking: event.delta.thinking || "" });
292
+ await streamCallback({ role: "assistant", content: "", done: false, thinking: event.delta.thinking || "", usage: { inputMissTokens, inputCacheTokens, outputTokens } });
217
293
  }
218
294
  if (event.delta?.type === "signature_delta" && thinkingBlocks[event.index]) {
219
295
  thinkingBlocks[event.index].signature += event.delta.signature || "";
@@ -233,14 +309,18 @@ export class AnthropicProvider extends AIProvider {
233
309
  }
234
310
  const finished = { id: tb.id || "", name: tb.name || "", inputs };
235
311
  finishedToolCalls.push(finished);
236
- await streamCallback({ role: "assistant", content: "", done: false, toolCalls: [finished] });
312
+ await streamCallback({ role: "assistant", content: "", done: false, toolCalls: [finished], usage: { inputMissTokens, inputCacheTokens, outputTokens } });
237
313
  }
238
314
  if (event.type === "message_start") {
239
- inputTokens = event.message?.usage?.input_tokens || 0;
315
+ const usage = event.message?.usage;
316
+ inputMissTokens = (usage?.input_tokens || 0) + (usage?.cache_creation_input_tokens || 0);
317
+ inputCacheTokens = usage?.cache_read_input_tokens || 0;
318
+ await streamCallback({ role: "assistant", content: "", done: false, usage: { inputMissTokens, inputCacheTokens, outputTokens } });
240
319
  }
241
320
  if (event.type === "message_delta") {
242
321
  if (event.usage?.output_tokens !== undefined) {
243
322
  outputTokens = event.usage.output_tokens;
323
+ await streamCallback({ role: "assistant", content: "", done: false, usage: { inputMissTokens, inputCacheTokens, outputTokens } });
244
324
  }
245
325
  }
246
326
  }
@@ -258,10 +338,11 @@ export class AnthropicProvider extends AIProvider {
258
338
  const toolCalls = finishedToolCalls.length > 0 ? finishedToolCalls : undefined;
259
339
  const providerThinking = Object.keys(thinkingBlocks).length > 0 ? Object.values(thinkingBlocks) : undefined;
260
340
  const thinkingText = providerThinking?.map(b => b.thinking).join("");
261
- await streamCallback({ role: "assistant", content: "", done: true });
341
+ await streamCallback({ role: "assistant", content: "", done: true, usage: { inputMissTokens, inputCacheTokens, outputTokens } });
262
342
  return {
263
343
  content: fullContent,
264
- inputTokens,
344
+ inputMissTokens,
345
+ inputCacheTokens,
265
346
  outputTokens,
266
347
  ...(toolCalls ? { toolCalls } : {}),
267
348
  ...(thinkingText ? { thinking: thinkingText } : {}),
@@ -278,12 +359,14 @@ export class AnthropicProvider extends AIProvider {
278
359
  messages: formattedMessages,
279
360
  ...(formattedTools ? { tools: formattedTools } : {}),
280
361
  ...thinkingParam,
281
- }, { signal });
362
+ ...metadataParam,
363
+ }, requestOptions);
282
364
  const toolCalls = fromAnthropicToolCalls(response.content);
283
365
  const { text: thinkingText, blocks: providerThinking } = thinkingFromAnthropicContent(response.content);
284
366
  return {
285
367
  content: textFromAnthropicContent(response.content),
286
- inputTokens: response.usage?.input_tokens || 0,
368
+ inputMissTokens: (response.usage?.input_tokens || 0) + (response.usage?.cache_creation_input_tokens || 0),
369
+ inputCacheTokens: response.usage?.cache_read_input_tokens || 0,
287
370
  outputTokens: response.usage?.output_tokens || 0,
288
371
  ...(toolCalls ? { toolCalls } : {}),
289
372
  ...(thinkingText ? { thinking: thinkingText } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-provider.js","sourceRoot":"","sources":["../../src/core/anthropic-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-provider.js","sourceRoot":"","sources":["../../src/core/anthropic-provider.ts"],"names":[],"mappings":"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"}