@code-yeongyu/senpi 2026.8.24 → 2026.8.26

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 (1589) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +24 -9
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/file-processor.d.ts.map +1 -1
  6. package/dist/cli/file-processor.js +2 -1
  7. package/dist/cli/file-processor.js.map +1 -1
  8. package/dist/config.d.ts +6 -3
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +24 -14
  11. package/dist/config.js.map +1 -1
  12. package/dist/core/agent-abort-provenance.d.ts.map +1 -1
  13. package/dist/core/agent-abort-provenance.js +5 -1
  14. package/dist/core/agent-abort-provenance.js.map +1 -1
  15. package/dist/core/agent-session.d.ts +11 -0
  16. package/dist/core/agent-session.d.ts.map +1 -1
  17. package/dist/core/agent-session.js +154 -29
  18. package/dist/core/agent-session.js.map +1 -1
  19. package/dist/core/auth-storage.d.ts +4 -0
  20. package/dist/core/auth-storage.d.ts.map +1 -1
  21. package/dist/core/auth-storage.js +35 -8
  22. package/dist/core/auth-storage.js.map +1 -1
  23. package/dist/core/brand.d.ts +2 -0
  24. package/dist/core/brand.d.ts.map +1 -1
  25. package/dist/core/brand.js +1 -0
  26. package/dist/core/brand.js.map +1 -1
  27. package/dist/core/compaction/compaction.d.ts +1 -0
  28. package/dist/core/compaction/compaction.d.ts.map +1 -1
  29. package/dist/core/compaction/compaction.js +24 -8
  30. package/dist/core/compaction/compaction.js.map +1 -1
  31. package/dist/core/defaults.d.ts +1 -0
  32. package/dist/core/defaults.d.ts.map +1 -1
  33. package/dist/core/defaults.js +9 -0
  34. package/dist/core/defaults.js.map +1 -1
  35. package/dist/core/extensions/builtin/compaction/per-turn-cap.d.ts +5 -9
  36. package/dist/core/extensions/builtin/compaction/per-turn-cap.d.ts.map +1 -1
  37. package/dist/core/extensions/builtin/compaction/per-turn-cap.js +5 -11
  38. package/dist/core/extensions/builtin/compaction/per-turn-cap.js.map +1 -1
  39. package/dist/core/extensions/builtin/compaction/todo-bridge.d.ts +2 -3
  40. package/dist/core/extensions/builtin/compaction/todo-bridge.d.ts.map +1 -1
  41. package/dist/core/extensions/builtin/compaction/todo-bridge.js +53 -14
  42. package/dist/core/extensions/builtin/compaction/todo-bridge.js.map +1 -1
  43. package/dist/core/extensions/builtin/goal/terminal-provider-error.js +1 -1
  44. package/dist/core/extensions/builtin/goal/terminal-provider-error.js.map +1 -1
  45. package/dist/core/extensions/builtin/loop-guard/notice.d.ts.map +1 -1
  46. package/dist/core/extensions/builtin/loop-guard/notice.js +5 -1
  47. package/dist/core/extensions/builtin/loop-guard/notice.js.map +1 -1
  48. package/dist/core/extensions/builtin/mcp/config-schema.d.ts +2 -2
  49. package/dist/core/extensions/builtin/ttsr/index.d.ts.map +1 -1
  50. package/dist/core/extensions/builtin/ttsr/index.js +6 -6
  51. package/dist/core/extensions/builtin/ttsr/index.js.map +1 -1
  52. package/dist/core/extensions/builtin/ttsr/message-update.d.ts +10 -0
  53. package/dist/core/extensions/builtin/ttsr/message-update.d.ts.map +1 -0
  54. package/dist/core/extensions/builtin/ttsr/message-update.js +38 -0
  55. package/dist/core/extensions/builtin/ttsr/message-update.js.map +1 -0
  56. package/dist/core/extensions/builtin/ttsr/remediation.d.ts +5 -10
  57. package/dist/core/extensions/builtin/ttsr/remediation.d.ts.map +1 -1
  58. package/dist/core/extensions/builtin/ttsr/remediation.js +19 -3
  59. package/dist/core/extensions/builtin/ttsr/remediation.js.map +1 -1
  60. package/dist/core/extensions/builtin/ttsr/stream-remediation.d.ts +1 -1
  61. package/dist/core/extensions/builtin/ttsr/stream-remediation.d.ts.map +1 -1
  62. package/dist/core/extensions/builtin/ttsr/stream-remediation.js.map +1 -1
  63. package/dist/core/extensions/builtin/ttsr/types.d.ts +1 -1
  64. package/dist/core/extensions/builtin/ttsr/types.d.ts.map +1 -1
  65. package/dist/core/extensions/builtin/ttsr/types.js.map +1 -1
  66. package/dist/core/extensions/builtin/ttsr/watch.d.ts +1 -1
  67. package/dist/core/extensions/builtin/ttsr/watch.d.ts.map +1 -1
  68. package/dist/core/extensions/builtin/ttsr/watch.js +2 -2
  69. package/dist/core/extensions/builtin/ttsr/watch.js.map +1 -1
  70. package/dist/core/extensions/index.d.ts +2 -2
  71. package/dist/core/extensions/index.d.ts.map +1 -1
  72. package/dist/core/extensions/index.js +1 -1
  73. package/dist/core/extensions/index.js.map +1 -1
  74. package/dist/core/extensions/loader.d.ts.map +1 -1
  75. package/dist/core/extensions/loader.js +107 -45
  76. package/dist/core/extensions/loader.js.map +1 -1
  77. package/dist/core/extensions/types.d.ts +17 -6
  78. package/dist/core/extensions/types.d.ts.map +1 -1
  79. package/dist/core/extensions/types.js +3 -0
  80. package/dist/core/extensions/types.js.map +1 -1
  81. package/dist/core/footer-data-provider.d.ts +1 -1
  82. package/dist/core/footer-data-provider.js +1 -1
  83. package/dist/core/footer-data-provider.js.map +1 -1
  84. package/dist/core/keybindings.d.ts +20 -19
  85. package/dist/core/keybindings.d.ts.map +1 -1
  86. package/dist/core/keybindings.js +26 -5
  87. package/dist/core/keybindings.js.map +1 -1
  88. package/dist/core/model-config-schema.d.ts +17 -5
  89. package/dist/core/model-config-schema.d.ts.map +1 -1
  90. package/dist/core/model-config-schema.js +1 -1
  91. package/dist/core/model-config-schema.js.map +1 -1
  92. package/dist/core/model-config.d.ts.map +1 -1
  93. package/dist/core/model-config.js +7 -5
  94. package/dist/core/model-config.js.map +1 -1
  95. package/dist/core/model-resolver.d.ts +3 -2
  96. package/dist/core/model-resolver.d.ts.map +1 -1
  97. package/dist/core/model-resolver.js +3 -2
  98. package/dist/core/model-resolver.js.map +1 -1
  99. package/dist/core/model-runtime.d.ts +0 -1
  100. package/dist/core/model-runtime.d.ts.map +1 -1
  101. package/dist/core/model-runtime.js +0 -18
  102. package/dist/core/model-runtime.js.map +1 -1
  103. package/dist/core/models-store.d.ts.map +1 -1
  104. package/dist/core/models-store.js +2 -1
  105. package/dist/core/models-store.js.map +1 -1
  106. package/dist/core/package-manager.d.ts.map +1 -1
  107. package/dist/core/package-manager.js +14 -10
  108. package/dist/core/package-manager.js.map +1 -1
  109. package/dist/core/pi-manifest.d.ts.map +1 -1
  110. package/dist/core/pi-manifest.js +2 -1
  111. package/dist/core/pi-manifest.js.map +1 -1
  112. package/dist/core/provider-composer.d.ts +2 -0
  113. package/dist/core/provider-composer.d.ts.map +1 -1
  114. package/dist/core/provider-composer.js +3 -6
  115. package/dist/core/provider-composer.js.map +1 -1
  116. package/dist/core/provider-display-names.d.ts.map +1 -1
  117. package/dist/core/provider-display-names.js +0 -1
  118. package/dist/core/provider-display-names.js.map +1 -1
  119. package/dist/core/provider-timeout-retry.d.ts.map +1 -1
  120. package/dist/core/provider-timeout-retry.js +8 -12
  121. package/dist/core/provider-timeout-retry.js.map +1 -1
  122. package/dist/core/resource-loader.d.ts.map +1 -1
  123. package/dist/core/resource-loader.js +3 -2
  124. package/dist/core/resource-loader.js.map +1 -1
  125. package/dist/core/retry-fallback/profile-override.d.ts +24 -0
  126. package/dist/core/retry-fallback/profile-override.d.ts.map +1 -0
  127. package/dist/core/retry-fallback/profile-override.js +138 -0
  128. package/dist/core/retry-fallback/profile-override.js.map +1 -0
  129. package/dist/core/retry-fallback/settings.d.ts +1 -0
  130. package/dist/core/retry-fallback/settings.d.ts.map +1 -1
  131. package/dist/core/retry-fallback/settings.js.map +1 -1
  132. package/dist/core/sdk.d.ts +2 -2
  133. package/dist/core/sdk.d.ts.map +1 -1
  134. package/dist/core/sdk.js +20 -5
  135. package/dist/core/sdk.js.map +1 -1
  136. package/dist/core/session-export.d.ts +4 -0
  137. package/dist/core/session-export.d.ts.map +1 -0
  138. package/dist/core/session-export.js +32 -0
  139. package/dist/core/session-export.js.map +1 -0
  140. package/dist/core/session-manager.d.ts.map +1 -1
  141. package/dist/core/session-manager.js +2 -1
  142. package/dist/core/session-manager.js.map +1 -1
  143. package/dist/core/settings-diagnostics.d.ts +9 -0
  144. package/dist/core/settings-diagnostics.d.ts.map +1 -0
  145. package/dist/core/settings-diagnostics.js +21 -0
  146. package/dist/core/settings-diagnostics.js.map +1 -0
  147. package/dist/core/settings-manager.d.ts +18 -0
  148. package/dist/core/settings-manager.d.ts.map +1 -1
  149. package/dist/core/settings-manager.js +88 -7
  150. package/dist/core/settings-manager.js.map +1 -1
  151. package/dist/core/slash-commands.d.ts.map +1 -1
  152. package/dist/core/slash-commands.js +2 -1
  153. package/dist/core/slash-commands.js.map +1 -1
  154. package/dist/core/system-prompt.d.ts.map +1 -1
  155. package/dist/core/system-prompt.js +11 -2
  156. package/dist/core/system-prompt.js.map +1 -1
  157. package/dist/core/tools/bash.d.ts +14 -1
  158. package/dist/core/tools/bash.d.ts.map +1 -1
  159. package/dist/core/tools/bash.js +35 -19
  160. package/dist/core/tools/bash.js.map +1 -1
  161. package/dist/core/tools/edit-diff.d.ts +0 -5
  162. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  163. package/dist/core/tools/edit-diff.js +2 -5
  164. package/dist/core/tools/edit-diff.js.map +1 -1
  165. package/dist/core/tools/edit.d.ts.map +1 -1
  166. package/dist/core/tools/edit.js +3 -2
  167. package/dist/core/tools/edit.js.map +1 -1
  168. package/dist/core/tools/index.d.ts +4 -1
  169. package/dist/core/tools/index.d.ts.map +1 -1
  170. package/dist/core/tools/index.js +13 -1
  171. package/dist/core/tools/index.js.map +1 -1
  172. package/dist/core/tools/powershell.d.ts +16 -0
  173. package/dist/core/tools/powershell.d.ts.map +1 -0
  174. package/dist/core/tools/powershell.js +39 -0
  175. package/dist/core/tools/powershell.js.map +1 -0
  176. package/dist/core/trust-manager.d.ts.map +1 -1
  177. package/dist/core/trust-manager.js +2 -1
  178. package/dist/core/trust-manager.js.map +1 -1
  179. package/dist/extensions/llama/client.d.ts +6 -0
  180. package/dist/extensions/llama/client.d.ts.map +1 -1
  181. package/dist/extensions/llama/client.js +7 -0
  182. package/dist/extensions/llama/client.js.map +1 -1
  183. package/dist/extensions/llama/provider.d.ts +3 -1
  184. package/dist/extensions/llama/provider.d.ts.map +1 -1
  185. package/dist/extensions/llama/provider.js +27 -6
  186. package/dist/extensions/llama/provider.js.map +1 -1
  187. package/dist/index.d.ts +5 -4
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/index.js +4 -3
  190. package/dist/index.js.map +1 -1
  191. package/dist/main.d.ts.map +1 -1
  192. package/dist/main.js +13 -2
  193. package/dist/main.js.map +1 -1
  194. package/dist/migrations.d.ts.map +1 -1
  195. package/dist/migrations.js +4 -3
  196. package/dist/migrations.js.map +1 -1
  197. package/dist/modes/app-server/daemon/probe.js +1 -1
  198. package/dist/modes/app-server/daemon/probe.js.map +1 -1
  199. package/dist/modes/app-server/daemon.js +13 -2
  200. package/dist/modes/app-server/daemon.js.map +1 -1
  201. package/dist/modes/app-server/transports/websocket-connection-handler.d.ts.map +1 -1
  202. package/dist/modes/app-server/transports/websocket-connection-handler.js +4 -0
  203. package/dist/modes/app-server/transports/websocket-connection-handler.js.map +1 -1
  204. package/dist/modes/interactive/aborted-error-label.d.ts +2 -0
  205. package/dist/modes/interactive/aborted-error-label.d.ts.map +1 -1
  206. package/dist/modes/interactive/aborted-error-label.js +7 -0
  207. package/dist/modes/interactive/aborted-error-label.js.map +1 -1
  208. package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
  209. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  210. package/dist/modes/interactive/components/thinking-selector.js +68 -17
  211. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  212. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  213. package/dist/modes/interactive/external-editor.js +2 -1
  214. package/dist/modes/interactive/external-editor.js.map +1 -1
  215. package/dist/modes/interactive/interactive-mode.d.ts +6 -0
  216. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  217. package/dist/modes/interactive/interactive-mode.js +19 -12
  218. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  219. package/dist/modes/json-event.d.ts +16 -13
  220. package/dist/modes/json-event.d.ts.map +1 -1
  221. package/dist/modes/json-event.js +20 -6
  222. package/dist/modes/json-event.js.map +1 -1
  223. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  224. package/dist/modes/rpc/connection-handler.js +3 -0
  225. package/dist/modes/rpc/connection-handler.js.map +1 -1
  226. package/dist/modes/rpc/rpc-client.d.ts +7 -0
  227. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  228. package/dist/modes/rpc/rpc-client.js +7 -0
  229. package/dist/modes/rpc/rpc-client.js.map +1 -1
  230. package/dist/modes/rpc/rpc-types.d.ts +12 -0
  231. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  232. package/dist/modes/rpc/rpc-types.js.map +1 -1
  233. package/dist/package-manager-cli.d.ts +1 -0
  234. package/dist/package-manager-cli.d.ts.map +1 -1
  235. package/dist/package-manager-cli.js +186 -2
  236. package/dist/package-manager-cli.js.map +1 -1
  237. package/dist/utils/frontmatter.d.ts.map +1 -1
  238. package/dist/utils/frontmatter.js +2 -1
  239. package/dist/utils/frontmatter.js.map +1 -1
  240. package/dist/utils/shell.d.ts +3 -0
  241. package/dist/utils/shell.d.ts.map +1 -1
  242. package/dist/utils/shell.js +17 -5
  243. package/dist/utils/shell.js.map +1 -1
  244. package/dist/utils/syntax-highlight.d.ts +1 -0
  245. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  246. package/dist/utils/syntax-highlight.js +60 -1
  247. package/dist/utils/syntax-highlight.js.map +1 -1
  248. package/dist/utils/text.d.ts +8 -0
  249. package/dist/utils/text.d.ts.map +1 -0
  250. package/dist/utils/text.js +9 -0
  251. package/dist/utils/text.js.map +1 -0
  252. package/docs/compaction.md +0 -2
  253. package/docs/custom-provider.md +6 -6
  254. package/docs/environment-variables.md +8 -8
  255. package/docs/extensions.md +6 -5
  256. package/docs/json.md +7 -2
  257. package/docs/keybindings.md +1 -1
  258. package/docs/packages.md +2 -2
  259. package/docs/rpc.md +32 -3
  260. package/docs/sdk.md +7 -2
  261. package/docs/settings.md +9 -1
  262. package/docs/terminal-setup.md +11 -9
  263. package/docs/usage.md +4 -1
  264. package/docs/windows.md +24 -2
  265. package/examples/extensions/custom-provider-anthropic/package-lock.json +28 -5
  266. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  267. package/node_modules/@anthropic-ai/sdk/CHANGELOG.md +558 -0
  268. package/node_modules/@anthropic-ai/sdk/README.md +16 -1
  269. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.mts.map +1 -1
  270. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.ts.map +1 -1
  271. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.js +14 -2
  272. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.js.map +1 -1
  273. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs +14 -2
  274. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs.map +1 -1
  275. package/node_modules/@anthropic-ai/sdk/api-promise.d.mts +1 -0
  276. package/node_modules/@anthropic-ai/sdk/api-promise.d.mts.map +1 -1
  277. package/node_modules/@anthropic-ai/sdk/api-promise.d.ts +1 -0
  278. package/node_modules/@anthropic-ai/sdk/api-promise.d.ts.map +1 -1
  279. package/node_modules/@anthropic-ai/sdk/api-promise.mjs +1 -0
  280. package/node_modules/@anthropic-ai/sdk/api-promise.mjs.map +1 -1
  281. package/node_modules/@anthropic-ai/sdk/bin/migration-config.json +481 -0
  282. package/node_modules/@anthropic-ai/sdk/client.d.mts +165 -11
  283. package/node_modules/@anthropic-ai/sdk/client.d.mts.map +1 -1
  284. package/node_modules/@anthropic-ai/sdk/client.d.ts +165 -11
  285. package/node_modules/@anthropic-ai/sdk/client.d.ts.map +1 -1
  286. package/node_modules/@anthropic-ai/sdk/client.js +415 -38
  287. package/node_modules/@anthropic-ai/sdk/client.js.map +1 -1
  288. package/node_modules/@anthropic-ai/sdk/client.mjs +414 -37
  289. package/node_modules/@anthropic-ai/sdk/client.mjs.map +1 -1
  290. package/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts +1 -0
  291. package/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts.map +1 -1
  292. package/node_modules/@anthropic-ai/sdk/core/api-promise.d.ts +1 -0
  293. package/node_modules/@anthropic-ai/sdk/core/api-promise.d.ts.map +1 -1
  294. package/node_modules/@anthropic-ai/sdk/core/api-promise.js +7 -2
  295. package/node_modules/@anthropic-ai/sdk/core/api-promise.js.map +1 -1
  296. package/node_modules/@anthropic-ai/sdk/core/api-promise.mjs +8 -3
  297. package/node_modules/@anthropic-ai/sdk/core/api-promise.mjs.map +1 -1
  298. package/node_modules/@anthropic-ai/sdk/core/api.d.mts +11 -0
  299. package/node_modules/@anthropic-ai/sdk/core/api.d.mts.map +1 -0
  300. package/node_modules/@anthropic-ai/sdk/core/api.d.ts +11 -0
  301. package/node_modules/@anthropic-ai/sdk/core/api.d.ts.map +1 -0
  302. package/node_modules/@anthropic-ai/sdk/core/api.js +3 -0
  303. package/node_modules/@anthropic-ai/sdk/core/api.js.map +1 -0
  304. package/node_modules/@anthropic-ai/sdk/core/api.mjs +2 -0
  305. package/node_modules/@anthropic-ai/sdk/core/api.mjs.map +1 -0
  306. package/node_modules/@anthropic-ai/sdk/core/credentials.d.mts +131 -0
  307. package/node_modules/@anthropic-ai/sdk/core/credentials.d.mts.map +1 -0
  308. package/node_modules/@anthropic-ai/sdk/core/credentials.d.ts +131 -0
  309. package/node_modules/@anthropic-ai/sdk/core/credentials.d.ts.map +1 -0
  310. package/node_modules/@anthropic-ai/sdk/core/credentials.js +317 -0
  311. package/node_modules/@anthropic-ai/sdk/core/credentials.js.map +1 -0
  312. package/node_modules/@anthropic-ai/sdk/core/credentials.mjs +277 -0
  313. package/node_modules/@anthropic-ai/sdk/core/credentials.mjs.map +1 -0
  314. package/node_modules/@anthropic-ai/sdk/core/error.d.mts +12 -0
  315. package/node_modules/@anthropic-ai/sdk/core/error.d.mts.map +1 -1
  316. package/node_modules/@anthropic-ai/sdk/core/error.d.ts +12 -0
  317. package/node_modules/@anthropic-ai/sdk/core/error.d.ts.map +1 -1
  318. package/node_modules/@anthropic-ai/sdk/core/error.js +18 -1
  319. package/node_modules/@anthropic-ai/sdk/core/error.js.map +1 -1
  320. package/node_modules/@anthropic-ai/sdk/core/error.mjs +16 -0
  321. package/node_modules/@anthropic-ai/sdk/core/error.mjs.map +1 -1
  322. package/node_modules/@anthropic-ai/sdk/core/middleware.d.mts +154 -0
  323. package/node_modules/@anthropic-ai/sdk/core/middleware.d.mts.map +1 -0
  324. package/node_modules/@anthropic-ai/sdk/core/middleware.d.ts +154 -0
  325. package/node_modules/@anthropic-ai/sdk/core/middleware.d.ts.map +1 -0
  326. package/node_modules/@anthropic-ai/sdk/core/middleware.js +174 -0
  327. package/node_modules/@anthropic-ai/sdk/core/middleware.js.map +1 -0
  328. package/node_modules/@anthropic-ai/sdk/core/middleware.mjs +168 -0
  329. package/node_modules/@anthropic-ai/sdk/core/middleware.mjs.map +1 -0
  330. package/node_modules/@anthropic-ai/sdk/core/pagination.d.mts +20 -0
  331. package/node_modules/@anthropic-ai/sdk/core/pagination.d.mts.map +1 -1
  332. package/node_modules/@anthropic-ai/sdk/core/pagination.d.ts +20 -0
  333. package/node_modules/@anthropic-ai/sdk/core/pagination.d.ts.map +1 -1
  334. package/node_modules/@anthropic-ai/sdk/core/pagination.js +26 -1
  335. package/node_modules/@anthropic-ai/sdk/core/pagination.js.map +1 -1
  336. package/node_modules/@anthropic-ai/sdk/core/pagination.mjs +24 -0
  337. package/node_modules/@anthropic-ai/sdk/core/pagination.mjs.map +1 -1
  338. package/node_modules/@anthropic-ai/sdk/core/resource.d.mts.map +1 -1
  339. package/node_modules/@anthropic-ai/sdk/core/resource.d.ts.map +1 -1
  340. package/node_modules/@anthropic-ai/sdk/core/streaming.d.mts +9 -0
  341. package/node_modules/@anthropic-ai/sdk/core/streaming.d.mts.map +1 -1
  342. package/node_modules/@anthropic-ai/sdk/core/streaming.d.ts +9 -0
  343. package/node_modules/@anthropic-ai/sdk/core/streaming.d.ts.map +1 -1
  344. package/node_modules/@anthropic-ai/sdk/core/streaming.js +34 -1
  345. package/node_modules/@anthropic-ai/sdk/core/streaming.js.map +1 -1
  346. package/node_modules/@anthropic-ai/sdk/core/streaming.mjs +34 -1
  347. package/node_modules/@anthropic-ai/sdk/core/streaming.mjs.map +1 -1
  348. package/node_modules/@anthropic-ai/sdk/core/uploads.d.mts.map +1 -1
  349. package/node_modules/@anthropic-ai/sdk/core/uploads.d.ts.map +1 -1
  350. package/node_modules/@anthropic-ai/sdk/core/uploads.mjs.map +1 -1
  351. package/node_modules/@anthropic-ai/sdk/error.d.mts +1 -0
  352. package/node_modules/@anthropic-ai/sdk/error.d.mts.map +1 -1
  353. package/node_modules/@anthropic-ai/sdk/error.d.ts +1 -0
  354. package/node_modules/@anthropic-ai/sdk/error.d.ts.map +1 -1
  355. package/node_modules/@anthropic-ai/sdk/error.mjs +1 -0
  356. package/node_modules/@anthropic-ai/sdk/error.mjs.map +1 -1
  357. package/node_modules/@anthropic-ai/sdk/helpers/beta/environments.d.mts +23 -0
  358. package/node_modules/@anthropic-ai/sdk/helpers/beta/environments.d.mts.map +1 -0
  359. package/node_modules/@anthropic-ai/sdk/helpers/beta/environments.d.ts +23 -0
  360. package/node_modules/@anthropic-ai/sdk/helpers/beta/environments.d.ts.map +1 -0
  361. package/node_modules/@anthropic-ai/sdk/helpers/beta/environments.js +31 -0
  362. package/node_modules/@anthropic-ai/sdk/helpers/beta/environments.js.map +1 -0
  363. package/node_modules/@anthropic-ai/sdk/helpers/beta/environments.mjs +23 -0
  364. package/node_modules/@anthropic-ai/sdk/helpers/beta/environments.mjs.map +1 -0
  365. package/node_modules/@anthropic-ai/sdk/helpers/beta/json-schema.d.mts +6 -0
  366. package/node_modules/@anthropic-ai/sdk/helpers/beta/json-schema.d.mts.map +1 -1
  367. package/node_modules/@anthropic-ai/sdk/helpers/beta/json-schema.d.ts +6 -0
  368. package/node_modules/@anthropic-ai/sdk/helpers/beta/json-schema.d.ts.map +1 -1
  369. package/node_modules/@anthropic-ai/sdk/helpers/beta/json-schema.js +1 -0
  370. package/node_modules/@anthropic-ai/sdk/helpers/beta/json-schema.js.map +1 -1
  371. package/node_modules/@anthropic-ai/sdk/helpers/beta/json-schema.mjs +1 -0
  372. package/node_modules/@anthropic-ai/sdk/helpers/beta/json-schema.mjs.map +1 -1
  373. package/node_modules/@anthropic-ai/sdk/helpers/beta/mcp.d.mts +1 -1
  374. package/node_modules/@anthropic-ai/sdk/helpers/beta/mcp.d.mts.map +1 -1
  375. package/node_modules/@anthropic-ai/sdk/helpers/beta/mcp.d.ts +1 -1
  376. package/node_modules/@anthropic-ai/sdk/helpers/beta/mcp.d.ts.map +1 -1
  377. package/node_modules/@anthropic-ai/sdk/helpers/beta/mcp.js +1 -1
  378. package/node_modules/@anthropic-ai/sdk/helpers/beta/mcp.js.map +1 -1
  379. package/node_modules/@anthropic-ai/sdk/helpers/beta/mcp.mjs +1 -1
  380. package/node_modules/@anthropic-ai/sdk/helpers/beta/mcp.mjs.map +1 -1
  381. package/node_modules/@anthropic-ai/sdk/helpers/beta/memory.d.mts.map +1 -1
  382. package/node_modules/@anthropic-ai/sdk/helpers/beta/memory.d.ts.map +1 -1
  383. package/node_modules/@anthropic-ai/sdk/helpers/beta/zod.d.mts +11 -5
  384. package/node_modules/@anthropic-ai/sdk/helpers/beta/zod.d.mts.map +1 -1
  385. package/node_modules/@anthropic-ai/sdk/helpers/beta/zod.d.ts +11 -5
  386. package/node_modules/@anthropic-ai/sdk/helpers/beta/zod.d.ts.map +1 -1
  387. package/node_modules/@anthropic-ai/sdk/helpers/beta/zod.js +2 -2
  388. package/node_modules/@anthropic-ai/sdk/helpers/beta/zod.js.map +1 -1
  389. package/node_modules/@anthropic-ai/sdk/helpers/beta/zod.mjs +2 -2
  390. package/node_modules/@anthropic-ai/sdk/helpers/beta/zod.mjs.map +1 -1
  391. package/node_modules/@anthropic-ai/sdk/helpers/index.d.mts.map +1 -1
  392. package/node_modules/@anthropic-ai/sdk/helpers/index.d.ts.map +1 -1
  393. package/node_modules/@anthropic-ai/sdk/helpers/index.mjs.map +1 -1
  394. package/node_modules/@anthropic-ai/sdk/helpers/json-schema.d.mts.map +1 -1
  395. package/node_modules/@anthropic-ai/sdk/helpers/json-schema.d.ts.map +1 -1
  396. package/node_modules/@anthropic-ai/sdk/helpers/json-schema.mjs.map +1 -1
  397. package/node_modules/@anthropic-ai/sdk/helpers/zod.d.mts +2 -2
  398. package/node_modules/@anthropic-ai/sdk/helpers/zod.d.mts.map +1 -1
  399. package/node_modules/@anthropic-ai/sdk/helpers/zod.d.ts +2 -2
  400. package/node_modules/@anthropic-ai/sdk/helpers/zod.d.ts.map +1 -1
  401. package/node_modules/@anthropic-ai/sdk/helpers/zod.js +1 -2
  402. package/node_modules/@anthropic-ai/sdk/helpers/zod.js.map +1 -1
  403. package/node_modules/@anthropic-ai/sdk/helpers/zod.mjs +1 -2
  404. package/node_modules/@anthropic-ai/sdk/helpers/zod.mjs.map +1 -1
  405. package/node_modules/@anthropic-ai/sdk/index.d.mts +4 -2
  406. package/node_modules/@anthropic-ai/sdk/index.d.mts.map +1 -1
  407. package/node_modules/@anthropic-ai/sdk/index.d.ts +4 -2
  408. package/node_modules/@anthropic-ai/sdk/index.d.ts.map +1 -1
  409. package/node_modules/@anthropic-ai/sdk/index.js +5 -1
  410. package/node_modules/@anthropic-ai/sdk/index.js.map +1 -1
  411. package/node_modules/@anthropic-ai/sdk/index.mjs +3 -2
  412. package/node_modules/@anthropic-ai/sdk/index.mjs.map +1 -1
  413. package/node_modules/@anthropic-ai/sdk/internal/constants.d.mts.map +1 -1
  414. package/node_modules/@anthropic-ai/sdk/internal/constants.d.ts.map +1 -1
  415. package/node_modules/@anthropic-ai/sdk/internal/constants.js +0 -5
  416. package/node_modules/@anthropic-ai/sdk/internal/constants.js.map +1 -1
  417. package/node_modules/@anthropic-ai/sdk/internal/constants.mjs +0 -5
  418. package/node_modules/@anthropic-ai/sdk/internal/constants.mjs.map +1 -1
  419. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts.map +1 -1
  420. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.ts.map +1 -1
  421. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs.map +1 -1
  422. package/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs.map +1 -1
  423. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs.map +1 -1
  424. package/node_modules/@anthropic-ai/sdk/internal/file-store.d.mts +136 -0
  425. package/node_modules/@anthropic-ai/sdk/internal/file-store.d.mts.map +1 -0
  426. package/node_modules/@anthropic-ai/sdk/internal/file-store.d.ts +136 -0
  427. package/node_modules/@anthropic-ai/sdk/internal/file-store.d.ts.map +1 -0
  428. package/node_modules/@anthropic-ai/sdk/internal/file-store.js +531 -0
  429. package/node_modules/@anthropic-ai/sdk/internal/file-store.js.map +1 -0
  430. package/node_modules/@anthropic-ai/sdk/internal/file-store.mjs +523 -0
  431. package/node_modules/@anthropic-ai/sdk/internal/file-store.mjs.map +1 -0
  432. package/node_modules/@anthropic-ai/sdk/internal/headers.d.mts +7 -0
  433. package/node_modules/@anthropic-ai/sdk/internal/headers.d.mts.map +1 -1
  434. package/node_modules/@anthropic-ai/sdk/internal/headers.d.ts +7 -0
  435. package/node_modules/@anthropic-ai/sdk/internal/headers.d.ts.map +1 -1
  436. package/node_modules/@anthropic-ai/sdk/internal/headers.js +45 -4
  437. package/node_modules/@anthropic-ai/sdk/internal/headers.js.map +1 -1
  438. package/node_modules/@anthropic-ai/sdk/internal/headers.mjs +43 -3
  439. package/node_modules/@anthropic-ai/sdk/internal/headers.mjs.map +1 -1
  440. package/node_modules/@anthropic-ai/sdk/internal/message-stream-utils.d.mts +10 -0
  441. package/node_modules/@anthropic-ai/sdk/internal/message-stream-utils.d.mts.map +1 -0
  442. package/node_modules/@anthropic-ai/sdk/internal/message-stream-utils.d.ts +10 -0
  443. package/node_modules/@anthropic-ai/sdk/internal/message-stream-utils.d.ts.map +1 -0
  444. package/node_modules/@anthropic-ai/sdk/internal/message-stream-utils.js +34 -0
  445. package/node_modules/@anthropic-ai/sdk/internal/message-stream-utils.js.map +1 -0
  446. package/node_modules/@anthropic-ai/sdk/internal/message-stream-utils.mjs +30 -0
  447. package/node_modules/@anthropic-ai/sdk/internal/message-stream-utils.mjs.map +1 -0
  448. package/node_modules/@anthropic-ai/sdk/internal/parse.d.mts +2 -1
  449. package/node_modules/@anthropic-ai/sdk/internal/parse.d.mts.map +1 -1
  450. package/node_modules/@anthropic-ai/sdk/internal/parse.d.ts +2 -1
  451. package/node_modules/@anthropic-ai/sdk/internal/parse.d.ts.map +1 -1
  452. package/node_modules/@anthropic-ai/sdk/internal/parse.js +16 -10
  453. package/node_modules/@anthropic-ai/sdk/internal/parse.js.map +1 -1
  454. package/node_modules/@anthropic-ai/sdk/internal/parse.mjs +15 -9
  455. package/node_modules/@anthropic-ai/sdk/internal/parse.mjs.map +1 -1
  456. package/node_modules/@anthropic-ai/sdk/internal/qs/formats.d.mts +7 -0
  457. package/node_modules/@anthropic-ai/sdk/internal/qs/formats.d.mts.map +1 -0
  458. package/node_modules/@anthropic-ai/sdk/internal/qs/formats.d.ts +7 -0
  459. package/node_modules/@anthropic-ai/sdk/internal/qs/formats.d.ts.map +1 -0
  460. package/node_modules/@anthropic-ai/sdk/internal/qs/formats.js +13 -0
  461. package/node_modules/@anthropic-ai/sdk/internal/qs/formats.js.map +1 -0
  462. package/node_modules/@anthropic-ai/sdk/internal/qs/formats.mjs +9 -0
  463. package/node_modules/@anthropic-ai/sdk/internal/qs/formats.mjs.map +1 -0
  464. package/node_modules/@anthropic-ai/sdk/internal/qs/index.d.mts +10 -0
  465. package/node_modules/@anthropic-ai/sdk/internal/qs/index.d.mts.map +1 -0
  466. package/node_modules/@anthropic-ai/sdk/internal/qs/index.d.ts +10 -0
  467. package/node_modules/@anthropic-ai/sdk/internal/qs/index.d.ts.map +1 -0
  468. package/node_modules/@anthropic-ai/sdk/internal/qs/index.js +14 -0
  469. package/node_modules/@anthropic-ai/sdk/internal/qs/index.js.map +1 -0
  470. package/node_modules/@anthropic-ai/sdk/internal/qs/index.mjs +10 -0
  471. package/node_modules/@anthropic-ai/sdk/internal/qs/index.mjs.map +1 -0
  472. package/node_modules/@anthropic-ai/sdk/internal/qs/stringify.d.mts +3 -0
  473. package/node_modules/@anthropic-ai/sdk/internal/qs/stringify.d.mts.map +1 -0
  474. package/node_modules/@anthropic-ai/sdk/internal/qs/stringify.d.ts +3 -0
  475. package/node_modules/@anthropic-ai/sdk/internal/qs/stringify.d.ts.map +1 -0
  476. package/node_modules/@anthropic-ai/sdk/internal/qs/stringify.js +277 -0
  477. package/node_modules/@anthropic-ai/sdk/internal/qs/stringify.js.map +1 -0
  478. package/node_modules/@anthropic-ai/sdk/internal/qs/stringify.mjs +274 -0
  479. package/node_modules/@anthropic-ai/sdk/internal/qs/stringify.mjs.map +1 -0
  480. package/node_modules/@anthropic-ai/sdk/internal/qs/types.d.mts +57 -0
  481. package/node_modules/@anthropic-ai/sdk/internal/qs/types.d.mts.map +1 -0
  482. package/node_modules/@anthropic-ai/sdk/internal/qs/types.d.ts +57 -0
  483. package/node_modules/@anthropic-ai/sdk/internal/qs/types.d.ts.map +1 -0
  484. package/node_modules/@anthropic-ai/sdk/internal/qs/types.js +3 -0
  485. package/node_modules/@anthropic-ai/sdk/internal/qs/types.js.map +1 -0
  486. package/node_modules/@anthropic-ai/sdk/internal/qs/types.mjs +2 -0
  487. package/node_modules/@anthropic-ai/sdk/internal/qs/types.mjs.map +1 -0
  488. package/node_modules/@anthropic-ai/sdk/internal/qs/utils.d.mts +15 -0
  489. package/node_modules/@anthropic-ai/sdk/internal/qs/utils.d.mts.map +1 -0
  490. package/node_modules/@anthropic-ai/sdk/internal/qs/utils.d.ts +15 -0
  491. package/node_modules/@anthropic-ai/sdk/internal/qs/utils.d.ts.map +1 -0
  492. package/node_modules/@anthropic-ai/sdk/internal/qs/utils.js +230 -0
  493. package/node_modules/@anthropic-ai/sdk/internal/qs/utils.js.map +1 -0
  494. package/node_modules/@anthropic-ai/sdk/internal/qs/utils.mjs +217 -0
  495. package/node_modules/@anthropic-ai/sdk/internal/qs/utils.mjs.map +1 -0
  496. package/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts +52 -2
  497. package/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts.map +1 -1
  498. package/node_modules/@anthropic-ai/sdk/internal/request-options.d.ts +52 -2
  499. package/node_modules/@anthropic-ai/sdk/internal/request-options.d.ts.map +1 -1
  500. package/node_modules/@anthropic-ai/sdk/internal/request-options.js +12 -1
  501. package/node_modules/@anthropic-ai/sdk/internal/request-options.js.map +1 -1
  502. package/node_modules/@anthropic-ai/sdk/internal/request-options.mjs +10 -0
  503. package/node_modules/@anthropic-ai/sdk/internal/request-options.mjs.map +1 -1
  504. package/node_modules/@anthropic-ai/sdk/internal/request-signal.d.mts +4 -0
  505. package/node_modules/@anthropic-ai/sdk/internal/request-signal.d.mts.map +1 -0
  506. package/node_modules/@anthropic-ai/sdk/internal/request-signal.d.ts +4 -0
  507. package/node_modules/@anthropic-ai/sdk/internal/request-signal.d.ts.map +1 -0
  508. package/node_modules/@anthropic-ai/sdk/internal/request-signal.js +50 -0
  509. package/node_modules/@anthropic-ai/sdk/internal/request-signal.js.map +1 -0
  510. package/node_modules/@anthropic-ai/sdk/internal/request-signal.mjs +45 -0
  511. package/node_modules/@anthropic-ai/sdk/internal/request-signal.mjs.map +1 -0
  512. package/node_modules/@anthropic-ai/sdk/internal/shims.d.mts +6 -0
  513. package/node_modules/@anthropic-ai/sdk/internal/shims.d.mts.map +1 -1
  514. package/node_modules/@anthropic-ai/sdk/internal/shims.d.ts +6 -0
  515. package/node_modules/@anthropic-ai/sdk/internal/shims.d.ts.map +1 -1
  516. package/node_modules/@anthropic-ai/sdk/internal/stainless-helper-header.d.mts +60 -0
  517. package/node_modules/@anthropic-ai/sdk/internal/stainless-helper-header.d.mts.map +1 -0
  518. package/node_modules/@anthropic-ai/sdk/internal/stainless-helper-header.d.ts +60 -0
  519. package/node_modules/@anthropic-ai/sdk/internal/stainless-helper-header.d.ts.map +1 -0
  520. package/node_modules/@anthropic-ai/sdk/{lib → internal}/stainless-helper-header.js +27 -6
  521. package/node_modules/@anthropic-ai/sdk/internal/stainless-helper-header.js.map +1 -0
  522. package/node_modules/@anthropic-ai/sdk/{lib → internal}/stainless-helper-header.mjs +25 -5
  523. package/node_modules/@anthropic-ai/sdk/internal/stainless-helper-header.mjs.map +1 -0
  524. package/node_modules/@anthropic-ai/sdk/internal/to-file.d.mts.map +1 -1
  525. package/node_modules/@anthropic-ai/sdk/internal/to-file.d.ts.map +1 -1
  526. package/node_modules/@anthropic-ai/sdk/internal/to-file.mjs.map +1 -1
  527. package/node_modules/@anthropic-ai/sdk/internal/types.d.mts +12 -6
  528. package/node_modules/@anthropic-ai/sdk/internal/types.d.mts.map +1 -1
  529. package/node_modules/@anthropic-ai/sdk/internal/types.d.ts +12 -6
  530. package/node_modules/@anthropic-ai/sdk/internal/types.d.ts.map +1 -1
  531. package/node_modules/@anthropic-ai/sdk/internal/uploads.d.mts.map +1 -1
  532. package/node_modules/@anthropic-ai/sdk/internal/uploads.d.ts.map +1 -1
  533. package/node_modules/@anthropic-ai/sdk/internal/uploads.mjs.map +1 -1
  534. package/node_modules/@anthropic-ai/sdk/internal/utils/abort.d.mts +13 -0
  535. package/node_modules/@anthropic-ai/sdk/internal/utils/abort.d.mts.map +1 -0
  536. package/node_modules/@anthropic-ai/sdk/internal/utils/abort.d.ts +13 -0
  537. package/node_modules/@anthropic-ai/sdk/internal/utils/abort.d.ts.map +1 -0
  538. package/node_modules/@anthropic-ai/sdk/internal/utils/abort.js +26 -0
  539. package/node_modules/@anthropic-ai/sdk/internal/utils/abort.js.map +1 -0
  540. package/node_modules/@anthropic-ai/sdk/internal/utils/abort.mjs +23 -0
  541. package/node_modules/@anthropic-ai/sdk/internal/utils/abort.mjs.map +1 -0
  542. package/node_modules/@anthropic-ai/sdk/internal/utils/async-queue.d.mts +31 -0
  543. package/node_modules/@anthropic-ai/sdk/internal/utils/async-queue.d.mts.map +1 -0
  544. package/node_modules/@anthropic-ai/sdk/internal/utils/async-queue.d.ts +31 -0
  545. package/node_modules/@anthropic-ai/sdk/internal/utils/async-queue.d.ts.map +1 -0
  546. package/node_modules/@anthropic-ai/sdk/internal/utils/async-queue.js +75 -0
  547. package/node_modules/@anthropic-ai/sdk/internal/utils/async-queue.js.map +1 -0
  548. package/node_modules/@anthropic-ai/sdk/internal/utils/async-queue.mjs +71 -0
  549. package/node_modules/@anthropic-ai/sdk/internal/utils/async-queue.mjs.map +1 -0
  550. package/node_modules/@anthropic-ai/sdk/internal/utils/backoff.d.mts +23 -0
  551. package/node_modules/@anthropic-ai/sdk/internal/utils/backoff.d.mts.map +1 -0
  552. package/node_modules/@anthropic-ai/sdk/internal/utils/backoff.d.ts +23 -0
  553. package/node_modules/@anthropic-ai/sdk/internal/utils/backoff.d.ts.map +1 -0
  554. package/node_modules/@anthropic-ai/sdk/internal/utils/backoff.js +44 -0
  555. package/node_modules/@anthropic-ai/sdk/internal/utils/backoff.js.map +1 -0
  556. package/node_modules/@anthropic-ai/sdk/internal/utils/backoff.mjs +36 -0
  557. package/node_modules/@anthropic-ai/sdk/internal/utils/backoff.mjs.map +1 -0
  558. package/node_modules/@anthropic-ai/sdk/internal/utils/base64.mjs.map +1 -1
  559. package/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts +11 -1
  560. package/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts.map +1 -1
  561. package/node_modules/@anthropic-ai/sdk/internal/utils/log.d.ts +11 -1
  562. package/node_modules/@anthropic-ai/sdk/internal/utils/log.d.ts.map +1 -1
  563. package/node_modules/@anthropic-ai/sdk/internal/utils/log.js +37 -11
  564. package/node_modules/@anthropic-ai/sdk/internal/utils/log.js.map +1 -1
  565. package/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs +35 -10
  566. package/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs.map +1 -1
  567. package/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs.map +1 -1
  568. package/node_modules/@anthropic-ai/sdk/internal/utils/promise.d.mts +11 -0
  569. package/node_modules/@anthropic-ai/sdk/internal/utils/promise.d.mts.map +1 -0
  570. package/node_modules/@anthropic-ai/sdk/internal/utils/promise.d.ts +11 -0
  571. package/node_modules/@anthropic-ai/sdk/internal/utils/promise.d.ts.map +1 -0
  572. package/node_modules/@anthropic-ai/sdk/internal/utils/promise.js +18 -0
  573. package/node_modules/@anthropic-ai/sdk/internal/utils/promise.js.map +1 -0
  574. package/node_modules/@anthropic-ai/sdk/internal/utils/promise.mjs +15 -0
  575. package/node_modules/@anthropic-ai/sdk/internal/utils/promise.mjs.map +1 -0
  576. package/node_modules/@anthropic-ai/sdk/internal/utils/query.d.mts +0 -3
  577. package/node_modules/@anthropic-ai/sdk/internal/utils/query.d.mts.map +1 -1
  578. package/node_modules/@anthropic-ai/sdk/internal/utils/query.d.ts +0 -3
  579. package/node_modules/@anthropic-ai/sdk/internal/utils/query.d.ts.map +1 -1
  580. package/node_modules/@anthropic-ai/sdk/internal/utils/query.js +3 -16
  581. package/node_modules/@anthropic-ai/sdk/internal/utils/query.js.map +1 -1
  582. package/node_modules/@anthropic-ai/sdk/internal/utils/query.mjs +2 -16
  583. package/node_modules/@anthropic-ai/sdk/internal/utils/query.mjs.map +1 -1
  584. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.mts +9 -1
  585. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.mts.map +1 -1
  586. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.ts +9 -1
  587. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.ts.map +1 -1
  588. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.js +23 -2
  589. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.js.map +1 -1
  590. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs +23 -2
  591. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs.map +1 -1
  592. package/node_modules/@anthropic-ai/sdk/internal/utils/time.d.mts +3 -0
  593. package/node_modules/@anthropic-ai/sdk/internal/utils/time.d.mts.map +1 -0
  594. package/node_modules/@anthropic-ai/sdk/internal/utils/time.d.ts +3 -0
  595. package/node_modules/@anthropic-ai/sdk/internal/utils/time.d.ts.map +1 -0
  596. package/node_modules/@anthropic-ai/sdk/internal/utils/time.js +8 -0
  597. package/node_modules/@anthropic-ai/sdk/internal/utils/time.js.map +1 -0
  598. package/node_modules/@anthropic-ai/sdk/internal/utils/time.mjs +5 -0
  599. package/node_modules/@anthropic-ai/sdk/internal/utils/time.mjs.map +1 -0
  600. package/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs.map +1 -1
  601. package/node_modules/@anthropic-ai/sdk/internal/utils.d.mts.map +1 -1
  602. package/node_modules/@anthropic-ai/sdk/internal/utils.d.ts.map +1 -1
  603. package/node_modules/@anthropic-ai/sdk/internal/utils.mjs.map +1 -1
  604. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts +2 -0
  605. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts.map +1 -1
  606. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts +2 -0
  607. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts.map +1 -1
  608. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js +66 -31
  609. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js.map +1 -1
  610. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs +66 -31
  611. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs.map +1 -1
  612. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts +2 -0
  613. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts.map +1 -1
  614. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts +2 -0
  615. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts.map +1 -1
  616. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.js +37 -26
  617. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.js.map +1 -1
  618. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +34 -23
  619. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs.map +1 -1
  620. package/node_modules/@anthropic-ai/sdk/lib/beta-parser.d.mts.map +1 -1
  621. package/node_modules/@anthropic-ai/sdk/lib/beta-parser.d.ts.map +1 -1
  622. package/node_modules/@anthropic-ai/sdk/lib/beta-parser.mjs.map +1 -1
  623. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.d.mts +39 -0
  624. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.d.mts.map +1 -0
  625. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.d.ts +39 -0
  626. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.d.ts.map +1 -0
  627. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.js +245 -0
  628. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.js.map +1 -0
  629. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.mjs +208 -0
  630. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.mjs.map +1 -0
  631. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.d.mts +11 -0
  632. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.d.mts.map +1 -0
  633. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.d.ts +11 -0
  634. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.d.ts.map +1 -0
  635. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.js +72 -0
  636. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.js.map +1 -0
  637. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.mjs +35 -0
  638. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.mjs.map +1 -0
  639. package/node_modules/@anthropic-ai/sdk/lib/credentials/oidc-federation.d.mts +40 -0
  640. package/node_modules/@anthropic-ai/sdk/lib/credentials/oidc-federation.d.mts.map +1 -0
  641. package/node_modules/@anthropic-ai/sdk/lib/credentials/oidc-federation.d.ts +40 -0
  642. package/node_modules/@anthropic-ai/sdk/lib/credentials/oidc-federation.d.ts.map +1 -0
  643. package/node_modules/@anthropic-ai/sdk/lib/credentials/oidc-federation.js +82 -0
  644. package/node_modules/@anthropic-ai/sdk/lib/credentials/oidc-federation.js.map +1 -0
  645. package/node_modules/@anthropic-ai/sdk/lib/credentials/oidc-federation.mjs +79 -0
  646. package/node_modules/@anthropic-ai/sdk/lib/credentials/oidc-federation.mjs.map +1 -0
  647. package/node_modules/@anthropic-ai/sdk/lib/credentials/token-cache.d.mts +54 -0
  648. package/node_modules/@anthropic-ai/sdk/lib/credentials/token-cache.d.mts.map +1 -0
  649. package/node_modules/@anthropic-ai/sdk/lib/credentials/token-cache.d.ts +54 -0
  650. package/node_modules/@anthropic-ai/sdk/lib/credentials/token-cache.d.ts.map +1 -0
  651. package/node_modules/@anthropic-ai/sdk/lib/credentials/token-cache.js +112 -0
  652. package/node_modules/@anthropic-ai/sdk/lib/credentials/token-cache.js.map +1 -0
  653. package/node_modules/@anthropic-ai/sdk/lib/credentials/token-cache.mjs +108 -0
  654. package/node_modules/@anthropic-ai/sdk/lib/credentials/token-cache.mjs.map +1 -0
  655. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.d.mts +96 -0
  656. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.d.mts.map +1 -0
  657. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.d.ts +96 -0
  658. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.d.ts.map +1 -0
  659. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.js +266 -0
  660. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.js.map +1 -0
  661. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.mjs +224 -0
  662. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.mjs.map +1 -0
  663. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.d.mts +21 -0
  664. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.d.mts.map +1 -0
  665. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.d.ts +21 -0
  666. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.d.ts.map +1 -0
  667. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.js +130 -0
  668. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.js.map +1 -0
  669. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.mjs +94 -0
  670. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.mjs.map +1 -0
  671. package/node_modules/@anthropic-ai/sdk/lib/credentials.d.mts +4 -0
  672. package/node_modules/@anthropic-ai/sdk/lib/credentials.d.mts.map +1 -0
  673. package/node_modules/@anthropic-ai/sdk/lib/credentials.d.ts +4 -0
  674. package/node_modules/@anthropic-ai/sdk/lib/credentials.d.ts.map +1 -0
  675. package/node_modules/@anthropic-ai/sdk/lib/credentials.js +8 -0
  676. package/node_modules/@anthropic-ai/sdk/lib/credentials.js.map +1 -0
  677. package/node_modules/@anthropic-ai/sdk/lib/credentials.mjs +3 -0
  678. package/node_modules/@anthropic-ai/sdk/lib/credentials.mjs.map +1 -0
  679. package/node_modules/@anthropic-ai/sdk/lib/environments/index.d.mts +4 -0
  680. package/node_modules/@anthropic-ai/sdk/lib/environments/index.d.mts.map +1 -0
  681. package/node_modules/@anthropic-ai/sdk/lib/environments/index.d.ts +4 -0
  682. package/node_modules/@anthropic-ai/sdk/lib/environments/index.d.ts.map +1 -0
  683. package/node_modules/@anthropic-ai/sdk/lib/environments/index.js +18 -0
  684. package/node_modules/@anthropic-ai/sdk/lib/environments/index.js.map +1 -0
  685. package/node_modules/@anthropic-ai/sdk/lib/environments/index.mjs +4 -0
  686. package/node_modules/@anthropic-ai/sdk/lib/environments/index.mjs.map +1 -0
  687. package/node_modules/@anthropic-ai/sdk/lib/environments/poller.d.mts +95 -0
  688. package/node_modules/@anthropic-ai/sdk/lib/environments/poller.d.mts.map +1 -0
  689. package/node_modules/@anthropic-ai/sdk/lib/environments/poller.d.ts +95 -0
  690. package/node_modules/@anthropic-ai/sdk/lib/environments/poller.d.ts.map +1 -0
  691. package/node_modules/@anthropic-ai/sdk/lib/environments/poller.js +226 -0
  692. package/node_modules/@anthropic-ai/sdk/lib/environments/poller.js.map +1 -0
  693. package/node_modules/@anthropic-ai/sdk/lib/environments/poller.mjs +217 -0
  694. package/node_modules/@anthropic-ai/sdk/lib/environments/poller.mjs.map +1 -0
  695. package/node_modules/@anthropic-ai/sdk/lib/environments/worker.d.mts +227 -0
  696. package/node_modules/@anthropic-ai/sdk/lib/environments/worker.d.mts.map +1 -0
  697. package/node_modules/@anthropic-ai/sdk/lib/environments/worker.d.ts +227 -0
  698. package/node_modules/@anthropic-ai/sdk/lib/environments/worker.d.ts.map +1 -0
  699. package/node_modules/@anthropic-ai/sdk/lib/environments/worker.js +569 -0
  700. package/node_modules/@anthropic-ai/sdk/lib/environments/worker.js.map +1 -0
  701. package/node_modules/@anthropic-ai/sdk/lib/environments/worker.mjs +564 -0
  702. package/node_modules/@anthropic-ai/sdk/lib/environments/worker.mjs.map +1 -0
  703. package/node_modules/@anthropic-ai/sdk/lib/helper-client.d.mts +31 -0
  704. package/node_modules/@anthropic-ai/sdk/lib/helper-client.d.mts.map +1 -0
  705. package/node_modules/@anthropic-ai/sdk/lib/helper-client.d.ts +31 -0
  706. package/node_modules/@anthropic-ai/sdk/lib/helper-client.d.ts.map +1 -0
  707. package/node_modules/@anthropic-ai/sdk/lib/helper-client.js +58 -0
  708. package/node_modules/@anthropic-ai/sdk/lib/helper-client.js.map +1 -0
  709. package/node_modules/@anthropic-ai/sdk/lib/helper-client.mjs +55 -0
  710. package/node_modules/@anthropic-ai/sdk/lib/helper-client.mjs.map +1 -0
  711. package/node_modules/@anthropic-ai/sdk/lib/middleware.d.mts +98 -0
  712. package/node_modules/@anthropic-ai/sdk/lib/middleware.d.mts.map +1 -0
  713. package/node_modules/@anthropic-ai/sdk/lib/middleware.d.ts +98 -0
  714. package/node_modules/@anthropic-ai/sdk/lib/middleware.d.ts.map +1 -0
  715. package/node_modules/@anthropic-ai/sdk/lib/middleware.js +754 -0
  716. package/node_modules/@anthropic-ai/sdk/lib/middleware.js.map +1 -0
  717. package/node_modules/@anthropic-ai/sdk/lib/middleware.mjs +749 -0
  718. package/node_modules/@anthropic-ai/sdk/lib/middleware.mjs.map +1 -0
  719. package/node_modules/@anthropic-ai/sdk/lib/parser.d.mts.map +1 -1
  720. package/node_modules/@anthropic-ai/sdk/lib/parser.d.ts.map +1 -1
  721. package/node_modules/@anthropic-ai/sdk/lib/parser.mjs.map +1 -1
  722. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.mts +22 -0
  723. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.mts.map +1 -0
  724. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.ts +22 -0
  725. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.ts.map +1 -0
  726. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.js +88 -0
  727. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.js.map +1 -0
  728. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.mjs +85 -0
  729. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.mjs.map +1 -0
  730. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaRunnableTool.d.mts +38 -5
  731. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaRunnableTool.d.mts.map +1 -1
  732. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaRunnableTool.d.ts +38 -5
  733. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaRunnableTool.d.ts.map +1 -1
  734. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaRunnableTool.js +28 -0
  735. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaRunnableTool.js.map +1 -1
  736. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaRunnableTool.mjs +25 -1
  737. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaRunnableTool.mjs.map +1 -1
  738. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.d.mts +1 -1
  739. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.d.mts.map +1 -1
  740. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.d.ts +1 -1
  741. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.d.ts.map +1 -1
  742. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.js +107 -29
  743. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.js.map +1 -1
  744. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.mjs +105 -27
  745. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.mjs.map +1 -1
  746. package/node_modules/@anthropic-ai/sdk/lib/tools/CompactionControl.d.mts.map +1 -1
  747. package/node_modules/@anthropic-ai/sdk/lib/tools/CompactionControl.d.ts.map +1 -1
  748. package/node_modules/@anthropic-ai/sdk/lib/tools/SessionToolRunner.d.mts +179 -0
  749. package/node_modules/@anthropic-ai/sdk/lib/tools/SessionToolRunner.d.mts.map +1 -0
  750. package/node_modules/@anthropic-ai/sdk/lib/tools/SessionToolRunner.d.ts +179 -0
  751. package/node_modules/@anthropic-ai/sdk/lib/tools/SessionToolRunner.d.ts.map +1 -0
  752. package/node_modules/@anthropic-ai/sdk/lib/tools/SessionToolRunner.js +728 -0
  753. package/node_modules/@anthropic-ai/sdk/lib/tools/SessionToolRunner.js.map +1 -0
  754. package/node_modules/@anthropic-ai/sdk/lib/tools/SessionToolRunner.mjs +724 -0
  755. package/node_modules/@anthropic-ai/sdk/lib/tools/SessionToolRunner.mjs.map +1 -0
  756. package/node_modules/@anthropic-ai/sdk/lib/tools/ToolError.d.mts.map +1 -1
  757. package/node_modules/@anthropic-ai/sdk/lib/tools/ToolError.d.ts.map +1 -1
  758. package/node_modules/@anthropic-ai/sdk/lib/transform-json-schema.mjs.map +1 -1
  759. package/node_modules/@anthropic-ai/sdk/package.json +32 -15
  760. package/node_modules/@anthropic-ai/sdk/pagination.d.mts +1 -0
  761. package/node_modules/@anthropic-ai/sdk/pagination.d.mts.map +1 -1
  762. package/node_modules/@anthropic-ai/sdk/pagination.d.ts +1 -0
  763. package/node_modules/@anthropic-ai/sdk/pagination.d.ts.map +1 -1
  764. package/node_modules/@anthropic-ai/sdk/pagination.mjs +1 -0
  765. package/node_modules/@anthropic-ai/sdk/pagination.mjs.map +1 -1
  766. package/node_modules/@anthropic-ai/sdk/resource.d.mts +1 -0
  767. package/node_modules/@anthropic-ai/sdk/resource.d.mts.map +1 -1
  768. package/node_modules/@anthropic-ai/sdk/resource.d.ts +1 -0
  769. package/node_modules/@anthropic-ai/sdk/resource.d.ts.map +1 -1
  770. package/node_modules/@anthropic-ai/sdk/resource.mjs +1 -0
  771. package/node_modules/@anthropic-ai/sdk/resource.mjs.map +1 -1
  772. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.mts +608 -68
  773. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.mts.map +1 -1
  774. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.ts +608 -68
  775. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.ts.map +1 -1
  776. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.js +2 -2
  777. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.js.map +1 -1
  778. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.mjs +2 -2
  779. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.mjs.map +1 -1
  780. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/index.d.mts +1 -1
  781. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/index.d.mts.map +1 -1
  782. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/index.d.ts +1 -1
  783. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/index.d.ts.map +1 -1
  784. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/index.js.map +1 -1
  785. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/index.mjs.map +1 -1
  786. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/versions.d.mts.map +1 -1
  787. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/versions.d.ts.map +1 -1
  788. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/versions.mjs.map +1 -1
  789. package/node_modules/@anthropic-ai/sdk/resources/beta/agents.d.mts.map +1 -1
  790. package/node_modules/@anthropic-ai/sdk/resources/beta/agents.d.ts.map +1 -1
  791. package/node_modules/@anthropic-ai/sdk/resources/beta/agents.mjs.map +1 -1
  792. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts +51 -13
  793. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts.map +1 -1
  794. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts +51 -13
  795. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts.map +1 -1
  796. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.js +22 -2
  797. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.js.map +1 -1
  798. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs +22 -2
  799. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs.map +1 -1
  800. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.d.mts +306 -0
  801. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.d.mts.map +1 -0
  802. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.d.ts +306 -0
  803. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.d.ts.map +1 -0
  804. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.js +55 -0
  805. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.js.map +1 -0
  806. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.mjs +51 -0
  807. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.mjs.map +1 -0
  808. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.mts +698 -0
  809. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.mts.map +1 -0
  810. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.ts +698 -0
  811. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.ts.map +1 -0
  812. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.js +196 -0
  813. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.js.map +1 -0
  814. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.mjs +192 -0
  815. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.mjs.map +1 -0
  816. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.mts +309 -0
  817. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.mts.map +1 -0
  818. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.ts +309 -0
  819. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.ts.map +1 -0
  820. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.js +116 -0
  821. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.js.map +1 -0
  822. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.mjs +112 -0
  823. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.mjs.map +1 -0
  824. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.mts +426 -0
  825. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.mts.map +1 -0
  826. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.ts +426 -0
  827. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.ts.map +1 -0
  828. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.js +150 -0
  829. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.js.map +1 -0
  830. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.mjs +145 -0
  831. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.mjs.map +1 -0
  832. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/index.d.mts +3 -0
  833. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/index.d.mts.map +1 -0
  834. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/index.d.ts +3 -0
  835. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/index.d.ts.map +1 -0
  836. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/index.js +9 -0
  837. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/index.js.map +1 -0
  838. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/index.mjs +4 -0
  839. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/index.mjs.map +1 -0
  840. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/work.d.mts +501 -0
  841. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/work.d.mts.map +1 -0
  842. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/work.d.ts +501 -0
  843. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/work.d.ts.map +1 -0
  844. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/work.js +257 -0
  845. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/work.js.map +1 -0
  846. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/work.mjs +251 -0
  847. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/work.mjs.map +1 -0
  848. package/node_modules/@anthropic-ai/sdk/resources/beta/environments.d.mts +1 -388
  849. package/node_modules/@anthropic-ai/sdk/resources/beta/environments.d.mts.map +1 -1
  850. package/node_modules/@anthropic-ai/sdk/resources/beta/environments.d.ts +1 -388
  851. package/node_modules/@anthropic-ai/sdk/resources/beta/environments.d.ts.map +1 -1
  852. package/node_modules/@anthropic-ai/sdk/resources/beta/environments.js +2 -138
  853. package/node_modules/@anthropic-ai/sdk/resources/beta/environments.js.map +1 -1
  854. package/node_modules/@anthropic-ai/sdk/resources/beta/environments.mjs +1 -136
  855. package/node_modules/@anthropic-ai/sdk/resources/beta/environments.mjs.map +1 -1
  856. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts +22 -22
  857. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts.map +1 -1
  858. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts +22 -22
  859. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts.map +1 -1
  860. package/node_modules/@anthropic-ai/sdk/resources/beta/files.js +5 -5
  861. package/node_modules/@anthropic-ai/sdk/resources/beta/files.js.map +1 -1
  862. package/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs +5 -5
  863. package/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs.map +1 -1
  864. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts +11 -6
  865. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts.map +1 -1
  866. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts +11 -6
  867. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts.map +1 -1
  868. package/node_modules/@anthropic-ai/sdk/resources/beta/index.js +23 -13
  869. package/node_modules/@anthropic-ai/sdk/resources/beta/index.js.map +1 -1
  870. package/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs +6 -1
  871. package/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs.map +1 -1
  872. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.d.mts +1 -1
  873. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.d.mts.map +1 -1
  874. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.d.ts +1 -1
  875. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.d.ts.map +1 -1
  876. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.js.map +1 -1
  877. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.mjs.map +1 -1
  878. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.mts +136 -24
  879. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.mts.map +1 -1
  880. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.ts +136 -24
  881. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.ts.map +1 -1
  882. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.js +10 -10
  883. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.js.map +1 -1
  884. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.mjs +10 -10
  885. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.mjs.map +1 -1
  886. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.d.mts +60 -16
  887. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.d.mts.map +1 -1
  888. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.d.ts +60 -16
  889. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.d.ts.map +1 -1
  890. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.js +12 -12
  891. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.js.map +1 -1
  892. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.mjs +12 -12
  893. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.mjs.map +1 -1
  894. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.mts +105 -7
  895. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
  896. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.ts +105 -7
  897. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
  898. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.js +6 -6
  899. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.js.map +1 -1
  900. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.mjs +6 -6
  901. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.mjs.map +1 -1
  902. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores.d.mts.map +1 -1
  903. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores.d.ts.map +1 -1
  904. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores.mjs.map +1 -1
  905. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts +81 -30
  906. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts.map +1 -1
  907. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.ts +81 -30
  908. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.ts.map +1 -1
  909. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.js +12 -9
  910. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.js.map +1 -1
  911. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs +12 -9
  912. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs.map +1 -1
  913. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts +1 -1
  914. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts.map +1 -1
  915. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts +1 -1
  916. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts.map +1 -1
  917. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js.map +1 -1
  918. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs.map +1 -1
  919. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts +2453 -380
  920. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts.map +1 -1
  921. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts +2453 -380
  922. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts.map +1 -1
  923. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js +16 -22
  924. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js.map +1 -1
  925. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs +16 -22
  926. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs.map +1 -1
  927. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.mts.map +1 -1
  928. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.ts.map +1 -1
  929. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.mjs.map +1 -1
  930. package/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts +6 -0
  931. package/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts.map +1 -1
  932. package/node_modules/@anthropic-ai/sdk/resources/beta/models.d.ts +6 -0
  933. package/node_modules/@anthropic-ai/sdk/resources/beta/models.d.ts.map +1 -1
  934. package/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs.map +1 -1
  935. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.mts +643 -19
  936. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.mts.map +1 -1
  937. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.ts +643 -19
  938. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.ts.map +1 -1
  939. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.js +29 -2
  940. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.js.map +1 -1
  941. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.mjs +27 -1
  942. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.mjs.map +1 -1
  943. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.d.mts +3 -2
  944. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.d.mts.map +1 -1
  945. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.d.ts +3 -2
  946. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.d.ts.map +1 -1
  947. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.js +3 -1
  948. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.js.map +1 -1
  949. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.mjs +1 -0
  950. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.mjs.map +1 -1
  951. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/resources.d.mts.map +1 -1
  952. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/resources.d.ts.map +1 -1
  953. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/resources.mjs.map +1 -1
  954. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.mts +455 -8
  955. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.mts.map +1 -1
  956. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.ts +455 -8
  957. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.ts.map +1 -1
  958. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.js +5 -1
  959. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.js.map +1 -1
  960. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.mjs +6 -2
  961. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.mjs.map +1 -1
  962. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/events.d.mts +78 -0
  963. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/events.d.mts.map +1 -0
  964. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/events.d.ts +78 -0
  965. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/events.d.ts.map +1 -0
  966. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/events.js +61 -0
  967. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/events.js.map +1 -0
  968. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/events.mjs +57 -0
  969. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/events.mjs.map +1 -0
  970. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/index.d.mts +3 -0
  971. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/index.d.mts.map +1 -0
  972. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/index.d.ts +3 -0
  973. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/index.d.ts.map +1 -0
  974. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/index.js +9 -0
  975. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/index.js.map +1 -0
  976. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/index.mjs +4 -0
  977. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/index.mjs.map +1 -0
  978. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.mts +195 -0
  979. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.mts.map +1 -0
  980. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.ts +195 -0
  981. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.ts.map +1 -0
  982. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.js +88 -0
  983. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.js.map +1 -0
  984. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.mjs +83 -0
  985. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.mjs.map +1 -0
  986. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads.d.mts +2 -0
  987. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads.d.mts.map +1 -0
  988. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads.d.ts +2 -0
  989. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads.d.ts.map +1 -0
  990. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads.js +6 -0
  991. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads.js.map +1 -0
  992. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads.mjs +3 -0
  993. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads.mjs.map +1 -0
  994. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions.d.mts.map +1 -1
  995. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions.d.ts.map +1 -1
  996. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions.mjs.map +1 -1
  997. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.mts +1 -1
  998. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.mts.map +1 -1
  999. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.ts +1 -1
  1000. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.ts.map +1 -1
  1001. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.js.map +1 -1
  1002. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.mjs.map +1 -1
  1003. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.mts +13 -11
  1004. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.mts.map +1 -1
  1005. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.ts +13 -11
  1006. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.ts.map +1 -1
  1007. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.js +5 -3
  1008. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.js.map +1 -1
  1009. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.mjs +5 -3
  1010. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.mjs.map +1 -1
  1011. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.mts +31 -3
  1012. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.mts.map +1 -1
  1013. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.ts +31 -3
  1014. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.ts.map +1 -1
  1015. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.js +32 -3
  1016. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.js.map +1 -1
  1017. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.mjs +32 -3
  1018. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.mjs.map +1 -1
  1019. package/node_modules/@anthropic-ai/sdk/resources/beta/skills.d.mts.map +1 -1
  1020. package/node_modules/@anthropic-ai/sdk/resources/beta/skills.d.ts.map +1 -1
  1021. package/node_modules/@anthropic-ai/sdk/resources/beta/skills.mjs.map +1 -1
  1022. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/certificates.d.mts +163 -0
  1023. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/certificates.d.mts.map +1 -0
  1024. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/certificates.d.ts +163 -0
  1025. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/certificates.d.ts.map +1 -0
  1026. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/certificates.js +129 -0
  1027. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/certificates.js.map +1 -0
  1028. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/certificates.mjs +125 -0
  1029. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/certificates.mjs.map +1 -0
  1030. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/index.d.mts +3 -0
  1031. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/index.d.mts.map +1 -0
  1032. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/index.d.ts +3 -0
  1033. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/index.d.ts.map +1 -0
  1034. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/index.js +9 -0
  1035. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/index.js.map +1 -0
  1036. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/index.mjs +4 -0
  1037. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/index.mjs.map +1 -0
  1038. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/tunnels.d.mts +212 -0
  1039. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/tunnels.d.mts.map +1 -0
  1040. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/tunnels.d.ts +212 -0
  1041. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/tunnels.d.ts.map +1 -0
  1042. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/tunnels.js +181 -0
  1043. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/tunnels.js.map +1 -0
  1044. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/tunnels.mjs +176 -0
  1045. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/tunnels.mjs.map +1 -0
  1046. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels.d.mts +2 -0
  1047. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels.d.mts.map +1 -0
  1048. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels.d.ts +2 -0
  1049. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels.d.ts.map +1 -0
  1050. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels.js +6 -0
  1051. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels.js.map +1 -0
  1052. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels.mjs +3 -0
  1053. package/node_modules/@anthropic-ai/sdk/resources/beta/tunnels.mjs.map +1 -0
  1054. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.mts +62 -0
  1055. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.mts.map +1 -1
  1056. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.ts +62 -0
  1057. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.ts.map +1 -1
  1058. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.js +5 -5
  1059. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.mjs +5 -5
  1060. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.mjs.map +1 -1
  1061. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.d.mts +256 -4
  1062. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.d.mts.map +1 -1
  1063. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.d.ts +256 -4
  1064. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.d.ts.map +1 -1
  1065. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.js +22 -0
  1066. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.js.map +1 -1
  1067. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.mjs +22 -0
  1068. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.mjs.map +1 -1
  1069. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/index.d.mts +1 -1
  1070. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/index.d.mts.map +1 -1
  1071. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/index.d.ts +1 -1
  1072. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/index.d.ts.map +1 -1
  1073. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/index.js.map +1 -1
  1074. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/index.mjs.map +1 -1
  1075. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.d.mts +2 -2
  1076. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.d.mts.map +1 -1
  1077. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.d.ts +2 -2
  1078. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.d.ts.map +1 -1
  1079. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.js.map +1 -1
  1080. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.mjs.map +1 -1
  1081. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults.d.mts.map +1 -1
  1082. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults.d.ts.map +1 -1
  1083. package/node_modules/@anthropic-ai/sdk/resources/beta/vaults.mjs.map +1 -1
  1084. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.mts +466 -0
  1085. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.mts.map +1 -0
  1086. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.ts +466 -0
  1087. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.ts.map +1 -0
  1088. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.js +20 -0
  1089. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.js.map +1 -0
  1090. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.mjs +16 -0
  1091. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.mjs.map +1 -0
  1092. package/node_modules/@anthropic-ai/sdk/resources/beta.d.mts.map +1 -1
  1093. package/node_modules/@anthropic-ai/sdk/resources/beta.d.ts.map +1 -1
  1094. package/node_modules/@anthropic-ai/sdk/resources/beta.mjs.map +1 -1
  1095. package/node_modules/@anthropic-ai/sdk/resources/completions.d.mts +18 -11
  1096. package/node_modules/@anthropic-ai/sdk/resources/completions.d.mts.map +1 -1
  1097. package/node_modules/@anthropic-ai/sdk/resources/completions.d.ts +18 -11
  1098. package/node_modules/@anthropic-ai/sdk/resources/completions.d.ts.map +1 -1
  1099. package/node_modules/@anthropic-ai/sdk/resources/completions.mjs.map +1 -1
  1100. package/node_modules/@anthropic-ai/sdk/resources/files.d.mts +105 -0
  1101. package/node_modules/@anthropic-ai/sdk/resources/files.d.mts.map +1 -0
  1102. package/node_modules/@anthropic-ai/sdk/resources/files.d.ts +105 -0
  1103. package/node_modules/@anthropic-ai/sdk/resources/files.d.ts.map +1 -0
  1104. package/node_modules/@anthropic-ai/sdk/resources/files.js +52 -0
  1105. package/node_modules/@anthropic-ai/sdk/resources/files.js.map +1 -0
  1106. package/node_modules/@anthropic-ai/sdk/resources/files.mjs +48 -0
  1107. package/node_modules/@anthropic-ai/sdk/resources/files.mjs.map +1 -0
  1108. package/node_modules/@anthropic-ai/sdk/resources/index.d.mts +4 -2
  1109. package/node_modules/@anthropic-ai/sdk/resources/index.d.mts.map +1 -1
  1110. package/node_modules/@anthropic-ai/sdk/resources/index.d.ts +4 -2
  1111. package/node_modules/@anthropic-ai/sdk/resources/index.d.ts.map +1 -1
  1112. package/node_modules/@anthropic-ai/sdk/resources/index.js +5 -1
  1113. package/node_modules/@anthropic-ai/sdk/resources/index.js.map +1 -1
  1114. package/node_modules/@anthropic-ai/sdk/resources/index.mjs +2 -0
  1115. package/node_modules/@anthropic-ai/sdk/resources/index.mjs.map +1 -1
  1116. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts +20 -11
  1117. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts.map +1 -1
  1118. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.ts +20 -11
  1119. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.ts.map +1 -1
  1120. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.js +17 -9
  1121. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.js.map +1 -1
  1122. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs +17 -9
  1123. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs.map +1 -1
  1124. package/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts +1 -1
  1125. package/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts.map +1 -1
  1126. package/node_modules/@anthropic-ai/sdk/resources/messages/index.d.ts +1 -1
  1127. package/node_modules/@anthropic-ai/sdk/resources/messages/index.d.ts.map +1 -1
  1128. package/node_modules/@anthropic-ai/sdk/resources/messages/index.js.map +1 -1
  1129. package/node_modules/@anthropic-ai/sdk/resources/messages/index.mjs.map +1 -1
  1130. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts +1782 -162
  1131. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts.map +1 -1
  1132. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts +1782 -162
  1133. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts.map +1 -1
  1134. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.js +23 -28
  1135. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.js.map +1 -1
  1136. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs +23 -28
  1137. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs.map +1 -1
  1138. package/node_modules/@anthropic-ai/sdk/resources/messages.d.mts.map +1 -1
  1139. package/node_modules/@anthropic-ai/sdk/resources/messages.d.ts.map +1 -1
  1140. package/node_modules/@anthropic-ai/sdk/resources/messages.mjs.map +1 -1
  1141. package/node_modules/@anthropic-ai/sdk/resources/models.d.mts.map +1 -1
  1142. package/node_modules/@anthropic-ai/sdk/resources/models.d.ts.map +1 -1
  1143. package/node_modules/@anthropic-ai/sdk/resources/models.mjs.map +1 -1
  1144. package/node_modules/@anthropic-ai/sdk/resources/skills/index.d.mts +3 -0
  1145. package/node_modules/@anthropic-ai/sdk/resources/skills/index.d.mts.map +1 -0
  1146. package/node_modules/@anthropic-ai/sdk/resources/skills/index.d.ts +3 -0
  1147. package/node_modules/@anthropic-ai/sdk/resources/skills/index.d.ts.map +1 -0
  1148. package/node_modules/@anthropic-ai/sdk/resources/skills/index.js +9 -0
  1149. package/node_modules/@anthropic-ai/sdk/resources/skills/index.js.map +1 -0
  1150. package/node_modules/@anthropic-ai/sdk/resources/skills/index.mjs +4 -0
  1151. package/node_modules/@anthropic-ai/sdk/resources/skills/index.mjs.map +1 -0
  1152. package/node_modules/@anthropic-ai/sdk/resources/skills/skills.d.mts +129 -0
  1153. package/node_modules/@anthropic-ai/sdk/resources/skills/skills.d.mts.map +1 -0
  1154. package/node_modules/@anthropic-ai/sdk/resources/skills/skills.d.ts +129 -0
  1155. package/node_modules/@anthropic-ai/sdk/resources/skills/skills.d.ts.map +1 -0
  1156. package/node_modules/@anthropic-ai/sdk/resources/skills/skills.js +44 -0
  1157. package/node_modules/@anthropic-ai/sdk/resources/skills/skills.js.map +1 -0
  1158. package/node_modules/@anthropic-ai/sdk/resources/skills/skills.mjs +39 -0
  1159. package/node_modules/@anthropic-ai/sdk/resources/skills/skills.mjs.map +1 -0
  1160. package/node_modules/@anthropic-ai/sdk/resources/skills/versions.d.mts +104 -0
  1161. package/node_modules/@anthropic-ai/sdk/resources/skills/versions.d.mts.map +1 -0
  1162. package/node_modules/@anthropic-ai/sdk/resources/skills/versions.d.ts +104 -0
  1163. package/node_modules/@anthropic-ai/sdk/resources/skills/versions.d.ts.map +1 -0
  1164. package/node_modules/@anthropic-ai/sdk/resources/skills/versions.js +41 -0
  1165. package/node_modules/@anthropic-ai/sdk/resources/skills/versions.js.map +1 -0
  1166. package/node_modules/@anthropic-ai/sdk/resources/skills/versions.mjs +37 -0
  1167. package/node_modules/@anthropic-ai/sdk/resources/skills/versions.mjs.map +1 -0
  1168. package/node_modules/@anthropic-ai/sdk/resources/skills.d.mts +2 -0
  1169. package/node_modules/@anthropic-ai/sdk/resources/skills.d.mts.map +1 -0
  1170. package/node_modules/@anthropic-ai/sdk/resources/skills.d.ts +2 -0
  1171. package/node_modules/@anthropic-ai/sdk/resources/skills.d.ts.map +1 -0
  1172. package/node_modules/@anthropic-ai/sdk/resources/skills.js +6 -0
  1173. package/node_modules/@anthropic-ai/sdk/resources/skills.js.map +1 -0
  1174. package/node_modules/@anthropic-ai/sdk/resources/skills.mjs +3 -0
  1175. package/node_modules/@anthropic-ai/sdk/resources/skills.mjs.map +1 -0
  1176. package/node_modules/@anthropic-ai/sdk/resources.d.mts.map +1 -1
  1177. package/node_modules/@anthropic-ai/sdk/resources.d.ts.map +1 -1
  1178. package/node_modules/@anthropic-ai/sdk/resources.mjs.map +1 -1
  1179. package/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/parser.ts +18 -2
  1180. package/node_modules/@anthropic-ai/sdk/src/client.ts +749 -42
  1181. package/node_modules/@anthropic-ai/sdk/src/core/api-promise.ts +14 -4
  1182. package/node_modules/@anthropic-ai/sdk/src/core/api.ts +11 -0
  1183. package/node_modules/@anthropic-ai/sdk/src/core/credentials.ts +379 -0
  1184. package/node_modules/@anthropic-ai/sdk/src/core/error.ts +17 -0
  1185. package/node_modules/@anthropic-ai/sdk/src/core/middleware.ts +339 -0
  1186. package/node_modules/@anthropic-ai/sdk/src/core/pagination.ts +60 -0
  1187. package/node_modules/@anthropic-ai/sdk/src/core/streaming.ts +38 -1
  1188. package/node_modules/@anthropic-ai/sdk/src/helpers/beta/environments.ts +34 -0
  1189. package/node_modules/@anthropic-ai/sdk/src/helpers/beta/json-schema.ts +7 -0
  1190. package/node_modules/@anthropic-ai/sdk/src/helpers/beta/mcp.ts +1 -1
  1191. package/node_modules/@anthropic-ai/sdk/src/helpers/beta/zod.ts +14 -10
  1192. package/node_modules/@anthropic-ai/sdk/src/helpers/zod.ts +3 -6
  1193. package/node_modules/@anthropic-ai/sdk/src/index.ts +16 -1
  1194. package/node_modules/@anthropic-ai/sdk/src/internal/constants.ts +0 -5
  1195. package/node_modules/@anthropic-ai/sdk/src/internal/file-store.ts +550 -0
  1196. package/node_modules/@anthropic-ai/sdk/src/internal/headers.ts +47 -4
  1197. package/node_modules/@anthropic-ai/sdk/src/internal/message-stream-utils.ts +30 -0
  1198. package/node_modules/@anthropic-ai/sdk/src/internal/parse.ts +16 -11
  1199. package/node_modules/@anthropic-ai/sdk/src/internal/qs/LICENSE.md +13 -0
  1200. package/node_modules/@anthropic-ai/sdk/src/internal/qs/README.md +3 -0
  1201. package/node_modules/@anthropic-ai/sdk/src/internal/qs/formats.ts +10 -0
  1202. package/node_modules/@anthropic-ai/sdk/src/internal/qs/index.ts +13 -0
  1203. package/node_modules/@anthropic-ai/sdk/src/internal/qs/stringify.ts +385 -0
  1204. package/node_modules/@anthropic-ai/sdk/src/internal/qs/types.ts +71 -0
  1205. package/node_modules/@anthropic-ai/sdk/src/internal/qs/utils.ts +265 -0
  1206. package/node_modules/@anthropic-ai/sdk/src/internal/request-options.ts +55 -2
  1207. package/node_modules/@anthropic-ai/sdk/src/internal/request-signal.ts +68 -0
  1208. package/node_modules/@anthropic-ai/sdk/src/internal/stainless-helper-header.ts +122 -0
  1209. package/node_modules/@anthropic-ai/sdk/src/internal/utils/abort.ts +21 -0
  1210. package/node_modules/@anthropic-ai/sdk/src/internal/utils/async-queue.ts +66 -0
  1211. package/node_modules/@anthropic-ai/sdk/src/internal/utils/backoff.ts +41 -0
  1212. package/node_modules/@anthropic-ai/sdk/src/internal/utils/log.ts +41 -10
  1213. package/node_modules/@anthropic-ai/sdk/src/internal/utils/promise.ts +18 -0
  1214. package/node_modules/@anthropic-ai/sdk/src/internal/utils/query.ts +2 -18
  1215. package/node_modules/@anthropic-ai/sdk/src/internal/utils/sleep.ts +25 -2
  1216. package/node_modules/@anthropic-ai/sdk/src/internal/utils/time.ts +4 -0
  1217. package/node_modules/@anthropic-ai/sdk/src/lib/BetaMessageStream.ts +72 -33
  1218. package/node_modules/@anthropic-ai/sdk/src/lib/MessageStream.ts +36 -24
  1219. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/credential-chain.ts +292 -0
  1220. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/identity-token.ts +37 -0
  1221. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/oidc-federation.ts +140 -0
  1222. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/token-cache.ts +130 -0
  1223. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/types.ts +295 -0
  1224. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/user-oauth.ts +144 -0
  1225. package/node_modules/@anthropic-ai/sdk/src/lib/credentials.ts +3 -0
  1226. package/node_modules/@anthropic-ai/sdk/src/lib/environments/index.ts +23 -0
  1227. package/node_modules/@anthropic-ai/sdk/src/lib/environments/poller.ts +299 -0
  1228. package/node_modules/@anthropic-ai/sdk/src/lib/environments/worker.ts +779 -0
  1229. package/node_modules/@anthropic-ai/sdk/src/lib/helper-client.ts +86 -0
  1230. package/node_modules/@anthropic-ai/sdk/src/lib/middleware.ts +994 -0
  1231. package/node_modules/@anthropic-ai/sdk/src/lib/sessions/accumulate.ts +130 -0
  1232. package/node_modules/@anthropic-ai/sdk/src/lib/tools/BetaRunnableTool.ts +71 -7
  1233. package/node_modules/@anthropic-ai/sdk/src/lib/tools/BetaToolRunner.ts +135 -35
  1234. package/node_modules/@anthropic-ai/sdk/src/lib/tools/SessionToolRunner.ts +885 -0
  1235. package/node_modules/@anthropic-ai/sdk/src/resources/beta/agents/agents.ts +806 -69
  1236. package/node_modules/@anthropic-ai/sdk/src/resources/beta/agents/index.ts +34 -0
  1237. package/node_modules/@anthropic-ai/sdk/src/resources/beta/beta.ts +690 -28
  1238. package/node_modules/@anthropic-ai/sdk/src/resources/beta/deployment-runs.ts +441 -0
  1239. package/node_modules/@anthropic-ai/sdk/src/resources/beta/deployments.ts +996 -0
  1240. package/node_modules/@anthropic-ai/sdk/src/resources/beta/dreams.ts +453 -0
  1241. package/node_modules/@anthropic-ai/sdk/src/resources/beta/environments/environments.ts +626 -0
  1242. package/node_modules/@anthropic-ai/sdk/src/resources/beta/environments/index.ts +42 -0
  1243. package/node_modules/@anthropic-ai/sdk/src/resources/beta/environments/work.ts +705 -0
  1244. package/node_modules/@anthropic-ai/sdk/src/resources/beta/environments.ts +1 -540
  1245. package/node_modules/@anthropic-ai/sdk/src/resources/beta/files.ts +28 -28
  1246. package/node_modules/@anthropic-ai/sdk/src/resources/beta/index.ts +312 -5
  1247. package/node_modules/@anthropic-ai/sdk/src/resources/beta/memory-stores/index.ts +1 -0
  1248. package/node_modules/@anthropic-ai/sdk/src/resources/beta/memory-stores/memories.ts +141 -31
  1249. package/node_modules/@anthropic-ai/sdk/src/resources/beta/memory-stores/memory-stores.ts +66 -20
  1250. package/node_modules/@anthropic-ai/sdk/src/resources/beta/memory-stores/memory-versions.ts +112 -9
  1251. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/batches.ts +90 -33
  1252. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/index.ts +90 -0
  1253. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/messages.ts +2755 -211
  1254. package/node_modules/@anthropic-ai/sdk/src/resources/beta/models.ts +7 -0
  1255. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/events.ts +888 -18
  1256. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/index.ts +60 -1
  1257. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/sessions.ts +669 -14
  1258. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/threads/events.ts +123 -0
  1259. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/threads/index.ts +15 -0
  1260. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/threads/threads.ts +330 -0
  1261. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/threads.ts +3 -0
  1262. package/node_modules/@anthropic-ai/sdk/src/resources/beta/skills/index.ts +1 -0
  1263. package/node_modules/@anthropic-ai/sdk/src/resources/beta/skills/skills.ts +15 -14
  1264. package/node_modules/@anthropic-ai/sdk/src/resources/beta/skills/versions.ts +49 -3
  1265. package/node_modules/@anthropic-ai/sdk/src/resources/beta/tunnels/certificates.ts +252 -0
  1266. package/node_modules/@anthropic-ai/sdk/src/resources/beta/tunnels/index.ts +23 -0
  1267. package/node_modules/@anthropic-ai/sdk/src/resources/beta/tunnels/tunnels.ts +347 -0
  1268. package/node_modules/@anthropic-ai/sdk/src/resources/beta/tunnels.ts +3 -0
  1269. package/node_modules/@anthropic-ai/sdk/src/resources/beta/user-profiles.ts +76 -5
  1270. package/node_modules/@anthropic-ai/sdk/src/resources/beta/vaults/credentials.ts +347 -3
  1271. package/node_modules/@anthropic-ai/sdk/src/resources/beta/vaults/index.ts +17 -0
  1272. package/node_modules/@anthropic-ai/sdk/src/resources/beta/vaults/vaults.ts +34 -0
  1273. package/node_modules/@anthropic-ai/sdk/src/resources/beta/webhooks.ts +762 -0
  1274. package/node_modules/@anthropic-ai/sdk/src/resources/completions.ts +18 -11
  1275. package/node_modules/@anthropic-ai/sdk/src/resources/files.ts +163 -0
  1276. package/node_modules/@anthropic-ai/sdk/src/resources/index.ts +89 -0
  1277. package/node_modules/@anthropic-ai/sdk/src/resources/messages/batches.ts +30 -12
  1278. package/node_modules/@anthropic-ai/sdk/src/resources/messages/index.ts +70 -0
  1279. package/node_modules/@anthropic-ai/sdk/src/resources/messages/messages.ts +2202 -226
  1280. package/node_modules/@anthropic-ai/sdk/src/resources/skills/index.ts +21 -0
  1281. package/node_modules/@anthropic-ai/sdk/src/resources/skills/skills.ts +194 -0
  1282. package/node_modules/@anthropic-ai/sdk/src/resources/skills/versions.ts +160 -0
  1283. package/node_modules/@anthropic-ai/sdk/src/resources/skills.ts +3 -0
  1284. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/fs-util.ts +190 -0
  1285. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/memories.ts +1017 -0
  1286. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/node.browser.ts +172 -0
  1287. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/node.ts +914 -0
  1288. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/skills.ts +372 -0
  1289. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/sync-interval.ts +30 -0
  1290. package/node_modules/@anthropic-ai/sdk/src/tools/memory/node.browser.ts +64 -0
  1291. package/node_modules/@anthropic-ai/sdk/src/version.ts +1 -1
  1292. package/node_modules/@anthropic-ai/sdk/streaming.d.mts +1 -0
  1293. package/node_modules/@anthropic-ai/sdk/streaming.d.mts.map +1 -1
  1294. package/node_modules/@anthropic-ai/sdk/streaming.d.ts +1 -0
  1295. package/node_modules/@anthropic-ai/sdk/streaming.d.ts.map +1 -1
  1296. package/node_modules/@anthropic-ai/sdk/streaming.mjs +1 -0
  1297. package/node_modules/@anthropic-ai/sdk/streaming.mjs.map +1 -1
  1298. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.d.mts +75 -0
  1299. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.d.mts.map +1 -0
  1300. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.d.ts +75 -0
  1301. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.d.ts.map +1 -0
  1302. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.js +196 -0
  1303. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.js.map +1 -0
  1304. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.mjs +185 -0
  1305. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.mjs.map +1 -0
  1306. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.d.mts +173 -0
  1307. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.d.mts.map +1 -0
  1308. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.d.ts +173 -0
  1309. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.d.ts.map +1 -0
  1310. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.js +902 -0
  1311. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.js.map +1 -0
  1312. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.mjs +895 -0
  1313. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.mjs.map +1 -0
  1314. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.mts +82 -0
  1315. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.mts.map +1 -0
  1316. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.ts +82 -0
  1317. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.ts.map +1 -0
  1318. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.js +151 -0
  1319. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.js.map +1 -0
  1320. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.mjs +131 -0
  1321. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.mjs.map +1 -0
  1322. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.mts +190 -0
  1323. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.mts.map +1 -0
  1324. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.ts +190 -0
  1325. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.ts.map +1 -0
  1326. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.js +819 -0
  1327. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.js.map +1 -0
  1328. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.mjs +797 -0
  1329. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.mjs.map +1 -0
  1330. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.mts +82 -0
  1331. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.mts.map +1 -0
  1332. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.ts +82 -0
  1333. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.ts.map +1 -0
  1334. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.js +352 -0
  1335. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.js.map +1 -0
  1336. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.mjs +344 -0
  1337. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.mjs.map +1 -0
  1338. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/sync-interval.d.mts +19 -0
  1339. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/sync-interval.d.mts.map +1 -0
  1340. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/sync-interval.d.ts +19 -0
  1341. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/sync-interval.d.ts.map +1 -0
  1342. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/sync-interval.js +29 -0
  1343. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/sync-interval.js.map +1 -0
  1344. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/sync-interval.mjs +25 -0
  1345. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/sync-interval.mjs.map +1 -0
  1346. package/node_modules/@anthropic-ai/sdk/tools/memory/node.browser.d.mts +27 -0
  1347. package/node_modules/@anthropic-ai/sdk/tools/memory/node.browser.d.mts.map +1 -0
  1348. package/node_modules/@anthropic-ai/sdk/tools/memory/node.browser.d.ts +27 -0
  1349. package/node_modules/@anthropic-ai/sdk/tools/memory/node.browser.d.ts.map +1 -0
  1350. package/node_modules/@anthropic-ai/sdk/tools/memory/node.browser.js +49 -0
  1351. package/node_modules/@anthropic-ai/sdk/tools/memory/node.browser.js.map +1 -0
  1352. package/node_modules/@anthropic-ai/sdk/tools/memory/node.browser.mjs +44 -0
  1353. package/node_modules/@anthropic-ai/sdk/tools/memory/node.browser.mjs.map +1 -0
  1354. package/node_modules/@anthropic-ai/sdk/tools/memory/node.d.mts.map +1 -1
  1355. package/node_modules/@anthropic-ai/sdk/tools/memory/node.d.ts.map +1 -1
  1356. package/node_modules/@anthropic-ai/sdk/tools/memory/node.mjs.map +1 -1
  1357. package/node_modules/@anthropic-ai/sdk/uploads.d.mts +1 -0
  1358. package/node_modules/@anthropic-ai/sdk/uploads.d.mts.map +1 -1
  1359. package/node_modules/@anthropic-ai/sdk/uploads.d.ts +1 -0
  1360. package/node_modules/@anthropic-ai/sdk/uploads.d.ts.map +1 -1
  1361. package/node_modules/@anthropic-ai/sdk/uploads.mjs +1 -0
  1362. package/node_modules/@anthropic-ai/sdk/uploads.mjs.map +1 -1
  1363. package/node_modules/@anthropic-ai/sdk/version.d.mts +1 -1
  1364. package/node_modules/@anthropic-ai/sdk/version.d.mts.map +1 -1
  1365. package/node_modules/@anthropic-ai/sdk/version.d.ts +1 -1
  1366. package/node_modules/@anthropic-ai/sdk/version.d.ts.map +1 -1
  1367. package/node_modules/@anthropic-ai/sdk/version.js +1 -1
  1368. package/node_modules/@anthropic-ai/sdk/version.js.map +1 -1
  1369. package/node_modules/@anthropic-ai/sdk/version.mjs +1 -1
  1370. package/node_modules/@anthropic-ai/sdk/version.mjs.map +1 -1
  1371. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +24 -0
  1372. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  1373. package/node_modules/@code-yeongyu/senpi-codemode/src/extension/session-manager-proxy.ts +39 -5
  1374. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  1375. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +7 -4
  1376. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  1377. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +2 -3
  1378. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  1379. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +7 -6
  1380. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  1381. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.d.ts +4 -0
  1382. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.d.ts.map +1 -1
  1383. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.js +8 -0
  1384. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.js.map +1 -1
  1385. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +1 -0
  1386. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
  1387. package/node_modules/@earendil-works/pi-agent-core/dist/index.js +1 -0
  1388. package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
  1389. package/node_modules/@earendil-works/pi-agent-core/package.json +5 -5
  1390. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts +1 -5
  1391. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  1392. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +25 -13
  1393. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  1394. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts.map +1 -1
  1395. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +2 -1
  1396. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
  1397. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  1398. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +91 -5
  1399. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  1400. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts.map +1 -1
  1401. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +4 -2
  1402. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js.map +1 -1
  1403. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts.map +1 -1
  1404. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +4 -2
  1405. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js.map +1 -1
  1406. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts.map +1 -1
  1407. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +2 -0
  1408. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
  1409. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  1410. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +93 -54
  1411. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  1412. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +2 -5
  1413. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  1414. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.js +1 -1
  1415. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.js.map +1 -1
  1416. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.d.ts.map +1 -1
  1417. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js +97 -46
  1418. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js.map +1 -1
  1419. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.d.ts.map +1 -1
  1420. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js +1 -14
  1421. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js.map +1 -1
  1422. package/node_modules/@earendil-works/pi-ai/dist/auth/pool/slots.d.ts +50 -0
  1423. package/node_modules/@earendil-works/pi-ai/dist/auth/pool/slots.d.ts.map +1 -0
  1424. package/node_modules/@earendil-works/pi-ai/dist/auth/pool/slots.js +129 -0
  1425. package/node_modules/@earendil-works/pi-ai/dist/auth/pool/slots.js.map +1 -0
  1426. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.d.ts.map +1 -1
  1427. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js +3 -1
  1428. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js.map +1 -1
  1429. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +8 -1
  1430. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  1431. package/node_modules/@earendil-works/pi-ai/dist/models.js +16 -3
  1432. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  1433. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts +3 -1
  1434. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -1
  1435. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js +10 -1
  1436. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js.map +1 -1
  1437. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  1438. package/node_modules/@earendil-works/pi-ai/dist/providers/data/anthropic.json +1 -1
  1439. package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
  1440. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  1441. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  1442. package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
  1443. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
  1444. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  1445. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  1446. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opengateway.json +1 -1
  1447. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  1448. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  1449. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
  1450. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
  1451. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts +1 -0
  1452. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts.map +1 -1
  1453. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js +1 -0
  1454. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js.map +1 -1
  1455. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.d.ts.map +1 -1
  1456. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.js +4 -0
  1457. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.js.map +1 -1
  1458. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +8 -1
  1459. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  1460. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  1461. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +16 -0
  1462. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  1463. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +17 -1
  1464. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  1465. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/backoff.d.ts +14 -0
  1466. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/backoff.d.ts.map +1 -0
  1467. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/backoff.js +24 -0
  1468. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/backoff.js.map +1 -0
  1469. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/classifiers.d.ts +36 -0
  1470. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/classifiers.d.ts.map +1 -0
  1471. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/classifiers.js +109 -0
  1472. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/classifiers.js.map +1 -0
  1473. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/failure.d.ts +12 -0
  1474. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/failure.d.ts.map +1 -0
  1475. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/failure.js +109 -0
  1476. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/failure.js.map +1 -0
  1477. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/index.d.ts +9 -0
  1478. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/index.d.ts.map +1 -0
  1479. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/index.js +6 -0
  1480. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/index.js.map +1 -0
  1481. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/planner.d.ts +46 -0
  1482. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/planner.d.ts.map +1 -0
  1483. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/planner.js +41 -0
  1484. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/planner.js.map +1 -0
  1485. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/profiles.d.ts +4 -0
  1486. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/profiles.d.ts.map +1 -0
  1487. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/profiles.js +93 -0
  1488. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/profiles.js.map +1 -0
  1489. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/types.d.ts +121 -0
  1490. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/types.d.ts.map +1 -0
  1491. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/types.js +11 -0
  1492. package/node_modules/@earendil-works/pi-ai/dist/utils/retry-profile/types.js.map +1 -0
  1493. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts +12 -0
  1494. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -1
  1495. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +25 -5
  1496. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
  1497. package/node_modules/@earendil-works/pi-ai/dist/utils/sleep.d.ts +2 -0
  1498. package/node_modules/@earendil-works/pi-ai/dist/utils/sleep.d.ts.map +1 -0
  1499. package/node_modules/@earendil-works/pi-ai/dist/utils/sleep.js +15 -0
  1500. package/node_modules/@earendil-works/pi-ai/dist/utils/sleep.js.map +1 -0
  1501. package/node_modules/@earendil-works/pi-ai/package.json +21 -17
  1502. package/node_modules/@earendil-works/pi-pty/dist/index.d.ts +1 -0
  1503. package/node_modules/@earendil-works/pi-pty/dist/index.d.ts.map +1 -1
  1504. package/node_modules/@earendil-works/pi-pty/dist/index.js +1 -0
  1505. package/node_modules/@earendil-works/pi-pty/dist/index.js.map +1 -1
  1506. package/node_modules/@earendil-works/pi-pty/dist/session-bun.d.ts +30 -0
  1507. package/node_modules/@earendil-works/pi-pty/dist/session-bun.d.ts.map +1 -0
  1508. package/node_modules/@earendil-works/pi-pty/dist/session-bun.js +76 -0
  1509. package/node_modules/@earendil-works/pi-pty/dist/session-bun.js.map +1 -0
  1510. package/node_modules/@earendil-works/pi-pty/dist/session-types.d.ts +3 -1
  1511. package/node_modules/@earendil-works/pi-pty/dist/session-types.d.ts.map +1 -1
  1512. package/node_modules/@earendil-works/pi-pty/dist/session-types.js.map +1 -1
  1513. package/node_modules/@earendil-works/pi-pty/dist/session.d.ts +2 -0
  1514. package/node_modules/@earendil-works/pi-pty/dist/session.d.ts.map +1 -1
  1515. package/node_modules/@earendil-works/pi-pty/dist/session.js +19 -9
  1516. package/node_modules/@earendil-works/pi-pty/dist/session.js.map +1 -1
  1517. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  1518. package/node_modules/@earendil-works/pi-telemetry/package.json +3 -3
  1519. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
  1520. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +9 -4
  1521. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
  1522. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts +8 -2
  1523. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +1 -1
  1524. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js +24 -4
  1525. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +1 -1
  1526. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +2 -2
  1527. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js +2 -2
  1528. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -1
  1529. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts.map +1 -1
  1530. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js +2 -8
  1531. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js.map +1 -1
  1532. package/node_modules/@earendil-works/pi-tui/dist/native-module-path.d.ts +7 -0
  1533. package/node_modules/@earendil-works/pi-tui/dist/native-module-path.d.ts.map +1 -0
  1534. package/node_modules/@earendil-works/pi-tui/dist/native-module-path.js +19 -0
  1535. package/node_modules/@earendil-works/pi-tui/dist/native-module-path.js.map +1 -0
  1536. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  1537. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +4 -10
  1538. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  1539. package/node_modules/@earendil-works/pi-tui/package.json +5 -5
  1540. package/node_modules/@stablelib/base64/LICENSE +21 -0
  1541. package/node_modules/@stablelib/base64/base64.bench.ts +25 -0
  1542. package/node_modules/@stablelib/base64/base64.test.ts +85 -0
  1543. package/node_modules/@stablelib/base64/base64.ts +283 -0
  1544. package/node_modules/@stablelib/base64/lib/base64.bench.d.ts +1 -0
  1545. package/node_modules/@stablelib/base64/lib/base64.bench.js +23 -0
  1546. package/node_modules/@stablelib/base64/lib/base64.bench.js.map +1 -0
  1547. package/node_modules/@stablelib/base64/lib/base64.d.ts +34 -0
  1548. package/node_modules/@stablelib/base64/lib/base64.js +282 -0
  1549. package/node_modules/@stablelib/base64/lib/base64.js.map +1 -0
  1550. package/node_modules/@stablelib/base64/lib/base64.test.d.ts +1 -0
  1551. package/node_modules/@stablelib/base64/lib/base64.test.js +82 -0
  1552. package/node_modules/@stablelib/base64/lib/base64.test.js.map +1 -0
  1553. package/node_modules/@stablelib/base64/package.json +25 -0
  1554. package/node_modules/@stablelib/base64/tsconfig.json +27 -0
  1555. package/node_modules/fast-sha256/LICENSE +24 -0
  1556. package/node_modules/fast-sha256/README.md +127 -0
  1557. package/node_modules/fast-sha256/package.json +42 -0
  1558. package/node_modules/fast-sha256/sha256.d.ts +39 -0
  1559. package/node_modules/fast-sha256/sha256.js +427 -0
  1560. package/node_modules/fast-sha256/sha256.min.js +1 -0
  1561. package/node_modules/standardwebhooks/README.md +41 -0
  1562. package/node_modules/standardwebhooks/dist/index.d.ts +24 -0
  1563. package/node_modules/standardwebhooks/dist/index.js +106 -0
  1564. package/node_modules/standardwebhooks/dist/index.js.map +1 -0
  1565. package/node_modules/standardwebhooks/dist/timing_safe_equal.d.ts +1 -0
  1566. package/node_modules/standardwebhooks/dist/timing_safe_equal.js +30 -0
  1567. package/node_modules/standardwebhooks/dist/timing_safe_equal.js.map +1 -0
  1568. package/node_modules/standardwebhooks/package.json +45 -0
  1569. package/package.json +100 -89
  1570. package/dist/core/radius.d.ts +0 -2
  1571. package/dist/core/radius.d.ts.map +0 -1
  1572. package/dist/core/radius.js +0 -2
  1573. package/dist/core/radius.js.map +0 -1
  1574. package/node_modules/@anthropic-ai/sdk/lib/stainless-helper-header.d.mts +0 -34
  1575. package/node_modules/@anthropic-ai/sdk/lib/stainless-helper-header.d.mts.map +0 -1
  1576. package/node_modules/@anthropic-ai/sdk/lib/stainless-helper-header.d.ts +0 -34
  1577. package/node_modules/@anthropic-ai/sdk/lib/stainless-helper-header.d.ts.map +0 -1
  1578. package/node_modules/@anthropic-ai/sdk/lib/stainless-helper-header.js.map +0 -1
  1579. package/node_modules/@anthropic-ai/sdk/lib/stainless-helper-header.mjs.map +0 -1
  1580. package/node_modules/@anthropic-ai/sdk/lib/tools/ToolRunner.d.mts +0 -132
  1581. package/node_modules/@anthropic-ai/sdk/lib/tools/ToolRunner.d.mts.map +0 -1
  1582. package/node_modules/@anthropic-ai/sdk/lib/tools/ToolRunner.d.ts +0 -132
  1583. package/node_modules/@anthropic-ai/sdk/lib/tools/ToolRunner.d.ts.map +0 -1
  1584. package/node_modules/@anthropic-ai/sdk/lib/tools/ToolRunner.js +0 -294
  1585. package/node_modules/@anthropic-ai/sdk/lib/tools/ToolRunner.js.map +0 -1
  1586. package/node_modules/@anthropic-ai/sdk/lib/tools/ToolRunner.mjs +0 -290
  1587. package/node_modules/@anthropic-ai/sdk/lib/tools/ToolRunner.mjs.map +0 -1
  1588. package/node_modules/@anthropic-ai/sdk/src/lib/stainless-helper-header.ts +0 -80
  1589. package/node_modules/@anthropic-ai/sdk/src/lib/tools/ToolRunner.ts +0 -381
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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","sourcesContent":["import { lazyStream } from \"./api/lazy.ts\";\nimport { defaultProviderAuthContext as defaultAuthContext } from \"./auth/context.ts\";\nimport { InMemoryCredentialStore } from \"./auth/credential-store.ts\";\nimport { type AuthResolutionOverrides, ModelsError, resolveProviderAuth } from \"./auth/resolve.ts\";\nimport type {\n\tAuthCheck,\n\tAuthContext,\n\tAuthInteraction,\n\tAuthOperationOptions,\n\tAuthResult,\n\tAuthType,\n\tCredential,\n\tCredentialStore,\n\tProviderAuth,\n} from \"./auth/types.ts\";\nimport { InMemoryModelsStore, type ModelsStore, type ModelsStoreEntry } from \"./models-store.ts\";\nimport type {\n\tApi,\n\tApiStreamOptions,\n\tAssistantMessage,\n\tAssistantMessageEventStream,\n\tContext,\n\tDeferredCancelOptions,\n\tDeferredFetchOptions,\n\tDeferredHandle,\n\tModel,\n\tModelCostRates,\n\tModelThinkingLevel,\n\tProviderHeaders,\n\tProviderRequestOptions,\n\tProviderStreams,\n\tSimpleStreamOptions,\n\tUsage,\n} from \"./types.ts\";\nimport { operationSignal, raceWithAbortSignal } from \"./utils/abort.ts\";\n\nexport { ModelsError, type ModelsErrorCode } from \"./auth/resolve.ts\";\n\nexport interface ModelsPublication {\n\t/** Provider-selected persisted catalog. Omit to leave storage unchanged; null deletes it. */\n\tpersist?: ModelsStoreEntry | null;\n\t/** Optional synchronous update of provider-private in-memory catalog state. */\n\tupdate?: () => void;\n}\n\nexport interface RefreshModelsContext {\n\t/** Effective configured credential. OAuth credentials are refreshed before network access. */\n\tcredential?: Credential;\n\t/** Immutable provider-scoped catalog snapshot captured before this refresh phase. */\n\tstored?: Readonly<ModelsStoreEntry>;\n\t/**\n\t * Generation-checked publication. Persistence policy remains provider-owned;\n\t * the update runs synchronously only after the selected persistence mutation.\n\t */\n\tpublish(publication: ModelsPublication): Promise<boolean>;\n\t/** False during offline/cache-only initialization. */\n\tallowNetwork: boolean;\n\t/** Bypass provider freshness checks and fetch immediately when network access is allowed. */\n\tforce?: boolean;\n\t/** Always present, including when the public refresh caller omits its optional signal. */\n\tsignal: AbortSignal;\n}\n\nexport interface ModelsRefreshOptions {\n\tallowNetwork?: boolean;\n\t/** Restrict refresh to these provider IDs. Unknown and static providers are ignored. */\n\tproviders?: readonly string[];\n\t/** Bypass provider freshness checks and fetch immediately when network access is allowed. */\n\tforce?: boolean;\n\tsignal?: AbortSignal;\n}\n\nexport interface ModelsRefreshResult {\n\taborted: boolean;\n\terrors: ReadonlyMap<string, Error>;\n}\n\nexport interface ModelsRequestTransforms {\n\t/** Transform fully assembled model/auth/request headers before provider dispatch. */\n\ttransformHeaders?: (headers: ProviderHeaders) => ProviderHeaders | Promise<ProviderHeaders>;\n}\n\nexport type ModelsApiStreamOptions<TApi extends Api> = ApiStreamOptions<TApi> & ModelsRequestTransforms;\nexport type ModelsSimpleStreamOptions = SimpleStreamOptions & ModelsRequestTransforms;\nexport type ModelsDeferredFetchOptions = DeferredFetchOptions & ModelsRequestTransforms;\nexport type ModelsDeferredCancelOptions = DeferredCancelOptions & ModelsRequestTransforms;\n\n/**\n * A provider is the concrete runtime unit. It owns id/name/base metadata,\n * auth methods, model listing, and stream behavior.\n *\n * `TApi` lets concrete provider factories declare which APIs their models\n * use (e.g. `openaiProvider(): Provider<\"openai-responses\" | \"openai-completions\">`),\n * giving typed model lists to direct factory users. Inside a `Models`\n * collection providers are held as `Provider<Api>`.\n */\nexport interface Provider<TApi extends Api = Api> {\n\treadonly id: string;\n\treadonly name: string;\n\n\treadonly baseUrl?: string;\n\treadonly headers?: ProviderHeaders;\n\n\t/**\n\t * Required: at least one of `apiKey`/`oauth`. Every provider has auth\n\t * semantics — even providers with only ambient credentials (env vars, AWS\n\t * profiles, ADC files) and keyless local servers provide `apiKey` auth\n\t * whose `resolve()` reports whether the provider is configured.\n\t * `Models.getAuth()` returns undefined when the provider is unconfigured.\n\t */\n\treadonly auth: ProviderAuth;\n\n\t/**\n\t * Current known models, sync. Static providers return their catalog;\n\t * dynamic providers return the list as of the last `refreshModels()`\n\t * (empty before the first). Must not throw; `Models` treats a throwing\n\t * implementation as having no models.\n\t */\n\tgetModels(): readonly Model<TApi>[];\n\n\t/**\n\t * Dynamic providers only: restore `context.stored` and optionally fetch a newer list using\n\t * the effective credential. Implementations retain their previous list on failure, publish\n\t * persistence and synchronous state changes through `context.publish()`, and honor the\n\t * shared abort signal for blocking work.\n\t */\n\trefreshModels?(context: RefreshModelsContext): Promise<void>;\n\n\t/**\n\t * Optional provider policy for credential-specific model availability.\n\t * `getModels()` remains the complete synchronous catalog; `Models.getAvailable()`\n\t * applies this filter after confirming that provider auth is configured.\n\t */\n\tfilterModels?(models: readonly Model<TApi>[], credential: Credential | undefined): readonly Model<TApi>[];\n\n\tstream<T extends TApi>(\n\t\tmodel: Model<T>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<T>,\n\t): AssistantMessageEventStream;\n\n\tstreamSimple(model: Model<TApi>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;\n\tfetchDeferred?(\n\t\tmodel: Model<TApi>,\n\t\thandle: DeferredHandle,\n\t\toptions?: DeferredFetchOptions,\n\t): AssistantMessageEventStream;\n\tcancelDeferred?(model: Model<TApi>, handle: DeferredHandle, options?: DeferredCancelOptions): Promise<void>;\n}\n\n/**\n * Runtime collection of providers plus auth application and stream\n * convenience. Providers own stream behavior; `Models` resolves auth and\n * delegates each request to the provider that owns the model.\n */\nexport interface Models {\n\tgetProviders(): readonly Provider[];\n\tgetProvider(id: string): Provider | undefined;\n\n\t/**\n\t * Sync read of last-known models from one provider or all providers.\n\t * Best-effort: a provider whose `getModels()` throws yields no models.\n\t */\n\tgetModels(provider?: string): readonly Model<Api>[];\n\n\t/**\n\t * Sync runtime model lookup against last-known lists. Dynamic model lists\n\t * are typed as `Model<Api>`; narrow with the `hasApi()` type guard.\n\t */\n\tgetModel(provider: string, id: string): Model<Api> | undefined;\n\n\t/**\n\t * Refresh selected configured dynamic providers concurrently (all when `providers` is omitted).\n\t * Provider errors and cancellation are returned without rejecting; static, unknown, and\n\t * unconfigured providers are skipped.\n\t */\n\trefresh(options?: ModelsRefreshOptions): Promise<ModelsRefreshResult>;\n\n\t/** Check whether a provider has complete auth configuration without refreshing OAuth. */\n\tcheckAuth(providerId: string, options?: AuthOperationOptions): Promise<AuthCheck | undefined>;\n\n\t/** Return models whose providers have complete auth configuration. */\n\tgetAvailable(providerId?: string, options?: AuthOperationOptions): Promise<readonly Model<Api>[]>;\n\n\t/**\n\t * Resolve provider-scoped auth by provider id, or provider auth plus static\n\t * model headers when passed a model. Includes a source label for status UI.\n\t * Resolves `undefined` when the provider is unknown or unconfigured.\n\t * Rejects with `ModelsError`: code \"oauth\" when a token refresh fails (the\n\t * stored credential is preserved for retry; re-login fixes it), code \"auth\"\n\t * when api-key resolution or the credential store fails. Request paths\n\t * surface rejections as stream errors.\n\t */\n\tgetAuth(providerId: string, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;\n\tgetAuth(model: Model<Api>, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;\n\n\t/** Run a provider-owned login flow and persist its returned credential. */\n\tlogin(providerId: string, type: AuthType, interaction: AuthInteraction): Promise<Credential>;\n\n\t/** Remove the stored credential for a provider. */\n\tlogout(providerId: string, options?: AuthOperationOptions): Promise<void>;\n\n\tstream<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ModelsApiStreamOptions<TApi>,\n\t): AssistantMessageEventStream;\n\n\tcomplete<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ModelsApiStreamOptions<TApi>,\n\t): Promise<AssistantMessage>;\n\n\tstreamSimple(model: Model<Api>, context: Context, options?: ModelsSimpleStreamOptions): AssistantMessageEventStream;\n\tcompleteSimple(model: Model<Api>, context: Context, options?: ModelsSimpleStreamOptions): Promise<AssistantMessage>;\n\tfetchDeferred(\n\t\tmodel: Model<Api>,\n\t\thandle: DeferredHandle,\n\t\toptions?: ModelsDeferredFetchOptions,\n\t): Promise<AssistantMessage>;\n\tcancelDeferred(model: Model<Api>, handle: DeferredHandle, options?: ModelsDeferredCancelOptions): Promise<void>;\n}\n\nexport interface MutableModels extends Models {\n\t/** Upsert/replace by provider.id. Provider ids are unique. */\n\tsetProvider(provider: Provider): void;\n\tdeleteProvider(id: string): void;\n\tclearProviders(): void;\n}\n\nexport interface CreateModelsOptions {\n\tcredentials?: CredentialStore;\n\tmodelsStore?: ModelsStore;\n\tauthContext?: AuthContext;\n}\n\nfunction mergeHeaders(\n\tbase: ProviderHeaders | undefined,\n\toverride: ProviderHeaders | undefined,\n): ProviderHeaders | undefined {\n\tif (!base && !override) return undefined;\n\tconst merged = { ...base };\n\tfor (const [name, value] of Object.entries(override ?? {})) {\n\t\tconst lowerName = name.toLowerCase();\n\t\tfor (const existingName of Object.keys(merged)) {\n\t\t\tif (existingName.toLowerCase() === lowerName) delete merged[existingName];\n\t\t}\n\t\tmerged[name] = value;\n\t}\n\treturn merged;\n}\n\nclass ModelsImpl implements MutableModels {\n\tprivate providers = new Map<string, Provider>();\n\tprivate credentials: CredentialStore;\n\tprivate modelsStore: ModelsStore;\n\tprivate authContext: AuthContext;\n\tprivate refreshGenerations = new Map<string, number>();\n\tprivate refreshControllers = new Map<string, AbortController>();\n\tprivate publicationChains = new Map<string, Promise<unknown>>();\n\n\tconstructor(options?: CreateModelsOptions) {\n\t\tthis.credentials = options?.credentials ?? new InMemoryCredentialStore();\n\t\tthis.modelsStore = options?.modelsStore ?? new InMemoryModelsStore();\n\t\tthis.authContext = options?.authContext ?? defaultAuthContext();\n\t}\n\n\tsetProvider(provider: Provider): void {\n\t\tthis.supersedeProviderRefresh(provider.id);\n\t\tthis.providers.set(provider.id, provider);\n\t}\n\n\tdeleteProvider(id: string): void {\n\t\tthis.supersedeProviderRefresh(id);\n\t\tthis.providers.delete(id);\n\t}\n\n\tclearProviders(): void {\n\t\tfor (const id of new Set([...this.providers.keys(), ...this.refreshControllers.keys()])) {\n\t\t\tthis.supersedeProviderRefresh(id);\n\t\t}\n\t\tthis.providers.clear();\n\t}\n\n\tgetProviders(): readonly Provider[] {\n\t\treturn Array.from(this.providers.values());\n\t}\n\n\tgetProvider(id: string): Provider | undefined {\n\t\treturn this.providers.get(id);\n\t}\n\n\tgetModels(provider?: string): readonly Model<Api>[] {\n\t\tif (provider !== undefined) {\n\t\t\tconst entry = this.providers.get(provider);\n\t\t\tif (!entry) return [];\n\t\t\ttry {\n\t\t\t\treturn entry.getModels();\n\t\t\t} catch {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t}\n\n\t\tconst models: Model<Api>[] = [];\n\t\tfor (const entry of this.providers.values()) {\n\t\t\ttry {\n\t\t\t\tmodels.push(...entry.getModels());\n\t\t\t} catch {\n\t\t\t\t// Best-effort: ill-behaved providers yield no models.\n\t\t\t}\n\t\t}\n\t\treturn models;\n\t}\n\n\tgetModel(provider: string, id: string): Model<Api> | undefined {\n\t\treturn this.getModels(provider).find((model) => model.id === id);\n\t}\n\n\tprivate supersedeProviderRefresh(providerId: string): number {\n\t\tconst generation = (this.refreshGenerations.get(providerId) ?? 0) + 1;\n\t\tthis.refreshGenerations.set(providerId, generation);\n\t\tconst previous = this.refreshControllers.get(providerId);\n\t\tif (previous) {\n\t\t\tthis.refreshControllers.delete(providerId);\n\t\t\tprevious.abort();\n\t\t}\n\t\treturn generation;\n\t}\n\n\tprivate beginProviderRefresh(providerId: string): { generation: number; controller: AbortController } {\n\t\tconst generation = this.supersedeProviderRefresh(providerId);\n\t\tconst controller = new AbortController();\n\t\tthis.refreshControllers.set(providerId, controller);\n\t\treturn { generation, controller };\n\t}\n\n\tprivate publishProviderModels(\n\t\tproviderId: string,\n\t\tgeneration: number,\n\t\tsignal: AbortSignal,\n\t\tpublication: ModelsPublication,\n\t): Promise<boolean> {\n\t\tconst previous = this.publicationChains.get(providerId) ?? Promise.resolve();\n\t\tconst queued = (async () => {\n\t\t\tawait previous.catch(() => {});\n\t\t\tif (signal.aborted || this.refreshGenerations.get(providerId) !== generation) return false;\n\n\t\t\tif (publication.persist === null) {\n\t\t\t\tawait this.modelsStore.delete(providerId, { signal });\n\t\t\t} else if (publication.persist !== undefined) {\n\t\t\t\tawait this.modelsStore.write(providerId, structuredClone(publication.persist), { signal });\n\t\t\t}\n\n\t\t\tif (signal.aborted || this.refreshGenerations.get(providerId) !== generation) return false;\n\t\t\tpublication.update?.();\n\t\t\treturn true;\n\t\t})();\n\t\tconst tail = queued.catch(() => {});\n\t\tthis.publicationChains.set(providerId, tail);\n\t\tvoid tail.then(() => {\n\t\t\tif (this.publicationChains.get(providerId) === tail) this.publicationChains.delete(providerId);\n\t\t});\n\t\treturn raceWithAbortSignal(queued, signal);\n\t}\n\n\tprivate async runProviderRefreshPhase(\n\t\tprovider: Provider & Required<Pick<Provider, \"refreshModels\">>,\n\t\tcredential: Credential | undefined,\n\t\tallowNetwork: boolean,\n\t\tforce: boolean | undefined,\n\t\tgeneration: number,\n\t\tsignal: AbortSignal,\n\t): Promise<void> {\n\t\tconst stored = await this.modelsStore.read(provider.id, { signal });\n\t\tawait provider.refreshModels({\n\t\t\tcredential,\n\t\t\tstored: stored ? structuredClone(stored) : undefined,\n\t\t\tpublish: (publication) => this.publishProviderModels(provider.id, generation, signal, publication),\n\t\t\tallowNetwork,\n\t\t\tforce: allowNetwork ? force : undefined,\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync refresh(options: ModelsRefreshOptions = {}): Promise<ModelsRefreshResult> {\n\t\tconst allowNetwork = options.allowNetwork ?? true;\n\t\tconst callerSignal = operationSignal(options.signal);\n\t\tconst errors = new Map<string, Error>();\n\t\tif (callerSignal.aborted) return { aborted: true, errors };\n\t\tconst selected = options.providers ? new Set(options.providers) : undefined;\n\t\tconst refreshable = Array.from(this.providers.values()).filter(\n\t\t\t(provider): provider is Provider & Required<Pick<Provider, \"refreshModels\">> =>\n\t\t\t\tprovider.refreshModels !== undefined && (!selected || selected.has(provider.id)),\n\t\t);\n\n\t\tconst refresh = Promise.all(\n\t\t\trefreshable.map(async (provider) => {\n\t\t\t\tconst { generation, controller } = this.beginProviderRefresh(provider.id);\n\t\t\t\tconst signal = AbortSignal.any([callerSignal, controller.signal]);\n\t\t\t\tconst operation = (async () => {\n\t\t\t\t\tlet storedCredential: Credential | undefined;\n\t\t\t\t\tlet credentialError: unknown;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tstoredCredential = await this.readCredential(provider.id, signal);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tcredentialError = error;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Restore cached provider state before auth resolution or network access.\n\t\t\t\t\tawait this.runProviderRefreshPhase(provider, storedCredential, false, undefined, generation, signal);\n\t\t\t\t\tif (credentialError !== undefined) throw credentialError;\n\t\t\t\t\tif (!allowNetwork || signal.aborted) return;\n\n\t\t\t\t\tconst credential = await this.resolveRefreshCredential(provider, storedCredential, signal);\n\t\t\t\t\tif (!credential) return;\n\t\t\t\t\tawait this.runProviderRefreshPhase(provider, credential, true, options.force, generation, signal);\n\t\t\t\t})();\n\n\t\t\t\ttry {\n\t\t\t\t\tawait raceWithAbortSignal(operation, signal);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (!signal.aborted) {\n\t\t\t\t\t\terrors.set(\n\t\t\t\t\t\t\tprovider.id,\n\t\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t\t? error\n\t\t\t\t\t\t\t\t: new ModelsError(\"model_source\", `Model refresh failed for ${provider.id}`, { cause: error }),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tif (this.refreshControllers.get(provider.id) === controller) {\n\t\t\t\t\t\tthis.refreshControllers.delete(provider.id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\n\t\ttry {\n\t\t\tawait raceWithAbortSignal(refresh, callerSignal);\n\t\t} catch (error) {\n\t\t\tif (!callerSignal.aborted) throw error;\n\t\t}\n\n\t\treturn { aborted: callerSignal.aborted, errors: new Map(errors) };\n\t}\n\n\tprivate async resolveRefreshCredential(\n\t\tprovider: Provider,\n\t\tstored: Credential | undefined,\n\t\tsignal: AbortSignal,\n\t): Promise<Credential | undefined> {\n\t\tif (stored?.type === \"oauth\") {\n\t\t\tconst oauth = provider.auth.oauth;\n\t\t\tif (!oauth) return undefined;\n\t\t\tif (Date.now() < stored.expires) return stored;\n\t\t\tif (signal.aborted) return undefined;\n\t\t\tconst post = await this.credentials.modify(\n\t\t\t\tprovider.id,\n\t\t\t\tasync (current) => {\n\t\t\t\t\tif (current?.type !== \"oauth\" || Date.now() < current.expires) return undefined;\n\t\t\t\t\treturn oauth.refresh(current, signal);\n\t\t\t\t},\n\t\t\t\t{ signal },\n\t\t\t);\n\t\t\treturn post?.type === \"oauth\" ? post : undefined;\n\t\t}\n\n\t\tconst apiKey = provider.auth.apiKey;\n\t\tif (!apiKey) return undefined;\n\t\tconst credential = stored?.type === \"api_key\" ? stored : undefined;\n\t\tconst result = await apiKey.resolve({ ctx: this.authContext, credential, signal });\n\t\tif (!result) return undefined;\n\t\treturn { type: \"api_key\", key: result.auth.apiKey, env: result.env };\n\t}\n\n\tprivate async readCredential(providerId: string, signal: AbortSignal): Promise<Credential | undefined> {\n\t\ttry {\n\t\t\treturn await this.credentials.read(providerId, { signal });\n\t\t} catch (error) {\n\t\t\tthrow new ModelsError(\"auth\", `Credential store read failed for ${providerId}`, { cause: error });\n\t\t}\n\t}\n\n\tprivate async checkProviderAuth(\n\t\tprovider: Provider,\n\t\tcredential: Credential | undefined,\n\t\tsignal: AbortSignal,\n\t): Promise<AuthCheck | undefined> {\n\t\tconst oauth = provider.auth.oauth;\n\t\tif (credential?.type === \"oauth\") {\n\t\t\tif (!oauth) return undefined;\n\t\t\tif (!oauth.check) return { source: \"OAuth\", type: \"oauth\" };\n\t\t\ttry {\n\t\t\t\treturn await oauth.check({ ctx: this.authContext, credential, signal });\n\t\t\t} catch (error) {\n\t\t\t\tthrow new ModelsError(\"auth\", `OAuth auth check failed for provider ${provider.id}`, { cause: error });\n\t\t\t}\n\t\t}\n\t\tconst apiKey = provider.auth.apiKey;\n\t\tif (apiKey) {\n\t\t\tif (apiKey.check) {\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await apiKey.check({\n\t\t\t\t\t\tctx: this.authContext,\n\t\t\t\t\t\tcredential: credential?.type === \"api_key\" ? credential : undefined,\n\t\t\t\t\t\tsignal,\n\t\t\t\t\t});\n\t\t\t\t\tif (result) return result;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthrow new ModelsError(\"auth\", `API key auth check failed for provider ${provider.id}`, { cause: error });\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst resolution = await resolveProviderAuth(provider, this.credentials, this.authContext, { signal });\n\t\t\t\tif (resolution) return { source: resolution.source, type: \"api_key\" };\n\t\t\t}\n\t\t}\n\t\tif (!oauth?.check) return undefined;\n\t\ttry {\n\t\t\treturn await oauth.check({ ctx: this.authContext, signal });\n\t\t} catch (error) {\n\t\t\tthrow new ModelsError(\"auth\", `OAuth auth check failed for provider ${provider.id}`, { cause: error });\n\t\t}\n\t}\n\n\tcheckAuth(providerId: string, options?: AuthOperationOptions): Promise<AuthCheck | undefined> {\n\t\tconst signal = operationSignal(options?.signal);\n\t\tconst check = (async () => {\n\t\t\tsignal.throwIfAborted();\n\t\t\tconst provider = this.providers.get(providerId);\n\t\t\tif (!provider) return undefined;\n\t\t\treturn this.checkProviderAuth(provider, await this.readCredential(providerId, signal), signal);\n\t\t})();\n\t\treturn raceWithAbortSignal(check, signal);\n\t}\n\n\tgetAvailable(providerId?: string, options?: AuthOperationOptions): Promise<readonly Model<Api>[]> {\n\t\tconst signal = operationSignal(options?.signal);\n\t\tconst available = (async () => {\n\t\t\tsignal.throwIfAborted();\n\t\t\tconst providers = providerId\n\t\t\t\t? [this.providers.get(providerId)].filter((entry) => entry !== undefined)\n\t\t\t\t: this.getProviders();\n\t\t\tconst checks = await Promise.all(\n\t\t\t\tproviders.map(async (provider) => {\n\t\t\t\t\tconst credential = await this.readCredential(provider.id, signal);\n\t\t\t\t\treturn { provider, credential, auth: await this.checkProviderAuth(provider, credential, signal) };\n\t\t\t\t}),\n\t\t\t);\n\t\t\treturn checks.flatMap(({ provider, credential, auth }) => {\n\t\t\t\tif (!auth) return [];\n\t\t\t\tconst models = provider.getModels();\n\t\t\t\treturn provider.filterModels?.(models, credential) ?? models;\n\t\t\t});\n\t\t})();\n\t\treturn raceWithAbortSignal(available, signal);\n\t}\n\n\tgetAuth(providerId: string, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;\n\tgetAuth(model: Model<Api>, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;\n\tasync getAuth(\n\t\tproviderOrModel: string | Model<Api>,\n\t\toverrides?: AuthResolutionOverrides,\n\t): Promise<AuthResult | undefined> {\n\t\tconst signal = operationSignal(overrides?.signal);\n\t\tconst providerId = typeof providerOrModel === \"string\" ? providerOrModel : providerOrModel.provider;\n\t\tconst provider = this.providers.get(providerId);\n\t\tif (!provider) return undefined;\n\t\tconst result = await resolveProviderAuth(provider, this.credentials, this.authContext, { ...overrides, signal });\n\t\tif (!result || typeof providerOrModel === \"string\" || !providerOrModel.headers) return result;\n\t\treturn {\n\t\t\t...result,\n\t\t\tauth: {\n\t\t\t\t...result.auth,\n\t\t\t\theaders: mergeHeaders(result.auth.headers, providerOrModel.headers),\n\t\t\t},\n\t\t};\n\t}\n\n\tasync login(providerId: string, type: AuthType, interaction: AuthInteraction): Promise<Credential> {\n\t\tconst signal = operationSignal(interaction.signal);\n\t\tsignal.throwIfAborted();\n\t\tconst provider = this.providers.get(providerId);\n\t\tif (!provider) throw new ModelsError(\"provider\", `Unknown provider: ${providerId}`);\n\t\tconst method = type === \"oauth\" ? provider.auth.oauth : provider.auth.apiKey;\n\t\tif (!method?.login) {\n\t\t\tthrow new ModelsError(\"auth\", `${provider.name} does not support ${type} login`);\n\t\t}\n\t\tconst loginOperation: Promise<Credential> = method.login({ ...interaction, signal });\n\t\tconst credential = await raceWithAbortSignal(loginOperation, signal);\n\t\tlet mutationStarted = false;\n\t\tlet markMutationStarted: (() => void) | undefined;\n\t\tconst started = new Promise<void>((resolve) => {\n\t\t\tmarkMutationStarted = resolve;\n\t\t});\n\t\tconst mutation = this.credentials.modify(\n\t\t\tproviderId,\n\t\t\tasync () => {\n\t\t\t\tmutationStarted = true;\n\t\t\t\tmarkMutationStarted?.();\n\t\t\t\treturn credential;\n\t\t\t},\n\t\t\t{ signal },\n\t\t);\n\t\tvoid mutation.catch(() => {});\n\t\ttry {\n\t\t\tawait new Promise<void>((resolve, reject) => {\n\t\t\t\tconst onAbort = () => {\n\t\t\t\t\tif (!mutationStarted) reject(signal.reason);\n\t\t\t\t};\n\t\t\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\t\tvoid Promise.race([started, mutation]).then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t},\n\t\t\t\t\t(error: unknown) => {\n\t\t\t\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tif (signal.aborted) onAbort();\n\t\t\t});\n\t\t\tawait mutation;\n\t\t} catch (error) {\n\t\t\tsignal.throwIfAborted();\n\t\t\tthrow new ModelsError(\"auth\", `Credential store modify failed for ${providerId}`, { cause: error });\n\t\t}\n\t\treturn credential;\n\t}\n\n\tasync logout(providerId: string, options?: AuthOperationOptions): Promise<void> {\n\t\tconst signal = operationSignal(options?.signal);\n\t\tsignal.throwIfAborted();\n\t\ttry {\n\t\t\tawait this.credentials.delete(providerId, { signal });\n\t\t} catch (error) {\n\t\t\tsignal.throwIfAborted();\n\t\t\tthrow new ModelsError(\"auth\", `Credential store delete failed for ${providerId}`, { cause: error });\n\t\t}\n\t}\n\n\tprivate requireProvider(model: Model<Api>): Provider {\n\t\tconst provider = this.providers.get(model.provider);\n\t\tif (!provider) {\n\t\t\tthrow new ModelsError(\"provider\", `Unknown provider: ${model.provider}`);\n\t\t}\n\t\treturn provider;\n\t}\n\n\tprivate async applyAuth<TOptions extends ProviderRequestOptions & ModelsRequestTransforms>(\n\t\tmodel: Model<Api>,\n\t\toptions: TOptions | undefined,\n\t): Promise<{\n\t\trequestModel: Model<Api>;\n\t\trequestOptions: Omit<TOptions, \"transformHeaders\"> & ProviderRequestOptions;\n\t}> {\n\t\tthis.requireProvider(model);\n\t\tconst resolution = await this.getAuth(model, {\n\t\t\tapiKey: options?.apiKey,\n\t\t\tenv: options?.env,\n\t\t\tsignal: options?.signal,\n\t\t});\n\t\tif (!resolution) {\n\t\t\tthrow new ModelsError(\"auth\", `Provider is not configured: ${model.provider}`);\n\t\t}\n\t\tconst auth = resolution.auth;\n\n\t\t// Explicit request options win per-field; the Models-only transform runs last.\n\t\tconst apiKey = options?.apiKey ?? auth.apiKey;\n\t\tlet headers = mergeHeaders(auth.headers, options?.headers);\n\t\tif (options?.transformHeaders) headers = await options.transformHeaders(headers ?? {});\n\t\tconst env = resolution.env || options?.env ? { ...(resolution.env ?? {}), ...(options?.env ?? {}) } : undefined;\n\t\tconst requestModel = auth.baseUrl ? { ...model, baseUrl: auth.baseUrl } : model;\n\t\tconst { transformHeaders: _transformHeaders, ...providerOptions } = options ?? {};\n\t\tconst requestOptions = { ...providerOptions, apiKey, headers, env } as Omit<TOptions, \"transformHeaders\"> &\n\t\t\tProviderRequestOptions;\n\n\t\treturn { requestModel, requestOptions };\n\t}\n\n\tstream<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ModelsApiStreamOptions<TApi>,\n\t): AssistantMessageEventStream {\n\t\treturn lazyStream(model, async () => {\n\t\t\tconst provider = this.requireProvider(model);\n\t\t\tconst { requestModel, requestOptions } = await this.applyAuth(\n\t\t\t\tmodel,\n\t\t\t\toptions as ModelsApiStreamOptions<Api> | undefined,\n\t\t\t);\n\t\t\treturn provider.stream(requestModel as Model<TApi>, context, requestOptions as ApiStreamOptions<TApi>);\n\t\t});\n\t}\n\n\tasync complete<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ModelsApiStreamOptions<TApi>,\n\t): Promise<AssistantMessage> {\n\t\treturn this.stream(model, context, options).result();\n\t}\n\n\tstreamSimple(model: Model<Api>, context: Context, options?: ModelsSimpleStreamOptions): AssistantMessageEventStream {\n\t\treturn lazyStream(model, async () => {\n\t\t\tconst provider = this.requireProvider(model);\n\t\t\tconst { requestModel, requestOptions } = await this.applyAuth(model, options);\n\t\t\treturn provider.streamSimple(requestModel, context, requestOptions as SimpleStreamOptions);\n\t\t});\n\t}\n\n\tasync completeSimple(\n\t\tmodel: Model<Api>,\n\t\tcontext: Context,\n\t\toptions?: ModelsSimpleStreamOptions,\n\t): Promise<AssistantMessage> {\n\t\treturn this.streamSimple(model, context, options).result();\n\t}\n\n\tasync fetchDeferred(\n\t\tmodel: Model<Api>,\n\t\thandle: DeferredHandle,\n\t\toptions?: ModelsDeferredFetchOptions,\n\t): Promise<AssistantMessage> {\n\t\treturn lazyStream(model, async () => {\n\t\t\tconst provider = this.requireProvider(model);\n\t\t\tif (!provider.fetchDeferred) {\n\t\t\t\tthrow new ModelsError(\"provider\", `Provider ${model.provider} does not support deferred responses`);\n\t\t\t}\n\t\t\tconst { requestModel, requestOptions } = await this.applyAuth(model, options);\n\t\t\treturn provider.fetchDeferred(requestModel, handle, requestOptions as DeferredFetchOptions);\n\t\t}).result();\n\t}\n\n\tasync cancelDeferred(\n\t\tmodel: Model<Api>,\n\t\thandle: DeferredHandle,\n\t\toptions?: ModelsDeferredCancelOptions,\n\t): Promise<void> {\n\t\tconst provider = this.requireProvider(model);\n\t\tif (!provider.cancelDeferred) {\n\t\t\tthrow new ModelsError(\"provider\", `Provider ${model.provider} does not support deferred responses`);\n\t\t}\n\t\tconst { requestModel, requestOptions } = await this.applyAuth(model, options);\n\t\tawait provider.cancelDeferred(requestModel, handle, requestOptions);\n\t}\n}\n\nexport function createModels(options?: CreateModelsOptions): MutableModels {\n\treturn new ModelsImpl(options);\n}\n\nexport interface CreateProviderOptions<TApi extends Api = Api> {\n\tid: string;\n\t/** Display name. Default: `id`. */\n\tname?: string;\n\tbaseUrl?: string;\n\theaders?: ProviderHeaders;\n\t/** Required — every provider has auth semantics, even ambient/keyless ones. */\n\tauth: ProviderAuth;\n\t/** Static baseline model list (empty for purely dynamic providers). */\n\tmodels: readonly Model<TApi>[];\n\t/** Fetch a dynamic model overlay. createProvider restores and publishes it transactionally. */\n\tfetchModels?: (context: RefreshModelsContext) => Promise<readonly Model<TApi>[]>;\n\t/**\n\t * Optional transform applied to restored stored models before publication,\n\t * letting a provider migrate an old catalog shape without a network refresh.\n\t * A throwing transform publishes the stored list unchanged.\n\t */\n\trestoreModels?: (models: readonly Model<TApi>[]) => readonly Model<TApi>[];\n\tfilterModels?: (models: readonly Model<TApi>[], credential: Credential | undefined) => readonly Model<TApi>[];\n\t/** Single implementation, or map keyed by `model.api` for mixed-API providers. */\n\tapi: ProviderStreams | Partial<Record<TApi, ProviderStreams>>;\n}\n\n/**\n * Builds a provider from parts. Built-in provider factories and models.json\n * custom providers both go through this. A single `api` streams all models;\n * an `api` map dispatches on `model.api`, and a model whose api has no entry\n * produces a stream error.\n */\nexport function createProvider<TApi extends Api = Api>(input: CreateProviderOptions<TApi>): Provider<TApi> {\n\tconst baselineModels = input.models;\n\tlet dynamicModels: readonly Model<TApi>[] = [];\n\tconst fetchModels = input.fetchModels;\n\tconst currentModels = (): readonly Model<TApi>[] => {\n\t\tconst merged = [...baselineModels];\n\t\tfor (const model of dynamicModels) {\n\t\t\tconst index = merged.findIndex((entry) => entry.id === model.id);\n\t\t\tif (index >= 0) merged[index] = model;\n\t\t\telse merged.push(model);\n\t\t}\n\t\treturn merged;\n\t};\n\tconst single =\n\t\ttypeof (input.api as ProviderStreams).stream === \"function\" ? (input.api as ProviderStreams) : undefined;\n\tconst byApi = single ? undefined : (input.api as Partial<Record<string, ProviderStreams>>);\n\n\tconst apiFor = (model: Model<Api>): ProviderStreams | undefined => single ?? byApi?.[model.api];\n\n\tconst dispatch = (\n\t\tmodel: Model<Api>,\n\t\trun: (streams: ProviderStreams) => AssistantMessageEventStream,\n\t): AssistantMessageEventStream => {\n\t\tconst streams = apiFor(model);\n\t\tif (!streams) {\n\t\t\treturn lazyStream(model, async () => {\n\t\t\t\tthrow new ModelsError(\"stream\", `Provider ${input.id} has no API implementation for \"${model.api}\"`);\n\t\t\t});\n\t\t}\n\t\treturn run(streams);\n\t};\n\n\tconst provider: Provider<TApi> = {\n\t\tid: input.id,\n\t\tname: input.name ?? input.id,\n\t\tbaseUrl: input.baseUrl,\n\t\theaders: input.headers,\n\t\tauth: input.auth,\n\t\tgetModels: currentModels,\n\t\trefreshModels: fetchModels\n\t\t\t? async (context) => {\n\t\t\t\t\tif (context.stored) {\n\t\t\t\t\t\tlet restored = context.stored.models\n\t\t\t\t\t\t\t.filter((model) => model.provider === input.id)\n\t\t\t\t\t\t\t.map((model) => model as Model<TApi>);\n\t\t\t\t\t\tif (input.restoreModels) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trestored = [...input.restoreModels(restored)];\n\t\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t\t// The stored list is the last usable catalog; publish it unchanged.\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!(await context.publish({\n\t\t\t\t\t\t\t\tupdate: () => {\n\t\t\t\t\t\t\t\t\tdynamicModels = restored;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!context.allowNetwork || context.signal.aborted) return;\n\t\t\t\t\tconst refreshed = await fetchModels(context);\n\t\t\t\t\tif (context.signal.aborted || refreshed.length === 0) return;\n\t\t\t\t\tawait context.publish({\n\t\t\t\t\t\tpersist: { models: refreshed, checkedAt: Date.now() },\n\t\t\t\t\t\tupdate: () => {\n\t\t\t\t\t\t\tdynamicModels = refreshed;\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t: undefined,\n\t\tfilterModels: input.filterModels,\n\t\tstream: (model, context, options) => dispatch(model, (streams) => streams.stream(model, context, options)),\n\t\tstreamSimple: (model, context, options) =>\n\t\t\tdispatch(model, (streams) => streams.streamSimple(model, context, options)),\n\t};\n\n\tconst streams = single ? [single] : Object.values(byApi ?? {}).filter((entry) => entry !== undefined);\n\tif (streams.some((entry) => entry.fetchDeferred !== undefined)) {\n\t\tprovider.fetchDeferred = (model, handle, options) =>\n\t\t\tlazyStream(model, async () => {\n\t\t\t\tconst implementation = apiFor(model);\n\t\t\t\tif (!implementation?.fetchDeferred) {\n\t\t\t\t\tthrow new ModelsError(\n\t\t\t\t\t\t\"provider\",\n\t\t\t\t\t\t`Provider ${input.id} does not support deferred responses for \"${model.api}\"`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn implementation.fetchDeferred(model, handle, options);\n\t\t\t});\n\t}\n\tif (streams.some((entry) => entry.cancelDeferred !== undefined)) {\n\t\tprovider.cancelDeferred = async (model, handle, options) => {\n\t\t\tconst implementation = apiFor(model);\n\t\t\tif (!implementation?.cancelDeferred) {\n\t\t\t\tthrow new ModelsError(\n\t\t\t\t\t\"provider\",\n\t\t\t\t\t`Provider ${input.id} cannot cancel deferred responses for \"${model.api}\"`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait implementation.cancelDeferred(model, handle, options);\n\t\t};\n\t}\n\n\treturn provider;\n}\n\n/**\n * Runtime-checked narrowing for dynamically looked-up models:\n *\n * ```ts\n * const model = models.getModel(\"anthropic\", \"claude-opus-4-7\");\n * if (model && hasApi(model, \"anthropic-messages\")) {\n * // model: Model<\"anthropic-messages\">, stream options fully typed\n * }\n * ```\n */\nexport function hasApi<TApi extends Api>(model: Model<Api>, api: TApi): model is Model<TApi> {\n\treturn model.api === api;\n}\n\nexport function calculateCost<TApi extends Api>(model: Model<TApi>, usage: Usage): Usage[\"cost\"] {\n\tconst inputTokens = usage.input + usage.cacheRead + usage.cacheWrite;\n\tlet rates: ModelCostRates = model.cost;\n\tlet matchedThreshold = -1;\n\tfor (const tier of model.cost.tiers ?? []) {\n\t\tif (inputTokens > tier.inputTokensAbove && tier.inputTokensAbove > matchedThreshold) {\n\t\t\trates = tier;\n\t\t\tmatchedThreshold = tier.inputTokensAbove;\n\t\t}\n\t}\n\n\t// Anthropic charges 2x base input for 1h cache writes.\n\tconst longWrite = usage.cacheWrite1h ?? 0;\n\tconst shortWrite = usage.cacheWrite - longWrite;\n\tusage.cost.input = (rates.input / 1000000) * usage.input;\n\tusage.cost.output = (rates.output / 1000000) * usage.output;\n\tusage.cost.cacheRead = (rates.cacheRead / 1000000) * usage.cacheRead;\n\tusage.cost.cacheWrite = (rates.cacheWrite * shortWrite + rates.input * 2 * longWrite) / 1000000;\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage.cost;\n}\n\nconst EXTENDED_THINKING_LEVELS: ModelThinkingLevel[] = [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"];\n\nexport function getSupportedThinkingLevels<TApi extends Api>(model: Model<TApi>): ModelThinkingLevel[] {\n\tif (!model.reasoning) return [\"off\"];\n\n\treturn EXTENDED_THINKING_LEVELS.filter((level) => {\n\t\tconst mapped = model.thinkingLevelMap?.[level];\n\t\tif (mapped === null) return false;\n\t\tif (level === \"xhigh\") return supportsXhigh(model);\n\t\tif (level === \"max\") return supportsMax(model);\n\t\treturn true;\n\t});\n}\n\nexport function clampThinkingLevel<TApi extends Api>(\n\tmodel: Model<TApi>,\n\tlevel: ModelThinkingLevel,\n): ModelThinkingLevel {\n\tconst availableLevels = getSupportedThinkingLevels(model);\n\tif (availableLevels.includes(level)) return level;\n\n\tconst requestedIndex = EXTENDED_THINKING_LEVELS.indexOf(level);\n\tif (requestedIndex === -1) return availableLevels[0] ?? \"off\";\n\n\tfor (let i = requestedIndex; i < EXTENDED_THINKING_LEVELS.length; i++) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\tfor (let i = requestedIndex - 1; i >= 0; i--) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\treturn availableLevels[0] ?? \"off\";\n}\n\n/**\n * Whether the model exposes the `xhigh` tier.\n *\n * An explicit `thinkingLevelMap` is authoritative: `null` vetoes the tier and a map that omits\n * `xhigh` disables it. Only map-less models fall back to id-based inference, so custom providers\n * that ship a reasoning model without generated catalog metadata still surface the tier.\n */\nexport function supportsXhigh<TApi extends Api>(model: Model<TApi>): boolean {\n\tconst mapped = model.thinkingLevelMap?.xhigh;\n\tif (mapped === null) return false;\n\tif (mapped !== undefined) return true;\n\tif (model.thinkingLevelMap !== undefined) return false;\n\treturn model.reasoning && supportsXhighModelId(model.id);\n}\n\nconst XHIGH_MODEL_IDS = [\n\t\"gpt-5.2\",\n\t\"gpt-5.3\",\n\t\"gpt-5.4\",\n\t\"gpt-5.5\",\n\t\"gpt-5.6-luna\",\n\t\"gpt-5.6-sol\",\n\t\"gpt-5.6-terra\",\n\t\"deepseek-v4-pro\",\n\t\"deepseek-v4-flash\",\n\t\"opus-4-6\",\n\t\"opus-4.6\",\n\t\"opus-4-7\",\n\t\"opus-4.7\",\n\t\"opus-4-8\",\n\t\"opus-4.8\",\n\t\"opus-5\",\n\t\"sonnet-5\",\n\t\"fable-5\",\n];\n\nfunction escapeRegex(value: string): string {\n\treturn value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\n/** Match a complete model family marker, not an alphanumeric substring of another id. */\nfunction matchesModelFamily(modelId: string, family: string): boolean {\n\tconst normalizedId = modelId.toLowerCase();\n\tconst escapedFamily = escapeRegex(family.toLowerCase());\n\t// GPT aliases use a complete id or provider namespace; a hyphenated word prefix is not a provider namespace.\n\tconst leadingBoundary = family.startsWith(\"gpt-\") ? \"(?:^|[/.:_])\" : \"(?:^|[/.:_-])\";\n\treturn new RegExp(`${leadingBoundary}${escapedFamily}(?=$|[^a-z0-9])`).test(normalizedId);\n}\n\nfunction supportsXhighModelId(modelId: string): boolean {\n\treturn XHIGH_MODEL_IDS.some((id) => matchesModelFamily(modelId, id));\n}\n\n/**\n * Whether the model exposes the `max` tier.\n *\n * Mirrors {@link supportsXhigh}: an explicit `thinkingLevelMap` wins, and only map-less models\n * are inferred from the id.\n */\nexport function supportsMax<TApi extends Api>(model: Model<TApi>): boolean {\n\tconst mapped = model.thinkingLevelMap?.max;\n\tif (mapped === null) return false;\n\tif (mapped !== undefined) return true;\n\tif (model.thinkingLevelMap !== undefined) return false;\n\treturn supportsMaxModel(model);\n}\n\n/** OpenAI-compatible APIs that accept a native `max` reasoning effort on the wire. */\nconst OPENAI_MAX_APIS: Api[] = [\n\t\"openai-responses\",\n\t\"azure-openai-responses\",\n\t\"openai-codex-responses\",\n\t\"openai-completions\",\n];\n\n/** Model family that accepts native `max` effort on OpenAI-compatible APIs. */\nconst GPT_56_SOL_ID = \"gpt-5.6-sol\";\n\nconst MAX_MODEL_IDS = [\n\t\"opus-4-6\",\n\t\"opus-4.6\",\n\t\"opus-4-7\",\n\t\"opus-4.7\",\n\t\"opus-4-8\",\n\t\"opus-4.8\",\n\t\"opus-5\",\n\t\"sonnet-5\",\n\t\"fable-5\",\n];\n\nfunction supportsMaxModel<TApi extends Api>(model: Model<TApi>): boolean {\n\tif (!model.reasoning) return false;\n\tif (OPENAI_MAX_APIS.includes(model.api) && matchesModelFamily(model.id, GPT_56_SOL_ID)) return true;\n\treturn MAX_MODEL_IDS.some((id) => matchesModelFamily(model.id, id));\n}\n\n/**\n * Check if two models are equal by comparing both their id and provider.\n * Returns false if either model is null or undefined.\n */\nexport function modelsAreEqual<TApi extends Api>(\n\ta: Model<TApi> | null | undefined,\n\tb: Model<TApi> | null | undefined,\n): boolean {\n\tif (!a || !b) return false;\n\treturn a.id === b.id && a.provider === b.provider;\n}\n"]}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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","sourcesContent":["import { lazyStream } from \"./api/lazy.ts\";\nimport { defaultProviderAuthContext as defaultAuthContext } from \"./auth/context.ts\";\nimport { InMemoryCredentialStore } from \"./auth/credential-store.ts\";\nimport { appendLoginSlot, mergeRefreshed, removeSlot } from \"./auth/pool/slots.ts\";\nimport { type AuthResolutionOverrides, ModelsError, resolveProviderAuth } from \"./auth/resolve.ts\";\nimport type {\n\tAuthCheck,\n\tAuthContext,\n\tAuthInteraction,\n\tAuthOperationOptions,\n\tAuthResult,\n\tAuthType,\n\tCredential,\n\tCredentialStore,\n\tProviderAuth,\n} from \"./auth/types.ts\";\nimport { InMemoryModelsStore, type ModelsStore, type ModelsStoreEntry } from \"./models-store.ts\";\nimport type {\n\tApi,\n\tApiStreamOptions,\n\tAssistantMessage,\n\tAssistantMessageEventStream,\n\tContext,\n\tDeferredCancelOptions,\n\tDeferredFetchOptions,\n\tDeferredHandle,\n\tModel,\n\tModelCostRates,\n\tModelThinkingLevel,\n\tProviderHeaders,\n\tProviderRequestOptions,\n\tProviderStreams,\n\tSimpleStreamOptions,\n\tUsage,\n} from \"./types.ts\";\nimport { operationSignal, raceWithAbortSignal } from \"./utils/abort.ts\";\nimport type { RetryPolicyProfile } from \"./utils/retry-profile/types.ts\";\n\nexport { ModelsError, type ModelsErrorCode } from \"./auth/resolve.ts\";\n\nexport interface ModelsPublication {\n\t/** Provider-selected persisted catalog. Omit to leave storage unchanged; null deletes it. */\n\tpersist?: ModelsStoreEntry | null;\n\t/** Optional synchronous update of provider-private in-memory catalog state. */\n\tupdate?: () => void;\n}\n\nexport interface RefreshModelsContext {\n\t/** Effective configured credential. OAuth credentials are refreshed before network access. */\n\tcredential?: Credential;\n\t/** Immutable provider-scoped catalog snapshot captured before this refresh phase. */\n\tstored?: Readonly<ModelsStoreEntry>;\n\t/**\n\t * Generation-checked publication. Persistence policy remains provider-owned;\n\t * the update runs synchronously only after the selected persistence mutation.\n\t */\n\tpublish(publication: ModelsPublication): Promise<boolean>;\n\t/** False during offline/cache-only initialization. */\n\tallowNetwork: boolean;\n\t/** Bypass provider freshness checks and fetch immediately when network access is allowed. */\n\tforce?: boolean;\n\t/** Always present, including when the public refresh caller omits its optional signal. */\n\tsignal: AbortSignal;\n}\n\nexport interface ModelsRefreshOptions {\n\tallowNetwork?: boolean;\n\t/** Restrict refresh to these provider IDs. Unknown and static providers are ignored. */\n\tproviders?: readonly string[];\n\t/** Bypass provider freshness checks and fetch immediately when network access is allowed. */\n\tforce?: boolean;\n\tsignal?: AbortSignal;\n}\n\nexport interface ModelsRefreshResult {\n\taborted: boolean;\n\terrors: ReadonlyMap<string, Error>;\n}\n\nexport interface ModelsRequestTransforms {\n\t/** Transform fully assembled model/auth/request headers before provider dispatch. */\n\ttransformHeaders?: (headers: ProviderHeaders) => ProviderHeaders | Promise<ProviderHeaders>;\n}\n\nexport type ModelsApiStreamOptions<TApi extends Api> = ApiStreamOptions<TApi> & ModelsRequestTransforms;\nexport type ModelsSimpleStreamOptions = SimpleStreamOptions & ModelsRequestTransforms;\nexport type ModelsDeferredFetchOptions = DeferredFetchOptions & ModelsRequestTransforms;\nexport type ModelsDeferredCancelOptions = DeferredCancelOptions & ModelsRequestTransforms;\n\n/**\n * A provider is the concrete runtime unit. It owns id/name/base metadata,\n * auth methods, model listing, and stream behavior.\n *\n * `TApi` lets concrete provider factories declare which APIs their models\n * use (e.g. `openaiProvider(): Provider<\"openai-responses\" | \"openai-completions\">`),\n * giving typed model lists to direct factory users. Inside a `Models`\n * collection providers are held as `Provider<Api>`.\n */\nexport interface Provider<TApi extends Api = Api> {\n\treadonly id: string;\n\treadonly name: string;\n\n\treadonly baseUrl?: string;\n\treadonly headers?: ProviderHeaders;\n\t/** Omitting it means the shipped senpi default profile applies. */\n\treadonly retryPolicy?: RetryPolicyProfile;\n\n\t/**\n\t * Required: at least one of `apiKey`/`oauth`. Every provider has auth\n\t * semantics — even providers with only ambient credentials (env vars, AWS\n\t * profiles, ADC files) and keyless local servers provide `apiKey` auth\n\t * whose `resolve()` reports whether the provider is configured.\n\t * `Models.getAuth()` returns undefined when the provider is unconfigured.\n\t */\n\treadonly auth: ProviderAuth;\n\n\t/**\n\t * Current known models, sync. Static providers return their catalog;\n\t * dynamic providers return the list as of the last `refreshModels()`\n\t * (empty before the first). Must not throw; `Models` treats a throwing\n\t * implementation as having no models.\n\t */\n\tgetModels(): readonly Model<TApi>[];\n\n\t/**\n\t * Dynamic providers only: restore `context.stored` and optionally fetch a newer list using\n\t * the effective credential. Implementations retain their previous list on failure, publish\n\t * persistence and synchronous state changes through `context.publish()`, and honor the\n\t * shared abort signal for blocking work.\n\t */\n\trefreshModels?(context: RefreshModelsContext): Promise<void>;\n\n\t/**\n\t * Optional provider policy for credential-specific model availability.\n\t * `getModels()` remains the complete synchronous catalog; `Models.getAvailable()`\n\t * applies this filter after confirming that provider auth is configured.\n\t */\n\tfilterModels?(models: readonly Model<TApi>[], credential: Credential | undefined): readonly Model<TApi>[];\n\n\tstream<T extends TApi>(\n\t\tmodel: Model<T>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<T>,\n\t): AssistantMessageEventStream;\n\n\tstreamSimple(model: Model<TApi>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;\n\tfetchDeferred?(\n\t\tmodel: Model<TApi>,\n\t\thandle: DeferredHandle,\n\t\toptions?: DeferredFetchOptions,\n\t): AssistantMessageEventStream;\n\tcancelDeferred?(model: Model<TApi>, handle: DeferredHandle, options?: DeferredCancelOptions): Promise<void>;\n}\n\n/**\n * Runtime collection of providers plus auth application and stream\n * convenience. Providers own stream behavior; `Models` resolves auth and\n * delegates each request to the provider that owns the model.\n */\nexport interface Models {\n\tgetProviders(): readonly Provider[];\n\tgetProvider(id: string): Provider | undefined;\n\n\t/**\n\t * Sync read of last-known models from one provider or all providers.\n\t * Best-effort: a provider whose `getModels()` throws yields no models.\n\t */\n\tgetModels(provider?: string): readonly Model<Api>[];\n\n\t/**\n\t * Sync runtime model lookup against last-known lists. Dynamic model lists\n\t * are typed as `Model<Api>`; narrow with the `hasApi()` type guard.\n\t */\n\tgetModel(provider: string, id: string): Model<Api> | undefined;\n\n\t/**\n\t * Refresh selected configured dynamic providers concurrently (all when `providers` is omitted).\n\t * Provider errors and cancellation are returned without rejecting; static, unknown, and\n\t * unconfigured providers are skipped.\n\t */\n\trefresh(options?: ModelsRefreshOptions): Promise<ModelsRefreshResult>;\n\n\t/** Check whether a provider has complete auth configuration without refreshing OAuth. */\n\tcheckAuth(providerId: string, options?: AuthOperationOptions): Promise<AuthCheck | undefined>;\n\n\t/** Return models whose providers have complete auth configuration. */\n\tgetAvailable(providerId?: string, options?: AuthOperationOptions): Promise<readonly Model<Api>[]>;\n\n\t/**\n\t * Resolve provider-scoped auth by provider id, or provider auth plus static\n\t * model headers when passed a model. Includes a source label for status UI.\n\t * Resolves `undefined` when the provider is unknown or unconfigured.\n\t * Rejects with `ModelsError`: code \"oauth\" when a token refresh fails (the\n\t * stored credential is preserved for retry; re-login fixes it), code \"auth\"\n\t * when api-key resolution or the credential store fails. Request paths\n\t * surface rejections as stream errors.\n\t */\n\tgetAuth(providerId: string, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;\n\tgetAuth(model: Model<Api>, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;\n\n\t/** Run a provider-owned login flow and persist its returned credential. */\n\tlogin(providerId: string, type: AuthType, interaction: AuthInteraction): Promise<Credential>;\n\n\t/** Remove the stored credential for a provider. */\n\tlogout(providerId: string, options?: AuthOperationOptions & { slotId?: string }): Promise<void>;\n\n\tstream<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ModelsApiStreamOptions<TApi>,\n\t): AssistantMessageEventStream;\n\n\tcomplete<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ModelsApiStreamOptions<TApi>,\n\t): Promise<AssistantMessage>;\n\n\tstreamSimple(model: Model<Api>, context: Context, options?: ModelsSimpleStreamOptions): AssistantMessageEventStream;\n\tcompleteSimple(model: Model<Api>, context: Context, options?: ModelsSimpleStreamOptions): Promise<AssistantMessage>;\n\tfetchDeferred(\n\t\tmodel: Model<Api>,\n\t\thandle: DeferredHandle,\n\t\toptions?: ModelsDeferredFetchOptions,\n\t): Promise<AssistantMessage>;\n\tcancelDeferred(model: Model<Api>, handle: DeferredHandle, options?: ModelsDeferredCancelOptions): Promise<void>;\n}\n\nexport interface MutableModels extends Models {\n\t/** Upsert/replace by provider.id. Provider ids are unique. */\n\tsetProvider(provider: Provider): void;\n\tdeleteProvider(id: string): void;\n\tclearProviders(): void;\n}\n\nexport interface CreateModelsOptions {\n\tcredentials?: CredentialStore;\n\tmodelsStore?: ModelsStore;\n\tauthContext?: AuthContext;\n}\n\nfunction mergeHeaders(\n\tbase: ProviderHeaders | undefined,\n\toverride: ProviderHeaders | undefined,\n): ProviderHeaders | undefined {\n\tif (!base && !override) return undefined;\n\tconst merged = { ...base };\n\tfor (const [name, value] of Object.entries(override ?? {})) {\n\t\tconst lowerName = name.toLowerCase();\n\t\tfor (const existingName of Object.keys(merged)) {\n\t\t\tif (existingName.toLowerCase() === lowerName) delete merged[existingName];\n\t\t}\n\t\tmerged[name] = value;\n\t}\n\treturn merged;\n}\n\nclass ModelsImpl implements MutableModels {\n\tprivate providers = new Map<string, Provider>();\n\tprivate credentials: CredentialStore;\n\tprivate modelsStore: ModelsStore;\n\tprivate authContext: AuthContext;\n\tprivate refreshGenerations = new Map<string, number>();\n\tprivate refreshControllers = new Map<string, AbortController>();\n\tprivate publicationChains = new Map<string, Promise<unknown>>();\n\n\tconstructor(options?: CreateModelsOptions) {\n\t\tthis.credentials = options?.credentials ?? new InMemoryCredentialStore();\n\t\tthis.modelsStore = options?.modelsStore ?? new InMemoryModelsStore();\n\t\tthis.authContext = options?.authContext ?? defaultAuthContext();\n\t}\n\n\tsetProvider(provider: Provider): void {\n\t\tthis.supersedeProviderRefresh(provider.id);\n\t\tthis.providers.set(provider.id, provider);\n\t}\n\n\tdeleteProvider(id: string): void {\n\t\tthis.supersedeProviderRefresh(id);\n\t\tthis.providers.delete(id);\n\t}\n\n\tclearProviders(): void {\n\t\tfor (const id of new Set([...this.providers.keys(), ...this.refreshControllers.keys()])) {\n\t\t\tthis.supersedeProviderRefresh(id);\n\t\t}\n\t\tthis.providers.clear();\n\t}\n\n\tgetProviders(): readonly Provider[] {\n\t\treturn Array.from(this.providers.values());\n\t}\n\n\tgetProvider(id: string): Provider | undefined {\n\t\treturn this.providers.get(id);\n\t}\n\n\tgetModels(provider?: string): readonly Model<Api>[] {\n\t\tif (provider !== undefined) {\n\t\t\tconst entry = this.providers.get(provider);\n\t\t\tif (!entry) return [];\n\t\t\ttry {\n\t\t\t\treturn entry.getModels();\n\t\t\t} catch {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t}\n\n\t\tconst models: Model<Api>[] = [];\n\t\tfor (const entry of this.providers.values()) {\n\t\t\ttry {\n\t\t\t\tmodels.push(...entry.getModels());\n\t\t\t} catch {\n\t\t\t\t// Best-effort: ill-behaved providers yield no models.\n\t\t\t}\n\t\t}\n\t\treturn models;\n\t}\n\n\tgetModel(provider: string, id: string): Model<Api> | undefined {\n\t\treturn this.getModels(provider).find((model) => model.id === id);\n\t}\n\n\tprivate supersedeProviderRefresh(providerId: string): number {\n\t\tconst generation = (this.refreshGenerations.get(providerId) ?? 0) + 1;\n\t\tthis.refreshGenerations.set(providerId, generation);\n\t\tconst previous = this.refreshControllers.get(providerId);\n\t\tif (previous) {\n\t\t\tthis.refreshControllers.delete(providerId);\n\t\t\tprevious.abort();\n\t\t}\n\t\treturn generation;\n\t}\n\n\tprivate beginProviderRefresh(providerId: string): { generation: number; controller: AbortController } {\n\t\tconst generation = this.supersedeProviderRefresh(providerId);\n\t\tconst controller = new AbortController();\n\t\tthis.refreshControllers.set(providerId, controller);\n\t\treturn { generation, controller };\n\t}\n\n\tprivate publishProviderModels(\n\t\tproviderId: string,\n\t\tgeneration: number,\n\t\tsignal: AbortSignal,\n\t\tpublication: ModelsPublication,\n\t): Promise<boolean> {\n\t\tconst previous = this.publicationChains.get(providerId) ?? Promise.resolve();\n\t\tconst queued = (async () => {\n\t\t\tawait previous.catch(() => {});\n\t\t\tif (signal.aborted || this.refreshGenerations.get(providerId) !== generation) return false;\n\n\t\t\tif (publication.persist === null) {\n\t\t\t\tawait this.modelsStore.delete(providerId, { signal });\n\t\t\t} else if (publication.persist !== undefined) {\n\t\t\t\tawait this.modelsStore.write(providerId, structuredClone(publication.persist), { signal });\n\t\t\t}\n\n\t\t\tif (signal.aborted || this.refreshGenerations.get(providerId) !== generation) return false;\n\t\t\tpublication.update?.();\n\t\t\treturn true;\n\t\t})();\n\t\tconst tail = queued.catch(() => {});\n\t\tthis.publicationChains.set(providerId, tail);\n\t\tvoid tail.then(() => {\n\t\t\tif (this.publicationChains.get(providerId) === tail) this.publicationChains.delete(providerId);\n\t\t});\n\t\treturn raceWithAbortSignal(queued, signal);\n\t}\n\n\tprivate async runProviderRefreshPhase(\n\t\tprovider: Provider & Required<Pick<Provider, \"refreshModels\">>,\n\t\tcredential: Credential | undefined,\n\t\tallowNetwork: boolean,\n\t\tforce: boolean | undefined,\n\t\tgeneration: number,\n\t\tsignal: AbortSignal,\n\t): Promise<void> {\n\t\tconst stored = await this.modelsStore.read(provider.id, { signal });\n\t\tawait provider.refreshModels({\n\t\t\tcredential,\n\t\t\tstored: stored ? structuredClone(stored) : undefined,\n\t\t\tpublish: (publication) => this.publishProviderModels(provider.id, generation, signal, publication),\n\t\t\tallowNetwork,\n\t\t\tforce: allowNetwork ? force : undefined,\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync refresh(options: ModelsRefreshOptions = {}): Promise<ModelsRefreshResult> {\n\t\tconst allowNetwork = options.allowNetwork ?? true;\n\t\tconst callerSignal = operationSignal(options.signal);\n\t\tconst errors = new Map<string, Error>();\n\t\tif (callerSignal.aborted) return { aborted: true, errors };\n\t\tconst selected = options.providers ? new Set(options.providers) : undefined;\n\t\tconst refreshable = Array.from(this.providers.values()).filter(\n\t\t\t(provider): provider is Provider & Required<Pick<Provider, \"refreshModels\">> =>\n\t\t\t\tprovider.refreshModels !== undefined && (!selected || selected.has(provider.id)),\n\t\t);\n\n\t\tconst refresh = Promise.all(\n\t\t\trefreshable.map(async (provider) => {\n\t\t\t\tconst { generation, controller } = this.beginProviderRefresh(provider.id);\n\t\t\t\tconst signal = AbortSignal.any([callerSignal, controller.signal]);\n\t\t\t\tconst operation = (async () => {\n\t\t\t\t\tlet storedCredential: Credential | undefined;\n\t\t\t\t\tlet credentialError: unknown;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tstoredCredential = await this.readCredential(provider.id, signal);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tcredentialError = error;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Restore cached provider state before auth resolution or network access.\n\t\t\t\t\tawait this.runProviderRefreshPhase(provider, storedCredential, false, undefined, generation, signal);\n\t\t\t\t\tif (credentialError !== undefined) throw credentialError;\n\t\t\t\t\tif (!allowNetwork || signal.aborted) return;\n\n\t\t\t\t\tconst credential = await this.resolveRefreshCredential(provider, storedCredential, signal);\n\t\t\t\t\tif (!credential) return;\n\t\t\t\t\tawait this.runProviderRefreshPhase(provider, credential, true, options.force, generation, signal);\n\t\t\t\t})();\n\n\t\t\t\ttry {\n\t\t\t\t\tawait raceWithAbortSignal(operation, signal);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (!signal.aborted) {\n\t\t\t\t\t\terrors.set(\n\t\t\t\t\t\t\tprovider.id,\n\t\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t\t? error\n\t\t\t\t\t\t\t\t: new ModelsError(\"model_source\", `Model refresh failed for ${provider.id}`, { cause: error }),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tif (this.refreshControllers.get(provider.id) === controller) {\n\t\t\t\t\t\tthis.refreshControllers.delete(provider.id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\n\t\ttry {\n\t\t\tawait raceWithAbortSignal(refresh, callerSignal);\n\t\t} catch (error) {\n\t\t\tif (!callerSignal.aborted) throw error;\n\t\t}\n\n\t\treturn { aborted: callerSignal.aborted, errors: new Map(errors) };\n\t}\n\n\tprivate async resolveRefreshCredential(\n\t\tprovider: Provider,\n\t\tstored: Credential | undefined,\n\t\tsignal: AbortSignal,\n\t): Promise<Credential | undefined> {\n\t\tif (stored?.type === \"oauth\") {\n\t\t\tconst oauth = provider.auth.oauth;\n\t\t\tif (!oauth) return undefined;\n\t\t\tif (Date.now() < stored.expires) return stored;\n\t\t\tif (signal.aborted) return undefined;\n\t\t\tconst post = await this.credentials.modify(\n\t\t\t\tprovider.id,\n\t\t\t\tasync (current) => {\n\t\t\t\t\tif (current?.type !== \"oauth\" || Date.now() < current.expires) return undefined;\n\t\t\t\t\tconst refreshed = await oauth.refresh(current, signal);\n\t\t\t\t\treturn mergeRefreshed(current, refreshed);\n\t\t\t\t},\n\t\t\t\t{ signal },\n\t\t\t);\n\t\t\treturn post?.type === \"oauth\" ? post : undefined;\n\t\t}\n\n\t\tconst apiKey = provider.auth.apiKey;\n\t\tif (!apiKey) return undefined;\n\t\tconst credential = stored?.type === \"api_key\" ? stored : undefined;\n\t\tconst result = await apiKey.resolve({ ctx: this.authContext, credential, signal });\n\t\tif (!result) return undefined;\n\t\treturn { type: \"api_key\", key: result.auth.apiKey, env: result.env };\n\t}\n\n\tprivate async readCredential(providerId: string, signal: AbortSignal): Promise<Credential | undefined> {\n\t\ttry {\n\t\t\treturn await this.credentials.read(providerId, { signal });\n\t\t} catch (error) {\n\t\t\tthrow new ModelsError(\"auth\", `Credential store read failed for ${providerId}`, { cause: error });\n\t\t}\n\t}\n\n\tprivate async checkProviderAuth(\n\t\tprovider: Provider,\n\t\tcredential: Credential | undefined,\n\t\tsignal: AbortSignal,\n\t): Promise<AuthCheck | undefined> {\n\t\tconst oauth = provider.auth.oauth;\n\t\tif (credential?.type === \"oauth\") {\n\t\t\tif (!oauth) return undefined;\n\t\t\tif (!oauth.check) return { source: \"OAuth\", type: \"oauth\" };\n\t\t\ttry {\n\t\t\t\treturn await oauth.check({ ctx: this.authContext, credential, signal });\n\t\t\t} catch (error) {\n\t\t\t\tthrow new ModelsError(\"auth\", `OAuth auth check failed for provider ${provider.id}`, { cause: error });\n\t\t\t}\n\t\t}\n\t\tconst apiKey = provider.auth.apiKey;\n\t\tif (apiKey) {\n\t\t\tif (apiKey.check) {\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await apiKey.check({\n\t\t\t\t\t\tctx: this.authContext,\n\t\t\t\t\t\tcredential: credential?.type === \"api_key\" ? credential : undefined,\n\t\t\t\t\t\tsignal,\n\t\t\t\t\t});\n\t\t\t\t\tif (result) return result;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthrow new ModelsError(\"auth\", `API key auth check failed for provider ${provider.id}`, { cause: error });\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst resolution = await resolveProviderAuth(provider, this.credentials, this.authContext, { signal });\n\t\t\t\tif (resolution) return { source: resolution.source, type: \"api_key\" };\n\t\t\t}\n\t\t}\n\t\tif (!oauth?.check) return undefined;\n\t\ttry {\n\t\t\treturn await oauth.check({ ctx: this.authContext, signal });\n\t\t} catch (error) {\n\t\t\tthrow new ModelsError(\"auth\", `OAuth auth check failed for provider ${provider.id}`, { cause: error });\n\t\t}\n\t}\n\n\tcheckAuth(providerId: string, options?: AuthOperationOptions): Promise<AuthCheck | undefined> {\n\t\tconst signal = operationSignal(options?.signal);\n\t\tconst check = (async () => {\n\t\t\tsignal.throwIfAborted();\n\t\t\tconst provider = this.providers.get(providerId);\n\t\t\tif (!provider) return undefined;\n\t\t\treturn this.checkProviderAuth(provider, await this.readCredential(providerId, signal), signal);\n\t\t})();\n\t\treturn raceWithAbortSignal(check, signal);\n\t}\n\n\tgetAvailable(providerId?: string, options?: AuthOperationOptions): Promise<readonly Model<Api>[]> {\n\t\tconst signal = operationSignal(options?.signal);\n\t\tconst available = (async () => {\n\t\t\tsignal.throwIfAborted();\n\t\t\tconst providers = providerId\n\t\t\t\t? [this.providers.get(providerId)].filter((entry) => entry !== undefined)\n\t\t\t\t: this.getProviders();\n\t\t\tconst checks = await Promise.all(\n\t\t\t\tproviders.map(async (provider) => {\n\t\t\t\t\tconst credential = await this.readCredential(provider.id, signal);\n\t\t\t\t\treturn { provider, credential, auth: await this.checkProviderAuth(provider, credential, signal) };\n\t\t\t\t}),\n\t\t\t);\n\t\t\treturn checks.flatMap(({ provider, credential, auth }) => {\n\t\t\t\tif (!auth) return [];\n\t\t\t\tconst models = provider.getModels();\n\t\t\t\treturn provider.filterModels?.(models, credential) ?? models;\n\t\t\t});\n\t\t})();\n\t\treturn raceWithAbortSignal(available, signal);\n\t}\n\n\tgetAuth(providerId: string, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;\n\tgetAuth(model: Model<Api>, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;\n\tasync getAuth(\n\t\tproviderOrModel: string | Model<Api>,\n\t\toverrides?: AuthResolutionOverrides,\n\t): Promise<AuthResult | undefined> {\n\t\tconst signal = operationSignal(overrides?.signal);\n\t\tconst providerId = typeof providerOrModel === \"string\" ? providerOrModel : providerOrModel.provider;\n\t\tconst provider = this.providers.get(providerId);\n\t\tif (!provider) return undefined;\n\t\tconst result = await resolveProviderAuth(provider, this.credentials, this.authContext, { ...overrides, signal });\n\t\tif (!result || typeof providerOrModel === \"string\" || !providerOrModel.headers) return result;\n\t\treturn {\n\t\t\t...result,\n\t\t\tauth: {\n\t\t\t\t...result.auth,\n\t\t\t\theaders: mergeHeaders(result.auth.headers, providerOrModel.headers),\n\t\t\t},\n\t\t};\n\t}\n\n\tasync login(providerId: string, type: AuthType, interaction: AuthInteraction): Promise<Credential> {\n\t\tconst signal = operationSignal(interaction.signal);\n\t\tsignal.throwIfAborted();\n\t\tconst provider = this.providers.get(providerId);\n\t\tif (!provider) throw new ModelsError(\"provider\", `Unknown provider: ${providerId}`);\n\t\tconst method = type === \"oauth\" ? provider.auth.oauth : provider.auth.apiKey;\n\t\tif (!method?.login) {\n\t\t\tthrow new ModelsError(\"auth\", `${provider.name} does not support ${type} login`);\n\t\t}\n\t\tconst loginOperation: Promise<Credential> = method.login({ ...interaction, signal });\n\t\tconst credential = await raceWithAbortSignal(loginOperation, signal);\n\t\tlet mutationStarted = false;\n\t\tlet markMutationStarted: (() => void) | undefined;\n\t\tconst started = new Promise<void>((resolve) => {\n\t\t\tmarkMutationStarted = resolve;\n\t\t});\n\t\tconst mutation = this.credentials.modify(\n\t\t\tproviderId,\n\t\t\tasync (current) => {\n\t\t\t\tmutationStarted = true;\n\t\t\t\tmarkMutationStarted?.();\n\t\t\t\treturn appendLoginSlot(current, credential);\n\t\t\t},\n\t\t\t{ signal },\n\t\t);\n\t\tvoid mutation.catch(() => {});\n\t\ttry {\n\t\t\tawait new Promise<void>((resolve, reject) => {\n\t\t\t\tconst onAbort = () => {\n\t\t\t\t\tif (!mutationStarted) reject(signal.reason);\n\t\t\t\t};\n\t\t\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\t\tvoid Promise.race([started, mutation]).then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t},\n\t\t\t\t\t(error: unknown) => {\n\t\t\t\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tif (signal.aborted) onAbort();\n\t\t\t});\n\t\t\tawait mutation;\n\t\t} catch (error) {\n\t\t\tsignal.throwIfAborted();\n\t\t\tthrow new ModelsError(\"auth\", `Credential store modify failed for ${providerId}`, { cause: error });\n\t\t}\n\t\treturn credential;\n\t}\n\n\tasync logout(providerId: string, options?: AuthOperationOptions & { slotId?: string }): Promise<void> {\n\t\tconst signal = operationSignal(options?.signal);\n\t\tsignal.throwIfAborted();\n\t\ttry {\n\t\t\tif (options?.slotId !== undefined) {\n\t\t\t\tconst current = await this.credentials.read(providerId, { signal });\n\t\t\t\tconst next = removeSlot(current, options.slotId);\n\t\t\t\tif (next === undefined) {\n\t\t\t\t\tawait this.credentials.delete(providerId, { signal });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tawait this.credentials.modify(providerId, async () => next, { signal });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.credentials.delete(providerId, { signal });\n\t\t} catch (error) {\n\t\t\tsignal.throwIfAborted();\n\t\t\tthrow new ModelsError(\"auth\", `Credential store delete failed for ${providerId}`, { cause: error });\n\t\t}\n\t}\n\n\tprivate requireProvider(model: Model<Api>): Provider {\n\t\tconst provider = this.providers.get(model.provider);\n\t\tif (!provider) {\n\t\t\tthrow new ModelsError(\"provider\", `Unknown provider: ${model.provider}`);\n\t\t}\n\t\treturn provider;\n\t}\n\n\tprivate async applyAuth<TOptions extends ProviderRequestOptions & ModelsRequestTransforms>(\n\t\tmodel: Model<Api>,\n\t\toptions: TOptions | undefined,\n\t): Promise<{\n\t\trequestModel: Model<Api>;\n\t\trequestOptions: Omit<TOptions, \"transformHeaders\"> & ProviderRequestOptions;\n\t}> {\n\t\tthis.requireProvider(model);\n\t\tconst resolution = await this.getAuth(model, {\n\t\t\tapiKey: options?.apiKey,\n\t\t\tenv: options?.env,\n\t\t\tsignal: options?.signal,\n\t\t});\n\t\tif (!resolution) {\n\t\t\tthrow new ModelsError(\"auth\", `Provider is not configured: ${model.provider}`);\n\t\t}\n\t\tconst auth = resolution.auth;\n\n\t\t// Explicit request options win per-field; the Models-only transform runs last.\n\t\tconst apiKey = options?.apiKey ?? auth.apiKey;\n\t\tlet headers = mergeHeaders(auth.headers, options?.headers);\n\t\tif (options?.transformHeaders) headers = await options.transformHeaders(headers ?? {});\n\t\tconst env = resolution.env || options?.env ? { ...(resolution.env ?? {}), ...(options?.env ?? {}) } : undefined;\n\t\tconst requestModel = auth.baseUrl ? { ...model, baseUrl: auth.baseUrl } : model;\n\t\tconst { transformHeaders: _transformHeaders, ...providerOptions } = options ?? {};\n\t\tconst requestOptions = { ...providerOptions, apiKey, headers, env } as Omit<TOptions, \"transformHeaders\"> &\n\t\t\tProviderRequestOptions;\n\n\t\treturn { requestModel, requestOptions };\n\t}\n\n\tstream<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ModelsApiStreamOptions<TApi>,\n\t): AssistantMessageEventStream {\n\t\treturn lazyStream(model, async () => {\n\t\t\tconst provider = this.requireProvider(model);\n\t\t\tconst { requestModel, requestOptions } = await this.applyAuth(\n\t\t\t\tmodel,\n\t\t\t\toptions as ModelsApiStreamOptions<Api> | undefined,\n\t\t\t);\n\t\t\treturn provider.stream(requestModel as Model<TApi>, context, requestOptions as ApiStreamOptions<TApi>);\n\t\t});\n\t}\n\n\tasync complete<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ModelsApiStreamOptions<TApi>,\n\t): Promise<AssistantMessage> {\n\t\treturn this.stream(model, context, options).result();\n\t}\n\n\tstreamSimple(model: Model<Api>, context: Context, options?: ModelsSimpleStreamOptions): AssistantMessageEventStream {\n\t\treturn lazyStream(model, async () => {\n\t\t\tconst provider = this.requireProvider(model);\n\t\t\tconst { requestModel, requestOptions } = await this.applyAuth(model, options);\n\t\t\treturn provider.streamSimple(requestModel, context, requestOptions as SimpleStreamOptions);\n\t\t});\n\t}\n\n\tasync completeSimple(\n\t\tmodel: Model<Api>,\n\t\tcontext: Context,\n\t\toptions?: ModelsSimpleStreamOptions,\n\t): Promise<AssistantMessage> {\n\t\treturn this.streamSimple(model, context, options).result();\n\t}\n\n\tasync fetchDeferred(\n\t\tmodel: Model<Api>,\n\t\thandle: DeferredHandle,\n\t\toptions?: ModelsDeferredFetchOptions,\n\t): Promise<AssistantMessage> {\n\t\treturn lazyStream(model, async () => {\n\t\t\tconst provider = this.requireProvider(model);\n\t\t\tif (!provider.fetchDeferred) {\n\t\t\t\tthrow new ModelsError(\"provider\", `Provider ${model.provider} does not support deferred responses`);\n\t\t\t}\n\t\t\tconst { requestModel, requestOptions } = await this.applyAuth(model, options);\n\t\t\treturn provider.fetchDeferred(requestModel, handle, requestOptions as DeferredFetchOptions);\n\t\t}).result();\n\t}\n\n\tasync cancelDeferred(\n\t\tmodel: Model<Api>,\n\t\thandle: DeferredHandle,\n\t\toptions?: ModelsDeferredCancelOptions,\n\t): Promise<void> {\n\t\tconst provider = this.requireProvider(model);\n\t\tif (!provider.cancelDeferred) {\n\t\t\tthrow new ModelsError(\"provider\", `Provider ${model.provider} does not support deferred responses`);\n\t\t}\n\t\tconst { requestModel, requestOptions } = await this.applyAuth(model, options);\n\t\tawait provider.cancelDeferred(requestModel, handle, requestOptions);\n\t}\n}\n\nexport function createModels(options?: CreateModelsOptions): MutableModels {\n\treturn new ModelsImpl(options);\n}\n\nexport interface CreateProviderOptions<TApi extends Api = Api> {\n\tid: string;\n\t/** Display name. Default: `id`. */\n\tname?: string;\n\tbaseUrl?: string;\n\theaders?: ProviderHeaders;\n\t/** Omitting it means the shipped senpi default profile applies. */\n\tretryPolicy?: RetryPolicyProfile;\n\t/** Required — every provider has auth semantics, even ambient/keyless ones. */\n\tauth: ProviderAuth;\n\t/** Static baseline model list (empty for purely dynamic providers). */\n\tmodels: readonly Model<TApi>[];\n\t/** Fetch a dynamic model overlay. createProvider restores and publishes it transactionally. */\n\tfetchModels?: (context: RefreshModelsContext) => Promise<readonly Model<TApi>[]>;\n\t/**\n\t * Optional transform applied to restored stored models before publication,\n\t * letting a provider migrate an old catalog shape without a network refresh.\n\t * A throwing transform publishes the stored list unchanged.\n\t */\n\trestoreModels?: (models: readonly Model<TApi>[]) => readonly Model<TApi>[];\n\tfilterModels?: (models: readonly Model<TApi>[], credential: Credential | undefined) => readonly Model<TApi>[];\n\t/** Single implementation, or map keyed by `model.api` for mixed-API providers. */\n\tapi: ProviderStreams | Partial<Record<TApi, ProviderStreams>>;\n}\n\n/**\n * Builds a provider from parts. Built-in provider factories and models.json\n * custom providers both go through this. A single `api` streams all models;\n * an `api` map dispatches on `model.api`, and a model whose api has no entry\n * produces a stream error.\n */\nexport function createProvider<TApi extends Api = Api>(input: CreateProviderOptions<TApi>): Provider<TApi> {\n\tconst baselineModels = input.models;\n\tlet dynamicModels: readonly Model<TApi>[] = [];\n\tconst fetchModels = input.fetchModels;\n\tconst currentModels = (): readonly Model<TApi>[] => {\n\t\tconst merged = [...baselineModels];\n\t\tfor (const model of dynamicModels) {\n\t\t\tconst index = merged.findIndex((entry) => entry.id === model.id);\n\t\t\tif (index >= 0) merged[index] = model;\n\t\t\telse merged.push(model);\n\t\t}\n\t\treturn merged;\n\t};\n\tconst single =\n\t\ttypeof (input.api as ProviderStreams).stream === \"function\" ? (input.api as ProviderStreams) : undefined;\n\tconst byApi = single ? undefined : (input.api as Partial<Record<string, ProviderStreams>>);\n\n\tconst apiFor = (model: Model<Api>): ProviderStreams | undefined => single ?? byApi?.[model.api];\n\n\tconst dispatch = (\n\t\tmodel: Model<Api>,\n\t\trun: (streams: ProviderStreams) => AssistantMessageEventStream,\n\t): AssistantMessageEventStream => {\n\t\tconst streams = apiFor(model);\n\t\tif (!streams) {\n\t\t\treturn lazyStream(model, async () => {\n\t\t\t\tthrow new ModelsError(\"stream\", `Provider ${input.id} has no API implementation for \"${model.api}\"`);\n\t\t\t});\n\t\t}\n\t\treturn run(streams);\n\t};\n\n\tconst provider: Provider<TApi> = {\n\t\tid: input.id,\n\t\tname: input.name ?? input.id,\n\t\tbaseUrl: input.baseUrl,\n\t\theaders: input.headers,\n\t\tretryPolicy: input.retryPolicy,\n\t\tauth: input.auth,\n\t\tgetModels: currentModels,\n\t\trefreshModels: fetchModels\n\t\t\t? async (context) => {\n\t\t\t\t\tif (context.stored) {\n\t\t\t\t\t\tlet restored = context.stored.models\n\t\t\t\t\t\t\t.filter((model) => model.provider === input.id)\n\t\t\t\t\t\t\t.map((model) => model as Model<TApi>);\n\t\t\t\t\t\tif (input.restoreModels) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trestored = [...input.restoreModels(restored)];\n\t\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t\t// The stored list is the last usable catalog; publish it unchanged.\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!(await context.publish({\n\t\t\t\t\t\t\t\tupdate: () => {\n\t\t\t\t\t\t\t\t\tdynamicModels = restored;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!context.allowNetwork || context.signal.aborted) return;\n\t\t\t\t\tconst refreshed = await fetchModels(context);\n\t\t\t\t\tif (context.signal.aborted || refreshed.length === 0) return;\n\t\t\t\t\tawait context.publish({\n\t\t\t\t\t\tpersist: { models: refreshed, checkedAt: Date.now() },\n\t\t\t\t\t\tupdate: () => {\n\t\t\t\t\t\t\tdynamicModels = refreshed;\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t: undefined,\n\t\tfilterModels: input.filterModels,\n\t\tstream: (model, context, options) => dispatch(model, (streams) => streams.stream(model, context, options)),\n\t\tstreamSimple: (model, context, options) =>\n\t\t\tdispatch(model, (streams) => streams.streamSimple(model, context, options)),\n\t};\n\n\tconst streams = single ? [single] : Object.values(byApi ?? {}).filter((entry) => entry !== undefined);\n\tif (streams.some((entry) => entry.fetchDeferred !== undefined)) {\n\t\tprovider.fetchDeferred = (model, handle, options) =>\n\t\t\tlazyStream(model, async () => {\n\t\t\t\tconst implementation = apiFor(model);\n\t\t\t\tif (!implementation?.fetchDeferred) {\n\t\t\t\t\tthrow new ModelsError(\n\t\t\t\t\t\t\"provider\",\n\t\t\t\t\t\t`Provider ${input.id} does not support deferred responses for \"${model.api}\"`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn implementation.fetchDeferred(model, handle, options);\n\t\t\t});\n\t}\n\tif (streams.some((entry) => entry.cancelDeferred !== undefined)) {\n\t\tprovider.cancelDeferred = async (model, handle, options) => {\n\t\t\tconst implementation = apiFor(model);\n\t\t\tif (!implementation?.cancelDeferred) {\n\t\t\t\tthrow new ModelsError(\n\t\t\t\t\t\"provider\",\n\t\t\t\t\t`Provider ${input.id} cannot cancel deferred responses for \"${model.api}\"`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait implementation.cancelDeferred(model, handle, options);\n\t\t};\n\t}\n\n\treturn provider;\n}\n\n/**\n * Runtime-checked narrowing for dynamically looked-up models:\n *\n * ```ts\n * const model = models.getModel(\"anthropic\", \"claude-opus-4-7\");\n * if (model && hasApi(model, \"anthropic-messages\")) {\n * // model: Model<\"anthropic-messages\">, stream options fully typed\n * }\n * ```\n */\nexport function hasApi<TApi extends Api>(model: Model<Api>, api: TApi): model is Model<TApi> {\n\treturn model.api === api;\n}\n\nexport function calculateCost<TApi extends Api>(model: Model<TApi>, usage: Usage): Usage[\"cost\"] {\n\tconst inputTokens = usage.input + usage.cacheRead + usage.cacheWrite;\n\tlet rates: ModelCostRates = model.cost;\n\tlet matchedThreshold = -1;\n\tfor (const tier of model.cost.tiers ?? []) {\n\t\tif (inputTokens > tier.inputTokensAbove && tier.inputTokensAbove > matchedThreshold) {\n\t\t\trates = tier;\n\t\t\tmatchedThreshold = tier.inputTokensAbove;\n\t\t}\n\t}\n\n\t// Anthropic charges 2x base input for 1h cache writes.\n\tconst longWrite = usage.cacheWrite1h ?? 0;\n\tconst shortWrite = usage.cacheWrite - longWrite;\n\tusage.cost.input = (rates.input / 1000000) * usage.input;\n\tusage.cost.output = (rates.output / 1000000) * usage.output;\n\tusage.cost.cacheRead = (rates.cacheRead / 1000000) * usage.cacheRead;\n\tusage.cost.cacheWrite = (rates.cacheWrite * shortWrite + rates.input * 2 * longWrite) / 1000000;\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage.cost;\n}\n\nconst EXTENDED_THINKING_LEVELS: ModelThinkingLevel[] = [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"];\n\nexport function getSupportedThinkingLevels<TApi extends Api>(model: Model<TApi>): ModelThinkingLevel[] {\n\tif (!model.reasoning) return [\"off\"];\n\n\treturn EXTENDED_THINKING_LEVELS.filter((level) => {\n\t\tconst mapped = model.thinkingLevelMap?.[level];\n\t\tif (mapped === null) return false;\n\t\tif (level === \"xhigh\") return supportsXhigh(model);\n\t\tif (level === \"max\") return supportsMax(model);\n\t\treturn true;\n\t});\n}\n\nexport function clampThinkingLevel<TApi extends Api>(\n\tmodel: Model<TApi>,\n\tlevel: ModelThinkingLevel,\n): ModelThinkingLevel {\n\tconst availableLevels = getSupportedThinkingLevels(model);\n\tif (availableLevels.includes(level)) return level;\n\n\tconst requestedIndex = EXTENDED_THINKING_LEVELS.indexOf(level);\n\tif (requestedIndex === -1) return availableLevels[0] ?? \"off\";\n\n\tfor (let i = requestedIndex; i < EXTENDED_THINKING_LEVELS.length; i++) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\tfor (let i = requestedIndex - 1; i >= 0; i--) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\treturn availableLevels[0] ?? \"off\";\n}\n\n/**\n * Whether the model exposes the `xhigh` tier.\n *\n * An explicit `thinkingLevelMap` is authoritative: `null` vetoes the tier and a map that omits\n * `xhigh` disables it. Only map-less models fall back to id-based inference, so custom providers\n * that ship a reasoning model without generated catalog metadata still surface the tier.\n */\nexport function supportsXhigh<TApi extends Api>(model: Model<TApi>): boolean {\n\tconst mapped = model.thinkingLevelMap?.xhigh;\n\tif (mapped === null) return false;\n\tif (mapped !== undefined) return true;\n\tif (model.thinkingLevelMap !== undefined) return false;\n\treturn model.reasoning && supportsXhighModelId(model.id);\n}\n\nconst XHIGH_MODEL_IDS = [\n\t\"gpt-5.2\",\n\t\"gpt-5.3\",\n\t\"gpt-5.4\",\n\t\"gpt-5.5\",\n\t\"gpt-5.6-luna\",\n\t\"gpt-5.6-sol\",\n\t\"gpt-5.6-terra\",\n\t\"deepseek-v4-pro\",\n\t\"deepseek-v4-flash\",\n\t\"opus-4-6\",\n\t\"opus-4.6\",\n\t\"opus-4-7\",\n\t\"opus-4.7\",\n\t\"opus-4-8\",\n\t\"opus-4.8\",\n\t\"opus-5\",\n\t\"sonnet-5\",\n\t\"fable-5\",\n];\n\nfunction escapeRegex(value: string): string {\n\treturn value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\n/** Match a complete model family marker, not an alphanumeric substring of another id. */\nfunction matchesModelFamily(modelId: string, family: string): boolean {\n\tconst normalizedId = modelId.toLowerCase();\n\tconst escapedFamily = escapeRegex(family.toLowerCase());\n\t// GPT aliases use a complete id or provider namespace; a hyphenated word prefix is not a provider namespace.\n\tconst leadingBoundary = family.startsWith(\"gpt-\") ? \"(?:^|[/.:_])\" : \"(?:^|[/.:_-])\";\n\treturn new RegExp(`${leadingBoundary}${escapedFamily}(?=$|[^a-z0-9])`).test(normalizedId);\n}\n\nfunction supportsXhighModelId(modelId: string): boolean {\n\treturn XHIGH_MODEL_IDS.some((id) => matchesModelFamily(modelId, id));\n}\n\n/**\n * Whether the model exposes the `max` tier.\n *\n * Mirrors {@link supportsXhigh}: an explicit `thinkingLevelMap` wins, and only map-less models\n * are inferred from the id.\n */\nexport function supportsMax<TApi extends Api>(model: Model<TApi>): boolean {\n\tconst mapped = model.thinkingLevelMap?.max;\n\tif (mapped === null) return false;\n\tif (mapped !== undefined) return true;\n\tif (model.thinkingLevelMap !== undefined) return false;\n\treturn supportsMaxModel(model);\n}\n\n/** OpenAI-compatible APIs that accept a native `max` reasoning effort on the wire. */\nconst OPENAI_MAX_APIS: Api[] = [\n\t\"openai-responses\",\n\t\"azure-openai-responses\",\n\t\"openai-codex-responses\",\n\t\"openai-completions\",\n];\n\n/** Model family that accepts native `max` effort on OpenAI-compatible APIs. */\nconst GPT_56_SOL_ID = \"gpt-5.6-sol\";\n\nconst MAX_MODEL_IDS = [\n\t\"opus-4-6\",\n\t\"opus-4.6\",\n\t\"opus-4-7\",\n\t\"opus-4.7\",\n\t\"opus-4-8\",\n\t\"opus-4.8\",\n\t\"opus-5\",\n\t\"sonnet-5\",\n\t\"fable-5\",\n];\n\nfunction supportsMaxModel<TApi extends Api>(model: Model<TApi>): boolean {\n\tif (!model.reasoning) return false;\n\tif (OPENAI_MAX_APIS.includes(model.api) && matchesModelFamily(model.id, GPT_56_SOL_ID)) return true;\n\treturn MAX_MODEL_IDS.some((id) => matchesModelFamily(model.id, id));\n}\n\n/**\n * Check if two models are equal by comparing both their id and provider.\n * Returns false if either model is null or undefined.\n */\nexport function modelsAreEqual<TApi extends Api>(\n\ta: Model<TApi> | null | undefined,\n\tb: Model<TApi> | null | undefined,\n): boolean {\n\tif (!a || !b) return false;\n\treturn a.id === b.id && a.provider === b.provider;\n}\n"]}
@@ -1,3 +1,5 @@
1
1
  import { type Provider } from "../models.ts";
2
- export declare function cloudflareAIGatewayProvider(): Provider<"anthropic-messages" | "openai-completions" | "openai-responses">;
2
+ type CloudflareAIGatewayApi = "anthropic-messages" | "openai-completions" | "openai-responses";
3
+ export declare function cloudflareAIGatewayProvider(): Provider<CloudflareAIGatewayApi>;
4
+ export {};
3
5
  //# sourceMappingURL=cloudflare-ai-gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-ai-gateway.d.ts","sourceRoot":"","sources":["../../src/providers/cloudflare-ai-gateway.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7D,wBAAgB,2BAA2B,IAAI,QAAQ,CACtD,oBAAoB,GAAG,oBAAoB,GAAG,kBAAkB,CAChE,CAYA"}
1
+ {"version":3,"file":"cloudflare-ai-gateway.d.ts","sourceRoot":"","sources":["../../src/providers/cloudflare-ai-gateway.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7D,KAAK,sBAAsB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;AAE/F,wBAAgB,2BAA2B,IAAI,QAAQ,CAAC,sBAAsB,CAAC,CAoB9E"}
@@ -5,12 +5,21 @@ import { createProvider } from "../models.js";
5
5
  import { CLOUDFLARE_AI_GATEWAY_MODELS } from "./cloudflare-ai-gateway.models.js";
6
6
  import { cloudflareAIGatewayAuth } from "./cloudflare-auth.js";
7
7
  import { cloudflareStreams } from "./cloudflare-stream.js";
8
+ import { CLOUDFLARE_WORKERS_AI_MODELS } from "./cloudflare-workers-ai.models.js";
8
9
  export function cloudflareAIGatewayProvider() {
9
10
  return createProvider({
10
11
  id: "cloudflare-ai-gateway",
11
12
  name: "Cloudflare AI Gateway",
12
13
  auth: { apiKey: cloudflareAIGatewayAuth() },
13
- models: Object.values(CLOUDFLARE_AI_GATEWAY_MODELS),
14
+ models: [
15
+ ...Object.values(CLOUDFLARE_AI_GATEWAY_MODELS),
16
+ ...Object.values(CLOUDFLARE_WORKERS_AI_MODELS).map((model) => ({
17
+ ...model,
18
+ provider: "cloudflare-ai-gateway",
19
+ id: `workers-ai/${model.id}`,
20
+ baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
21
+ })),
22
+ ],
14
23
  api: {
15
24
  "anthropic-messages": cloudflareStreams(anthropicMessagesApi()),
16
25
  "openai-completions": cloudflareStreams(openAICompletionsApi()),
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-ai-gateway.js","sourceRoot":"","sources":["../../src/providers/cloudflare-ai-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,2BAA2B;IAG1C,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,EAAE;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC;QACnD,GAAG,EAAE;YACJ,oBAAoB,EAAE,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;YAC/D,oBAAoB,EAAE,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;YAC/D,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;SAC3D;KACD,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { anthropicMessagesApi } from \"../api/anthropic-messages.lazy.ts\";\nimport { openAICompletionsApi } from \"../api/openai-completions.lazy.ts\";\nimport { openAIResponsesApi } from \"../api/openai-responses.lazy.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { CLOUDFLARE_AI_GATEWAY_MODELS } from \"./cloudflare-ai-gateway.models.ts\";\nimport { cloudflareAIGatewayAuth } from \"./cloudflare-auth.ts\";\nimport { cloudflareStreams } from \"./cloudflare-stream.ts\";\n\nexport function cloudflareAIGatewayProvider(): Provider<\n\t\"anthropic-messages\" | \"openai-completions\" | \"openai-responses\"\n> {\n\treturn createProvider({\n\t\tid: \"cloudflare-ai-gateway\",\n\t\tname: \"Cloudflare AI Gateway\",\n\t\tauth: { apiKey: cloudflareAIGatewayAuth() },\n\t\tmodels: Object.values(CLOUDFLARE_AI_GATEWAY_MODELS),\n\t\tapi: {\n\t\t\t\"anthropic-messages\": cloudflareStreams(anthropicMessagesApi()),\n\t\t\t\"openai-completions\": cloudflareStreams(openAICompletionsApi()),\n\t\t\t\"openai-responses\": cloudflareStreams(openAIResponsesApi()),\n\t\t},\n\t});\n}\n"]}
1
+ {"version":3,"file":"cloudflare-ai-gateway.js","sourceRoot":"","sources":["../../src/providers/cloudflare-ai-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAIjF,MAAM,UAAU,2BAA2B;IAC1C,OAAO,cAAc,CAAyB;QAC7C,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,EAAE;QAC3C,MAAM,EAAE;YACP,GAAG,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC;YAC9C,GAAG,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC9D,GAAG,KAAK;gBACR,QAAQ,EAAE,uBAAgC;gBAC1C,EAAE,EAAE,cAAc,KAAK,CAAC,EAAE,EAAE;gBAC5B,OAAO,EAAE,6FAA6F;aACtG,CAAC,CAAC;SACH;QACD,GAAG,EAAE;YACJ,oBAAoB,EAAE,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;YAC/D,oBAAoB,EAAE,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;YAC/D,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;SAC3D;KACD,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { anthropicMessagesApi } from \"../api/anthropic-messages.lazy.ts\";\nimport { openAICompletionsApi } from \"../api/openai-completions.lazy.ts\";\nimport { openAIResponsesApi } from \"../api/openai-responses.lazy.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { CLOUDFLARE_AI_GATEWAY_MODELS } from \"./cloudflare-ai-gateway.models.ts\";\nimport { cloudflareAIGatewayAuth } from \"./cloudflare-auth.ts\";\nimport { cloudflareStreams } from \"./cloudflare-stream.ts\";\nimport { CLOUDFLARE_WORKERS_AI_MODELS } from \"./cloudflare-workers-ai.models.ts\";\n\ntype CloudflareAIGatewayApi = \"anthropic-messages\" | \"openai-completions\" | \"openai-responses\";\n\nexport function cloudflareAIGatewayProvider(): Provider<CloudflareAIGatewayApi> {\n\treturn createProvider<CloudflareAIGatewayApi>({\n\t\tid: \"cloudflare-ai-gateway\",\n\t\tname: \"Cloudflare AI Gateway\",\n\t\tauth: { apiKey: cloudflareAIGatewayAuth() },\n\t\tmodels: [\n\t\t\t...Object.values(CLOUDFLARE_AI_GATEWAY_MODELS),\n\t\t\t...Object.values(CLOUDFLARE_WORKERS_AI_MODELS).map((model) => ({\n\t\t\t\t...model,\n\t\t\t\tprovider: \"cloudflare-ai-gateway\" as const,\n\t\t\t\tid: `workers-ai/${model.id}`,\n\t\t\t\tbaseUrl: \"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat\",\n\t\t\t})),\n\t\t],\n\t\tapi: {\n\t\t\t\"anthropic-messages\": cloudflareStreams(anthropicMessagesApi()),\n\t\t\t\"openai-completions\": cloudflareStreams(openAICompletionsApi()),\n\t\t\t\"openai-responses\": cloudflareStreams(openAIResponsesApi()),\n\t\t},\n\t});\n}\n"]}
@@ -1 +1 @@
1
- {"schemaVersion":3,"generatedAt":"2026-08-24T17:19:14.090Z","structureHash":"36f916c3f467c41d55c5608022eb992ac03223756c3b3b43d2127dcccee53f41","files":{"alibaba-token-plan.json":"f50ed32b9cbf506cec10fea687e629a96d48faef751c20bfbc5cba95eae0a824","amazon-bedrock.json":"945114227eb061126236c0de18657d230174ed1739648db6007a5dc2758d510b","ant-ling.json":"4979fe79d99ed97382d7ce40170c6132e932e77906de1eb54464c042e7d63633","anthropic.json":"e03961d53bf72235ba1cc8bc0e93531529b13f646d2d2961a78d8bdcc88de8d4","azure-openai-responses.json":"5315b6a2299fefbdbb6cc13a720544077c9498132ad5e3a7d76a8c1daa8e9335","baseten.json":"950433e7fcf9357ae3423b27fc0d32568b6e0990bb35c6e961dcb9740a6bba1b","cerebras.json":"38272a7525d6680c71bb4bb3c4085e871768b400832e2013b0e7fd92f8fd4f05","cloudflare-ai-gateway.json":"39d072a794d25d6a00d081943e9577d5e935d847b0914815b52ceec8bd8b2f68","cloudflare-workers-ai.json":"89e63a18886ecedd1d995cc90e4bfe06f73e2a79117b2f54f58fe60cdcf63df5","deepseek.json":"e3106724723fd82d48a3ff685da9908a3a7b7b4fd84cc3cfe97a6a23067b6029","fireworks.json":"2c85d89cd04288b15ff8a23af5eba72779cae9221f4bcfed1720ce6d41629fcc","github-copilot.json":"b89b04b844bdae6c794d63ba159dfd01c3954ddb550ecb76e1a50c7802f1f63d","google-vertex.json":"fb7586fc955da7b7d7d11d641954f496fbbb42cf3e4cbba66d7116ea3b37d5ed","google.json":"b5572904165d37ab594eafc3ab7f29774e35747b5dd211144ec01532db9217c1","groq.json":"f1eb899453e70b5e4479fe6eb78869ee99121fa6d4a019a5a05ab42d2ada8992","huggingface.json":"b2f15353177738beb5c0865ffcd92cc470e1c8ba6b6a4d2707cda12212a6043b","kimi-coding.json":"88150f8970f83e17968b02f3b33fac803b96ebf1474e76437689b7d0f1b69363","minimax-cn.json":"8ccd71ff838f4b78bb88809babb0dc32a4fcfaec2bc4f4083841000428df4f77","minimax.json":"253edd4c910a41c8bb252400ba099f3a4de0a8900ce154319288ab091b372987","mistral.json":"4f9d84bf1ba10cb14ff2c9e23e77d63441756ef3500375dd4ad10094614b215b","moonshotai-cn.json":"dbf1b71ee36812fe64b014177ff455809a8dd852bbbd584422645beb85635127","moonshotai.json":"2d7518b4769e97ac900366175c8b60ff86a02675bb6f6cc2fffcc6761fda6faa","nvidia.json":"f9e2737a9d7ccb77ccc14083422dae03e0b786d169660670f739ddb3f0533eb5","openai-codex.json":"bcf30d89ae124004ed3b0d38958faa46674c7531f531f4f5588992d6354b291d","openai.json":"4157d81bc5725b5cc9a7568a4ced0d082fc6568cecf0526e9070f17431c40d5c","opencode-go.json":"215847bcae08e32070369322fb7803abcbe0af53c4edfe9b7cbfde62cd000bab","opencode.json":"b3f36694ec71e08489a51d5c791e9ffffece3fe82dafbdf41d256b4f22d323ad","opengateway.json":"79d472ce922a9586b2b908144239dea8b12a004f0d92a1941606d6f74394eddb","openrouter.json":"5f8b34ed72fd9b59b6709f2822f4e8a6c28ce940ac8e6982c4db4156ffd60fcc","qwen-token-plan-cn.json":"700cb41cdee4c0ae2a5159eb3ab43f4cedc9d43e87c6fd1bcd410d71431f9856","qwen-token-plan-individual.json":"5649fd4075ada766ec65a7a162cd65f096a7ecc29960ace04b2e6a6a4a995a41","qwen-token-plan.json":"f85715f7f2023a162c47d1a84ba73747e2580d0a9aa33799b3232ce19527c1ab","together.json":"f7c9ba0441c1cbb8af41aaea3cfaa12559e1235a7335898e705d5918dc308c97","vercel-ai-gateway.json":"2f3c65359166757431a080de858f7d80ca2598e5d4f7b9e68c379ce2ee181b48","xai.json":"9973aae022723732b8a7ea12107e6fb8b3f1d0e087ec6bbc2ee18f0820595e19","xiaomi-token-plan-ams.json":"568b9992cf320536a65826e26a414afa5c0d17f083a01af4bd96658d9dd3e705","xiaomi-token-plan-cn.json":"c423857d0bbb0b126394eaf1ebb2a91bf2d1193cc5a4fe77843ff0f4536a0a80","xiaomi-token-plan-sgp.json":"008f1eb41037e93c5ae478f12815cd67bac1978f131ffefa602775bb60b63fea","xiaomi.json":"37acf451bb4364bdca2ecea6b7d962590d9974a87e80cfe34bb800be6a95c13b","zai-coding-cn.json":"97b9c249b5c9ec7667a6449ff1c2c4e52d85ca0fe7bb3b3ced95afa14cd2b7c9","zai.json":"eb23fcd1b79bd5da4d264eaccae149fda3f7a028cb1309699c6a3243a22a25f2"}}
1
+ {"schemaVersion":3,"generatedAt":"2026-08-26T05:54:15.978Z","structureHash":"45d3f23fe79fc2a3625971794e590af4592939f378607ef2e2fa7629acaf7711","files":{"alibaba-token-plan.json":"f50ed32b9cbf506cec10fea687e629a96d48faef751c20bfbc5cba95eae0a824","amazon-bedrock.json":"945114227eb061126236c0de18657d230174ed1739648db6007a5dc2758d510b","ant-ling.json":"4979fe79d99ed97382d7ce40170c6132e932e77906de1eb54464c042e7d63633","anthropic.json":"8c1136a83a3b1ff0e61ab461ee221b1de7680784e774a60e1520af14a44bb0f1","azure-openai-responses.json":"37d12c5cbfc29bfd9a802a0516f5d3209320bd4aa8ef9cd7c219af208244afa3","baseten.json":"950433e7fcf9357ae3423b27fc0d32568b6e0990bb35c6e961dcb9740a6bba1b","cerebras.json":"38272a7525d6680c71bb4bb3c4085e871768b400832e2013b0e7fd92f8fd4f05","cloudflare-ai-gateway.json":"40ed182e0d8a3b0afe9d793351d9fe3405a9158dd86c0a1864b9e178b6e07a93","cloudflare-workers-ai.json":"89e63a18886ecedd1d995cc90e4bfe06f73e2a79117b2f54f58fe60cdcf63df5","deepseek.json":"e3106724723fd82d48a3ff685da9908a3a7b7b4fd84cc3cfe97a6a23067b6029","fireworks.json":"2c85d89cd04288b15ff8a23af5eba72779cae9221f4bcfed1720ce6d41629fcc","github-copilot.json":"b89b04b844bdae6c794d63ba159dfd01c3954ddb550ecb76e1a50c7802f1f63d","google-vertex.json":"fb7586fc955da7b7d7d11d641954f496fbbb42cf3e4cbba66d7116ea3b37d5ed","google.json":"b5572904165d37ab594eafc3ab7f29774e35747b5dd211144ec01532db9217c1","groq.json":"f1eb899453e70b5e4479fe6eb78869ee99121fa6d4a019a5a05ab42d2ada8992","huggingface.json":"06928e62be84eacc5b5b71665cb563bb3555a4d4580946c696d714c27dc1e44a","kimi-coding.json":"88150f8970f83e17968b02f3b33fac803b96ebf1474e76437689b7d0f1b69363","minimax-cn.json":"8ccd71ff838f4b78bb88809babb0dc32a4fcfaec2bc4f4083841000428df4f77","minimax.json":"253edd4c910a41c8bb252400ba099f3a4de0a8900ce154319288ab091b372987","mistral.json":"4f9d84bf1ba10cb14ff2c9e23e77d63441756ef3500375dd4ad10094614b215b","moonshotai-cn.json":"dbf1b71ee36812fe64b014177ff455809a8dd852bbbd584422645beb85635127","moonshotai.json":"2d7518b4769e97ac900366175c8b60ff86a02675bb6f6cc2fffcc6761fda6faa","nvidia.json":"b2a08b1f78075a8ecf2c556d08fcf825885f83e2e2982b44ff3435b528fea09a","openai-codex.json":"bcf30d89ae124004ed3b0d38958faa46674c7531f531f4f5588992d6354b291d","openai.json":"9400053a1f5968768ec3ee3e40ea6aa4f62c376cf98a059017df0344d21e2e59","opencode-go.json":"ecb4ce0430cde614fd59ee9f31509f92713f7bff12269bc5db6a557d7d0c27e7","opencode.json":"07731133182303f288894b13384f31d742c586878ab361add631de75c48168d5","opengateway.json":"2e354faebb966490fb1b3bf1dd360e78c76a62affc9747434e2d099915ec50fe","openrouter.json":"657286602ad4f512d3c50f683a652c99f7b3796c944539b9636c93f822e4fa75","qwen-token-plan-cn.json":"700cb41cdee4c0ae2a5159eb3ab43f4cedc9d43e87c6fd1bcd410d71431f9856","qwen-token-plan-individual.json":"5649fd4075ada766ec65a7a162cd65f096a7ecc29960ace04b2e6a6a4a995a41","qwen-token-plan.json":"f85715f7f2023a162c47d1a84ba73747e2580d0a9aa33799b3232ce19527c1ab","together.json":"f7c9ba0441c1cbb8af41aaea3cfaa12559e1235a7335898e705d5918dc308c97","vercel-ai-gateway.json":"2e63c9c56e08f69ca46fd7b3e8e73168c4ee3db1c46c49ceab948c228749433b","xai.json":"9973aae022723732b8a7ea12107e6fb8b3f1d0e087ec6bbc2ee18f0820595e19","xiaomi-token-plan-ams.json":"568b9992cf320536a65826e26a414afa5c0d17f083a01af4bd96658d9dd3e705","xiaomi-token-plan-cn.json":"c423857d0bbb0b126394eaf1ebb2a91bf2d1193cc5a4fe77843ff0f4536a0a80","xiaomi-token-plan-sgp.json":"008f1eb41037e93c5ae478f12815cd67bac1978f131ffefa602775bb60b63fea","xiaomi.json":"37acf451bb4364bdca2ecea6b7d962590d9974a87e80cfe34bb800be6a95c13b","zai-coding-cn.json":"00d03e75c55671aed50fdaf27307f59eb555ffa65203f00dbcdc94f88bd9a924","zai.json":"b9a81e53df18770e2ff6713707f6f3feb143d3469fa6733b7638b53033d4bd9b"}}
@@ -1 +1 @@
1
- {"anthropic-messages":{"claude-fable-5":{"id":"claude-fable-5","name":"Claude Fable 5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":10,"output":50,"cacheRead":1,"cacheWrite":12.5},"contextWindow":1000000,"maxTokens":128000,"compat":{"allowedFallbackModels":["claude-opus-4-8","claude-opus-5"],"supportsDisabledThinking":false,"forceAdaptiveThinking":true,"supportsStrictTools":true},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"}},"claude-haiku-4-5":{"id":"claude-haiku-4-5","name":"Claude Haiku 4.5 (latest)","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-haiku-4-5-20251001":{"id":"claude-haiku-4-5-20251001","name":"Claude Haiku 4.5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-opus-4-5":{"id":"claude-opus-4-5","name":"Claude Opus 4.5 (latest)","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-opus-4-5-20251101":{"id":"claude-opus-4-5-20251101","name":"Claude Opus 4.5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-opus-4-6":{"id":"claude-opus-4-6","name":"Claude Opus 4.6","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsStrictTools":true}},"claude-opus-4-7":{"id":"claude-opus-4-7","name":"Claude Opus 4.7","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false,"supportsStrictTools":true}},"claude-opus-4-8":{"id":"claude-opus-4-8","name":"Claude Opus 4.8","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false,"supportsStrictTools":true}},"claude-opus-5":{"id":"claude-opus-5","name":"Claude Opus 5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"compat":{"allowedFallbackModels":["claude-opus-4-8"],"forceAdaptiveThinking":true,"supportsTemperature":false,"supportsStrictTools":true},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"}},"claude-sonnet-4-5":{"id":"claude-sonnet-4-5","name":"Claude Sonnet 4.5 (latest)","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-sonnet-4-5-20250929":{"id":"claude-sonnet-4-5-20250929","name":"Claude Sonnet 4.5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-sonnet-4-6":{"id":"claude-sonnet-4-6","name":"Claude Sonnet 4.6","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsStrictTools":true}},"claude-sonnet-5":{"id":"claude-sonnet-5","name":"Claude Sonnet 5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":10,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsStrictTools":true}}}}
1
+ {"anthropic-messages":{"claude-fable-5":{"id":"claude-fable-5","name":"Claude Fable 5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":10,"output":50,"cacheRead":1,"cacheWrite":12.5},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"supportsDisabledThinking":false,"forceAdaptiveThinking":true,"supportsStrictTools":true,"allowedFallbackModels":[{"provider":"anthropic","model":"claude-opus-4-8","cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25}},{"provider":"anthropic","model":"claude-opus-5","cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25}}]}},"claude-haiku-4-5":{"id":"claude-haiku-4-5","name":"Claude Haiku 4.5 (latest)","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-haiku-4-5-20251001":{"id":"claude-haiku-4-5-20251001","name":"Claude Haiku 4.5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-opus-4-5":{"id":"claude-opus-4-5","name":"Claude Opus 4.5 (latest)","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-opus-4-5-20251101":{"id":"claude-opus-4-5-20251101","name":"Claude Opus 4.5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-opus-4-6":{"id":"claude-opus-4-6","name":"Claude Opus 4.6","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsStrictTools":true}},"claude-opus-4-7":{"id":"claude-opus-4-7","name":"Claude Opus 4.7","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false,"supportsStrictTools":true}},"claude-opus-4-8":{"id":"claude-opus-4-8","name":"Claude Opus 4.8","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false,"supportsStrictTools":true}},"claude-opus-5":{"id":"claude-opus-5","name":"Claude Opus 5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false,"supportsStrictTools":true,"allowedFallbackModels":[{"provider":"anthropic","model":"claude-opus-4-8","cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25}}]}},"claude-sonnet-4-5":{"id":"claude-sonnet-4-5","name":"Claude Sonnet 4.5 (latest)","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-sonnet-4-5-20250929":{"id":"claude-sonnet-4-5-20250929","name":"Claude Sonnet 4.5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":64000,"compat":{"supportsStrictTools":true}},"claude-sonnet-4-6":{"id":"claude-sonnet-4-6","name":"Claude Sonnet 4.6","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsStrictTools":true}},"claude-sonnet-5":{"id":"claude-sonnet-5","name":"Claude Sonnet 5","api":"anthropic-messages","provider":"anthropic","baseUrl":"https://api.anthropic.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":10,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsStrictTools":true}}}}
@@ -1 +1 @@
1
- {"azure-openai-responses":{"gpt-4":{"id":"gpt-4","name":"GPT-4","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text"],"cost":{"input":30,"output":60,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":8192},"gpt-4-turbo":{"id":"gpt-4-turbo","name":"GPT-4 Turbo","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":10,"output":30,"cacheRead":0,"cacheWrite":0},"contextWindow":128000,"maxTokens":4096},"gpt-4.1":{"id":"gpt-4.1","name":"GPT-4.1","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"gpt-4.1-mini":{"id":"gpt-4.1-mini","name":"GPT-4.1 mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.1,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"gpt-4.1-nano":{"id":"gpt-4.1-nano","name":"GPT-4.1 nano","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":0.1,"output":0.4,"cacheRead":0.025,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"gpt-4o":{"id":"gpt-4o","name":"GPT-4o","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":2.5,"output":10,"cacheRead":1.25,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-4o-2024-05-13":{"id":"gpt-4o-2024-05-13","name":"GPT-4o (2024-05-13)","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":5,"output":15,"cacheRead":0,"cacheWrite":0},"contextWindow":128000,"maxTokens":4096},"gpt-4o-2024-08-06":{"id":"gpt-4o-2024-08-06","name":"GPT-4o (2024-08-06)","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":2.5,"output":10,"cacheRead":1.25,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-4o-2024-11-20":{"id":"gpt-4o-2024-11-20","name":"GPT-4o (2024-11-20)","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":2.5,"output":10,"cacheRead":1.25,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-4o-mini":{"id":"gpt-4o-mini","name":"GPT-4o mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":0.15,"output":0.6,"cacheRead":0.075,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-5":{"id":"gpt-5","name":"GPT-5","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5-chat-latest":{"id":"gpt-5-chat-latest","name":"GPT-5 Chat Latest","api":"azure-openai-responses","baseUrl":"","provider":"azure-openai-responses","reasoning":false,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5-mini":{"id":"gpt-5-mini","name":"GPT-5 Mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":0.25,"output":2,"cacheRead":0.025,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5-nano":{"id":"gpt-5-nano","name":"GPT-5 Nano","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":0.05,"output":0.4,"cacheRead":0.005,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5-pro":{"id":"gpt-5-pro","name":"GPT-5 Pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":15,"output":120,"cacheRead":0,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.1":{"id":"gpt-5.1","name":"GPT-5.1","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2":{"id":"gpt-5.2","name":"GPT-5.2","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2-chat-latest":{"id":"gpt-5.2-chat-latest","name":"GPT-5.2 Chat","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2-pro":{"id":"gpt-5.2-pro","name":"GPT-5.2 Pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":21,"output":168,"cacheRead":0,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-chat-latest":{"id":"gpt-5.3-chat-latest","name":"GPT-5.3 Chat (latest)","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-codex":{"id":"gpt-5.3-codex","name":"GPT-5.3 Codex","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-codex-spark":{"id":"gpt-5.3-codex-spark","name":"GPT-5.3 Codex Spark","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":128000,"maxTokens":32000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4":{"id":"gpt-5.4","name":"GPT-5.4","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-mini":{"id":"gpt-5.4-mini","name":"GPT-5.4 mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-nano":{"id":"gpt-5.4-nano","name":"GPT-5.4 nano","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.25,"cacheRead":0.02,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-pro":{"id":"gpt-5.4-pro","name":"GPT-5.4 Pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":30,"output":180,"cacheRead":0,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.5":{"id":"gpt-5.5","name":"GPT-5.5","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.5-pro":{"id":"gpt-5.5-pro","name":"GPT-5.5 Pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":30,"output":180,"cacheRead":0,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh","minimal":null,"low":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.2,"cacheRead":0.02,"cacheWrite":0.25},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-sol":{"id":"gpt-5.6-sol","name":"GPT-5.6 Sol","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-terra":{"id":"gpt-5.6-terra","name":"GPT-5.6 Terra","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-realtime-2.1":{"id":"gpt-realtime-2.1","name":"GPT-Realtime-2.1","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":4,"output":24,"cacheRead":0.4,"cacheWrite":0},"contextWindow":128000,"maxTokens":32000},"o1":{"id":"o1","name":"o1","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":15,"output":60,"cacheRead":7.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000},"o1-pro":{"id":"o1-pro","name":"o1-pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":150,"output":600,"cacheRead":0,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000},"o3":{"id":"o3","name":"o3","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000},"o3-mini":{"id":"o3-mini","name":"o3-mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.55,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000},"o3-pro":{"id":"o3-pro","name":"o3-pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":20,"output":80,"cacheRead":0,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000},"o4-mini":{"id":"o4-mini","name":"o4-mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.275,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000}}}
1
+ {"azure-openai-responses":{"gpt-4":{"id":"gpt-4","name":"GPT-4","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text"],"cost":{"input":30,"output":60,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":8192},"gpt-4-turbo":{"id":"gpt-4-turbo","name":"GPT-4 Turbo","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":10,"output":30,"cacheRead":0,"cacheWrite":0},"contextWindow":128000,"maxTokens":4096},"gpt-4.1":{"id":"gpt-4.1","name":"GPT-4.1","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"gpt-4.1-mini":{"id":"gpt-4.1-mini","name":"GPT-4.1 mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.1,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"gpt-4.1-nano":{"id":"gpt-4.1-nano","name":"GPT-4.1 nano","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":0.1,"output":0.4,"cacheRead":0.025,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"gpt-4o":{"id":"gpt-4o","name":"GPT-4o","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":2.5,"output":10,"cacheRead":1.25,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-4o-2024-05-13":{"id":"gpt-4o-2024-05-13","name":"GPT-4o (2024-05-13)","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":5,"output":15,"cacheRead":0,"cacheWrite":0},"contextWindow":128000,"maxTokens":4096},"gpt-4o-2024-08-06":{"id":"gpt-4o-2024-08-06","name":"GPT-4o (2024-08-06)","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":2.5,"output":10,"cacheRead":1.25,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-4o-2024-11-20":{"id":"gpt-4o-2024-11-20","name":"GPT-4o (2024-11-20)","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":2.5,"output":10,"cacheRead":1.25,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-4o-mini":{"id":"gpt-4o-mini","name":"GPT-4o mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":0.15,"output":0.6,"cacheRead":0.075,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-5":{"id":"gpt-5","name":"GPT-5","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5-chat-latest":{"id":"gpt-5-chat-latest","name":"GPT-5 Chat Latest","api":"azure-openai-responses","baseUrl":"","provider":"azure-openai-responses","reasoning":false,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5-mini":{"id":"gpt-5-mini","name":"GPT-5 Mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":0.25,"output":2,"cacheRead":0.025,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5-nano":{"id":"gpt-5-nano","name":"GPT-5 Nano","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":0.05,"output":0.4,"cacheRead":0.005,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5-pro":{"id":"gpt-5-pro","name":"GPT-5 Pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":15,"output":120,"cacheRead":0,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.1":{"id":"gpt-5.1","name":"GPT-5.1","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2":{"id":"gpt-5.2","name":"GPT-5.2","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2-chat-latest":{"id":"gpt-5.2-chat-latest","name":"GPT-5.2 Chat","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2-pro":{"id":"gpt-5.2-pro","name":"GPT-5.2 Pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":21,"output":168,"cacheRead":0,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-chat-latest":{"id":"gpt-5.3-chat-latest","name":"GPT-5.3 Chat (latest)","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":false,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-codex":{"id":"gpt-5.3-codex","name":"GPT-5.3 Codex","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-codex-spark":{"id":"gpt-5.3-codex-spark","name":"GPT-5.3 Codex Spark","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":128000,"maxTokens":32000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4":{"id":"gpt-5.4","name":"GPT-5.4","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-mini":{"id":"gpt-5.4-mini","name":"GPT-5.4 mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-nano":{"id":"gpt-5.4-nano","name":"GPT-5.4 nano","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.25,"cacheRead":0.02,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-pro":{"id":"gpt-5.4-pro","name":"GPT-5.4 Pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":30,"output":180,"cacheRead":0,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.5":{"id":"gpt-5.5","name":"GPT-5.5","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.5-pro":{"id":"gpt-5.5-pro","name":"GPT-5.5 Pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":30,"output":180,"cacheRead":0,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh","minimal":null,"low":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.2,"cacheRead":0.02,"cacheWrite":0.25},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-sol":{"id":"gpt-5.6-sol","name":"GPT-5.6 Sol","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":4,"output":20,"cacheRead":0.4,"cacheWrite":5},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-terra":{"id":"gpt-5.6-terra","name":"GPT-5.6 Terra","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-realtime-2.1":{"id":"gpt-realtime-2.1","name":"GPT-Realtime-2.1","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":4,"output":24,"cacheRead":0.4,"cacheWrite":0},"contextWindow":128000,"maxTokens":32000},"o1":{"id":"o1","name":"o1","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":15,"output":60,"cacheRead":7.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000},"o1-pro":{"id":"o1-pro","name":"o1-pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":150,"output":600,"cacheRead":0,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000},"o3":{"id":"o3","name":"o3","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000},"o3-mini":{"id":"o3-mini","name":"o3-mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.55,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000},"o3-pro":{"id":"o3-pro","name":"o3-pro","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":20,"output":80,"cacheRead":0,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000},"o4-mini":{"id":"o4-mini","name":"o4-mini","api":"azure-openai-responses","provider":"azure-openai-responses","baseUrl":"","reasoning":true,"input":["text","image"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.275,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000}}}