indusagi 0.12.7 → 0.12.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/dist/agent/agent-loop.d.ts.map +1 -1
  2. package/dist/agent/agent-loop.js +10 -1
  3. package/dist/agent/agent-loop.js.map +1 -1
  4. package/dist/agent/agent.d.ts +2 -1
  5. package/dist/agent/agent.d.ts.map +1 -1
  6. package/dist/agent/agent.js +30 -38
  7. package/dist/agent/agent.js.map +1 -1
  8. package/dist/agent/error-handler.d.ts +8 -0
  9. package/dist/agent/error-handler.d.ts.map +1 -0
  10. package/dist/agent/error-handler.js +8 -0
  11. package/dist/agent/error-handler.js.map +1 -0
  12. package/dist/agent/event-bus.d.ts +9 -0
  13. package/dist/agent/event-bus.d.ts.map +1 -0
  14. package/dist/agent/event-bus.js +17 -0
  15. package/dist/agent/event-bus.js.map +1 -0
  16. package/dist/agent/proxy.d.ts +13 -19
  17. package/dist/agent/proxy.d.ts.map +1 -1
  18. package/dist/agent/proxy.js +45 -4
  19. package/dist/agent/proxy.js.map +1 -1
  20. package/dist/agent/state-manager.d.ts +22 -0
  21. package/dist/agent/state-manager.d.ts.map +1 -0
  22. package/dist/agent/state-manager.js +59 -0
  23. package/dist/agent/state-manager.js.map +1 -0
  24. package/dist/agent/telemetry.d.ts +7 -0
  25. package/dist/agent/telemetry.d.ts.map +1 -0
  26. package/dist/agent/telemetry.js +20 -0
  27. package/dist/agent/telemetry.js.map +1 -0
  28. package/dist/agent/tools/bash.d.ts +11 -0
  29. package/dist/agent/tools/bash.d.ts.map +1 -1
  30. package/dist/agent/tools/bash.js +27 -4
  31. package/dist/agent/tools/bash.js.map +1 -1
  32. package/dist/agent/tools/edit.d.ts +5 -0
  33. package/dist/agent/tools/edit.d.ts.map +1 -1
  34. package/dist/agent/tools/edit.js +16 -2
  35. package/dist/agent/tools/edit.js.map +1 -1
  36. package/dist/agent/tools/find.d.ts +2 -0
  37. package/dist/agent/tools/find.d.ts.map +1 -1
  38. package/dist/agent/tools/find.js +4 -1
  39. package/dist/agent/tools/find.js.map +1 -1
  40. package/dist/agent/tools/grep.d.ts.map +1 -1
  41. package/dist/agent/tools/grep.js +15 -4
  42. package/dist/agent/tools/grep.js.map +1 -1
  43. package/dist/agent/tools/index.d.ts +18 -2
  44. package/dist/agent/tools/index.d.ts.map +1 -1
  45. package/dist/agent/tools/index.js +64 -50
  46. package/dist/agent/tools/index.js.map +1 -1
  47. package/dist/agent/tools/ls.d.ts +2 -0
  48. package/dist/agent/tools/ls.d.ts.map +1 -1
  49. package/dist/agent/tools/ls.js +5 -0
  50. package/dist/agent/tools/ls.js.map +1 -1
  51. package/dist/agent/tools/path-utils.d.ts.map +1 -1
  52. package/dist/agent/tools/path-utils.js +3 -0
  53. package/dist/agent/tools/path-utils.js.map +1 -1
  54. package/dist/agent/tools/registry.d.ts +21 -0
  55. package/dist/agent/tools/registry.d.ts.map +1 -0
  56. package/dist/agent/tools/registry.js +25 -0
  57. package/dist/agent/tools/registry.js.map +1 -0
  58. package/dist/agent/tools/task.d.ts.map +1 -1
  59. package/dist/agent/tools/task.js +12 -6
  60. package/dist/agent/tools/task.js.map +1 -1
  61. package/dist/agent/tools/todo-store.d.ts +4 -0
  62. package/dist/agent/tools/todo-store.d.ts.map +1 -1
  63. package/dist/agent/tools/todo-store.js +12 -0
  64. package/dist/agent/tools/todo-store.js.map +1 -1
  65. package/dist/agent/tools/todo.d.ts +4 -0
  66. package/dist/agent/tools/todo.d.ts.map +1 -1
  67. package/dist/agent/tools/todo.js +14 -4
  68. package/dist/agent/tools/todo.js.map +1 -1
  69. package/dist/agent/tools/truncate.d.ts +3 -0
  70. package/dist/agent/tools/truncate.d.ts.map +1 -1
  71. package/dist/agent/tools/truncate.js.map +1 -1
  72. package/dist/agent/tools/utils/hook-runner.d.ts +8 -3
  73. package/dist/agent/tools/utils/hook-runner.d.ts.map +1 -1
  74. package/dist/agent/tools/utils/hook-runner.js +22 -5
  75. package/dist/agent/tools/utils/hook-runner.js.map +1 -1
  76. package/dist/agent/tools/utils/image-resize.d.ts +1 -0
  77. package/dist/agent/tools/utils/image-resize.d.ts.map +1 -1
  78. package/dist/agent/tools/utils/image-resize.js +5 -0
  79. package/dist/agent/tools/utils/image-resize.js.map +1 -1
  80. package/dist/agent/tools/utils/mime.d.ts.map +1 -1
  81. package/dist/agent/tools/utils/mime.js +6 -0
  82. package/dist/agent/tools/utils/mime.js.map +1 -1
  83. package/dist/agent/tools/utils/shell.d.ts +5 -0
  84. package/dist/agent/tools/utils/shell.d.ts.map +1 -1
  85. package/dist/agent/tools/utils/shell.js +9 -0
  86. package/dist/agent/tools/utils/shell.js.map +1 -1
  87. package/dist/agent/tools/webfetch.d.ts +2 -0
  88. package/dist/agent/tools/webfetch.d.ts.map +1 -1
  89. package/dist/agent/tools/webfetch.js +4 -1
  90. package/dist/agent/tools/webfetch.js.map +1 -1
  91. package/dist/agent/tools/websearch.d.ts +6 -0
  92. package/dist/agent/tools/websearch.d.ts.map +1 -1
  93. package/dist/agent/tools/websearch.js +22 -2
  94. package/dist/agent/tools/websearch.js.map +1 -1
  95. package/dist/agent/tools/write.d.ts +4 -0
  96. package/dist/agent/tools/write.d.ts.map +1 -1
  97. package/dist/agent/tools/write.js +19 -1
  98. package/dist/agent/tools/write.js.map +1 -1
  99. package/dist/agent/types.d.ts +22 -1
  100. package/dist/agent/types.d.ts.map +1 -1
  101. package/dist/agent/types.js +44 -1
  102. package/dist/agent/types.js.map +1 -1
  103. package/dist/ai/api-registry.d.ts +34 -4
  104. package/dist/ai/api-registry.d.ts.map +1 -1
  105. package/dist/ai/api-registry.js +97 -19
  106. package/dist/ai/api-registry.js.map +1 -1
  107. package/dist/ai/cli.js +24 -3
  108. package/dist/ai/cli.js.map +1 -1
  109. package/dist/ai/env-api-keys.d.ts +9 -0
  110. package/dist/ai/env-api-keys.d.ts.map +1 -1
  111. package/dist/ai/env-api-keys.js +23 -0
  112. package/dist/ai/env-api-keys.js.map +1 -1
  113. package/dist/ai/index.d.ts +4 -2
  114. package/dist/ai/index.d.ts.map +1 -1
  115. package/dist/ai/index.js +4 -2
  116. package/dist/ai/index.js.map +1 -1
  117. package/dist/ai/models.d.ts +30 -0
  118. package/dist/ai/models.d.ts.map +1 -1
  119. package/dist/ai/models.generated.d.ts +1 -0
  120. package/dist/ai/models.generated.d.ts.map +1 -1
  121. package/dist/ai/models.js +90 -18
  122. package/dist/ai/models.js.map +1 -1
  123. package/dist/ai/providers/amazon-bedrock.d.ts +19 -1
  124. package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
  125. package/dist/ai/providers/amazon-bedrock.js +68 -40
  126. package/dist/ai/providers/amazon-bedrock.js.map +1 -1
  127. package/dist/ai/providers/anthropic.d.ts +50 -1
  128. package/dist/ai/providers/anthropic.d.ts.map +1 -1
  129. package/dist/ai/providers/anthropic.js +204 -161
  130. package/dist/ai/providers/anthropic.js.map +1 -1
  131. package/dist/ai/providers/azure-openai-responses.d.ts.map +1 -1
  132. package/dist/ai/providers/azure-openai-responses.js +36 -28
  133. package/dist/ai/providers/azure-openai-responses.js.map +1 -1
  134. package/dist/ai/providers/google-shared.d.ts +9 -0
  135. package/dist/ai/providers/google-shared.d.ts.map +1 -1
  136. package/dist/ai/providers/google-shared.js +16 -0
  137. package/dist/ai/providers/google-shared.js.map +1 -1
  138. package/dist/ai/providers/google-vertex.d.ts.map +1 -1
  139. package/dist/ai/providers/google-vertex.js +33 -26
  140. package/dist/ai/providers/google-vertex.js.map +1 -1
  141. package/dist/ai/providers/google.d.ts.map +1 -1
  142. package/dist/ai/providers/google.js +33 -26
  143. package/dist/ai/providers/google.js.map +1 -1
  144. package/dist/ai/providers/kimi.d.ts.map +1 -1
  145. package/dist/ai/providers/kimi.js +34 -24
  146. package/dist/ai/providers/kimi.js.map +1 -1
  147. package/dist/ai/providers/openai-codex-responses.d.ts.map +1 -1
  148. package/dist/ai/providers/openai-codex-responses.js +33 -25
  149. package/dist/ai/providers/openai-codex-responses.js.map +1 -1
  150. package/dist/ai/providers/openai-completions.d.ts +10 -0
  151. package/dist/ai/providers/openai-completions.d.ts.map +1 -1
  152. package/dist/ai/providers/openai-completions.js +51 -26
  153. package/dist/ai/providers/openai-completions.js.map +1 -1
  154. package/dist/ai/providers/openai-responses-shared.d.ts +9 -0
  155. package/dist/ai/providers/openai-responses-shared.d.ts.map +1 -1
  156. package/dist/ai/providers/openai-responses-shared.js +18 -2
  157. package/dist/ai/providers/openai-responses-shared.js.map +1 -1
  158. package/dist/ai/providers/openai-responses.d.ts.map +1 -1
  159. package/dist/ai/providers/openai-responses.js +35 -32
  160. package/dist/ai/providers/openai-responses.js.map +1 -1
  161. package/dist/ai/providers/register-builtins.d.ts.map +1 -1
  162. package/dist/ai/providers/register-builtins.js +17 -8
  163. package/dist/ai/providers/register-builtins.js.map +1 -1
  164. package/dist/ai/providers/simple-options.d.ts +19 -0
  165. package/dist/ai/providers/simple-options.d.ts.map +1 -1
  166. package/dist/ai/providers/simple-options.js +62 -0
  167. package/dist/ai/providers/simple-options.js.map +1 -1
  168. package/dist/ai/providers/transform-messages.d.ts +14 -0
  169. package/dist/ai/providers/transform-messages.d.ts.map +1 -1
  170. package/dist/ai/providers/transform-messages.js +99 -96
  171. package/dist/ai/providers/transform-messages.js.map +1 -1
  172. package/dist/ai/stream.d.ts +17 -3
  173. package/dist/ai/stream.d.ts.map +1 -1
  174. package/dist/ai/stream.js +61 -6
  175. package/dist/ai/stream.js.map +1 -1
  176. package/dist/ai/types.d.ts +17 -0
  177. package/dist/ai/types.d.ts.map +1 -1
  178. package/dist/ai/types.js +87 -1
  179. package/dist/ai/types.js.map +1 -1
  180. package/dist/ai/types.test.d.ts +8 -0
  181. package/dist/ai/types.test.d.ts.map +1 -0
  182. package/dist/ai/types.test.js +389 -0
  183. package/dist/ai/types.test.js.map +1 -0
  184. package/dist/ai/utils/base-stream-handler.d.ts +16 -0
  185. package/dist/ai/utils/base-stream-handler.d.ts.map +1 -0
  186. package/dist/ai/utils/base-stream-handler.js +24 -0
  187. package/dist/ai/utils/base-stream-handler.js.map +1 -0
  188. package/dist/ai/utils/event-stream.d.ts +26 -4
  189. package/dist/ai/utils/event-stream.d.ts.map +1 -1
  190. package/dist/ai/utils/event-stream.js +89 -5
  191. package/dist/ai/utils/event-stream.js.map +1 -1
  192. package/dist/ai/utils/index.d.ts +15 -0
  193. package/dist/ai/utils/index.d.ts.map +1 -0
  194. package/dist/ai/utils/index.js +15 -0
  195. package/dist/ai/utils/index.js.map +1 -0
  196. package/dist/ai/utils/json-parse.d.ts +13 -4
  197. package/dist/ai/utils/json-parse.d.ts.map +1 -1
  198. package/dist/ai/utils/json-parse.js +31 -19
  199. package/dist/ai/utils/json-parse.js.map +1 -1
  200. package/dist/ai/utils/message-transform.d.ts +29 -0
  201. package/dist/ai/utils/message-transform.d.ts.map +1 -0
  202. package/dist/ai/utils/message-transform.js +55 -0
  203. package/dist/ai/utils/message-transform.js.map +1 -0
  204. package/dist/ai/utils/oauth/anthropic.d.ts +1 -0
  205. package/dist/ai/utils/oauth/anthropic.d.ts.map +1 -1
  206. package/dist/ai/utils/oauth/anthropic.js +3 -0
  207. package/dist/ai/utils/oauth/anthropic.js.map +1 -1
  208. package/dist/ai/utils/oauth/github-copilot.d.ts +1 -0
  209. package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
  210. package/dist/ai/utils/oauth/github-copilot.js +3 -0
  211. package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
  212. package/dist/ai/utils/oauth/index.d.ts +2 -1
  213. package/dist/ai/utils/oauth/index.d.ts.map +1 -1
  214. package/dist/ai/utils/oauth/index.js +10 -0
  215. package/dist/ai/utils/oauth/index.js.map +1 -1
  216. package/dist/ai/utils/oauth/kimi.d.ts +1 -0
  217. package/dist/ai/utils/oauth/kimi.d.ts.map +1 -1
  218. package/dist/ai/utils/oauth/kimi.js +3 -0
  219. package/dist/ai/utils/oauth/kimi.js.map +1 -1
  220. package/dist/ai/utils/oauth/openai-codex.d.ts +1 -0
  221. package/dist/ai/utils/oauth/openai-codex.d.ts.map +1 -1
  222. package/dist/ai/utils/oauth/openai-codex.js +3 -0
  223. package/dist/ai/utils/oauth/openai-codex.js.map +1 -1
  224. package/dist/ai/utils/oauth/pkce.d.ts +1 -0
  225. package/dist/ai/utils/oauth/pkce.d.ts.map +1 -1
  226. package/dist/ai/utils/oauth/pkce.js +5 -0
  227. package/dist/ai/utils/oauth/pkce.js.map +1 -1
  228. package/dist/ai/utils/oauth/types.d.ts +6 -0
  229. package/dist/ai/utils/oauth/types.d.ts.map +1 -1
  230. package/dist/ai/utils/output-factory.d.ts +3 -0
  231. package/dist/ai/utils/output-factory.d.ts.map +1 -0
  232. package/dist/ai/utils/output-factory.js +23 -0
  233. package/dist/ai/utils/output-factory.js.map +1 -0
  234. package/dist/ai/utils/overflow.d.ts +6 -47
  235. package/dist/ai/utils/overflow.d.ts.map +1 -1
  236. package/dist/ai/utils/overflow.js +28 -92
  237. package/dist/ai/utils/overflow.js.map +1 -1
  238. package/dist/ai/utils/provider-adapter.d.ts +57 -0
  239. package/dist/ai/utils/provider-adapter.d.ts.map +1 -0
  240. package/dist/ai/utils/provider-adapter.js +28 -0
  241. package/dist/ai/utils/provider-adapter.js.map +1 -0
  242. package/dist/ai/utils/provider-client-builder.d.ts +37 -0
  243. package/dist/ai/utils/provider-client-builder.d.ts.map +1 -0
  244. package/dist/ai/utils/provider-client-builder.js +50 -0
  245. package/dist/ai/utils/provider-client-builder.js.map +1 -0
  246. package/dist/ai/utils/provider-consolidation.d.ts +4 -0
  247. package/dist/ai/utils/provider-consolidation.d.ts.map +1 -0
  248. package/dist/ai/utils/provider-consolidation.js +33 -0
  249. package/dist/ai/utils/provider-consolidation.js.map +1 -0
  250. package/dist/ai/utils/provider-constants.d.ts +35 -0
  251. package/dist/ai/utils/provider-constants.d.ts.map +1 -0
  252. package/dist/ai/utils/provider-constants.js +35 -0
  253. package/dist/ai/utils/provider-constants.js.map +1 -0
  254. package/dist/ai/utils/provider-errors.d.ts +46 -0
  255. package/dist/ai/utils/provider-errors.d.ts.map +1 -0
  256. package/dist/ai/utils/provider-errors.js +101 -0
  257. package/dist/ai/utils/provider-errors.js.map +1 -0
  258. package/dist/ai/utils/sanitize-unicode.d.ts +1 -0
  259. package/dist/ai/utils/sanitize-unicode.d.ts.map +1 -1
  260. package/dist/ai/utils/sanitize-unicode.js +16 -0
  261. package/dist/ai/utils/sanitize-unicode.js.map +1 -1
  262. package/dist/ai/utils/stream-event-helper.d.ts +28 -0
  263. package/dist/ai/utils/stream-event-helper.d.ts.map +1 -0
  264. package/dist/ai/utils/stream-event-helper.js +49 -0
  265. package/dist/ai/utils/stream-event-helper.js.map +1 -0
  266. package/dist/ai/utils/stream-handler-types.d.ts +43 -0
  267. package/dist/ai/utils/stream-handler-types.d.ts.map +1 -0
  268. package/dist/ai/utils/stream-handler-types.js +18 -0
  269. package/dist/ai/utils/stream-handler-types.js.map +1 -0
  270. package/dist/ai/utils/streaming-state-manager.d.ts +50 -0
  271. package/dist/ai/utils/streaming-state-manager.d.ts.map +1 -0
  272. package/dist/ai/utils/streaming-state-manager.js +65 -0
  273. package/dist/ai/utils/streaming-state-manager.js.map +1 -0
  274. package/dist/ai/utils/tool-converter.d.ts +50 -0
  275. package/dist/ai/utils/tool-converter.d.ts.map +1 -0
  276. package/dist/ai/utils/tool-converter.js +54 -0
  277. package/dist/ai/utils/tool-converter.js.map +1 -0
  278. package/dist/ai/utils/typebox-helpers.d.ts +6 -1
  279. package/dist/ai/utils/typebox-helpers.d.ts.map +1 -1
  280. package/dist/ai/utils/typebox-helpers.js +7 -0
  281. package/dist/ai/utils/typebox-helpers.js.map +1 -1
  282. package/dist/ai/utils/validation.d.ts +6 -0
  283. package/dist/ai/utils/validation.d.ts.map +1 -1
  284. package/dist/ai/utils/validation.js +23 -9
  285. package/dist/ai/utils/validation.js.map +1 -1
  286. package/dist/index.d.ts +0 -1
  287. package/dist/index.d.ts.map +1 -1
  288. package/dist/index.js +0 -1
  289. package/dist/index.js.map +1 -1
  290. package/dist/tui/autocomplete.d.ts +17 -0
  291. package/dist/tui/autocomplete.d.ts.map +1 -1
  292. package/dist/tui/autocomplete.js +33 -3
  293. package/dist/tui/autocomplete.js.map +1 -1
  294. package/dist/tui/components/box.d.ts +2 -2
  295. package/dist/tui/components/box.d.ts.map +1 -1
  296. package/dist/tui/components/box.js +7 -5
  297. package/dist/tui/components/box.js.map +1 -1
  298. package/dist/tui/components/cancellable-loader.d.ts +1 -0
  299. package/dist/tui/components/cancellable-loader.d.ts.map +1 -1
  300. package/dist/tui/components/cancellable-loader.js +4 -0
  301. package/dist/tui/components/cancellable-loader.js.map +1 -1
  302. package/dist/tui/components/editor.d.ts +2 -2
  303. package/dist/tui/components/editor.d.ts.map +1 -1
  304. package/dist/tui/components/editor.js +6 -3
  305. package/dist/tui/components/editor.js.map +1 -1
  306. package/dist/tui/components/image.d.ts +2 -2
  307. package/dist/tui/components/image.d.ts.map +1 -1
  308. package/dist/tui/components/image.js +35 -33
  309. package/dist/tui/components/image.js.map +1 -1
  310. package/dist/tui/components/input.d.ts +2 -2
  311. package/dist/tui/components/input.d.ts.map +1 -1
  312. package/dist/tui/components/input.js +6 -3
  313. package/dist/tui/components/input.js.map +1 -1
  314. package/dist/tui/components/loader.d.ts +2 -0
  315. package/dist/tui/components/loader.d.ts.map +1 -1
  316. package/dist/tui/components/loader.js +8 -0
  317. package/dist/tui/components/loader.js.map +1 -1
  318. package/dist/tui/components/markdown.d.ts +2 -2
  319. package/dist/tui/components/markdown.d.ts.map +1 -1
  320. package/dist/tui/components/markdown.js +61 -57
  321. package/dist/tui/components/markdown.js.map +1 -1
  322. package/dist/tui/components/select-list.d.ts +2 -2
  323. package/dist/tui/components/select-list.d.ts.map +1 -1
  324. package/dist/tui/components/select-list.js +79 -71
  325. package/dist/tui/components/select-list.js.map +1 -1
  326. package/dist/tui/components/settings-list.d.ts +2 -2
  327. package/dist/tui/components/settings-list.d.ts.map +1 -1
  328. package/dist/tui/components/settings-list.js +12 -1
  329. package/dist/tui/components/settings-list.js.map +1 -1
  330. package/dist/tui/components/spacer.d.ts +3 -3
  331. package/dist/tui/components/spacer.d.ts.map +1 -1
  332. package/dist/tui/components/spacer.js +13 -8
  333. package/dist/tui/components/spacer.js.map +1 -1
  334. package/dist/tui/components/text-renderer.d.ts +7 -0
  335. package/dist/tui/components/text-renderer.d.ts.map +1 -0
  336. package/dist/tui/components/text-renderer.js +25 -0
  337. package/dist/tui/components/text-renderer.js.map +1 -0
  338. package/dist/tui/components/text.d.ts +2 -4
  339. package/dist/tui/components/text.d.ts.map +1 -1
  340. package/dist/tui/components/text.js +35 -54
  341. package/dist/tui/components/text.js.map +1 -1
  342. package/dist/tui/components/truncated-text.d.ts +2 -2
  343. package/dist/tui/components/truncated-text.d.ts.map +1 -1
  344. package/dist/tui/components/truncated-text.js +7 -4
  345. package/dist/tui/components/truncated-text.js.map +1 -1
  346. package/dist/tui/editor-component.d.ts +2 -0
  347. package/dist/tui/editor-component.d.ts.map +1 -1
  348. package/dist/tui/fuzzy.d.ts +10 -0
  349. package/dist/tui/fuzzy.d.ts.map +1 -1
  350. package/dist/tui/fuzzy.js +75 -56
  351. package/dist/tui/fuzzy.js.map +1 -1
  352. package/dist/tui/keybindings.d.ts +16 -3
  353. package/dist/tui/keybindings.d.ts.map +1 -1
  354. package/dist/tui/keybindings.js +68 -12
  355. package/dist/tui/keybindings.js.map +1 -1
  356. package/dist/tui/keys.d.ts +5 -0
  357. package/dist/tui/keys.d.ts.map +1 -1
  358. package/dist/tui/keys.js +72 -1
  359. package/dist/tui/keys.js.map +1 -1
  360. package/dist/tui/stdin-buffer.d.ts +5 -0
  361. package/dist/tui/stdin-buffer.d.ts.map +1 -1
  362. package/dist/tui/stdin-buffer.js +20 -7
  363. package/dist/tui/stdin-buffer.js.map +1 -1
  364. package/dist/tui/terminal-image.d.ts.map +1 -1
  365. package/dist/tui/terminal-image.js +17 -6
  366. package/dist/tui/terminal-image.js.map +1 -1
  367. package/dist/tui/terminal.d.ts +15 -0
  368. package/dist/tui/terminal.d.ts.map +1 -1
  369. package/dist/tui/terminal.js +39 -6
  370. package/dist/tui/terminal.js.map +1 -1
  371. package/dist/tui/tui.d.ts +50 -4
  372. package/dist/tui/tui.d.ts.map +1 -1
  373. package/dist/tui/tui.js +201 -186
  374. package/dist/tui/tui.js.map +1 -1
  375. package/dist/tui/utils.d.ts +19 -0
  376. package/dist/tui/utils.d.ts.map +1 -1
  377. package/dist/tui/utils.js +39 -0
  378. package/dist/tui/utils.js.map +1 -1
  379. package/package.json +7 -9
  380. package/dist/webui/ChatPanel.d.ts +0 -28
  381. package/dist/webui/ChatPanel.d.ts.map +0 -1
  382. package/dist/webui/ChatPanel.js +0 -193
  383. package/dist/webui/ChatPanel.js.map +0 -1
  384. package/dist/webui/components/AgentInterface.d.ts +0 -39
  385. package/dist/webui/components/AgentInterface.d.ts.map +0 -1
  386. package/dist/webui/components/AgentInterface.js +0 -371
  387. package/dist/webui/components/AgentInterface.js.map +0 -1
  388. package/dist/webui/components/AttachmentTile.d.ts +0 -12
  389. package/dist/webui/components/AttachmentTile.d.ts.map +0 -1
  390. package/dist/webui/components/AttachmentTile.js +0 -111
  391. package/dist/webui/components/AttachmentTile.js.map +0 -1
  392. package/dist/webui/components/ConsoleBlock.d.ts +0 -12
  393. package/dist/webui/components/ConsoleBlock.d.ts.map +0 -1
  394. package/dist/webui/components/ConsoleBlock.js +0 -84
  395. package/dist/webui/components/ConsoleBlock.js.map +0 -1
  396. package/dist/webui/components/CustomProviderCard.d.ts +0 -17
  397. package/dist/webui/components/CustomProviderCard.d.ts.map +0 -1
  398. package/dist/webui/components/CustomProviderCard.js +0 -110
  399. package/dist/webui/components/CustomProviderCard.js.map +0 -1
  400. package/dist/webui/components/ExpandableSection.d.ts +0 -15
  401. package/dist/webui/components/ExpandableSection.d.ts.map +0 -1
  402. package/dist/webui/components/ExpandableSection.js +0 -63
  403. package/dist/webui/components/ExpandableSection.js.map +0 -1
  404. package/dist/webui/components/Input.d.ts +0 -26
  405. package/dist/webui/components/Input.d.ts.map +0 -1
  406. package/dist/webui/components/Input.js +0 -57
  407. package/dist/webui/components/Input.js.map +0 -1
  408. package/dist/webui/components/MessageEditor.d.ts +0 -44
  409. package/dist/webui/components/MessageEditor.d.ts.map +0 -1
  410. package/dist/webui/components/MessageEditor.js +0 -414
  411. package/dist/webui/components/MessageEditor.js.map +0 -1
  412. package/dist/webui/components/MessageList.d.ts +0 -14
  413. package/dist/webui/components/MessageList.d.ts.map +0 -1
  414. package/dist/webui/components/MessageList.js +0 -104
  415. package/dist/webui/components/MessageList.js.map +0 -1
  416. package/dist/webui/components/Messages.d.ts +0 -94
  417. package/dist/webui/components/Messages.d.ts.map +0 -1
  418. package/dist/webui/components/Messages.js +0 -352
  419. package/dist/webui/components/Messages.js.map +0 -1
  420. package/dist/webui/components/ProviderKeyInput.d.ts +0 -16
  421. package/dist/webui/components/ProviderKeyInput.d.ts.map +0 -1
  422. package/dist/webui/components/ProviderKeyInput.js +0 -171
  423. package/dist/webui/components/ProviderKeyInput.js.map +0 -1
  424. package/dist/webui/components/SandboxedIframe.d.ts +0 -85
  425. package/dist/webui/components/SandboxedIframe.d.ts.map +0 -1
  426. package/dist/webui/components/SandboxedIframe.js +0 -511
  427. package/dist/webui/components/SandboxedIframe.js.map +0 -1
  428. package/dist/webui/components/StreamingMessageContainer.d.ts +0 -19
  429. package/dist/webui/components/StreamingMessageContainer.d.ts.map +0 -1
  430. package/dist/webui/components/StreamingMessageContainer.js +0 -117
  431. package/dist/webui/components/StreamingMessageContainer.js.map +0 -1
  432. package/dist/webui/components/ThinkingBlock.d.ts +0 -11
  433. package/dist/webui/components/ThinkingBlock.d.ts.map +0 -1
  434. package/dist/webui/components/ThinkingBlock.js +0 -58
  435. package/dist/webui/components/ThinkingBlock.js.map +0 -1
  436. package/dist/webui/components/message-renderer-registry.d.ts +0 -12
  437. package/dist/webui/components/message-renderer-registry.d.ts.map +0 -1
  438. package/dist/webui/components/message-renderer-registry.js +0 -12
  439. package/dist/webui/components/message-renderer-registry.js.map +0 -1
  440. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.d.ts +0 -35
  441. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.d.ts.map +0 -1
  442. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.js +0 -189
  443. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.js.map +0 -1
  444. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.d.ts +0 -17
  445. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.d.ts.map +0 -1
  446. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.js +0 -64
  447. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.js.map +0 -1
  448. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.d.ts +0 -42
  449. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.d.ts.map +0 -1
  450. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.js +0 -161
  451. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.js.map +0 -1
  452. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.d.ts +0 -30
  453. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.d.ts.map +0 -1
  454. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.js +0 -97
  455. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.js.map +0 -1
  456. package/dist/webui/components/sandbox/RuntimeMessageBridge.d.ts +0 -19
  457. package/dist/webui/components/sandbox/RuntimeMessageBridge.d.ts.map +0 -1
  458. package/dist/webui/components/sandbox/RuntimeMessageBridge.js +0 -74
  459. package/dist/webui/components/sandbox/RuntimeMessageBridge.js.map +0 -1
  460. package/dist/webui/components/sandbox/RuntimeMessageRouter.d.ts +0 -65
  461. package/dist/webui/components/sandbox/RuntimeMessageRouter.d.ts.map +0 -1
  462. package/dist/webui/components/sandbox/RuntimeMessageRouter.js +0 -168
  463. package/dist/webui/components/sandbox/RuntimeMessageRouter.js.map +0 -1
  464. package/dist/webui/components/sandbox/SandboxRuntimeProvider.d.ts +0 -48
  465. package/dist/webui/components/sandbox/SandboxRuntimeProvider.d.ts.map +0 -1
  466. package/dist/webui/components/sandbox/SandboxRuntimeProvider.js +0 -2
  467. package/dist/webui/components/sandbox/SandboxRuntimeProvider.js.map +0 -1
  468. package/dist/webui/dialogs/ApiKeyPromptDialog.d.ts +0 -15
  469. package/dist/webui/dialogs/ApiKeyPromptDialog.d.ts.map +0 -1
  470. package/dist/webui/dialogs/ApiKeyPromptDialog.js +0 -79
  471. package/dist/webui/dialogs/ApiKeyPromptDialog.js.map +0 -1
  472. package/dist/webui/dialogs/AttachmentOverlay.d.ts +0 -32
  473. package/dist/webui/dialogs/AttachmentOverlay.d.ts.map +0 -1
  474. package/dist/webui/dialogs/AttachmentOverlay.js +0 -576
  475. package/dist/webui/dialogs/AttachmentOverlay.js.map +0 -1
  476. package/dist/webui/dialogs/CustomProviderDialog.d.ts +0 -25
  477. package/dist/webui/dialogs/CustomProviderDialog.d.ts.map +0 -1
  478. package/dist/webui/dialogs/CustomProviderDialog.js +0 -270
  479. package/dist/webui/dialogs/CustomProviderDialog.js.map +0 -1
  480. package/dist/webui/dialogs/ModelSelector.d.ts +0 -27
  481. package/dist/webui/dialogs/ModelSelector.d.ts.map +0 -1
  482. package/dist/webui/dialogs/ModelSelector.js +0 -320
  483. package/dist/webui/dialogs/ModelSelector.js.map +0 -1
  484. package/dist/webui/dialogs/PersistentStorageDialog.d.ts +0 -17
  485. package/dist/webui/dialogs/PersistentStorageDialog.d.ts.map +0 -1
  486. package/dist/webui/dialogs/PersistentStorageDialog.js +0 -147
  487. package/dist/webui/dialogs/PersistentStorageDialog.js.map +0 -1
  488. package/dist/webui/dialogs/ProvidersModelsTab.d.ts +0 -20
  489. package/dist/webui/dialogs/ProvidersModelsTab.d.ts.map +0 -1
  490. package/dist/webui/dialogs/ProvidersModelsTab.js +0 -191
  491. package/dist/webui/dialogs/ProvidersModelsTab.js.map +0 -1
  492. package/dist/webui/dialogs/SessionListDialog.d.ts +0 -19
  493. package/dist/webui/dialogs/SessionListDialog.d.ts.map +0 -1
  494. package/dist/webui/dialogs/SessionListDialog.js +0 -154
  495. package/dist/webui/dialogs/SessionListDialog.js.map +0 -1
  496. package/dist/webui/dialogs/SettingsDialog.d.ts +0 -30
  497. package/dist/webui/dialogs/SettingsDialog.d.ts.map +0 -1
  498. package/dist/webui/dialogs/SettingsDialog.js +0 -229
  499. package/dist/webui/dialogs/SettingsDialog.js.map +0 -1
  500. package/dist/webui/index.d.ts +0 -65
  501. package/dist/webui/index.d.ts.map +0 -1
  502. package/dist/webui/index.js +0 -68
  503. package/dist/webui/index.js.map +0 -1
  504. package/dist/webui/prompts/prompts.d.ts +0 -11
  505. package/dist/webui/prompts/prompts.d.ts.map +0 -1
  506. package/dist/webui/prompts/prompts.js +0 -272
  507. package/dist/webui/prompts/prompts.js.map +0 -1
  508. package/dist/webui/storage/app-storage.d.ts +0 -33
  509. package/dist/webui/storage/app-storage.d.ts.map +0 -1
  510. package/dist/webui/storage/app-storage.js +0 -38
  511. package/dist/webui/storage/app-storage.js.map +0 -1
  512. package/dist/webui/storage/backends/indexeddb-storage-backend.d.ts +0 -27
  513. package/dist/webui/storage/backends/indexeddb-storage-backend.d.ts.map +0 -1
  514. package/dist/webui/storage/backends/indexeddb-storage-backend.js +0 -166
  515. package/dist/webui/storage/backends/indexeddb-storage-backend.js.map +0 -1
  516. package/dist/webui/storage/store.d.ts +0 -23
  517. package/dist/webui/storage/store.d.ts.map +0 -1
  518. package/dist/webui/storage/store.js +0 -26
  519. package/dist/webui/storage/store.js.map +0 -1
  520. package/dist/webui/storage/stores/custom-providers-store.d.ts +0 -25
  521. package/dist/webui/storage/stores/custom-providers-store.d.ts.map +0 -1
  522. package/dist/webui/storage/stores/custom-providers-store.js +0 -35
  523. package/dist/webui/storage/stores/custom-providers-store.js.map +0 -1
  524. package/dist/webui/storage/stores/provider-keys-store.d.ts +0 -14
  525. package/dist/webui/storage/stores/provider-keys-store.d.ts.map +0 -1
  526. package/dist/webui/storage/stores/provider-keys-store.js +0 -27
  527. package/dist/webui/storage/stores/provider-keys-store.js.map +0 -1
  528. package/dist/webui/storage/stores/sessions-store.d.ts +0 -32
  529. package/dist/webui/storage/stores/sessions-store.d.ts.map +0 -1
  530. package/dist/webui/storage/stores/sessions-store.js +0 -113
  531. package/dist/webui/storage/stores/sessions-store.js.map +0 -1
  532. package/dist/webui/storage/stores/settings-store.d.ts +0 -14
  533. package/dist/webui/storage/stores/settings-store.d.ts.map +0 -1
  534. package/dist/webui/storage/stores/settings-store.js +0 -28
  535. package/dist/webui/storage/stores/settings-store.js.map +0 -1
  536. package/dist/webui/storage/types.d.ts +0 -176
  537. package/dist/webui/storage/types.d.ts.map +0 -1
  538. package/dist/webui/storage/types.js +0 -2
  539. package/dist/webui/storage/types.js.map +0 -1
  540. package/dist/webui/tools/artifacts/ArtifactElement.d.ts +0 -9
  541. package/dist/webui/tools/artifacts/ArtifactElement.d.ts.map +0 -1
  542. package/dist/webui/tools/artifacts/ArtifactElement.js +0 -11
  543. package/dist/webui/tools/artifacts/ArtifactElement.js.map +0 -1
  544. package/dist/webui/tools/artifacts/ArtifactPill.d.ts +0 -4
  545. package/dist/webui/tools/artifacts/ArtifactPill.d.ts.map +0 -1
  546. package/dist/webui/tools/artifacts/ArtifactPill.js +0 -23
  547. package/dist/webui/tools/artifacts/ArtifactPill.js.map +0 -1
  548. package/dist/webui/tools/artifacts/Console.d.ts +0 -18
  549. package/dist/webui/tools/artifacts/Console.d.ts.map +0 -1
  550. package/dist/webui/tools/artifacts/Console.js +0 -95
  551. package/dist/webui/tools/artifacts/Console.js.map +0 -1
  552. package/dist/webui/tools/artifacts/DocxArtifact.d.ts +0 -22
  553. package/dist/webui/tools/artifacts/DocxArtifact.d.ts.map +0 -1
  554. package/dist/webui/tools/artifacts/DocxArtifact.js +0 -208
  555. package/dist/webui/tools/artifacts/DocxArtifact.js.map +0 -1
  556. package/dist/webui/tools/artifacts/ExcelArtifact.d.ts +0 -24
  557. package/dist/webui/tools/artifacts/ExcelArtifact.d.ts.map +0 -1
  558. package/dist/webui/tools/artifacts/ExcelArtifact.js +0 -216
  559. package/dist/webui/tools/artifacts/ExcelArtifact.js.map +0 -1
  560. package/dist/webui/tools/artifacts/GenericArtifact.d.ts +0 -19
  561. package/dist/webui/tools/artifacts/GenericArtifact.d.ts.map +0 -1
  562. package/dist/webui/tools/artifacts/GenericArtifact.js +0 -117
  563. package/dist/webui/tools/artifacts/GenericArtifact.js.map +0 -1
  564. package/dist/webui/tools/artifacts/HtmlArtifact.d.ts +0 -27
  565. package/dist/webui/tools/artifacts/HtmlArtifact.d.ts.map +0 -1
  566. package/dist/webui/tools/artifacts/HtmlArtifact.js +0 -189
  567. package/dist/webui/tools/artifacts/HtmlArtifact.js.map +0 -1
  568. package/dist/webui/tools/artifacts/ImageArtifact.d.ts +0 -20
  569. package/dist/webui/tools/artifacts/ImageArtifact.d.ts.map +0 -1
  570. package/dist/webui/tools/artifacts/ImageArtifact.js +0 -120
  571. package/dist/webui/tools/artifacts/ImageArtifact.js.map +0 -1
  572. package/dist/webui/tools/artifacts/MarkdownArtifact.d.ts +0 -19
  573. package/dist/webui/tools/artifacts/MarkdownArtifact.d.ts.map +0 -1
  574. package/dist/webui/tools/artifacts/MarkdownArtifact.js +0 -82
  575. package/dist/webui/tools/artifacts/MarkdownArtifact.js.map +0 -1
  576. package/dist/webui/tools/artifacts/PdfArtifact.d.ts +0 -25
  577. package/dist/webui/tools/artifacts/PdfArtifact.d.ts.map +0 -1
  578. package/dist/webui/tools/artifacts/PdfArtifact.js +0 -184
  579. package/dist/webui/tools/artifacts/PdfArtifact.js.map +0 -1
  580. package/dist/webui/tools/artifacts/SvgArtifact.d.ts +0 -18
  581. package/dist/webui/tools/artifacts/SvgArtifact.d.ts.map +0 -1
  582. package/dist/webui/tools/artifacts/SvgArtifact.js +0 -78
  583. package/dist/webui/tools/artifacts/SvgArtifact.js.map +0 -1
  584. package/dist/webui/tools/artifacts/TextArtifact.d.ts +0 -19
  585. package/dist/webui/tools/artifacts/TextArtifact.d.ts.map +0 -1
  586. package/dist/webui/tools/artifacts/TextArtifact.js +0 -144
  587. package/dist/webui/tools/artifacts/TextArtifact.js.map +0 -1
  588. package/dist/webui/tools/artifacts/artifacts-tool-renderer.d.ts +0 -11
  589. package/dist/webui/tools/artifacts/artifacts-tool-renderer.d.ts.map +0 -1
  590. package/dist/webui/tools/artifacts/artifacts-tool-renderer.js +0 -272
  591. package/dist/webui/tools/artifacts/artifacts-tool-renderer.js.map +0 -1
  592. package/dist/webui/tools/artifacts/artifacts.d.ts +0 -63
  593. package/dist/webui/tools/artifacts/artifacts.d.ts.map +0 -1
  594. package/dist/webui/tools/artifacts/artifacts.js +0 -659
  595. package/dist/webui/tools/artifacts/artifacts.js.map +0 -1
  596. package/dist/webui/tools/artifacts/index.d.ts +0 -8
  597. package/dist/webui/tools/artifacts/index.d.ts.map +0 -1
  598. package/dist/webui/tools/artifacts/index.js +0 -8
  599. package/dist/webui/tools/artifacts/index.js.map +0 -1
  600. package/dist/webui/tools/extract-document.d.ts +0 -24
  601. package/dist/webui/tools/extract-document.d.ts.map +0 -1
  602. package/dist/webui/tools/extract-document.js +0 -216
  603. package/dist/webui/tools/extract-document.js.map +0 -1
  604. package/dist/webui/tools/index.d.ts +0 -16
  605. package/dist/webui/tools/index.d.ts.map +0 -1
  606. package/dist/webui/tools/index.js +0 -33
  607. package/dist/webui/tools/index.js.map +0 -1
  608. package/dist/webui/tools/javascript-repl.d.ts +0 -44
  609. package/dist/webui/tools/javascript-repl.d.ts.map +0 -1
  610. package/dist/webui/tools/javascript-repl.js +0 -224
  611. package/dist/webui/tools/javascript-repl.js.map +0 -1
  612. package/dist/webui/tools/renderer-registry.d.ts +0 -23
  613. package/dist/webui/tools/renderer-registry.d.ts.map +0 -1
  614. package/dist/webui/tools/renderer-registry.js +0 -107
  615. package/dist/webui/tools/renderer-registry.js.map +0 -1
  616. package/dist/webui/tools/renderers/BashRenderer.d.ts +0 -10
  617. package/dist/webui/tools/renderers/BashRenderer.d.ts.map +0 -1
  618. package/dist/webui/tools/renderers/BashRenderer.js +0 -42
  619. package/dist/webui/tools/renderers/BashRenderer.js.map +0 -1
  620. package/dist/webui/tools/renderers/CalculateRenderer.d.ts +0 -10
  621. package/dist/webui/tools/renderers/CalculateRenderer.d.ts.map +0 -1
  622. package/dist/webui/tools/renderers/CalculateRenderer.js +0 -45
  623. package/dist/webui/tools/renderers/CalculateRenderer.js.map +0 -1
  624. package/dist/webui/tools/renderers/DefaultRenderer.d.ts +0 -6
  625. package/dist/webui/tools/renderers/DefaultRenderer.d.ts.map +0 -1
  626. package/dist/webui/tools/renderers/DefaultRenderer.js +0 -94
  627. package/dist/webui/tools/renderers/DefaultRenderer.js.map +0 -1
  628. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.d.ts +0 -10
  629. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.d.ts.map +0 -1
  630. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.js +0 -72
  631. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.js.map +0 -1
  632. package/dist/webui/tools/types.d.ts +0 -10
  633. package/dist/webui/tools/types.d.ts.map +0 -1
  634. package/dist/webui/tools/types.js +0 -2
  635. package/dist/webui/tools/types.js.map +0 -1
  636. package/dist/webui/utils/attachment-utils.d.ts +0 -19
  637. package/dist/webui/utils/attachment-utils.d.ts.map +0 -1
  638. package/dist/webui/utils/attachment-utils.js +0 -415
  639. package/dist/webui/utils/attachment-utils.js.map +0 -1
  640. package/dist/webui/utils/auth-token.d.ts +0 -3
  641. package/dist/webui/utils/auth-token.d.ts.map +0 -1
  642. package/dist/webui/utils/auth-token.js +0 -19
  643. package/dist/webui/utils/auth-token.js.map +0 -1
  644. package/dist/webui/utils/format.d.ts +0 -6
  645. package/dist/webui/utils/format.d.ts.map +0 -1
  646. package/dist/webui/utils/format.js +0 -47
  647. package/dist/webui/utils/format.js.map +0 -1
  648. package/dist/webui/utils/i18n.d.ts +0 -636
  649. package/dist/webui/utils/i18n.d.ts.map +0 -1
  650. package/dist/webui/utils/i18n.js +0 -418
  651. package/dist/webui/utils/i18n.js.map +0 -1
  652. package/dist/webui/utils/model-discovery.d.ts +0 -38
  653. package/dist/webui/utils/model-discovery.d.ts.map +0 -1
  654. package/dist/webui/utils/model-discovery.js +0 -243
  655. package/dist/webui/utils/model-discovery.js.map +0 -1
  656. package/dist/webui/utils/proxy-utils.d.ts +0 -45
  657. package/dist/webui/utils/proxy-utils.d.ts.map +0 -1
  658. package/dist/webui/utils/proxy-utils.js +0 -116
  659. package/dist/webui/utils/proxy-utils.js.map +0 -1
  660. package/dist/webui/utils/test-sessions.d.ts +0 -359
  661. package/dist/webui/utils/test-sessions.d.ts.map +0 -1
  662. package/dist/webui/utils/test-sessions.js +0 -2325
  663. package/dist/webui/utils/test-sessions.js.map +0 -1
  664. package/dist/webui.d.ts +0 -2
  665. package/dist/webui.d.ts.map +0 -1
  666. package/dist/webui.js +0 -2
  667. package/dist/webui.js.map +0 -1
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Shared error handling utilities for provider streaming.
3
+ */
4
+ import type { StopReason } from "../types.js";
5
+ /**
6
+ * Standardized error codes for provider errors.
7
+ */
8
+ export declare enum ProviderErrorCode {
9
+ /** Authentication failed (invalid API key). */
10
+ AUTHENTICATION_FAILED = "AUTHENTICATION_FAILED",
11
+ /** Rate limit exceeded. */
12
+ RATE_LIMITED = "RATE_LIMITED",
13
+ /** Request timed out. */
14
+ TIMEOUT = "TIMEOUT",
15
+ /** Network connection error. */
16
+ NETWORK_ERROR = "NETWORK_ERROR",
17
+ /** Invalid request parameters. */
18
+ INVALID_REQUEST = "INVALID_REQUEST",
19
+ /** Provider service unavailable. */
20
+ SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE",
21
+ /** Content policy violation. */
22
+ CONTENT_FILTERED = "CONTENT_FILTERED",
23
+ /** Unknown or unexpected error. */
24
+ UNKNOWN = "UNKNOWN"
25
+ }
26
+ /**
27
+ * Standardized provider error.
28
+ */
29
+ export declare class ProviderError extends Error {
30
+ readonly code: ProviderErrorCode;
31
+ readonly originalError?: unknown | undefined;
32
+ constructor(message: string, code: ProviderErrorCode, originalError?: unknown | undefined);
33
+ }
34
+ /**
35
+ * Map provider-specific stop reason to standardized StopReason.
36
+ */
37
+ export declare function mapProviderStopReason(reason: string | null | undefined, provider: string): StopReason;
38
+ /**
39
+ * Create a standardized error response message.
40
+ */
41
+ export declare function formatProviderError(error: unknown, providerName: string): string;
42
+ /**
43
+ * Check if an error is retryable.
44
+ */
45
+ export declare function isRetryableError(error: unknown): boolean;
46
+ //# sourceMappingURL=provider-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-errors.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/provider-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,oBAAY,iBAAiB;IAC5B,+CAA+C;IAC/C,qBAAqB,0BAA0B;IAE/C,2BAA2B;IAC3B,YAAY,iBAAiB;IAE7B,yBAAyB;IACzB,OAAO,YAAY;IAEnB,gCAAgC;IAChC,aAAa,kBAAkB;IAE/B,kCAAkC;IAClC,eAAe,oBAAoB;IAEnC,oCAAoC;IACpC,mBAAmB,wBAAwB;IAE3C,gCAAgC;IAChC,gBAAgB,qBAAqB;IAErC,mCAAmC;IACnC,OAAO,YAAY;CACnB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAGtB,IAAI,EAAE,iBAAiB;aACvB,aAAa,CAAC,EAAE,OAAO;gBAFvC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,iBAAiB,EACvB,aAAa,CAAC,EAAE,OAAO,YAAA;CAKxC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAwBrG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAQhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAuBxD"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Shared error handling utilities for provider streaming.
3
+ */
4
+ /**
5
+ * Standardized error codes for provider errors.
6
+ */
7
+ export var ProviderErrorCode;
8
+ (function (ProviderErrorCode) {
9
+ /** Authentication failed (invalid API key). */
10
+ ProviderErrorCode["AUTHENTICATION_FAILED"] = "AUTHENTICATION_FAILED";
11
+ /** Rate limit exceeded. */
12
+ ProviderErrorCode["RATE_LIMITED"] = "RATE_LIMITED";
13
+ /** Request timed out. */
14
+ ProviderErrorCode["TIMEOUT"] = "TIMEOUT";
15
+ /** Network connection error. */
16
+ ProviderErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
17
+ /** Invalid request parameters. */
18
+ ProviderErrorCode["INVALID_REQUEST"] = "INVALID_REQUEST";
19
+ /** Provider service unavailable. */
20
+ ProviderErrorCode["SERVICE_UNAVAILABLE"] = "SERVICE_UNAVAILABLE";
21
+ /** Content policy violation. */
22
+ ProviderErrorCode["CONTENT_FILTERED"] = "CONTENT_FILTERED";
23
+ /** Unknown or unexpected error. */
24
+ ProviderErrorCode["UNKNOWN"] = "UNKNOWN";
25
+ })(ProviderErrorCode || (ProviderErrorCode = {}));
26
+ /**
27
+ * Standardized provider error.
28
+ */
29
+ export class ProviderError extends Error {
30
+ constructor(message, code, originalError) {
31
+ super(message);
32
+ this.code = code;
33
+ this.originalError = originalError;
34
+ this.name = "ProviderError";
35
+ }
36
+ }
37
+ /**
38
+ * Map provider-specific stop reason to standardized StopReason.
39
+ */
40
+ export function mapProviderStopReason(reason, provider) {
41
+ if (!reason)
42
+ return "stop";
43
+ const lower = reason.toLowerCase();
44
+ switch (lower) {
45
+ case "stop":
46
+ case "end_turn":
47
+ case "stop_sequence":
48
+ return "stop";
49
+ case "max_tokens":
50
+ case "length":
51
+ return "length";
52
+ case "tool_use":
53
+ case "tool_calls":
54
+ case "function_call":
55
+ return "toolUse";
56
+ case "content_filter":
57
+ case "refusal":
58
+ case "safety":
59
+ return "error";
60
+ default:
61
+ return "error";
62
+ }
63
+ }
64
+ /**
65
+ * Create a standardized error response message.
66
+ */
67
+ export function formatProviderError(error, providerName) {
68
+ if (error instanceof ProviderError) {
69
+ return `[${providerName}] ${error.message} (${error.code})`;
70
+ }
71
+ if (error instanceof Error) {
72
+ return `[${providerName}] ${error.message}`;
73
+ }
74
+ return `[${providerName}] Unknown error: ${String(error)}`;
75
+ }
76
+ /**
77
+ * Check if an error is retryable.
78
+ */
79
+ export function isRetryableError(error) {
80
+ if (error instanceof ProviderError) {
81
+ switch (error.code) {
82
+ case ProviderErrorCode.RATE_LIMITED:
83
+ case ProviderErrorCode.TIMEOUT:
84
+ case ProviderErrorCode.NETWORK_ERROR:
85
+ case ProviderErrorCode.SERVICE_UNAVAILABLE:
86
+ return true;
87
+ default:
88
+ return false;
89
+ }
90
+ }
91
+ if (error instanceof Error) {
92
+ const msg = error.message.toLowerCase();
93
+ return (msg.includes("rate limit") ||
94
+ msg.includes("timeout") ||
95
+ msg.includes("network") ||
96
+ msg.includes("econnreset") ||
97
+ msg.includes("etimedout"));
98
+ }
99
+ return false;
100
+ }
101
+ //# sourceMappingURL=provider-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-errors.js","sourceRoot":"","sources":["../../../src/ai/utils/provider-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAN,IAAY,iBAwBX;AAxBD,WAAY,iBAAiB;IAC5B,+CAA+C;IAC/C,oEAA+C,CAAA;IAE/C,2BAA2B;IAC3B,kDAA6B,CAAA;IAE7B,yBAAyB;IACzB,wCAAmB,CAAA;IAEnB,gCAAgC;IAChC,oDAA+B,CAAA;IAE/B,kCAAkC;IAClC,wDAAmC,CAAA;IAEnC,oCAAoC;IACpC,gEAA2C,CAAA;IAE3C,gCAAgC;IAChC,0DAAqC,CAAA;IAErC,mCAAmC;IACnC,wCAAmB,CAAA;AACpB,CAAC,EAxBW,iBAAiB,KAAjB,iBAAiB,QAwB5B;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACvC,YACC,OAAe,EACC,IAAuB,EACvB,aAAuB;QAEvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAmB;QACvB,kBAAa,GAAb,aAAa,CAAU;QAGvC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC7B,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiC,EAAE,QAAgB;IACxF,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEnC,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe;YACnB,OAAO,MAAM,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ;YACZ,OAAO,QAAQ,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,eAAe;YACnB,OAAO,SAAS,CAAC;QAClB,KAAK,gBAAgB,CAAC;QACtB,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACZ,OAAO,OAAO,CAAC;QAChB;YACC,OAAO,OAAO,CAAC;IACjB,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc,EAAE,YAAoB;IACvE,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACpC,OAAO,IAAI,YAAY,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;IAC7D,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC5B,OAAO,IAAI,YAAY,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,YAAY,oBAAoB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC9C,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACpC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,iBAAiB,CAAC,YAAY,CAAC;YACpC,KAAK,iBAAiB,CAAC,OAAO,CAAC;YAC/B,KAAK,iBAAiB,CAAC,aAAa,CAAC;YACrC,KAAK,iBAAiB,CAAC,mBAAmB;gBACzC,OAAO,IAAI,CAAC;YACb;gBACC,OAAO,KAAK,CAAC;QACf,CAAC;IACF,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,CACN,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CACzB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -19,4 +19,5 @@
19
19
  * sanitizeSurrogates(`Text ${unpaired} here`) // => "Text here"
20
20
  */
21
21
  export declare function sanitizeSurrogates(text: string): string;
22
+ export declare function sanitizeUnknownUnicode<T>(value: T): T;
22
23
  //# sourceMappingURL=sanitize-unicode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-unicode.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD"}
1
+ {"version":3,"file":"sanitize-unicode.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAerD"}
@@ -23,4 +23,20 @@ export function sanitizeSurrogates(text) {
23
23
  // Replace unpaired low surrogates (0xDC00-0xDFFF not preceded by high surrogate)
24
24
  return text.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g, "");
25
25
  }
26
+ export function sanitizeUnknownUnicode(value) {
27
+ if (typeof value === "string") {
28
+ return sanitizeSurrogates(value);
29
+ }
30
+ if (Array.isArray(value)) {
31
+ return value.map((item) => sanitizeUnknownUnicode(item));
32
+ }
33
+ if (value && typeof value === "object") {
34
+ const out = {};
35
+ for (const [key, val] of Object.entries(value)) {
36
+ out[key] = sanitizeUnknownUnicode(val);
37
+ }
38
+ return out;
39
+ }
40
+ return value;
41
+ }
26
42
  //# sourceMappingURL=sanitize-unicode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-unicode.js","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,iFAAiF;IACjF,iFAAiF;IACjF,OAAO,IAAI,CAAC,OAAO,CAAC,yEAAyE,EAAE,EAAE,CAAC,CAAC;AACpG,CAAC"}
1
+ {"version":3,"file":"sanitize-unicode.js","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,iFAAiF;IACjF,iFAAiF;IACjF,OAAO,IAAI,CAAC,OAAO,CAAC,yEAAyE,EAAE,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAI,KAAQ;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,kBAAkB,CAAC,KAAK,CAAM,CAAC;IACvC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAM,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,GAAQ,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { AssistantMessage, TextContent, ThinkingContent, ToolCall } from "../types.js";
2
+ import type { AssistantMessageEventStream } from "./event-stream.js";
3
+ export type StreamBlock = TextContent | ThinkingContent | ToolCall;
4
+ /** Utility for locating provider blocks by provider-native `index` values. */
5
+ export declare class BlockTracker<TBlock extends StreamBlock = StreamBlock> {
6
+ private readonly blocks;
7
+ constructor(output: AssistantMessage);
8
+ findByIndex(index: number): (TBlock & {
9
+ index?: number;
10
+ }) | undefined;
11
+ findPositionByIndex(index: number): number;
12
+ }
13
+ export declare class StreamEventHelper {
14
+ private readonly stream;
15
+ private readonly output;
16
+ constructor(stream: AssistantMessageEventStream, output: AssistantMessage);
17
+ start(): void;
18
+ textStart(contentIndex: number): void;
19
+ textDelta(contentIndex: number, delta: string): void;
20
+ textEnd(contentIndex: number, content: string): void;
21
+ thinkingStart(contentIndex: number): void;
22
+ thinkingDelta(contentIndex: number, delta: string): void;
23
+ thinkingEnd(contentIndex: number, content: string): void;
24
+ toolCallStart(contentIndex: number): void;
25
+ toolCallDelta(contentIndex: number, delta: string): void;
26
+ toolCallEnd(contentIndex: number, toolCall: ToolCall): void;
27
+ }
28
+ //# sourceMappingURL=stream-event-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-event-helper.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/stream-event-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,QAAQ,CAAC;AAEnE,8EAA8E;AAC9E,qBAAa,YAAY,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEhD,MAAM,EAAE,gBAAgB;IAIpC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS;IAIrE,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAG1C;AAED,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,MAAM,EAAE,2BAA2B,EACnC,MAAM,EAAE,gBAAgB;IAG1C,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAGrC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGpD,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIpD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAGzC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGxD,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIxD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAGzC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGxD,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAG3D"}
@@ -0,0 +1,49 @@
1
+ /** Utility for locating provider blocks by provider-native `index` values. */
2
+ export class BlockTracker {
3
+ constructor(output) {
4
+ this.blocks = output.content;
5
+ }
6
+ findByIndex(index) {
7
+ return this.blocks.find((b) => b.index === index);
8
+ }
9
+ findPositionByIndex(index) {
10
+ return this.blocks.findIndex((b) => b.index === index);
11
+ }
12
+ }
13
+ export class StreamEventHelper {
14
+ constructor(stream, output) {
15
+ this.stream = stream;
16
+ this.output = output;
17
+ }
18
+ start() {
19
+ this.stream.pushStart(this.output);
20
+ }
21
+ textStart(contentIndex) {
22
+ this.stream.pushTextStart(contentIndex, this.output);
23
+ }
24
+ textDelta(contentIndex, delta) {
25
+ this.stream.pushTextDelta(contentIndex, delta, this.output);
26
+ }
27
+ textEnd(contentIndex, content) {
28
+ this.stream.pushTextEnd(contentIndex, content, this.output);
29
+ }
30
+ thinkingStart(contentIndex) {
31
+ this.stream.pushThinkingStart(contentIndex, this.output);
32
+ }
33
+ thinkingDelta(contentIndex, delta) {
34
+ this.stream.pushThinkingDelta(contentIndex, delta, this.output);
35
+ }
36
+ thinkingEnd(contentIndex, content) {
37
+ this.stream.pushThinkingEnd(contentIndex, content, this.output);
38
+ }
39
+ toolCallStart(contentIndex) {
40
+ this.stream.pushToolCallStart(contentIndex, this.output);
41
+ }
42
+ toolCallDelta(contentIndex, delta) {
43
+ this.stream.pushToolCallDelta(contentIndex, delta, this.output);
44
+ }
45
+ toolCallEnd(contentIndex, toolCall) {
46
+ this.stream.pushToolCallEnd(contentIndex, toolCall, this.output);
47
+ }
48
+ }
49
+ //# sourceMappingURL=stream-event-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-event-helper.js","sourceRoot":"","sources":["../../../src/ai/utils/stream-event-helper.ts"],"names":[],"mappings":"AAKA,8EAA8E;AAC9E,MAAM,OAAO,YAAY;IAGxB,YAAY,MAAwB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAA6C,CAAC;IACpE,CAAC;IAED,WAAW,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,mBAAmB,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACxD,CAAC;CACD;AAED,MAAM,OAAO,iBAAiB;IAC7B,YACkB,MAAmC,EACnC,MAAwB;QADxB,WAAM,GAAN,MAAM,CAA6B;QACnC,WAAM,GAAN,MAAM,CAAkB;IACvC,CAAC;IAEJ,KAAK;QACJ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,YAAoB;QAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IACD,SAAS,CAAC,YAAoB,EAAE,KAAa;QAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,YAAoB,EAAE,OAAe;QAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,YAAoB;QACjC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,aAAa,CAAC,YAAoB,EAAE,KAAa;QAChD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,WAAW,CAAC,YAAoB,EAAE,OAAe;QAChD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,aAAa,CAAC,YAAoB;QACjC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,aAAa,CAAC,YAAoB,EAAE,KAAa;QAChD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,WAAW,CAAC,YAAoB,EAAE,QAAkB;QACnD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;CACD"}
@@ -0,0 +1,43 @@
1
+ import type { Api, AssistantMessage, Context, Model, StreamOptions } from "../types.js";
2
+ import type { AssistantMessageEventStream } from "./event-stream.js";
3
+ import type { StreamingStateManager } from "./streaming-state-manager.js";
4
+ /**
5
+ * Shared type definitions for stream handler implementations.
6
+ */
7
+ /**
8
+ * Context provided to stream handlers during execution.
9
+ */
10
+ export interface StreamHandlerExecutionContext {
11
+ model: Model<Api>;
12
+ context: Context;
13
+ stream: AssistantMessageEventStream;
14
+ options?: StreamOptions;
15
+ signal?: AbortSignal;
16
+ state: StreamingStateManager;
17
+ }
18
+ /**
19
+ * Generic provider request shape (to be extended by each provider).
20
+ */
21
+ export interface ProviderRequest {
22
+ [key: string]: unknown;
23
+ }
24
+ /**
25
+ * Generic provider response shape.
26
+ */
27
+ export interface ProviderResponse {
28
+ [key: string]: unknown;
29
+ }
30
+ /**
31
+ * Abstract handler base with shared context typing.
32
+ */
33
+ export declare abstract class TypedStreamHandler<TOptions extends StreamOptions = StreamOptions> {
34
+ protected readonly model: Model<Api>;
35
+ protected readonly context: Context;
36
+ protected readonly stream: AssistantMessageEventStream;
37
+ protected readonly options?: TOptions | undefined;
38
+ protected readonly signal?: AbortSignal | undefined;
39
+ constructor(model: Model<Api>, context: Context, stream: AssistantMessageEventStream, options?: TOptions | undefined, signal?: AbortSignal | undefined);
40
+ protected createStateManager(initialOutput: AssistantMessage): StreamingStateManager;
41
+ abstract execute(): AssistantMessageEventStream;
42
+ }
43
+ //# sourceMappingURL=stream-handler-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-handler-types.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/stream-handler-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC7C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,2BAA2B,CAAC;IACpC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,qBAAqB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,CAAE,GAAG,EAAE,MAAM,GAAI,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,CAAE,GAAG,EAAE,MAAM,GAAI,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,8BAAsB,kBAAkB,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;IAErF,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,2BAA2B;IACtD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ;IACrC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW;gBAJpB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,2BAA2B,EACnC,OAAO,CAAC,EAAE,QAAQ,YAAA,EAClB,MAAM,CAAC,EAAE,WAAW,YAAA;IAGxC,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,GAAG,qBAAqB;IAMpF,QAAQ,CAAC,OAAO,IAAI,2BAA2B;CAC/C"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Abstract handler base with shared context typing.
3
+ */
4
+ export class TypedStreamHandler {
5
+ constructor(model, context, stream, options, signal) {
6
+ this.model = model;
7
+ this.context = context;
8
+ this.stream = stream;
9
+ this.options = options;
10
+ this.signal = signal;
11
+ }
12
+ createStateManager(initialOutput) {
13
+ // Lazy import to avoid circular reference
14
+ const { StreamingStateManager } = require("./streaming-state-manager.js");
15
+ return new StreamingStateManager(initialOutput);
16
+ }
17
+ }
18
+ //# sourceMappingURL=stream-handler-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-handler-types.js","sourceRoot":"","sources":["../../../src/ai/utils/stream-handler-types.ts"],"names":[],"mappings":"AAkCA;;GAEG;AACH,MAAM,OAAgB,kBAAkB;IACvC,YACoB,KAAiB,EACjB,OAAgB,EAChB,MAAmC,EACnC,OAAkB,EAClB,MAAoB;QAJpB,UAAK,GAAL,KAAK,CAAY;QACjB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAA6B;QACnC,YAAO,GAAP,OAAO,CAAW;QAClB,WAAM,GAAN,MAAM,CAAc;IACrC,CAAC;IAEM,kBAAkB,CAAC,aAA+B;QAC3D,0CAA0C;QAC1C,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC1E,OAAO,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;CAGD"}
@@ -0,0 +1,50 @@
1
+ import type { AssistantMessage, StopReason, Usage } from "../types.js";
2
+ /**
3
+ * Centralized streaming state manager for provider handlers.
4
+ *
5
+ * Tracks output, usage, stop reason, and stream lifecycle in a single
6
+ * place to avoid duplicated state management across provider implementations.
7
+ */
8
+ export declare class StreamingStateManager {
9
+ /** The mutable assistant output message being built. */
10
+ readonly output: AssistantMessage;
11
+ private _stopReason;
12
+ private _isComplete;
13
+ /**
14
+ * Create a new streaming state manager.
15
+ *
16
+ * @param initialOutput - The initial assistant output message.
17
+ */
18
+ constructor(initialOutput: AssistantMessage);
19
+ /**
20
+ * Update usage fields from a partial usage update.
21
+ *
22
+ * @param update - Partial usage object with fields to update.
23
+ */
24
+ setUsage(update: Partial<Usage>): void;
25
+ /**
26
+ * Update the stop reason.
27
+ *
28
+ * @param reason - New stop reason.
29
+ */
30
+ setStopReason(reason: StopReason): void;
31
+ /**
32
+ * Get the current stop reason.
33
+ */
34
+ get stopReason(): StopReason;
35
+ /**
36
+ * Mark streaming as complete.
37
+ */
38
+ complete(): void;
39
+ /**
40
+ * Check if streaming is marked complete.
41
+ */
42
+ get isComplete(): boolean;
43
+ /**
44
+ * Mark streaming as errored.
45
+ *
46
+ * @param errorMessage - Human-readable error message.
47
+ */
48
+ error(errorMessage: string): void;
49
+ }
50
+ //# sourceMappingURL=streaming-state-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-state-manager.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/streaming-state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,qBAAqB;IACjC,wDAAwD;IACxD,SAAgB,MAAM,EAAE,gBAAgB,CAAC;IAEzC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;OAIG;gBAEF,aAAa,EAAE,gBAAgB;IAKhC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI;IAItC;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKvC;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAMjC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Centralized streaming state manager for provider handlers.
3
+ *
4
+ * Tracks output, usage, stop reason, and stream lifecycle in a single
5
+ * place to avoid duplicated state management across provider implementations.
6
+ */
7
+ export class StreamingStateManager {
8
+ /**
9
+ * Create a new streaming state manager.
10
+ *
11
+ * @param initialOutput - The initial assistant output message.
12
+ */
13
+ constructor(initialOutput) {
14
+ this._stopReason = "stop";
15
+ this._isComplete = false;
16
+ this.output = initialOutput;
17
+ }
18
+ /**
19
+ * Update usage fields from a partial usage update.
20
+ *
21
+ * @param update - Partial usage object with fields to update.
22
+ */
23
+ setUsage(update) {
24
+ Object.assign(this.output.usage, update);
25
+ }
26
+ /**
27
+ * Update the stop reason.
28
+ *
29
+ * @param reason - New stop reason.
30
+ */
31
+ setStopReason(reason) {
32
+ this._stopReason = reason;
33
+ this.output.stopReason = reason;
34
+ }
35
+ /**
36
+ * Get the current stop reason.
37
+ */
38
+ get stopReason() {
39
+ return this._stopReason;
40
+ }
41
+ /**
42
+ * Mark streaming as complete.
43
+ */
44
+ complete() {
45
+ this._isComplete = true;
46
+ }
47
+ /**
48
+ * Check if streaming is marked complete.
49
+ */
50
+ get isComplete() {
51
+ return this._isComplete;
52
+ }
53
+ /**
54
+ * Mark streaming as errored.
55
+ *
56
+ * @param errorMessage - Human-readable error message.
57
+ */
58
+ error(errorMessage) {
59
+ this._isComplete = true;
60
+ this._stopReason = "error";
61
+ this.output.stopReason = "error";
62
+ this.output.errorMessage = errorMessage;
63
+ }
64
+ }
65
+ //# sourceMappingURL=streaming-state-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-state-manager.js","sourceRoot":"","sources":["../../../src/ai/utils/streaming-state-manager.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IAOjC;;;;OAIG;IACH,YACC,aAA+B;QATxB,gBAAW,GAAe,MAAM,CAAC;QACjC,gBAAW,GAAG,KAAK,CAAC;QAU3B,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,MAAsB;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,MAAkB;QAC/B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,QAAQ;QACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAoB;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;IACzC,CAAC;CACD"}
@@ -0,0 +1,50 @@
1
+ import type { Tool } from "../types.js";
2
+ /**
3
+ * Shared conversion helpers for tool schemas across providers.
4
+ *
5
+ * This module provides utilities for converting between generic tool definitions
6
+ * and provider-specific tool schemas.
7
+ */
8
+ /**
9
+ * Normalize tool name to provider-specific format.
10
+ *
11
+ * @param name - Original tool name.
12
+ * @param maxLength - Maximum length for the normalized name (default: 64).
13
+ * @returns Normalized tool name.
14
+ *
15
+ * Default implementation removes special characters and truncates to maxLength.
16
+ */
17
+ export declare function normalizeToolName(name: string, maxLength?: number): string;
18
+ /**
19
+ * Provider-agnostic tool schema shape.
20
+ */
21
+ export interface ProviderToolSchema {
22
+ /** Tool name. */
23
+ name: string;
24
+ /** Tool description. */
25
+ description: string;
26
+ /** Tool parameters (JSON Schema). */
27
+ parameters: unknown;
28
+ }
29
+ /**
30
+ * Convert a generic tool to provider tool schema.
31
+ *
32
+ * @param tool - Generic tool definition.
33
+ * @returns Provider-specific tool schema.
34
+ */
35
+ export declare function toProviderTool(tool: Tool): ProviderToolSchema;
36
+ /**
37
+ * Convert a provider tool schema back to generic tool.
38
+ *
39
+ * @param schema - Provider-specific tool schema.
40
+ * @returns Generic tool definition.
41
+ */
42
+ export declare function fromProviderTool(schema: ProviderToolSchema): Tool;
43
+ /**
44
+ * Convert an array of generic tools to provider format.
45
+ *
46
+ * @param tools - Array of generic tool definitions.
47
+ * @returns Array of provider-specific tool schemas.
48
+ */
49
+ export declare function convertTools(tools: Tool[]): ProviderToolSchema[];
50
+ //# sourceMappingURL=tool-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-converter.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/tool-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAW,GACpB,MAAM,CAER;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,UAAU,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,kBAAkB,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAMjE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAEhE"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Shared conversion helpers for tool schemas across providers.
3
+ *
4
+ * This module provides utilities for converting between generic tool definitions
5
+ * and provider-specific tool schemas.
6
+ */
7
+ /**
8
+ * Normalize tool name to provider-specific format.
9
+ *
10
+ * @param name - Original tool name.
11
+ * @param maxLength - Maximum length for the normalized name (default: 64).
12
+ * @returns Normalized tool name.
13
+ *
14
+ * Default implementation removes special characters and truncates to maxLength.
15
+ */
16
+ export function normalizeToolName(name, maxLength = 64) {
17
+ return name.replace(/[^a-zA-Z0-9_-]/g, "_").slice(0, maxLength);
18
+ }
19
+ /**
20
+ * Convert a generic tool to provider tool schema.
21
+ *
22
+ * @param tool - Generic tool definition.
23
+ * @returns Provider-specific tool schema.
24
+ */
25
+ export function toProviderTool(tool) {
26
+ return {
27
+ name: tool.name,
28
+ description: tool.description,
29
+ parameters: tool.parameters,
30
+ };
31
+ }
32
+ /**
33
+ * Convert a provider tool schema back to generic tool.
34
+ *
35
+ * @param schema - Provider-specific tool schema.
36
+ * @returns Generic tool definition.
37
+ */
38
+ export function fromProviderTool(schema) {
39
+ return {
40
+ name: schema.name,
41
+ description: schema.description,
42
+ parameters: schema.parameters,
43
+ };
44
+ }
45
+ /**
46
+ * Convert an array of generic tools to provider format.
47
+ *
48
+ * @param tools - Array of generic tool definitions.
49
+ * @returns Array of provider-specific tool schemas.
50
+ */
51
+ export function convertTools(tools) {
52
+ return tools.map(toProviderTool);
53
+ }
54
+ //# sourceMappingURL=tool-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-converter.js","sourceRoot":"","sources":["../../../src/ai/utils/tool-converter.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAChC,IAAY,EACZ,YAAoB,EAAE;IAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC;AAcD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU;IACxC,OAAO;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA0B;IAC1D,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAiB;KACpC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type TUnsafe } from "@sinclair/typebox";
1
+ import { type TSchema, type TUnsafe } from "@sinclair/typebox";
2
2
  /**
3
3
  * Creates a string enum schema compatible with Google's API and other providers
4
4
  * that don't support anyOf/const patterns.
@@ -14,4 +14,9 @@ export declare function StringEnum<T extends readonly string[]>(values: T, optio
14
14
  description?: string;
15
15
  default?: T[number];
16
16
  }): TUnsafe<T[number]>;
17
+ /**
18
+ * Produces a schema object safe for validator compilation.
19
+ * Useful when providers/tools pass non-plain schema values.
20
+ */
21
+ export declare function normalizeSchemaForValidation(schema: TSchema): TSchema;
17
22
  //# sourceMappingURL=typebox-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typebox-helpers.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/typebox-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EACrD,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;CAAE,GACrD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAOpB"}
1
+ {"version":3,"file":"typebox-helpers.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/typebox-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAErE;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EACrD,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;CAAE,GACrD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAOpB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAErE"}
@@ -18,4 +18,11 @@ export function StringEnum(values, options) {
18
18
  ...(options?.default && { default: options.default }),
19
19
  });
20
20
  }
21
+ /**
22
+ * Produces a schema object safe for validator compilation.
23
+ * Useful when providers/tools pass non-plain schema values.
24
+ */
25
+ export function normalizeSchemaForValidation(schema) {
26
+ return structuredClone(schema);
27
+ }
21
28
  //# sourceMappingURL=typebox-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typebox-helpers.js","sourceRoot":"","sources":["../../../src/ai/utils/typebox-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACzB,MAAS,EACT,OAAuD;IAEvD,OAAO,IAAI,CAAC,MAAM,CAAY;QAC7B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAa;QACnB,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;QACjE,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACrD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"typebox-helpers.js","sourceRoot":"","sources":["../../../src/ai/utils/typebox-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAErE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACzB,MAAS,EACT,OAAuD;IAEvD,OAAO,IAAI,CAAC,MAAM,CAAY;QAC7B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAa;QACnB,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;QACjE,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACrD,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAe;IAC3D,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}