indusagi 0.12.6 → 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 (684) 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/index.d.ts +1 -0
  17. package/dist/agent/index.d.ts.map +1 -1
  18. package/dist/agent/index.js +2 -0
  19. package/dist/agent/index.js.map +1 -1
  20. package/dist/agent/proxy.d.ts +13 -19
  21. package/dist/agent/proxy.d.ts.map +1 -1
  22. package/dist/agent/proxy.js +45 -4
  23. package/dist/agent/proxy.js.map +1 -1
  24. package/dist/agent/state-manager.d.ts +22 -0
  25. package/dist/agent/state-manager.d.ts.map +1 -0
  26. package/dist/agent/state-manager.js +59 -0
  27. package/dist/agent/state-manager.js.map +1 -0
  28. package/dist/agent/telemetry.d.ts +7 -0
  29. package/dist/agent/telemetry.d.ts.map +1 -0
  30. package/dist/agent/telemetry.js +20 -0
  31. package/dist/agent/telemetry.js.map +1 -0
  32. package/dist/agent/tools/bash.d.ts +56 -0
  33. package/dist/agent/tools/bash.d.ts.map +1 -0
  34. package/dist/agent/tools/bash.js +250 -0
  35. package/dist/agent/tools/bash.js.map +1 -0
  36. package/dist/agent/tools/edit-diff.d.ts +63 -0
  37. package/dist/agent/tools/edit-diff.d.ts.map +1 -0
  38. package/dist/agent/tools/edit-diff.js +241 -0
  39. package/dist/agent/tools/edit-diff.js.map +1 -0
  40. package/dist/agent/tools/edit.d.ts +42 -0
  41. package/dist/agent/tools/edit.d.ts.map +1 -0
  42. package/dist/agent/tools/edit.js +160 -0
  43. package/dist/agent/tools/edit.js.map +1 -0
  44. package/dist/agent/tools/find.d.ts +26 -0
  45. package/dist/agent/tools/find.d.ts.map +1 -0
  46. package/dist/agent/tools/find.js +135 -0
  47. package/dist/agent/tools/find.js.map +1 -0
  48. package/dist/agent/tools/grep.d.ts +43 -0
  49. package/dist/agent/tools/grep.d.ts.map +1 -0
  50. package/dist/agent/tools/grep.js +189 -0
  51. package/dist/agent/tools/grep.js.map +1 -0
  52. package/dist/agent/tools/index.d.ts +174 -0
  53. package/dist/agent/tools/index.d.ts.map +1 -0
  54. package/dist/agent/tools/index.js +142 -0
  55. package/dist/agent/tools/index.js.map +1 -0
  56. package/dist/agent/tools/ls.d.ts +40 -0
  57. package/dist/agent/tools/ls.d.ts.map +1 -0
  58. package/dist/agent/tools/ls.js +123 -0
  59. package/dist/agent/tools/ls.js.map +1 -0
  60. package/dist/agent/tools/path-utils.d.ts +8 -0
  61. package/dist/agent/tools/path-utils.d.ts.map +1 -0
  62. package/dist/agent/tools/path-utils.js +56 -0
  63. package/dist/agent/tools/path-utils.js.map +1 -0
  64. package/dist/agent/tools/read.d.ts +37 -0
  65. package/dist/agent/tools/read.d.ts.map +1 -0
  66. package/dist/agent/tools/read.js +168 -0
  67. package/dist/agent/tools/read.js.map +1 -0
  68. package/dist/agent/tools/registry.d.ts +21 -0
  69. package/dist/agent/tools/registry.d.ts.map +1 -0
  70. package/dist/agent/tools/registry.js +25 -0
  71. package/dist/agent/tools/registry.js.map +1 -0
  72. package/dist/agent/tools/task.d.ts +26 -0
  73. package/dist/agent/tools/task.d.ts.map +1 -0
  74. package/dist/agent/tools/task.js +36 -0
  75. package/dist/agent/tools/task.js.map +1 -0
  76. package/dist/agent/tools/todo-store.d.ts +24 -0
  77. package/dist/agent/tools/todo-store.d.ts.map +1 -0
  78. package/dist/agent/tools/todo-store.js +36 -0
  79. package/dist/agent/tools/todo-store.js.map +1 -0
  80. package/dist/agent/tools/todo.d.ts +30 -0
  81. package/dist/agent/tools/todo.d.ts.map +1 -0
  82. package/dist/agent/tools/todo.js +62 -0
  83. package/dist/agent/tools/todo.js.map +1 -0
  84. package/dist/agent/tools/truncate.d.ts +73 -0
  85. package/dist/agent/tools/truncate.d.ts.map +1 -0
  86. package/dist/agent/tools/truncate.js +205 -0
  87. package/dist/agent/tools/truncate.js.map +1 -0
  88. package/dist/agent/tools/utils/hook-runner.d.ts +14 -0
  89. package/dist/agent/tools/utils/hook-runner.d.ts.map +1 -0
  90. package/dist/agent/tools/utils/hook-runner.js +31 -0
  91. package/dist/agent/tools/utils/hook-runner.js.map +1 -0
  92. package/dist/agent/tools/utils/image-resize.d.ts +33 -0
  93. package/dist/agent/tools/utils/image-resize.d.ts.map +1 -0
  94. package/dist/agent/tools/utils/image-resize.js +47 -0
  95. package/dist/agent/tools/utils/image-resize.js.map +1 -0
  96. package/dist/agent/tools/utils/mime.d.ts +10 -0
  97. package/dist/agent/tools/utils/mime.d.ts.map +1 -0
  98. package/dist/agent/tools/utils/mime.js +54 -0
  99. package/dist/agent/tools/utils/mime.js.map +1 -0
  100. package/dist/agent/tools/utils/shell.d.ts +35 -0
  101. package/dist/agent/tools/utils/shell.d.ts.map +1 -0
  102. package/dist/agent/tools/utils/shell.js +146 -0
  103. package/dist/agent/tools/utils/shell.js.map +1 -0
  104. package/dist/agent/tools/webfetch.d.ts +36 -0
  105. package/dist/agent/tools/webfetch.d.ts.map +1 -0
  106. package/dist/agent/tools/webfetch.js +247 -0
  107. package/dist/agent/tools/webfetch.js.map +1 -0
  108. package/dist/agent/tools/websearch.d.ts +35 -0
  109. package/dist/agent/tools/websearch.d.ts.map +1 -0
  110. package/dist/agent/tools/websearch.js +89 -0
  111. package/dist/agent/tools/websearch.js.map +1 -0
  112. package/dist/agent/tools/write.d.ts +31 -0
  113. package/dist/agent/tools/write.d.ts.map +1 -0
  114. package/dist/agent/tools/write.js +96 -0
  115. package/dist/agent/tools/write.js.map +1 -0
  116. package/dist/agent/types.d.ts +22 -1
  117. package/dist/agent/types.d.ts.map +1 -1
  118. package/dist/agent/types.js +44 -1
  119. package/dist/agent/types.js.map +1 -1
  120. package/dist/ai/api-registry.d.ts +34 -4
  121. package/dist/ai/api-registry.d.ts.map +1 -1
  122. package/dist/ai/api-registry.js +97 -19
  123. package/dist/ai/api-registry.js.map +1 -1
  124. package/dist/ai/cli.js +24 -3
  125. package/dist/ai/cli.js.map +1 -1
  126. package/dist/ai/env-api-keys.d.ts +9 -0
  127. package/dist/ai/env-api-keys.d.ts.map +1 -1
  128. package/dist/ai/env-api-keys.js +23 -0
  129. package/dist/ai/env-api-keys.js.map +1 -1
  130. package/dist/ai/index.d.ts +4 -2
  131. package/dist/ai/index.d.ts.map +1 -1
  132. package/dist/ai/index.js +4 -2
  133. package/dist/ai/index.js.map +1 -1
  134. package/dist/ai/models.d.ts +30 -0
  135. package/dist/ai/models.d.ts.map +1 -1
  136. package/dist/ai/models.generated.d.ts +1 -0
  137. package/dist/ai/models.generated.d.ts.map +1 -1
  138. package/dist/ai/models.js +90 -18
  139. package/dist/ai/models.js.map +1 -1
  140. package/dist/ai/providers/amazon-bedrock.d.ts +19 -1
  141. package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
  142. package/dist/ai/providers/amazon-bedrock.js +68 -40
  143. package/dist/ai/providers/amazon-bedrock.js.map +1 -1
  144. package/dist/ai/providers/anthropic.d.ts +50 -1
  145. package/dist/ai/providers/anthropic.d.ts.map +1 -1
  146. package/dist/ai/providers/anthropic.js +204 -161
  147. package/dist/ai/providers/anthropic.js.map +1 -1
  148. package/dist/ai/providers/azure-openai-responses.d.ts.map +1 -1
  149. package/dist/ai/providers/azure-openai-responses.js +36 -28
  150. package/dist/ai/providers/azure-openai-responses.js.map +1 -1
  151. package/dist/ai/providers/google-shared.d.ts +9 -0
  152. package/dist/ai/providers/google-shared.d.ts.map +1 -1
  153. package/dist/ai/providers/google-shared.js +16 -0
  154. package/dist/ai/providers/google-shared.js.map +1 -1
  155. package/dist/ai/providers/google-vertex.d.ts.map +1 -1
  156. package/dist/ai/providers/google-vertex.js +33 -26
  157. package/dist/ai/providers/google-vertex.js.map +1 -1
  158. package/dist/ai/providers/google.d.ts.map +1 -1
  159. package/dist/ai/providers/google.js +33 -26
  160. package/dist/ai/providers/google.js.map +1 -1
  161. package/dist/ai/providers/kimi.d.ts.map +1 -1
  162. package/dist/ai/providers/kimi.js +34 -24
  163. package/dist/ai/providers/kimi.js.map +1 -1
  164. package/dist/ai/providers/openai-codex-responses.d.ts.map +1 -1
  165. package/dist/ai/providers/openai-codex-responses.js +33 -25
  166. package/dist/ai/providers/openai-codex-responses.js.map +1 -1
  167. package/dist/ai/providers/openai-completions.d.ts +10 -0
  168. package/dist/ai/providers/openai-completions.d.ts.map +1 -1
  169. package/dist/ai/providers/openai-completions.js +51 -26
  170. package/dist/ai/providers/openai-completions.js.map +1 -1
  171. package/dist/ai/providers/openai-responses-shared.d.ts +9 -0
  172. package/dist/ai/providers/openai-responses-shared.d.ts.map +1 -1
  173. package/dist/ai/providers/openai-responses-shared.js +18 -2
  174. package/dist/ai/providers/openai-responses-shared.js.map +1 -1
  175. package/dist/ai/providers/openai-responses.d.ts.map +1 -1
  176. package/dist/ai/providers/openai-responses.js +35 -32
  177. package/dist/ai/providers/openai-responses.js.map +1 -1
  178. package/dist/ai/providers/register-builtins.d.ts.map +1 -1
  179. package/dist/ai/providers/register-builtins.js +17 -8
  180. package/dist/ai/providers/register-builtins.js.map +1 -1
  181. package/dist/ai/providers/simple-options.d.ts +19 -0
  182. package/dist/ai/providers/simple-options.d.ts.map +1 -1
  183. package/dist/ai/providers/simple-options.js +62 -0
  184. package/dist/ai/providers/simple-options.js.map +1 -1
  185. package/dist/ai/providers/transform-messages.d.ts +14 -0
  186. package/dist/ai/providers/transform-messages.d.ts.map +1 -1
  187. package/dist/ai/providers/transform-messages.js +99 -96
  188. package/dist/ai/providers/transform-messages.js.map +1 -1
  189. package/dist/ai/stream.d.ts +17 -3
  190. package/dist/ai/stream.d.ts.map +1 -1
  191. package/dist/ai/stream.js +61 -6
  192. package/dist/ai/stream.js.map +1 -1
  193. package/dist/ai/types.d.ts +17 -0
  194. package/dist/ai/types.d.ts.map +1 -1
  195. package/dist/ai/types.js +87 -1
  196. package/dist/ai/types.js.map +1 -1
  197. package/dist/ai/types.test.d.ts +8 -0
  198. package/dist/ai/types.test.d.ts.map +1 -0
  199. package/dist/ai/types.test.js +389 -0
  200. package/dist/ai/types.test.js.map +1 -0
  201. package/dist/ai/utils/base-stream-handler.d.ts +16 -0
  202. package/dist/ai/utils/base-stream-handler.d.ts.map +1 -0
  203. package/dist/ai/utils/base-stream-handler.js +24 -0
  204. package/dist/ai/utils/base-stream-handler.js.map +1 -0
  205. package/dist/ai/utils/event-stream.d.ts +26 -4
  206. package/dist/ai/utils/event-stream.d.ts.map +1 -1
  207. package/dist/ai/utils/event-stream.js +89 -5
  208. package/dist/ai/utils/event-stream.js.map +1 -1
  209. package/dist/ai/utils/index.d.ts +15 -0
  210. package/dist/ai/utils/index.d.ts.map +1 -0
  211. package/dist/ai/utils/index.js +15 -0
  212. package/dist/ai/utils/index.js.map +1 -0
  213. package/dist/ai/utils/json-parse.d.ts +13 -4
  214. package/dist/ai/utils/json-parse.d.ts.map +1 -1
  215. package/dist/ai/utils/json-parse.js +31 -19
  216. package/dist/ai/utils/json-parse.js.map +1 -1
  217. package/dist/ai/utils/message-transform.d.ts +29 -0
  218. package/dist/ai/utils/message-transform.d.ts.map +1 -0
  219. package/dist/ai/utils/message-transform.js +55 -0
  220. package/dist/ai/utils/message-transform.js.map +1 -0
  221. package/dist/ai/utils/oauth/anthropic.d.ts +1 -0
  222. package/dist/ai/utils/oauth/anthropic.d.ts.map +1 -1
  223. package/dist/ai/utils/oauth/anthropic.js +3 -0
  224. package/dist/ai/utils/oauth/anthropic.js.map +1 -1
  225. package/dist/ai/utils/oauth/github-copilot.d.ts +1 -0
  226. package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
  227. package/dist/ai/utils/oauth/github-copilot.js +3 -0
  228. package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
  229. package/dist/ai/utils/oauth/index.d.ts +2 -1
  230. package/dist/ai/utils/oauth/index.d.ts.map +1 -1
  231. package/dist/ai/utils/oauth/index.js +10 -0
  232. package/dist/ai/utils/oauth/index.js.map +1 -1
  233. package/dist/ai/utils/oauth/kimi.d.ts +1 -0
  234. package/dist/ai/utils/oauth/kimi.d.ts.map +1 -1
  235. package/dist/ai/utils/oauth/kimi.js +3 -0
  236. package/dist/ai/utils/oauth/kimi.js.map +1 -1
  237. package/dist/ai/utils/oauth/openai-codex.d.ts +1 -0
  238. package/dist/ai/utils/oauth/openai-codex.d.ts.map +1 -1
  239. package/dist/ai/utils/oauth/openai-codex.js +3 -0
  240. package/dist/ai/utils/oauth/openai-codex.js.map +1 -1
  241. package/dist/ai/utils/oauth/pkce.d.ts +1 -0
  242. package/dist/ai/utils/oauth/pkce.d.ts.map +1 -1
  243. package/dist/ai/utils/oauth/pkce.js +5 -0
  244. package/dist/ai/utils/oauth/pkce.js.map +1 -1
  245. package/dist/ai/utils/oauth/types.d.ts +6 -0
  246. package/dist/ai/utils/oauth/types.d.ts.map +1 -1
  247. package/dist/ai/utils/output-factory.d.ts +3 -0
  248. package/dist/ai/utils/output-factory.d.ts.map +1 -0
  249. package/dist/ai/utils/output-factory.js +23 -0
  250. package/dist/ai/utils/output-factory.js.map +1 -0
  251. package/dist/ai/utils/overflow.d.ts +6 -47
  252. package/dist/ai/utils/overflow.d.ts.map +1 -1
  253. package/dist/ai/utils/overflow.js +28 -92
  254. package/dist/ai/utils/overflow.js.map +1 -1
  255. package/dist/ai/utils/provider-adapter.d.ts +57 -0
  256. package/dist/ai/utils/provider-adapter.d.ts.map +1 -0
  257. package/dist/ai/utils/provider-adapter.js +28 -0
  258. package/dist/ai/utils/provider-adapter.js.map +1 -0
  259. package/dist/ai/utils/provider-client-builder.d.ts +37 -0
  260. package/dist/ai/utils/provider-client-builder.d.ts.map +1 -0
  261. package/dist/ai/utils/provider-client-builder.js +50 -0
  262. package/dist/ai/utils/provider-client-builder.js.map +1 -0
  263. package/dist/ai/utils/provider-consolidation.d.ts +4 -0
  264. package/dist/ai/utils/provider-consolidation.d.ts.map +1 -0
  265. package/dist/ai/utils/provider-consolidation.js +33 -0
  266. package/dist/ai/utils/provider-consolidation.js.map +1 -0
  267. package/dist/ai/utils/provider-constants.d.ts +35 -0
  268. package/dist/ai/utils/provider-constants.d.ts.map +1 -0
  269. package/dist/ai/utils/provider-constants.js +35 -0
  270. package/dist/ai/utils/provider-constants.js.map +1 -0
  271. package/dist/ai/utils/provider-errors.d.ts +46 -0
  272. package/dist/ai/utils/provider-errors.d.ts.map +1 -0
  273. package/dist/ai/utils/provider-errors.js +101 -0
  274. package/dist/ai/utils/provider-errors.js.map +1 -0
  275. package/dist/ai/utils/sanitize-unicode.d.ts +1 -0
  276. package/dist/ai/utils/sanitize-unicode.d.ts.map +1 -1
  277. package/dist/ai/utils/sanitize-unicode.js +16 -0
  278. package/dist/ai/utils/sanitize-unicode.js.map +1 -1
  279. package/dist/ai/utils/stream-event-helper.d.ts +28 -0
  280. package/dist/ai/utils/stream-event-helper.d.ts.map +1 -0
  281. package/dist/ai/utils/stream-event-helper.js +49 -0
  282. package/dist/ai/utils/stream-event-helper.js.map +1 -0
  283. package/dist/ai/utils/stream-handler-types.d.ts +43 -0
  284. package/dist/ai/utils/stream-handler-types.d.ts.map +1 -0
  285. package/dist/ai/utils/stream-handler-types.js +18 -0
  286. package/dist/ai/utils/stream-handler-types.js.map +1 -0
  287. package/dist/ai/utils/streaming-state-manager.d.ts +50 -0
  288. package/dist/ai/utils/streaming-state-manager.d.ts.map +1 -0
  289. package/dist/ai/utils/streaming-state-manager.js +65 -0
  290. package/dist/ai/utils/streaming-state-manager.js.map +1 -0
  291. package/dist/ai/utils/tool-converter.d.ts +50 -0
  292. package/dist/ai/utils/tool-converter.d.ts.map +1 -0
  293. package/dist/ai/utils/tool-converter.js +54 -0
  294. package/dist/ai/utils/tool-converter.js.map +1 -0
  295. package/dist/ai/utils/typebox-helpers.d.ts +6 -1
  296. package/dist/ai/utils/typebox-helpers.d.ts.map +1 -1
  297. package/dist/ai/utils/typebox-helpers.js +7 -0
  298. package/dist/ai/utils/typebox-helpers.js.map +1 -1
  299. package/dist/ai/utils/validation.d.ts +6 -0
  300. package/dist/ai/utils/validation.d.ts.map +1 -1
  301. package/dist/ai/utils/validation.js +23 -9
  302. package/dist/ai/utils/validation.js.map +1 -1
  303. package/dist/index.d.ts +0 -1
  304. package/dist/index.d.ts.map +1 -1
  305. package/dist/index.js +0 -1
  306. package/dist/index.js.map +1 -1
  307. package/dist/tui/autocomplete.d.ts +17 -0
  308. package/dist/tui/autocomplete.d.ts.map +1 -1
  309. package/dist/tui/autocomplete.js +33 -3
  310. package/dist/tui/autocomplete.js.map +1 -1
  311. package/dist/tui/components/box.d.ts +2 -2
  312. package/dist/tui/components/box.d.ts.map +1 -1
  313. package/dist/tui/components/box.js +7 -5
  314. package/dist/tui/components/box.js.map +1 -1
  315. package/dist/tui/components/cancellable-loader.d.ts +1 -0
  316. package/dist/tui/components/cancellable-loader.d.ts.map +1 -1
  317. package/dist/tui/components/cancellable-loader.js +4 -0
  318. package/dist/tui/components/cancellable-loader.js.map +1 -1
  319. package/dist/tui/components/editor.d.ts +2 -2
  320. package/dist/tui/components/editor.d.ts.map +1 -1
  321. package/dist/tui/components/editor.js +6 -3
  322. package/dist/tui/components/editor.js.map +1 -1
  323. package/dist/tui/components/image.d.ts +2 -2
  324. package/dist/tui/components/image.d.ts.map +1 -1
  325. package/dist/tui/components/image.js +35 -33
  326. package/dist/tui/components/image.js.map +1 -1
  327. package/dist/tui/components/input.d.ts +2 -2
  328. package/dist/tui/components/input.d.ts.map +1 -1
  329. package/dist/tui/components/input.js +6 -3
  330. package/dist/tui/components/input.js.map +1 -1
  331. package/dist/tui/components/loader.d.ts +2 -0
  332. package/dist/tui/components/loader.d.ts.map +1 -1
  333. package/dist/tui/components/loader.js +8 -0
  334. package/dist/tui/components/loader.js.map +1 -1
  335. package/dist/tui/components/markdown.d.ts +2 -2
  336. package/dist/tui/components/markdown.d.ts.map +1 -1
  337. package/dist/tui/components/markdown.js +61 -57
  338. package/dist/tui/components/markdown.js.map +1 -1
  339. package/dist/tui/components/select-list.d.ts +2 -2
  340. package/dist/tui/components/select-list.d.ts.map +1 -1
  341. package/dist/tui/components/select-list.js +79 -71
  342. package/dist/tui/components/select-list.js.map +1 -1
  343. package/dist/tui/components/settings-list.d.ts +2 -2
  344. package/dist/tui/components/settings-list.d.ts.map +1 -1
  345. package/dist/tui/components/settings-list.js +12 -1
  346. package/dist/tui/components/settings-list.js.map +1 -1
  347. package/dist/tui/components/spacer.d.ts +3 -3
  348. package/dist/tui/components/spacer.d.ts.map +1 -1
  349. package/dist/tui/components/spacer.js +13 -8
  350. package/dist/tui/components/spacer.js.map +1 -1
  351. package/dist/tui/components/text-renderer.d.ts +7 -0
  352. package/dist/tui/components/text-renderer.d.ts.map +1 -0
  353. package/dist/tui/components/text-renderer.js +25 -0
  354. package/dist/tui/components/text-renderer.js.map +1 -0
  355. package/dist/tui/components/text.d.ts +2 -4
  356. package/dist/tui/components/text.d.ts.map +1 -1
  357. package/dist/tui/components/text.js +35 -54
  358. package/dist/tui/components/text.js.map +1 -1
  359. package/dist/tui/components/truncated-text.d.ts +2 -2
  360. package/dist/tui/components/truncated-text.d.ts.map +1 -1
  361. package/dist/tui/components/truncated-text.js +7 -4
  362. package/dist/tui/components/truncated-text.js.map +1 -1
  363. package/dist/tui/editor-component.d.ts +2 -0
  364. package/dist/tui/editor-component.d.ts.map +1 -1
  365. package/dist/tui/fuzzy.d.ts +10 -0
  366. package/dist/tui/fuzzy.d.ts.map +1 -1
  367. package/dist/tui/fuzzy.js +75 -56
  368. package/dist/tui/fuzzy.js.map +1 -1
  369. package/dist/tui/keybindings.d.ts +16 -3
  370. package/dist/tui/keybindings.d.ts.map +1 -1
  371. package/dist/tui/keybindings.js +68 -12
  372. package/dist/tui/keybindings.js.map +1 -1
  373. package/dist/tui/keys.d.ts +5 -0
  374. package/dist/tui/keys.d.ts.map +1 -1
  375. package/dist/tui/keys.js +72 -1
  376. package/dist/tui/keys.js.map +1 -1
  377. package/dist/tui/stdin-buffer.d.ts +5 -0
  378. package/dist/tui/stdin-buffer.d.ts.map +1 -1
  379. package/dist/tui/stdin-buffer.js +20 -7
  380. package/dist/tui/stdin-buffer.js.map +1 -1
  381. package/dist/tui/terminal-image.d.ts.map +1 -1
  382. package/dist/tui/terminal-image.js +17 -6
  383. package/dist/tui/terminal-image.js.map +1 -1
  384. package/dist/tui/terminal.d.ts +15 -0
  385. package/dist/tui/terminal.d.ts.map +1 -1
  386. package/dist/tui/terminal.js +39 -6
  387. package/dist/tui/terminal.js.map +1 -1
  388. package/dist/tui/tui.d.ts +50 -4
  389. package/dist/tui/tui.d.ts.map +1 -1
  390. package/dist/tui/tui.js +201 -186
  391. package/dist/tui/tui.js.map +1 -1
  392. package/dist/tui/utils.d.ts +19 -0
  393. package/dist/tui/utils.d.ts.map +1 -1
  394. package/dist/tui/utils.js +39 -0
  395. package/dist/tui/utils.js.map +1 -1
  396. package/package.json +7 -9
  397. package/dist/webui/ChatPanel.d.ts +0 -28
  398. package/dist/webui/ChatPanel.d.ts.map +0 -1
  399. package/dist/webui/ChatPanel.js +0 -193
  400. package/dist/webui/ChatPanel.js.map +0 -1
  401. package/dist/webui/components/AgentInterface.d.ts +0 -39
  402. package/dist/webui/components/AgentInterface.d.ts.map +0 -1
  403. package/dist/webui/components/AgentInterface.js +0 -371
  404. package/dist/webui/components/AgentInterface.js.map +0 -1
  405. package/dist/webui/components/AttachmentTile.d.ts +0 -12
  406. package/dist/webui/components/AttachmentTile.d.ts.map +0 -1
  407. package/dist/webui/components/AttachmentTile.js +0 -111
  408. package/dist/webui/components/AttachmentTile.js.map +0 -1
  409. package/dist/webui/components/ConsoleBlock.d.ts +0 -12
  410. package/dist/webui/components/ConsoleBlock.d.ts.map +0 -1
  411. package/dist/webui/components/ConsoleBlock.js +0 -84
  412. package/dist/webui/components/ConsoleBlock.js.map +0 -1
  413. package/dist/webui/components/CustomProviderCard.d.ts +0 -17
  414. package/dist/webui/components/CustomProviderCard.d.ts.map +0 -1
  415. package/dist/webui/components/CustomProviderCard.js +0 -110
  416. package/dist/webui/components/CustomProviderCard.js.map +0 -1
  417. package/dist/webui/components/ExpandableSection.d.ts +0 -15
  418. package/dist/webui/components/ExpandableSection.d.ts.map +0 -1
  419. package/dist/webui/components/ExpandableSection.js +0 -63
  420. package/dist/webui/components/ExpandableSection.js.map +0 -1
  421. package/dist/webui/components/Input.d.ts +0 -26
  422. package/dist/webui/components/Input.d.ts.map +0 -1
  423. package/dist/webui/components/Input.js +0 -57
  424. package/dist/webui/components/Input.js.map +0 -1
  425. package/dist/webui/components/MessageEditor.d.ts +0 -44
  426. package/dist/webui/components/MessageEditor.d.ts.map +0 -1
  427. package/dist/webui/components/MessageEditor.js +0 -414
  428. package/dist/webui/components/MessageEditor.js.map +0 -1
  429. package/dist/webui/components/MessageList.d.ts +0 -14
  430. package/dist/webui/components/MessageList.d.ts.map +0 -1
  431. package/dist/webui/components/MessageList.js +0 -104
  432. package/dist/webui/components/MessageList.js.map +0 -1
  433. package/dist/webui/components/Messages.d.ts +0 -94
  434. package/dist/webui/components/Messages.d.ts.map +0 -1
  435. package/dist/webui/components/Messages.js +0 -352
  436. package/dist/webui/components/Messages.js.map +0 -1
  437. package/dist/webui/components/ProviderKeyInput.d.ts +0 -16
  438. package/dist/webui/components/ProviderKeyInput.d.ts.map +0 -1
  439. package/dist/webui/components/ProviderKeyInput.js +0 -171
  440. package/dist/webui/components/ProviderKeyInput.js.map +0 -1
  441. package/dist/webui/components/SandboxedIframe.d.ts +0 -85
  442. package/dist/webui/components/SandboxedIframe.d.ts.map +0 -1
  443. package/dist/webui/components/SandboxedIframe.js +0 -511
  444. package/dist/webui/components/SandboxedIframe.js.map +0 -1
  445. package/dist/webui/components/StreamingMessageContainer.d.ts +0 -19
  446. package/dist/webui/components/StreamingMessageContainer.d.ts.map +0 -1
  447. package/dist/webui/components/StreamingMessageContainer.js +0 -117
  448. package/dist/webui/components/StreamingMessageContainer.js.map +0 -1
  449. package/dist/webui/components/ThinkingBlock.d.ts +0 -11
  450. package/dist/webui/components/ThinkingBlock.d.ts.map +0 -1
  451. package/dist/webui/components/ThinkingBlock.js +0 -58
  452. package/dist/webui/components/ThinkingBlock.js.map +0 -1
  453. package/dist/webui/components/message-renderer-registry.d.ts +0 -12
  454. package/dist/webui/components/message-renderer-registry.d.ts.map +0 -1
  455. package/dist/webui/components/message-renderer-registry.js +0 -12
  456. package/dist/webui/components/message-renderer-registry.js.map +0 -1
  457. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.d.ts +0 -35
  458. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.d.ts.map +0 -1
  459. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.js +0 -189
  460. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.js.map +0 -1
  461. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.d.ts +0 -17
  462. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.d.ts.map +0 -1
  463. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.js +0 -64
  464. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.js.map +0 -1
  465. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.d.ts +0 -42
  466. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.d.ts.map +0 -1
  467. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.js +0 -161
  468. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.js.map +0 -1
  469. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.d.ts +0 -30
  470. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.d.ts.map +0 -1
  471. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.js +0 -97
  472. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.js.map +0 -1
  473. package/dist/webui/components/sandbox/RuntimeMessageBridge.d.ts +0 -19
  474. package/dist/webui/components/sandbox/RuntimeMessageBridge.d.ts.map +0 -1
  475. package/dist/webui/components/sandbox/RuntimeMessageBridge.js +0 -74
  476. package/dist/webui/components/sandbox/RuntimeMessageBridge.js.map +0 -1
  477. package/dist/webui/components/sandbox/RuntimeMessageRouter.d.ts +0 -65
  478. package/dist/webui/components/sandbox/RuntimeMessageRouter.d.ts.map +0 -1
  479. package/dist/webui/components/sandbox/RuntimeMessageRouter.js +0 -168
  480. package/dist/webui/components/sandbox/RuntimeMessageRouter.js.map +0 -1
  481. package/dist/webui/components/sandbox/SandboxRuntimeProvider.d.ts +0 -48
  482. package/dist/webui/components/sandbox/SandboxRuntimeProvider.d.ts.map +0 -1
  483. package/dist/webui/components/sandbox/SandboxRuntimeProvider.js +0 -2
  484. package/dist/webui/components/sandbox/SandboxRuntimeProvider.js.map +0 -1
  485. package/dist/webui/dialogs/ApiKeyPromptDialog.d.ts +0 -15
  486. package/dist/webui/dialogs/ApiKeyPromptDialog.d.ts.map +0 -1
  487. package/dist/webui/dialogs/ApiKeyPromptDialog.js +0 -79
  488. package/dist/webui/dialogs/ApiKeyPromptDialog.js.map +0 -1
  489. package/dist/webui/dialogs/AttachmentOverlay.d.ts +0 -32
  490. package/dist/webui/dialogs/AttachmentOverlay.d.ts.map +0 -1
  491. package/dist/webui/dialogs/AttachmentOverlay.js +0 -576
  492. package/dist/webui/dialogs/AttachmentOverlay.js.map +0 -1
  493. package/dist/webui/dialogs/CustomProviderDialog.d.ts +0 -25
  494. package/dist/webui/dialogs/CustomProviderDialog.d.ts.map +0 -1
  495. package/dist/webui/dialogs/CustomProviderDialog.js +0 -270
  496. package/dist/webui/dialogs/CustomProviderDialog.js.map +0 -1
  497. package/dist/webui/dialogs/ModelSelector.d.ts +0 -27
  498. package/dist/webui/dialogs/ModelSelector.d.ts.map +0 -1
  499. package/dist/webui/dialogs/ModelSelector.js +0 -320
  500. package/dist/webui/dialogs/ModelSelector.js.map +0 -1
  501. package/dist/webui/dialogs/PersistentStorageDialog.d.ts +0 -17
  502. package/dist/webui/dialogs/PersistentStorageDialog.d.ts.map +0 -1
  503. package/dist/webui/dialogs/PersistentStorageDialog.js +0 -147
  504. package/dist/webui/dialogs/PersistentStorageDialog.js.map +0 -1
  505. package/dist/webui/dialogs/ProvidersModelsTab.d.ts +0 -20
  506. package/dist/webui/dialogs/ProvidersModelsTab.d.ts.map +0 -1
  507. package/dist/webui/dialogs/ProvidersModelsTab.js +0 -191
  508. package/dist/webui/dialogs/ProvidersModelsTab.js.map +0 -1
  509. package/dist/webui/dialogs/SessionListDialog.d.ts +0 -19
  510. package/dist/webui/dialogs/SessionListDialog.d.ts.map +0 -1
  511. package/dist/webui/dialogs/SessionListDialog.js +0 -154
  512. package/dist/webui/dialogs/SessionListDialog.js.map +0 -1
  513. package/dist/webui/dialogs/SettingsDialog.d.ts +0 -30
  514. package/dist/webui/dialogs/SettingsDialog.d.ts.map +0 -1
  515. package/dist/webui/dialogs/SettingsDialog.js +0 -229
  516. package/dist/webui/dialogs/SettingsDialog.js.map +0 -1
  517. package/dist/webui/index.d.ts +0 -65
  518. package/dist/webui/index.d.ts.map +0 -1
  519. package/dist/webui/index.js +0 -68
  520. package/dist/webui/index.js.map +0 -1
  521. package/dist/webui/prompts/prompts.d.ts +0 -11
  522. package/dist/webui/prompts/prompts.d.ts.map +0 -1
  523. package/dist/webui/prompts/prompts.js +0 -272
  524. package/dist/webui/prompts/prompts.js.map +0 -1
  525. package/dist/webui/storage/app-storage.d.ts +0 -33
  526. package/dist/webui/storage/app-storage.d.ts.map +0 -1
  527. package/dist/webui/storage/app-storage.js +0 -38
  528. package/dist/webui/storage/app-storage.js.map +0 -1
  529. package/dist/webui/storage/backends/indexeddb-storage-backend.d.ts +0 -27
  530. package/dist/webui/storage/backends/indexeddb-storage-backend.d.ts.map +0 -1
  531. package/dist/webui/storage/backends/indexeddb-storage-backend.js +0 -166
  532. package/dist/webui/storage/backends/indexeddb-storage-backend.js.map +0 -1
  533. package/dist/webui/storage/store.d.ts +0 -23
  534. package/dist/webui/storage/store.d.ts.map +0 -1
  535. package/dist/webui/storage/store.js +0 -26
  536. package/dist/webui/storage/store.js.map +0 -1
  537. package/dist/webui/storage/stores/custom-providers-store.d.ts +0 -25
  538. package/dist/webui/storage/stores/custom-providers-store.d.ts.map +0 -1
  539. package/dist/webui/storage/stores/custom-providers-store.js +0 -35
  540. package/dist/webui/storage/stores/custom-providers-store.js.map +0 -1
  541. package/dist/webui/storage/stores/provider-keys-store.d.ts +0 -14
  542. package/dist/webui/storage/stores/provider-keys-store.d.ts.map +0 -1
  543. package/dist/webui/storage/stores/provider-keys-store.js +0 -27
  544. package/dist/webui/storage/stores/provider-keys-store.js.map +0 -1
  545. package/dist/webui/storage/stores/sessions-store.d.ts +0 -32
  546. package/dist/webui/storage/stores/sessions-store.d.ts.map +0 -1
  547. package/dist/webui/storage/stores/sessions-store.js +0 -113
  548. package/dist/webui/storage/stores/sessions-store.js.map +0 -1
  549. package/dist/webui/storage/stores/settings-store.d.ts +0 -14
  550. package/dist/webui/storage/stores/settings-store.d.ts.map +0 -1
  551. package/dist/webui/storage/stores/settings-store.js +0 -28
  552. package/dist/webui/storage/stores/settings-store.js.map +0 -1
  553. package/dist/webui/storage/types.d.ts +0 -176
  554. package/dist/webui/storage/types.d.ts.map +0 -1
  555. package/dist/webui/storage/types.js +0 -2
  556. package/dist/webui/storage/types.js.map +0 -1
  557. package/dist/webui/tools/artifacts/ArtifactElement.d.ts +0 -9
  558. package/dist/webui/tools/artifacts/ArtifactElement.d.ts.map +0 -1
  559. package/dist/webui/tools/artifacts/ArtifactElement.js +0 -11
  560. package/dist/webui/tools/artifacts/ArtifactElement.js.map +0 -1
  561. package/dist/webui/tools/artifacts/ArtifactPill.d.ts +0 -4
  562. package/dist/webui/tools/artifacts/ArtifactPill.d.ts.map +0 -1
  563. package/dist/webui/tools/artifacts/ArtifactPill.js +0 -23
  564. package/dist/webui/tools/artifacts/ArtifactPill.js.map +0 -1
  565. package/dist/webui/tools/artifacts/Console.d.ts +0 -18
  566. package/dist/webui/tools/artifacts/Console.d.ts.map +0 -1
  567. package/dist/webui/tools/artifacts/Console.js +0 -95
  568. package/dist/webui/tools/artifacts/Console.js.map +0 -1
  569. package/dist/webui/tools/artifacts/DocxArtifact.d.ts +0 -22
  570. package/dist/webui/tools/artifacts/DocxArtifact.d.ts.map +0 -1
  571. package/dist/webui/tools/artifacts/DocxArtifact.js +0 -208
  572. package/dist/webui/tools/artifacts/DocxArtifact.js.map +0 -1
  573. package/dist/webui/tools/artifacts/ExcelArtifact.d.ts +0 -24
  574. package/dist/webui/tools/artifacts/ExcelArtifact.d.ts.map +0 -1
  575. package/dist/webui/tools/artifacts/ExcelArtifact.js +0 -216
  576. package/dist/webui/tools/artifacts/ExcelArtifact.js.map +0 -1
  577. package/dist/webui/tools/artifacts/GenericArtifact.d.ts +0 -19
  578. package/dist/webui/tools/artifacts/GenericArtifact.d.ts.map +0 -1
  579. package/dist/webui/tools/artifacts/GenericArtifact.js +0 -117
  580. package/dist/webui/tools/artifacts/GenericArtifact.js.map +0 -1
  581. package/dist/webui/tools/artifacts/HtmlArtifact.d.ts +0 -27
  582. package/dist/webui/tools/artifacts/HtmlArtifact.d.ts.map +0 -1
  583. package/dist/webui/tools/artifacts/HtmlArtifact.js +0 -189
  584. package/dist/webui/tools/artifacts/HtmlArtifact.js.map +0 -1
  585. package/dist/webui/tools/artifacts/ImageArtifact.d.ts +0 -20
  586. package/dist/webui/tools/artifacts/ImageArtifact.d.ts.map +0 -1
  587. package/dist/webui/tools/artifacts/ImageArtifact.js +0 -120
  588. package/dist/webui/tools/artifacts/ImageArtifact.js.map +0 -1
  589. package/dist/webui/tools/artifacts/MarkdownArtifact.d.ts +0 -19
  590. package/dist/webui/tools/artifacts/MarkdownArtifact.d.ts.map +0 -1
  591. package/dist/webui/tools/artifacts/MarkdownArtifact.js +0 -82
  592. package/dist/webui/tools/artifacts/MarkdownArtifact.js.map +0 -1
  593. package/dist/webui/tools/artifacts/PdfArtifact.d.ts +0 -25
  594. package/dist/webui/tools/artifacts/PdfArtifact.d.ts.map +0 -1
  595. package/dist/webui/tools/artifacts/PdfArtifact.js +0 -184
  596. package/dist/webui/tools/artifacts/PdfArtifact.js.map +0 -1
  597. package/dist/webui/tools/artifacts/SvgArtifact.d.ts +0 -18
  598. package/dist/webui/tools/artifacts/SvgArtifact.d.ts.map +0 -1
  599. package/dist/webui/tools/artifacts/SvgArtifact.js +0 -78
  600. package/dist/webui/tools/artifacts/SvgArtifact.js.map +0 -1
  601. package/dist/webui/tools/artifacts/TextArtifact.d.ts +0 -19
  602. package/dist/webui/tools/artifacts/TextArtifact.d.ts.map +0 -1
  603. package/dist/webui/tools/artifacts/TextArtifact.js +0 -144
  604. package/dist/webui/tools/artifacts/TextArtifact.js.map +0 -1
  605. package/dist/webui/tools/artifacts/artifacts-tool-renderer.d.ts +0 -11
  606. package/dist/webui/tools/artifacts/artifacts-tool-renderer.d.ts.map +0 -1
  607. package/dist/webui/tools/artifacts/artifacts-tool-renderer.js +0 -272
  608. package/dist/webui/tools/artifacts/artifacts-tool-renderer.js.map +0 -1
  609. package/dist/webui/tools/artifacts/artifacts.d.ts +0 -63
  610. package/dist/webui/tools/artifacts/artifacts.d.ts.map +0 -1
  611. package/dist/webui/tools/artifacts/artifacts.js +0 -659
  612. package/dist/webui/tools/artifacts/artifacts.js.map +0 -1
  613. package/dist/webui/tools/artifacts/index.d.ts +0 -8
  614. package/dist/webui/tools/artifacts/index.d.ts.map +0 -1
  615. package/dist/webui/tools/artifacts/index.js +0 -8
  616. package/dist/webui/tools/artifacts/index.js.map +0 -1
  617. package/dist/webui/tools/extract-document.d.ts +0 -24
  618. package/dist/webui/tools/extract-document.d.ts.map +0 -1
  619. package/dist/webui/tools/extract-document.js +0 -216
  620. package/dist/webui/tools/extract-document.js.map +0 -1
  621. package/dist/webui/tools/index.d.ts +0 -16
  622. package/dist/webui/tools/index.d.ts.map +0 -1
  623. package/dist/webui/tools/index.js +0 -33
  624. package/dist/webui/tools/index.js.map +0 -1
  625. package/dist/webui/tools/javascript-repl.d.ts +0 -44
  626. package/dist/webui/tools/javascript-repl.d.ts.map +0 -1
  627. package/dist/webui/tools/javascript-repl.js +0 -224
  628. package/dist/webui/tools/javascript-repl.js.map +0 -1
  629. package/dist/webui/tools/renderer-registry.d.ts +0 -23
  630. package/dist/webui/tools/renderer-registry.d.ts.map +0 -1
  631. package/dist/webui/tools/renderer-registry.js +0 -107
  632. package/dist/webui/tools/renderer-registry.js.map +0 -1
  633. package/dist/webui/tools/renderers/BashRenderer.d.ts +0 -10
  634. package/dist/webui/tools/renderers/BashRenderer.d.ts.map +0 -1
  635. package/dist/webui/tools/renderers/BashRenderer.js +0 -42
  636. package/dist/webui/tools/renderers/BashRenderer.js.map +0 -1
  637. package/dist/webui/tools/renderers/CalculateRenderer.d.ts +0 -10
  638. package/dist/webui/tools/renderers/CalculateRenderer.d.ts.map +0 -1
  639. package/dist/webui/tools/renderers/CalculateRenderer.js +0 -45
  640. package/dist/webui/tools/renderers/CalculateRenderer.js.map +0 -1
  641. package/dist/webui/tools/renderers/DefaultRenderer.d.ts +0 -6
  642. package/dist/webui/tools/renderers/DefaultRenderer.d.ts.map +0 -1
  643. package/dist/webui/tools/renderers/DefaultRenderer.js +0 -94
  644. package/dist/webui/tools/renderers/DefaultRenderer.js.map +0 -1
  645. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.d.ts +0 -10
  646. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.d.ts.map +0 -1
  647. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.js +0 -72
  648. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.js.map +0 -1
  649. package/dist/webui/tools/types.d.ts +0 -10
  650. package/dist/webui/tools/types.d.ts.map +0 -1
  651. package/dist/webui/tools/types.js +0 -2
  652. package/dist/webui/tools/types.js.map +0 -1
  653. package/dist/webui/utils/attachment-utils.d.ts +0 -19
  654. package/dist/webui/utils/attachment-utils.d.ts.map +0 -1
  655. package/dist/webui/utils/attachment-utils.js +0 -415
  656. package/dist/webui/utils/attachment-utils.js.map +0 -1
  657. package/dist/webui/utils/auth-token.d.ts +0 -3
  658. package/dist/webui/utils/auth-token.d.ts.map +0 -1
  659. package/dist/webui/utils/auth-token.js +0 -19
  660. package/dist/webui/utils/auth-token.js.map +0 -1
  661. package/dist/webui/utils/format.d.ts +0 -6
  662. package/dist/webui/utils/format.d.ts.map +0 -1
  663. package/dist/webui/utils/format.js +0 -47
  664. package/dist/webui/utils/format.js.map +0 -1
  665. package/dist/webui/utils/i18n.d.ts +0 -636
  666. package/dist/webui/utils/i18n.d.ts.map +0 -1
  667. package/dist/webui/utils/i18n.js +0 -418
  668. package/dist/webui/utils/i18n.js.map +0 -1
  669. package/dist/webui/utils/model-discovery.d.ts +0 -38
  670. package/dist/webui/utils/model-discovery.d.ts.map +0 -1
  671. package/dist/webui/utils/model-discovery.js +0 -243
  672. package/dist/webui/utils/model-discovery.js.map +0 -1
  673. package/dist/webui/utils/proxy-utils.d.ts +0 -45
  674. package/dist/webui/utils/proxy-utils.d.ts.map +0 -1
  675. package/dist/webui/utils/proxy-utils.js +0 -116
  676. package/dist/webui/utils/proxy-utils.js.map +0 -1
  677. package/dist/webui/utils/test-sessions.d.ts +0 -359
  678. package/dist/webui/utils/test-sessions.d.ts.map +0 -1
  679. package/dist/webui/utils/test-sessions.js +0 -2325
  680. package/dist/webui/utils/test-sessions.js.map +0 -1
  681. package/dist/webui.d.ts +0 -2
  682. package/dist/webui.d.ts.map +0 -1
  683. package/dist/webui.js +0 -2
  684. package/dist/webui.js.map +0 -1
@@ -0,0 +1,4 @@
1
+ import type { StopReason } from "../types.js";
2
+ export declare function normalizeToolCallId(id: string, maxLengthOrModel?: number | unknown, ..._rest: unknown[]): string;
3
+ export declare function mapStopReason(reason: string | null | undefined, provider?: string): StopReason;
4
+ //# sourceMappingURL=provider-consolidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-consolidation.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/provider-consolidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAGhH;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CA4B9F"}
@@ -0,0 +1,33 @@
1
+ export function normalizeToolCallId(id, maxLengthOrModel, ..._rest) {
2
+ const maxLength = typeof maxLengthOrModel === "number" ? maxLengthOrModel : 64;
3
+ return id.replace(/[^a-zA-Z0-9_-]/g, "_").slice(0, maxLength);
4
+ }
5
+ export function mapStopReason(reason, provider) {
6
+ if (!reason)
7
+ return "stop";
8
+ switch (reason) {
9
+ case "end_turn":
10
+ case "stop":
11
+ case "STOP":
12
+ case "stop_sequence":
13
+ return "stop";
14
+ case "max_tokens":
15
+ case "length":
16
+ case "MAX_TOKENS":
17
+ return "length";
18
+ case "tool_use":
19
+ case "tool_calls":
20
+ case "function_call":
21
+ case "TOOL_USE":
22
+ return "toolUse";
23
+ case "content_filter":
24
+ case "refusal":
25
+ return "error";
26
+ }
27
+ if (provider === "bedrock") {
28
+ if (reason.includes("CONTEXT_WINDOW"))
29
+ return "length";
30
+ }
31
+ return "error";
32
+ }
33
+ //# sourceMappingURL=provider-consolidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-consolidation.js","sourceRoot":"","sources":["../../../src/ai/utils/provider-consolidation.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,EAAU,EAAE,gBAAmC,EAAE,GAAG,KAAgB;IACvG,MAAM,SAAS,GAAG,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAiC,EAAE,QAAiB;IACjF,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAE3B,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,eAAe;YACnB,OAAO,MAAM,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YAChB,OAAO,QAAQ,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,eAAe,CAAC;QACrB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,gBAAgB,CAAC;QACtB,KAAK,SAAS;YACb,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAAE,OAAO,QAAQ,CAAC;IACxD,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Shared constants for AI streaming providers.
3
+ */
4
+ /** Default timeout for provider HTTP requests (milliseconds). */
5
+ export declare const DEFAULT_PROVIDER_TIMEOUT = 30000;
6
+ /** Default maximum number of retry attempts. */
7
+ export declare const DEFAULT_MAX_RETRIES = 3;
8
+ /** Base delay for exponential backoff (milliseconds). */
9
+ export declare const DEFAULT_RETRY_DELAY_MS = 250;
10
+ /** Maximum tokens in text content before truncation warnings. */
11
+ export declare const DEFAULT_MAX_TEXT_TOKENS = 50000;
12
+ /** Maximum size of thinking blocks before truncation (bytes). */
13
+ export declare const DEFAULT_MAX_THINKING_BYTES = 100000;
14
+ /** Standard system prompt for tool-use scenarios. */
15
+ export declare const DEFAULT_TOOL_SYSTEM_PROMPT = "You are a helpful assistant with access to tools.";
16
+ /** Anthropic-specific defaults. */
17
+ export declare const ANTHROPIC_DEFAULT_MAX_TOKENS = 4096;
18
+ export declare const ANTHROPIC_DEFAULT_THINKING_BUDGET = 10000;
19
+ /** OpenAI-specific defaults. */
20
+ export declare const OPENAI_DEFAULT_MAX_TOKENS = 4096;
21
+ export declare const OPENAI_DEFAULT_TEMPERATURE = 0.7;
22
+ /** Google-specific defaults. */
23
+ export declare const GOOGLE_DEFAULT_MAX_TOKENS = 8192;
24
+ export declare const GOOGLE_DEFAULT_TEMPERATURE = 0.8;
25
+ /** Bedrock-specific defaults. */
26
+ export declare const BEDROCK_DEFAULT_MAX_TOKENS = 4096;
27
+ export declare const BEDROCK_DEFAULT_TEMPERATURE = 0.7;
28
+ /** Tool-related defaults. */
29
+ export declare const DEFAULT_TOOL_CALL_TIMEOUT = 60000;
30
+ export declare const DEFAULT_MAX_TOOLS_PER_REQUEST = 128;
31
+ /** Streaming batch sizes. */
32
+ export declare const STREAMING_BATCH_SIZE_TEXT = 100;
33
+ export declare const STREAMING_BATCH_SIZE_THINKING = 50;
34
+ export declare const STREAMING_BATCH_SIZE_TOOL_CALL = 20;
35
+ //# sourceMappingURL=provider-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-constants.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/provider-constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,gDAAgD;AAChD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C,iEAAiE;AACjE,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAElD,qDAAqD;AACrD,eAAO,MAAM,0BAA0B,sDAAsD,CAAC;AAE9F,mCAAmC;AACnC,eAAO,MAAM,4BAA4B,OAAO,CAAC;AACjD,eAAO,MAAM,iCAAiC,QAAS,CAAC;AAExD,gCAAgC;AAChC,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAC/C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,gCAAgC;AAChC,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAC/C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,iCAAiC;AACjC,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAChD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,6BAA6B;AAC7B,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD,6BAA6B;AAC7B,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,8BAA8B,KAAK,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Shared constants for AI streaming providers.
3
+ */
4
+ /** Default timeout for provider HTTP requests (milliseconds). */
5
+ export const DEFAULT_PROVIDER_TIMEOUT = 30_000;
6
+ /** Default maximum number of retry attempts. */
7
+ export const DEFAULT_MAX_RETRIES = 3;
8
+ /** Base delay for exponential backoff (milliseconds). */
9
+ export const DEFAULT_RETRY_DELAY_MS = 250;
10
+ /** Maximum tokens in text content before truncation warnings. */
11
+ export const DEFAULT_MAX_TEXT_TOKENS = 50_000;
12
+ /** Maximum size of thinking blocks before truncation (bytes). */
13
+ export const DEFAULT_MAX_THINKING_BYTES = 100_000;
14
+ /** Standard system prompt for tool-use scenarios. */
15
+ export const DEFAULT_TOOL_SYSTEM_PROMPT = "You are a helpful assistant with access to tools.";
16
+ /** Anthropic-specific defaults. */
17
+ export const ANTHROPIC_DEFAULT_MAX_TOKENS = 4096;
18
+ export const ANTHROPIC_DEFAULT_THINKING_BUDGET = 10_000;
19
+ /** OpenAI-specific defaults. */
20
+ export const OPENAI_DEFAULT_MAX_TOKENS = 4_096;
21
+ export const OPENAI_DEFAULT_TEMPERATURE = 0.7;
22
+ /** Google-specific defaults. */
23
+ export const GOOGLE_DEFAULT_MAX_TOKENS = 8_192;
24
+ export const GOOGLE_DEFAULT_TEMPERATURE = 0.8;
25
+ /** Bedrock-specific defaults. */
26
+ export const BEDROCK_DEFAULT_MAX_TOKENS = 4_096;
27
+ export const BEDROCK_DEFAULT_TEMPERATURE = 0.7;
28
+ /** Tool-related defaults. */
29
+ export const DEFAULT_TOOL_CALL_TIMEOUT = 60_000;
30
+ export const DEFAULT_MAX_TOOLS_PER_REQUEST = 128;
31
+ /** Streaming batch sizes. */
32
+ export const STREAMING_BATCH_SIZE_TEXT = 100;
33
+ export const STREAMING_BATCH_SIZE_THINKING = 50;
34
+ export const STREAMING_BATCH_SIZE_TOOL_CALL = 20;
35
+ //# sourceMappingURL=provider-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-constants.js","sourceRoot":"","sources":["../../../src/ai/utils/provider-constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C,gDAAgD;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,yDAAyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,iEAAiE;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C,iEAAiE;AACjE,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAElD,qDAAqD;AACrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,mDAAmD,CAAC;AAE9F,mCAAmC;AACnC,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC;AAExD,gCAAgC;AAChC,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,gCAAgC;AAChC,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,iCAAiC;AACjC,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C,6BAA6B;AAC7B,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAChD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAEjD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAC7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC"}
@@ -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"}