@calliopelabs/cli 3.0.0 → 3.2.0

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 (904) hide show
  1. package/README.md +54 -7
  2. package/dist/acp.d.ts +1 -4
  3. package/dist/acp.d.ts.map +1 -1
  4. package/dist/acp.js +118 -217
  5. package/dist/acp.js.map +1 -1
  6. package/dist/approvals/commands.d.ts +35 -0
  7. package/dist/approvals/commands.d.ts.map +1 -0
  8. package/dist/approvals/commands.js +51 -0
  9. package/dist/approvals/commands.js.map +1 -0
  10. package/dist/approvals/index.d.ts +6 -0
  11. package/dist/approvals/index.d.ts.map +1 -0
  12. package/dist/approvals/index.js +6 -0
  13. package/dist/approvals/index.js.map +1 -0
  14. package/dist/approvals/queue.d.ts +18 -0
  15. package/dist/approvals/queue.d.ts.map +1 -0
  16. package/dist/approvals/queue.js +46 -0
  17. package/dist/approvals/queue.js.map +1 -0
  18. package/dist/approvals/request.d.ts +13 -0
  19. package/dist/approvals/request.d.ts.map +1 -0
  20. package/dist/approvals/request.js +102 -0
  21. package/dist/approvals/request.js.map +1 -0
  22. package/dist/approvals/store.d.ts +24 -0
  23. package/dist/approvals/store.d.ts.map +1 -0
  24. package/dist/approvals/store.js +229 -0
  25. package/dist/approvals/store.js.map +1 -0
  26. package/dist/approvals/types.d.ts +27 -0
  27. package/dist/approvals/types.d.ts.map +1 -0
  28. package/dist/approvals/types.js +4 -0
  29. package/dist/approvals/types.js.map +1 -0
  30. package/dist/auto-compressor.d.ts +3 -2
  31. package/dist/auto-compressor.d.ts.map +1 -1
  32. package/dist/auto-compressor.js +9 -9
  33. package/dist/auto-compressor.js.map +1 -1
  34. package/dist/bin.d.ts.map +1 -1
  35. package/dist/bin.js +125 -22
  36. package/dist/bin.js.map +1 -1
  37. package/dist/brain/access.d.ts +65 -0
  38. package/dist/brain/access.d.ts.map +1 -0
  39. package/dist/brain/access.js +216 -0
  40. package/dist/brain/access.js.map +1 -0
  41. package/dist/brain/actions.d.ts +120 -0
  42. package/dist/brain/actions.d.ts.map +1 -0
  43. package/dist/brain/actions.js +270 -0
  44. package/dist/brain/actions.js.map +1 -0
  45. package/dist/brain/cli.d.ts +17 -0
  46. package/dist/brain/cli.d.ts.map +1 -0
  47. package/dist/brain/cli.js +206 -0
  48. package/dist/brain/cli.js.map +1 -0
  49. package/dist/brain/index.d.ts +16 -0
  50. package/dist/brain/index.d.ts.map +1 -0
  51. package/dist/brain/index.js +16 -0
  52. package/dist/brain/index.js.map +1 -0
  53. package/dist/brain/journal.d.ts +17 -0
  54. package/dist/brain/journal.d.ts.map +1 -0
  55. package/dist/brain/journal.js +189 -0
  56. package/dist/brain/journal.js.map +1 -0
  57. package/dist/brain/kg.d.ts +23 -0
  58. package/dist/brain/kg.d.ts.map +1 -0
  59. package/dist/brain/kg.js +36 -0
  60. package/dist/brain/kg.js.map +1 -0
  61. package/dist/brain/presentation.d.ts +3 -0
  62. package/dist/brain/presentation.d.ts.map +1 -0
  63. package/dist/brain/presentation.js +48 -0
  64. package/dist/brain/presentation.js.map +1 -0
  65. package/dist/brain/queries.d.ts +179 -0
  66. package/dist/brain/queries.d.ts.map +1 -0
  67. package/dist/brain/queries.js +210 -0
  68. package/dist/brain/queries.js.map +1 -0
  69. package/dist/brain/run-ingest.d.ts +29 -0
  70. package/dist/brain/run-ingest.d.ts.map +1 -0
  71. package/dist/brain/run-ingest.js +200 -0
  72. package/dist/brain/run-ingest.js.map +1 -0
  73. package/dist/brain/sqlite.d.ts +19 -0
  74. package/dist/brain/sqlite.d.ts.map +1 -0
  75. package/dist/brain/sqlite.js +252 -0
  76. package/dist/brain/sqlite.js.map +1 -0
  77. package/dist/brain/store.d.ts +31 -0
  78. package/dist/brain/store.d.ts.map +1 -0
  79. package/dist/brain/store.js +324 -0
  80. package/dist/brain/store.js.map +1 -0
  81. package/dist/brain/tool-query.d.ts +6 -0
  82. package/dist/brain/tool-query.d.ts.map +1 -0
  83. package/dist/brain/tool-query.js +42 -0
  84. package/dist/brain/tool-query.js.map +1 -0
  85. package/dist/brain/tools.d.ts +13 -0
  86. package/dist/brain/tools.d.ts.map +1 -0
  87. package/dist/brain/tools.js +20 -0
  88. package/dist/brain/tools.js.map +1 -0
  89. package/dist/brain/transfer.d.ts +57 -0
  90. package/dist/brain/transfer.d.ts.map +1 -0
  91. package/dist/brain/transfer.js +266 -0
  92. package/dist/brain/transfer.js.map +1 -0
  93. package/dist/brain/types.d.ts +145 -0
  94. package/dist/brain/types.d.ts.map +1 -0
  95. package/dist/brain/types.js +38 -0
  96. package/dist/brain/types.js.map +1 -0
  97. package/dist/brain/validation.d.ts +15 -0
  98. package/dist/brain/validation.d.ts.map +1 -0
  99. package/dist/brain/validation.js +163 -0
  100. package/dist/brain/validation.js.map +1 -0
  101. package/dist/budget.d.ts +5 -4
  102. package/dist/budget.d.ts.map +1 -1
  103. package/dist/budget.js +16 -38
  104. package/dist/budget.js.map +1 -1
  105. package/dist/cancellation.d.ts +8 -0
  106. package/dist/cancellation.d.ts.map +1 -0
  107. package/dist/cancellation.js +42 -0
  108. package/dist/cancellation.js.map +1 -0
  109. package/dist/checkpoint.d.ts +2 -2
  110. package/dist/checkpoint.d.ts.map +1 -1
  111. package/dist/checkpoint.js +5 -5
  112. package/dist/checkpoint.js.map +1 -1
  113. package/dist/circuit-breaker/breaker.d.ts.map +1 -1
  114. package/dist/config.d.ts +13 -0
  115. package/dist/config.d.ts.map +1 -1
  116. package/dist/config.js +32 -8
  117. package/dist/config.js.map +1 -1
  118. package/dist/cost.js.map +1 -1
  119. package/dist/diff.js.map +1 -1
  120. package/dist/doctor.d.ts +30 -0
  121. package/dist/doctor.d.ts.map +1 -0
  122. package/dist/doctor.js +124 -0
  123. package/dist/doctor.js.map +1 -0
  124. package/dist/env-expansion.js.map +1 -1
  125. package/dist/errors.d.ts +15 -0
  126. package/dist/errors.d.ts.map +1 -1
  127. package/dist/errors.js +33 -9
  128. package/dist/errors.js.map +1 -1
  129. package/dist/execution/attribution.d.ts +17 -0
  130. package/dist/execution/attribution.d.ts.map +1 -0
  131. package/dist/execution/attribution.js +21 -0
  132. package/dist/execution/attribution.js.map +1 -0
  133. package/dist/execution/authority.d.ts +22 -0
  134. package/dist/execution/authority.d.ts.map +1 -0
  135. package/dist/execution/authority.js +134 -0
  136. package/dist/execution/authority.js.map +1 -0
  137. package/dist/execution/billing.d.ts +100 -0
  138. package/dist/execution/billing.d.ts.map +1 -0
  139. package/dist/execution/billing.js +166 -0
  140. package/dist/execution/billing.js.map +1 -0
  141. package/dist/execution/child-grants.d.ts +9 -0
  142. package/dist/execution/child-grants.d.ts.map +1 -0
  143. package/dist/execution/child-grants.js +55 -0
  144. package/dist/execution/child-grants.js.map +1 -0
  145. package/dist/execution/files.d.ts +6 -0
  146. package/dist/execution/files.d.ts.map +1 -0
  147. package/dist/execution/files.js +159 -0
  148. package/dist/execution/files.js.map +1 -0
  149. package/dist/execution/guard.d.ts +50 -0
  150. package/dist/execution/guard.d.ts.map +1 -0
  151. package/dist/execution/guard.js +158 -0
  152. package/dist/execution/guard.js.map +1 -0
  153. package/dist/execution/index.d.ts +12 -0
  154. package/dist/execution/index.d.ts.map +1 -0
  155. package/dist/execution/index.js +12 -0
  156. package/dist/execution/index.js.map +1 -0
  157. package/dist/execution/ledger.d.ts +23 -0
  158. package/dist/execution/ledger.d.ts.map +1 -0
  159. package/dist/execution/ledger.js +379 -0
  160. package/dist/execution/ledger.js.map +1 -0
  161. package/dist/execution/project-spend.d.ts +45 -0
  162. package/dist/execution/project-spend.d.ts.map +1 -0
  163. package/dist/execution/project-spend.js +274 -0
  164. package/dist/execution/project-spend.js.map +1 -0
  165. package/dist/execution/quote.d.ts +19 -0
  166. package/dist/execution/quote.d.ts.map +1 -0
  167. package/dist/execution/quote.js +116 -0
  168. package/dist/execution/quote.js.map +1 -0
  169. package/dist/execution/types.d.ts +113 -0
  170. package/dist/execution/types.d.ts.map +1 -0
  171. package/dist/execution/types.js +9 -0
  172. package/dist/execution/types.js.map +1 -0
  173. package/dist/execution/writer-recovery.d.ts +3 -0
  174. package/dist/execution/writer-recovery.d.ts.map +1 -0
  175. package/dist/execution/writer-recovery.js +85 -0
  176. package/dist/execution/writer-recovery.js.map +1 -0
  177. package/dist/fuzzy-search.js.map +1 -1
  178. package/dist/goals/accounting.d.ts +69 -0
  179. package/dist/goals/accounting.d.ts.map +1 -0
  180. package/dist/goals/accounting.js +100 -0
  181. package/dist/goals/accounting.js.map +1 -0
  182. package/dist/goals/actions.d.ts +33 -0
  183. package/dist/goals/actions.d.ts.map +1 -0
  184. package/dist/goals/actions.js +261 -0
  185. package/dist/goals/actions.js.map +1 -0
  186. package/dist/goals/authority.d.ts +9 -0
  187. package/dist/goals/authority.d.ts.map +1 -0
  188. package/dist/goals/authority.js +47 -0
  189. package/dist/goals/authority.js.map +1 -0
  190. package/dist/goals/cli.d.ts +10 -0
  191. package/dist/goals/cli.d.ts.map +1 -0
  192. package/dist/goals/cli.js +169 -0
  193. package/dist/goals/cli.js.map +1 -0
  194. package/dist/goals/contracts.d.ts +18 -0
  195. package/dist/goals/contracts.d.ts.map +1 -0
  196. package/dist/goals/contracts.js +127 -0
  197. package/dist/goals/contracts.js.map +1 -0
  198. package/dist/goals/index.d.ts +17 -0
  199. package/dist/goals/index.d.ts.map +1 -0
  200. package/dist/goals/index.js +16 -0
  201. package/dist/goals/index.js.map +1 -0
  202. package/dist/goals/journal.d.ts +5 -0
  203. package/dist/goals/journal.d.ts.map +1 -0
  204. package/dist/goals/journal.js +142 -0
  205. package/dist/goals/journal.js.map +1 -0
  206. package/dist/goals/metrics.d.ts +53 -0
  207. package/dist/goals/metrics.d.ts.map +1 -0
  208. package/dist/goals/metrics.js +141 -0
  209. package/dist/goals/metrics.js.map +1 -0
  210. package/dist/goals/repair.d.ts +10 -0
  211. package/dist/goals/repair.d.ts.map +1 -0
  212. package/dist/goals/repair.js +50 -0
  213. package/dist/goals/repair.js.map +1 -0
  214. package/dist/goals/routing.d.ts +18 -0
  215. package/dist/goals/routing.d.ts.map +1 -0
  216. package/dist/goals/routing.js +60 -0
  217. package/dist/goals/routing.js.map +1 -0
  218. package/dist/goals/store.d.ts +30 -0
  219. package/dist/goals/store.d.ts.map +1 -0
  220. package/dist/goals/store.js +314 -0
  221. package/dist/goals/store.js.map +1 -0
  222. package/dist/goals/supervised-cli.d.ts +5 -0
  223. package/dist/goals/supervised-cli.d.ts.map +1 -0
  224. package/dist/goals/supervised-cli.js +44 -0
  225. package/dist/goals/supervised-cli.js.map +1 -0
  226. package/dist/goals/supervised.d.ts +8 -0
  227. package/dist/goals/supervised.d.ts.map +1 -0
  228. package/dist/goals/supervised.js +65 -0
  229. package/dist/goals/supervised.js.map +1 -0
  230. package/dist/goals/team.d.ts +8 -0
  231. package/dist/goals/team.d.ts.map +1 -0
  232. package/dist/goals/team.js +64 -0
  233. package/dist/goals/team.js.map +1 -0
  234. package/dist/goals/types.d.ts +174 -0
  235. package/dist/goals/types.d.ts.map +1 -0
  236. package/dist/goals/types.js +2 -0
  237. package/dist/goals/types.js.map +1 -0
  238. package/dist/goals/validation.d.ts +17 -0
  239. package/dist/goals/validation.d.ts.map +1 -0
  240. package/dist/goals/validation.js +172 -0
  241. package/dist/goals/validation.js.map +1 -0
  242. package/dist/headless.d.ts +1 -0
  243. package/dist/headless.d.ts.map +1 -1
  244. package/dist/headless.js +98 -275
  245. package/dist/headless.js.map +1 -1
  246. package/dist/health/index.d.ts +5 -0
  247. package/dist/health/index.d.ts.map +1 -0
  248. package/dist/health/index.js +5 -0
  249. package/dist/health/index.js.map +1 -0
  250. package/dist/health/store.d.ts +24 -0
  251. package/dist/health/store.d.ts.map +1 -0
  252. package/dist/health/store.js +190 -0
  253. package/dist/health/store.js.map +1 -0
  254. package/dist/health/summary.d.ts +10 -0
  255. package/dist/health/summary.d.ts.map +1 -0
  256. package/dist/health/summary.js +95 -0
  257. package/dist/health/summary.js.map +1 -0
  258. package/dist/health/target.d.ts +3 -0
  259. package/dist/health/target.d.ts.map +1 -0
  260. package/dist/health/target.js +53 -0
  261. package/dist/health/target.js.map +1 -0
  262. package/dist/health/types.d.ts +72 -0
  263. package/dist/health/types.d.ts.map +1 -0
  264. package/dist/health/types.js +2 -0
  265. package/dist/health/types.js.map +1 -0
  266. package/dist/hooks.d.ts +7 -2
  267. package/dist/hooks.d.ts.map +1 -1
  268. package/dist/hooks.js +35 -17
  269. package/dist/hooks.js.map +1 -1
  270. package/dist/improvement/actions.d.ts +27 -0
  271. package/dist/improvement/actions.d.ts.map +1 -0
  272. package/dist/improvement/actions.js +116 -0
  273. package/dist/improvement/actions.js.map +1 -0
  274. package/dist/improvement/cli.d.ts +9 -0
  275. package/dist/improvement/cli.d.ts.map +1 -0
  276. package/dist/improvement/cli.js +58 -0
  277. package/dist/improvement/cli.js.map +1 -0
  278. package/dist/improvement/feedback.d.ts +30 -0
  279. package/dist/improvement/feedback.d.ts.map +1 -0
  280. package/dist/improvement/feedback.js +7 -0
  281. package/dist/improvement/feedback.js.map +1 -0
  282. package/dist/improvement/index.d.ts +7 -0
  283. package/dist/improvement/index.d.ts.map +1 -0
  284. package/dist/improvement/index.js +7 -0
  285. package/dist/improvement/index.js.map +1 -0
  286. package/dist/improvement/metrics.d.ts +4 -0
  287. package/dist/improvement/metrics.d.ts.map +1 -0
  288. package/dist/improvement/metrics.js +38 -0
  289. package/dist/improvement/metrics.js.map +1 -0
  290. package/dist/improvement/projection.d.ts +7 -0
  291. package/dist/improvement/projection.d.ts.map +1 -0
  292. package/dist/improvement/projection.js +135 -0
  293. package/dist/improvement/projection.js.map +1 -0
  294. package/dist/improvement/types.d.ts +115 -0
  295. package/dist/improvement/types.d.ts.map +1 -0
  296. package/dist/improvement/types.js +2 -0
  297. package/dist/improvement/types.js.map +1 -0
  298. package/dist/index.d.ts +3 -0
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +3 -0
  301. package/dist/index.js.map +1 -1
  302. package/dist/instructions.d.ts +10 -0
  303. package/dist/instructions.d.ts.map +1 -0
  304. package/dist/instructions.js +93 -0
  305. package/dist/instructions.js.map +1 -0
  306. package/dist/isolation/contracts.d.ts +42 -0
  307. package/dist/isolation/contracts.d.ts.map +1 -0
  308. package/dist/isolation/contracts.js +33 -0
  309. package/dist/isolation/contracts.js.map +1 -0
  310. package/dist/isolation/coordinator.d.ts +10 -0
  311. package/dist/isolation/coordinator.d.ts.map +1 -0
  312. package/dist/isolation/coordinator.js +79 -0
  313. package/dist/isolation/coordinator.js.map +1 -0
  314. package/dist/isolation/index.d.ts +5 -0
  315. package/dist/isolation/index.d.ts.map +1 -0
  316. package/dist/isolation/index.js +5 -0
  317. package/dist/isolation/index.js.map +1 -0
  318. package/dist/isolation/process.d.ts +11 -0
  319. package/dist/isolation/process.d.ts.map +1 -0
  320. package/dist/isolation/process.js +131 -0
  321. package/dist/isolation/process.js.map +1 -0
  322. package/dist/isolation/worktree.d.ts +25 -0
  323. package/dist/isolation/worktree.d.ts.map +1 -0
  324. package/dist/isolation/worktree.js +282 -0
  325. package/dist/isolation/worktree.js.map +1 -0
  326. package/dist/iteration-ledger.d.ts.map +1 -1
  327. package/dist/iteration-ledger.js.map +1 -1
  328. package/dist/local-model.d.ts +2 -2
  329. package/dist/local-model.d.ts.map +1 -1
  330. package/dist/mcp.js.map +1 -1
  331. package/dist/memory.d.ts.map +1 -1
  332. package/dist/memory.js +5 -1
  333. package/dist/memory.js.map +1 -1
  334. package/dist/model-detection.d.ts +14 -18
  335. package/dist/model-detection.d.ts.map +1 -1
  336. package/dist/model-detection.js +287 -149
  337. package/dist/model-detection.js.map +1 -1
  338. package/dist/models/index.d.ts +3 -0
  339. package/dist/models/index.d.ts.map +1 -0
  340. package/dist/models/index.js +3 -0
  341. package/dist/models/index.js.map +1 -0
  342. package/dist/models/metadata.d.ts +43 -0
  343. package/dist/models/metadata.d.ts.map +1 -0
  344. package/dist/models/metadata.js +72 -0
  345. package/dist/models/metadata.js.map +1 -0
  346. package/dist/models/openrouter.d.ts +6 -0
  347. package/dist/models/openrouter.d.ts.map +1 -0
  348. package/dist/models/openrouter.js +38 -0
  349. package/dist/models/openrouter.js.map +1 -0
  350. package/dist/orchestration/accounting.d.ts +35 -0
  351. package/dist/orchestration/accounting.d.ts.map +1 -0
  352. package/dist/orchestration/accounting.js +27 -0
  353. package/dist/orchestration/accounting.js.map +1 -0
  354. package/dist/orchestration/actions.d.ts +23 -0
  355. package/dist/orchestration/actions.d.ts.map +1 -0
  356. package/dist/orchestration/actions.js +65 -0
  357. package/dist/orchestration/actions.js.map +1 -0
  358. package/dist/orchestration/cli.d.ts +28 -0
  359. package/dist/orchestration/cli.d.ts.map +1 -0
  360. package/dist/orchestration/cli.js +178 -0
  361. package/dist/orchestration/cli.js.map +1 -0
  362. package/dist/orchestration/coordinator-actions.d.ts +15 -0
  363. package/dist/orchestration/coordinator-actions.d.ts.map +1 -0
  364. package/dist/orchestration/coordinator-actions.js +79 -0
  365. package/dist/orchestration/coordinator-actions.js.map +1 -0
  366. package/dist/orchestration/coordinator-types.d.ts +193 -0
  367. package/dist/orchestration/coordinator-types.d.ts.map +1 -0
  368. package/dist/orchestration/coordinator-types.js +2 -0
  369. package/dist/orchestration/coordinator-types.js.map +1 -0
  370. package/dist/orchestration/coordinator.d.ts +32 -0
  371. package/dist/orchestration/coordinator.d.ts.map +1 -0
  372. package/dist/orchestration/coordinator.js +405 -0
  373. package/dist/orchestration/coordinator.js.map +1 -0
  374. package/dist/orchestration/execution-cli.d.ts +11 -0
  375. package/dist/orchestration/execution-cli.d.ts.map +1 -0
  376. package/dist/orchestration/execution-cli.js +183 -0
  377. package/dist/orchestration/execution-cli.js.map +1 -0
  378. package/dist/orchestration/execution-journal.d.ts +15 -0
  379. package/dist/orchestration/execution-journal.d.ts.map +1 -0
  380. package/dist/orchestration/execution-journal.js +477 -0
  381. package/dist/orchestration/execution-journal.js.map +1 -0
  382. package/dist/orchestration/execution-store.d.ts +39 -0
  383. package/dist/orchestration/execution-store.d.ts.map +1 -0
  384. package/dist/orchestration/execution-store.js +325 -0
  385. package/dist/orchestration/execution-store.js.map +1 -0
  386. package/dist/orchestration/execution.d.ts +8 -0
  387. package/dist/orchestration/execution.d.ts.map +1 -0
  388. package/dist/orchestration/execution.js +47 -0
  389. package/dist/orchestration/execution.js.map +1 -0
  390. package/dist/orchestration/index.d.ts +20 -0
  391. package/dist/orchestration/index.d.ts.map +1 -0
  392. package/dist/orchestration/index.js +17 -0
  393. package/dist/orchestration/index.js.map +1 -0
  394. package/dist/orchestration/progress.d.ts +19 -0
  395. package/dist/orchestration/progress.d.ts.map +1 -0
  396. package/dist/orchestration/progress.js +20 -0
  397. package/dist/orchestration/progress.js.map +1 -0
  398. package/dist/orchestration/recovery.d.ts +4 -0
  399. package/dist/orchestration/recovery.d.ts.map +1 -0
  400. package/dist/orchestration/recovery.js +121 -0
  401. package/dist/orchestration/recovery.js.map +1 -0
  402. package/dist/orchestration/request-accounting.d.ts +35 -0
  403. package/dist/orchestration/request-accounting.d.ts.map +1 -0
  404. package/dist/orchestration/request-accounting.js +71 -0
  405. package/dist/orchestration/request-accounting.js.map +1 -0
  406. package/dist/orchestration/routing.d.ts +20 -0
  407. package/dist/orchestration/routing.d.ts.map +1 -0
  408. package/dist/orchestration/routing.js +38 -0
  409. package/dist/orchestration/routing.js.map +1 -0
  410. package/dist/orchestration/store.d.ts +26 -0
  411. package/dist/orchestration/store.d.ts.map +1 -0
  412. package/dist/orchestration/store.js +381 -0
  413. package/dist/orchestration/store.js.map +1 -0
  414. package/dist/orchestration/types.d.ts +201 -0
  415. package/dist/orchestration/types.d.ts.map +1 -0
  416. package/dist/orchestration/types.js +11 -0
  417. package/dist/orchestration/types.js.map +1 -0
  418. package/dist/orchestration/validation.d.ts +29 -0
  419. package/dist/orchestration/validation.d.ts.map +1 -0
  420. package/dist/orchestration/validation.js +440 -0
  421. package/dist/orchestration/validation.js.map +1 -0
  422. package/dist/orchestration/verification.d.ts +30 -0
  423. package/dist/orchestration/verification.d.ts.map +1 -0
  424. package/dist/orchestration/verification.js +204 -0
  425. package/dist/orchestration/verification.js.map +1 -0
  426. package/dist/orchestration/worker-context.d.ts +33 -0
  427. package/dist/orchestration/worker-context.d.ts.map +1 -0
  428. package/dist/orchestration/worker-context.js +31 -0
  429. package/dist/orchestration/worker-context.js.map +1 -0
  430. package/dist/parallel-tools.js.map +1 -1
  431. package/dist/plugins.d.ts.map +1 -1
  432. package/dist/policy.d.ts +1 -0
  433. package/dist/policy.d.ts.map +1 -1
  434. package/dist/policy.js +25 -5
  435. package/dist/policy.js.map +1 -1
  436. package/dist/preferences/controls.d.ts +21 -0
  437. package/dist/preferences/controls.d.ts.map +1 -0
  438. package/dist/preferences/controls.js +36 -0
  439. package/dist/preferences/controls.js.map +1 -0
  440. package/dist/preferences/flags.d.ts +8 -0
  441. package/dist/preferences/flags.d.ts.map +1 -0
  442. package/dist/preferences/flags.js +27 -0
  443. package/dist/preferences/flags.js.map +1 -0
  444. package/dist/preferences/index.d.ts +9 -0
  445. package/dist/preferences/index.d.ts.map +1 -0
  446. package/dist/preferences/index.js +9 -0
  447. package/dist/preferences/index.js.map +1 -0
  448. package/dist/preferences/once.d.ts +8 -0
  449. package/dist/preferences/once.d.ts.map +1 -0
  450. package/dist/preferences/once.js +28 -0
  451. package/dist/preferences/once.js.map +1 -0
  452. package/dist/preferences/resolve.d.ts +14 -0
  453. package/dist/preferences/resolve.d.ts.map +1 -0
  454. package/dist/preferences/resolve.js +58 -0
  455. package/dist/preferences/resolve.js.map +1 -0
  456. package/dist/preferences/store.d.ts +19 -0
  457. package/dist/preferences/store.d.ts.map +1 -0
  458. package/dist/preferences/store.js +147 -0
  459. package/dist/preferences/store.js.map +1 -0
  460. package/dist/preferences/submission.d.ts +16 -0
  461. package/dist/preferences/submission.d.ts.map +1 -0
  462. package/dist/preferences/submission.js +29 -0
  463. package/dist/preferences/submission.js.map +1 -0
  464. package/dist/preferences/types.d.ts +23 -0
  465. package/dist/preferences/types.d.ts.map +1 -0
  466. package/dist/preferences/types.js +2 -0
  467. package/dist/preferences/types.js.map +1 -0
  468. package/dist/preferences/validate.d.ts +3 -0
  469. package/dist/preferences/validate.d.ts.map +1 -0
  470. package/dist/preferences/validate.js +15 -0
  471. package/dist/preferences/validate.js.map +1 -0
  472. package/dist/process-cancellation.d.ts +6 -0
  473. package/dist/process-cancellation.d.ts.map +1 -0
  474. package/dist/process-cancellation.js +39 -0
  475. package/dist/process-cancellation.js.map +1 -0
  476. package/dist/providers/anthropic.d.ts +7 -2
  477. package/dist/providers/anthropic.d.ts.map +1 -1
  478. package/dist/providers/anthropic.js +72 -41
  479. package/dist/providers/anthropic.js.map +1 -1
  480. package/dist/providers/bedrock.d.ts +1 -1
  481. package/dist/providers/bedrock.d.ts.map +1 -1
  482. package/dist/providers/bedrock.js +39 -23
  483. package/dist/providers/bedrock.js.map +1 -1
  484. package/dist/providers/compat.d.ts +4 -3
  485. package/dist/providers/compat.d.ts.map +1 -1
  486. package/dist/providers/compat.js +49 -31
  487. package/dist/providers/compat.js.map +1 -1
  488. package/dist/providers/deepseek-reasoning.d.ts +64 -0
  489. package/dist/providers/deepseek-reasoning.d.ts.map +1 -0
  490. package/dist/providers/deepseek-reasoning.js +28 -0
  491. package/dist/providers/deepseek-reasoning.js.map +1 -0
  492. package/dist/providers/google.d.ts +4 -3
  493. package/dist/providers/google.d.ts.map +1 -1
  494. package/dist/providers/google.js +128 -19
  495. package/dist/providers/google.js.map +1 -1
  496. package/dist/providers/index.d.ts +2 -0
  497. package/dist/providers/index.d.ts.map +1 -1
  498. package/dist/providers/index.js +216 -36
  499. package/dist/providers/index.js.map +1 -1
  500. package/dist/providers/ollama.d.ts.map +1 -1
  501. package/dist/providers/ollama.js +79 -43
  502. package/dist/providers/ollama.js.map +1 -1
  503. package/dist/providers/openai.d.ts +12 -12
  504. package/dist/providers/openai.d.ts.map +1 -1
  505. package/dist/providers/openai.js +54 -46
  506. package/dist/providers/openai.js.map +1 -1
  507. package/dist/providers/openrouter-bounds.d.ts +22 -0
  508. package/dist/providers/openrouter-bounds.d.ts.map +1 -0
  509. package/dist/providers/openrouter-bounds.js +16 -0
  510. package/dist/providers/openrouter-bounds.js.map +1 -0
  511. package/dist/providers/stream-attempt.d.ts +29 -0
  512. package/dist/providers/stream-attempt.d.ts.map +1 -0
  513. package/dist/providers/stream-attempt.js +63 -0
  514. package/dist/providers/stream-attempt.js.map +1 -0
  515. package/dist/providers/types.d.ts +40 -4
  516. package/dist/providers/types.d.ts.map +1 -1
  517. package/dist/providers/types.js +19 -0
  518. package/dist/providers/types.js.map +1 -1
  519. package/dist/replay.d.ts.map +1 -1
  520. package/dist/replay.js +16 -0
  521. package/dist/replay.js.map +1 -1
  522. package/dist/risk.d.ts.map +1 -1
  523. package/dist/risk.js +5 -0
  524. package/dist/risk.js.map +1 -1
  525. package/dist/router.d.ts +7 -110
  526. package/dist/router.d.ts.map +1 -1
  527. package/dist/router.js +0 -451
  528. package/dist/router.js.map +1 -1
  529. package/dist/routing/index.d.ts +6 -0
  530. package/dist/routing/index.d.ts.map +1 -0
  531. package/dist/routing/index.js +5 -0
  532. package/dist/routing/index.js.map +1 -0
  533. package/dist/routing/prompt.d.ts +4 -0
  534. package/dist/routing/prompt.d.ts.map +1 -0
  535. package/dist/routing/prompt.js +14 -0
  536. package/dist/routing/prompt.js.map +1 -0
  537. package/dist/routing/select.d.ts +9 -0
  538. package/dist/routing/select.d.ts.map +1 -0
  539. package/dist/routing/select.js +279 -0
  540. package/dist/routing/select.js.map +1 -0
  541. package/dist/routing/smart.d.ts +31 -0
  542. package/dist/routing/smart.d.ts.map +1 -0
  543. package/dist/routing/smart.js +46 -0
  544. package/dist/routing/smart.js.map +1 -0
  545. package/dist/routing/types.d.ts +79 -0
  546. package/dist/routing/types.d.ts.map +1 -0
  547. package/dist/routing/types.js +2 -0
  548. package/dist/routing/types.js.map +1 -0
  549. package/dist/runlog.d.ts +32 -4
  550. package/dist/runlog.d.ts.map +1 -1
  551. package/dist/runlog.js +22 -6
  552. package/dist/runlog.js.map +1 -1
  553. package/dist/runtime/index.d.ts +6 -0
  554. package/dist/runtime/index.d.ts.map +1 -0
  555. package/dist/runtime/index.js +6 -0
  556. package/dist/runtime/index.js.map +1 -0
  557. package/dist/runtime/permissions.d.ts +21 -0
  558. package/dist/runtime/permissions.d.ts.map +1 -0
  559. package/dist/runtime/permissions.js +110 -0
  560. package/dist/runtime/permissions.js.map +1 -0
  561. package/dist/runtime/repair.d.ts +20 -0
  562. package/dist/runtime/repair.d.ts.map +1 -0
  563. package/dist/runtime/repair.js +50 -0
  564. package/dist/runtime/repair.js.map +1 -0
  565. package/dist/runtime/tool-retry.d.ts +3 -0
  566. package/dist/runtime/tool-retry.d.ts.map +1 -0
  567. package/dist/runtime/tool-retry.js +12 -0
  568. package/dist/runtime/tool-retry.js.map +1 -0
  569. package/dist/runtime/turn.d.ts +97 -0
  570. package/dist/runtime/turn.d.ts.map +1 -0
  571. package/dist/runtime/turn.js +437 -0
  572. package/dist/runtime/turn.js.map +1 -0
  573. package/dist/runtime/types.d.ts +11 -0
  574. package/dist/runtime/types.d.ts.map +1 -0
  575. package/dist/runtime/types.js +5 -0
  576. package/dist/runtime/types.js.map +1 -0
  577. package/dist/sandbox/docker.d.ts +4 -4
  578. package/dist/sandbox/docker.d.ts.map +1 -1
  579. package/dist/sandbox/docker.js +55 -16
  580. package/dist/sandbox/docker.js.map +1 -1
  581. package/dist/sandbox/native.d.ts +1 -0
  582. package/dist/sandbox/native.d.ts.map +1 -1
  583. package/dist/sandbox/native.js +11 -2
  584. package/dist/sandbox/native.js.map +1 -1
  585. package/dist/scope.d.ts +5 -9
  586. package/dist/scope.d.ts.map +1 -1
  587. package/dist/scope.js +43 -20
  588. package/dist/scope.js.map +1 -1
  589. package/dist/scuttlebot/client.d.ts.map +1 -1
  590. package/dist/scuttlebot/client.js.map +1 -1
  591. package/dist/scuttlebot/http-client.d.ts.map +1 -1
  592. package/dist/scuttlebot/irc-client.d.ts +5 -5
  593. package/dist/scuttlebot/irc-client.d.ts.map +1 -1
  594. package/dist/scuttlebot/irc-client.js.map +1 -1
  595. package/dist/session-management/actions.d.ts +28 -0
  596. package/dist/session-management/actions.d.ts.map +1 -0
  597. package/dist/session-management/actions.js +78 -0
  598. package/dist/session-management/actions.js.map +1 -0
  599. package/dist/session-management/cli.d.ts +24 -0
  600. package/dist/session-management/cli.d.ts.map +1 -0
  601. package/dist/session-management/cli.js +92 -0
  602. package/dist/session-management/cli.js.map +1 -0
  603. package/dist/session-management/files.d.ts +5 -0
  604. package/dist/session-management/files.d.ts.map +1 -0
  605. package/dist/session-management/files.js +92 -0
  606. package/dist/session-management/files.js.map +1 -0
  607. package/dist/session-management/index.d.ts +7 -0
  608. package/dist/session-management/index.d.ts.map +1 -0
  609. package/dist/session-management/index.js +7 -0
  610. package/dist/session-management/index.js.map +1 -0
  611. package/dist/session-management/permissions.d.ts +12 -0
  612. package/dist/session-management/permissions.d.ts.map +1 -0
  613. package/dist/session-management/permissions.js +33 -0
  614. package/dist/session-management/permissions.js.map +1 -0
  615. package/dist/session-management/presentation.d.ts +5 -0
  616. package/dist/session-management/presentation.d.ts.map +1 -0
  617. package/dist/session-management/presentation.js +10 -0
  618. package/dist/session-management/presentation.js.map +1 -0
  619. package/dist/session-management/transfer.d.ts +9 -0
  620. package/dist/session-management/transfer.d.ts.map +1 -0
  621. package/dist/session-management/transfer.js +39 -0
  622. package/dist/session-management/transfer.js.map +1 -0
  623. package/dist/sessions/context.d.ts +4 -0
  624. package/dist/sessions/context.d.ts.map +1 -0
  625. package/dist/sessions/context.js +6 -0
  626. package/dist/sessions/context.js.map +1 -0
  627. package/dist/sessions/format.d.ts +38 -0
  628. package/dist/sessions/format.d.ts.map +1 -0
  629. package/dist/sessions/format.js +116 -0
  630. package/dist/sessions/format.js.map +1 -0
  631. package/dist/sessions/history.d.ts +37 -0
  632. package/dist/sessions/history.d.ts.map +1 -0
  633. package/dist/sessions/history.js +197 -0
  634. package/dist/sessions/history.js.map +1 -0
  635. package/dist/sessions/index.d.ts +8 -0
  636. package/dist/sessions/index.d.ts.map +1 -0
  637. package/dist/sessions/index.js +8 -0
  638. package/dist/sessions/index.js.map +1 -0
  639. package/dist/sessions/output.d.ts +31 -0
  640. package/dist/sessions/output.d.ts.map +1 -0
  641. package/dist/sessions/output.js +115 -0
  642. package/dist/sessions/output.js.map +1 -0
  643. package/dist/sessions/portable.d.ts +26 -0
  644. package/dist/sessions/portable.d.ts.map +1 -0
  645. package/dist/sessions/portable.js +105 -0
  646. package/dist/sessions/portable.js.map +1 -0
  647. package/dist/sessions/snapshot.d.ts +11 -0
  648. package/dist/sessions/snapshot.d.ts.map +1 -0
  649. package/dist/sessions/snapshot.js +118 -0
  650. package/dist/sessions/snapshot.js.map +1 -0
  651. package/dist/sessions/tool-state.d.ts +11 -0
  652. package/dist/sessions/tool-state.d.ts.map +1 -0
  653. package/dist/sessions/tool-state.js +152 -0
  654. package/dist/sessions/tool-state.js.map +1 -0
  655. package/dist/setup.d.ts.map +1 -1
  656. package/dist/setup.js +16 -5
  657. package/dist/setup.js.map +1 -1
  658. package/dist/spawning/actions.d.ts +23 -0
  659. package/dist/spawning/actions.d.ts.map +1 -0
  660. package/dist/spawning/actions.js +120 -0
  661. package/dist/spawning/actions.js.map +1 -0
  662. package/dist/spawning/authority.d.ts +15 -0
  663. package/dist/spawning/authority.d.ts.map +1 -0
  664. package/dist/spawning/authority.js +16 -0
  665. package/dist/spawning/authority.js.map +1 -0
  666. package/dist/spawning/cli.d.ts +4 -0
  667. package/dist/spawning/cli.d.ts.map +1 -0
  668. package/dist/spawning/cli.js +46 -0
  669. package/dist/spawning/cli.js.map +1 -0
  670. package/dist/spawning/execution.d.ts +13 -0
  671. package/dist/spawning/execution.d.ts.map +1 -0
  672. package/dist/spawning/execution.js +59 -0
  673. package/dist/spawning/execution.js.map +1 -0
  674. package/dist/spawning/index.d.ts +8 -0
  675. package/dist/spawning/index.d.ts.map +1 -0
  676. package/dist/spawning/index.js +8 -0
  677. package/dist/spawning/index.js.map +1 -0
  678. package/dist/spawning/store.d.ts +12 -0
  679. package/dist/spawning/store.d.ts.map +1 -0
  680. package/dist/spawning/store.js +93 -0
  681. package/dist/spawning/store.js.map +1 -0
  682. package/dist/spawning/types.d.ts +34 -0
  683. package/dist/spawning/types.d.ts.map +1 -0
  684. package/dist/spawning/types.js +2 -0
  685. package/dist/spawning/types.js.map +1 -0
  686. package/dist/spawning/validation.d.ts +14 -0
  687. package/dist/spawning/validation.d.ts.map +1 -0
  688. package/dist/spawning/validation.js +95 -0
  689. package/dist/spawning/validation.js.map +1 -0
  690. package/dist/storage.d.ts +29 -1
  691. package/dist/storage.d.ts.map +1 -1
  692. package/dist/storage.js +112 -40
  693. package/dist/storage.js.map +1 -1
  694. package/dist/streaming.d.ts.map +1 -1
  695. package/dist/streaming.js.map +1 -1
  696. package/dist/styles.d.ts +56 -56
  697. package/dist/styles.d.ts.map +1 -1
  698. package/dist/styles.js.map +1 -1
  699. package/dist/summarization.d.ts.map +1 -1
  700. package/dist/summarization.js.map +1 -1
  701. package/dist/supervision/approval.d.ts +4 -0
  702. package/dist/supervision/approval.d.ts.map +1 -0
  703. package/dist/supervision/approval.js +7 -0
  704. package/dist/supervision/approval.js.map +1 -0
  705. package/dist/supervision/availability.d.ts +34 -0
  706. package/dist/supervision/availability.d.ts.map +1 -0
  707. package/dist/supervision/availability.js +44 -0
  708. package/dist/supervision/availability.js.map +1 -0
  709. package/dist/supervision/context.d.ts +36 -0
  710. package/dist/supervision/context.d.ts.map +1 -0
  711. package/dist/supervision/context.js +52 -0
  712. package/dist/supervision/context.js.map +1 -0
  713. package/dist/supervision/contracts.d.ts +7 -0
  714. package/dist/supervision/contracts.d.ts.map +1 -0
  715. package/dist/supervision/contracts.js +86 -0
  716. package/dist/supervision/contracts.js.map +1 -0
  717. package/dist/supervision/effects.d.ts +15 -0
  718. package/dist/supervision/effects.d.ts.map +1 -0
  719. package/dist/supervision/effects.js +19 -0
  720. package/dist/supervision/effects.js.map +1 -0
  721. package/dist/supervision/evidence.d.ts +32 -0
  722. package/dist/supervision/evidence.d.ts.map +1 -0
  723. package/dist/supervision/evidence.js +68 -0
  724. package/dist/supervision/evidence.js.map +1 -0
  725. package/dist/supervision/health.d.ts +16 -0
  726. package/dist/supervision/health.d.ts.map +1 -0
  727. package/dist/supervision/health.js +86 -0
  728. package/dist/supervision/health.js.map +1 -0
  729. package/dist/supervision/index.d.ts +13 -0
  730. package/dist/supervision/index.d.ts.map +1 -0
  731. package/dist/supervision/index.js +13 -0
  732. package/dist/supervision/index.js.map +1 -0
  733. package/dist/supervision/journal.d.ts +16 -0
  734. package/dist/supervision/journal.d.ts.map +1 -0
  735. package/dist/supervision/journal.js +311 -0
  736. package/dist/supervision/journal.js.map +1 -0
  737. package/dist/supervision/receipts.d.ts +4 -0
  738. package/dist/supervision/receipts.d.ts.map +1 -0
  739. package/dist/supervision/receipts.js +21 -0
  740. package/dist/supervision/receipts.js.map +1 -0
  741. package/dist/supervision/reply.d.ts +12 -0
  742. package/dist/supervision/reply.d.ts.map +1 -0
  743. package/dist/supervision/reply.js +50 -0
  744. package/dist/supervision/reply.js.map +1 -0
  745. package/dist/supervision/runtime.d.ts +8 -0
  746. package/dist/supervision/runtime.d.ts.map +1 -0
  747. package/dist/supervision/runtime.js +188 -0
  748. package/dist/supervision/runtime.js.map +1 -0
  749. package/dist/supervision/types.d.ts +174 -0
  750. package/dist/supervision/types.d.ts.map +1 -0
  751. package/dist/supervision/types.js +2 -0
  752. package/dist/supervision/types.js.map +1 -0
  753. package/dist/terminal-image.js.map +1 -1
  754. package/dist/tools.d.ts +12 -0
  755. package/dist/tools.d.ts.map +1 -1
  756. package/dist/tools.js +131 -23
  757. package/dist/tools.js.map +1 -1
  758. package/dist/trust.js.map +1 -1
  759. package/dist/turn-controller.d.ts +12 -0
  760. package/dist/turn-controller.d.ts.map +1 -0
  761. package/dist/turn-controller.js +51 -0
  762. package/dist/turn-controller.js.map +1 -0
  763. package/dist/types.d.ts +7 -1
  764. package/dist/types.d.ts.map +1 -1
  765. package/dist/types.js +3 -0
  766. package/dist/types.js.map +1 -1
  767. package/dist/ui/agent.d.ts +11 -10
  768. package/dist/ui/agent.d.ts.map +1 -1
  769. package/dist/ui/agent.js +293 -897
  770. package/dist/ui/agent.js.map +1 -1
  771. package/dist/ui/chat-input.d.ts +2 -1
  772. package/dist/ui/chat-input.d.ts.map +1 -1
  773. package/dist/ui/commands.d.ts +20 -2
  774. package/dist/ui/commands.d.ts.map +1 -1
  775. package/dist/ui/commands.js +208 -155
  776. package/dist/ui/commands.js.map +1 -1
  777. package/dist/ui/completions.d.ts.map +1 -1
  778. package/dist/ui/completions.js +16 -5
  779. package/dist/ui/completions.js.map +1 -1
  780. package/dist/ui/components.d.ts +6 -6
  781. package/dist/ui/components.d.ts.map +1 -1
  782. package/dist/ui/debug-log.d.ts.map +1 -1
  783. package/dist/ui/error-boundary.d.ts +1 -1
  784. package/dist/ui/error-boundary.d.ts.map +1 -1
  785. package/dist/ui/frame.d.ts +1 -1
  786. package/dist/ui/frame.d.ts.map +1 -1
  787. package/dist/ui/index.d.ts +7 -3
  788. package/dist/ui/index.d.ts.map +1 -1
  789. package/dist/ui/index.js +13 -11
  790. package/dist/ui/index.js.map +1 -1
  791. package/dist/ui/messages.d.ts +1 -1
  792. package/dist/ui/messages.d.ts.map +1 -1
  793. package/dist/ui/messages.js +5 -0
  794. package/dist/ui/messages.js.map +1 -1
  795. package/dist/ui/modals/index.d.ts +1 -0
  796. package/dist/ui/modals/index.d.ts.map +1 -1
  797. package/dist/ui/modals/index.js +1 -0
  798. package/dist/ui/modals/index.js.map +1 -1
  799. package/dist/ui/modals/prompts.d.ts +9 -11
  800. package/dist/ui/modals/prompts.d.ts.map +1 -1
  801. package/dist/ui/modals/prompts.js +15 -11
  802. package/dist/ui/modals/prompts.js.map +1 -1
  803. package/dist/ui/modals/selectors.d.ts +5 -3
  804. package/dist/ui/modals/selectors.d.ts.map +1 -1
  805. package/dist/ui/modals/selectors.js +3 -2
  806. package/dist/ui/modals/selectors.js.map +1 -1
  807. package/dist/ui/modals/setup.d.ts +3 -2
  808. package/dist/ui/modals/setup.d.ts.map +1 -1
  809. package/dist/ui/modals/setup.js +1 -1
  810. package/dist/ui/modals/tool-output.d.ts +8 -0
  811. package/dist/ui/modals/tool-output.d.ts.map +1 -0
  812. package/dist/ui/modals/tool-output.js +26 -0
  813. package/dist/ui/modals/tool-output.js.map +1 -0
  814. package/dist/ui/model-commands.d.ts +4 -0
  815. package/dist/ui/model-commands.d.ts.map +1 -0
  816. package/dist/ui/model-commands.js +69 -0
  817. package/dist/ui/model-commands.js.map +1 -0
  818. package/dist/ui/regions/input-region.d.ts +1 -1
  819. package/dist/ui/regions/input-region.d.ts.map +1 -1
  820. package/dist/ui/regions/modal-host.d.ts +4 -1
  821. package/dist/ui/regions/modal-host.d.ts.map +1 -1
  822. package/dist/ui/regions/modal-host.js +7 -1
  823. package/dist/ui/regions/modal-host.js.map +1 -1
  824. package/dist/ui/regions/static-scrollback.d.ts +1 -1
  825. package/dist/ui/regions/static-scrollback.d.ts.map +1 -1
  826. package/dist/ui/regions/status-region.d.ts +2 -1
  827. package/dist/ui/regions/status-region.d.ts.map +1 -1
  828. package/dist/ui/regions/status-region.js +2 -2
  829. package/dist/ui/regions/status-region.js.map +1 -1
  830. package/dist/ui/regions/tool-activity.d.ts +6 -0
  831. package/dist/ui/regions/tool-activity.d.ts.map +1 -0
  832. package/dist/ui/regions/tool-activity.js +9 -0
  833. package/dist/ui/regions/tool-activity.js.map +1 -0
  834. package/dist/ui/regions/transcript-region.d.ts +1 -1
  835. package/dist/ui/regions/transcript-region.d.ts.map +1 -1
  836. package/dist/ui/regions/transcript-region.js +3 -2
  837. package/dist/ui/regions/transcript-region.js.map +1 -1
  838. package/dist/ui/regions/workflow-region.d.ts +9 -0
  839. package/dist/ui/regions/workflow-region.d.ts.map +1 -0
  840. package/dist/ui/regions/workflow-region.js +11 -0
  841. package/dist/ui/regions/workflow-region.js.map +1 -0
  842. package/dist/ui/self-restart.js.map +1 -1
  843. package/dist/ui/session-commands.d.ts +3 -0
  844. package/dist/ui/session-commands.d.ts.map +1 -0
  845. package/dist/ui/session-commands.js +141 -0
  846. package/dist/ui/session-commands.js.map +1 -0
  847. package/dist/ui/state/use-approval-state.d.ts +9 -0
  848. package/dist/ui/state/use-approval-state.d.ts.map +1 -0
  849. package/dist/ui/state/use-approval-state.js +18 -0
  850. package/dist/ui/state/use-approval-state.js.map +1 -0
  851. package/dist/ui/state/use-chat-controller.d.ts +4 -1
  852. package/dist/ui/state/use-chat-controller.d.ts.map +1 -1
  853. package/dist/ui/state/use-chat-controller.js +256 -180
  854. package/dist/ui/state/use-chat-controller.js.map +1 -1
  855. package/dist/ui/state/use-modal-state.d.ts +6 -8
  856. package/dist/ui/state/use-modal-state.d.ts.map +1 -1
  857. package/dist/ui/state/use-modal-state.js +3 -4
  858. package/dist/ui/state/use-modal-state.js.map +1 -1
  859. package/dist/ui/state/use-model-state.d.ts +7 -3
  860. package/dist/ui/state/use-model-state.d.ts.map +1 -1
  861. package/dist/ui/state/use-model-state.js +24 -17
  862. package/dist/ui/state/use-model-state.js.map +1 -1
  863. package/dist/ui/state/use-processing-state.js.map +1 -1
  864. package/dist/ui/state/use-queue-state.d.ts +4 -3
  865. package/dist/ui/state/use-queue-state.d.ts.map +1 -1
  866. package/dist/ui/state/use-queue-state.js +11 -8
  867. package/dist/ui/state/use-queue-state.js.map +1 -1
  868. package/dist/ui/state/use-session-init.d.ts +4 -0
  869. package/dist/ui/state/use-session-init.d.ts.map +1 -1
  870. package/dist/ui/state/use-session-init.js +19 -3
  871. package/dist/ui/state/use-session-init.js.map +1 -1
  872. package/dist/ui/state/use-transcript-state.d.ts +6 -3
  873. package/dist/ui/state/use-transcript-state.d.ts.map +1 -1
  874. package/dist/ui/state/use-transcript-state.js +27 -15
  875. package/dist/ui/state/use-transcript-state.js.map +1 -1
  876. package/dist/ui/status-bar.d.ts +3 -2
  877. package/dist/ui/status-bar.d.ts.map +1 -1
  878. package/dist/ui/status-bar.js +3 -3
  879. package/dist/ui/status-bar.js.map +1 -1
  880. package/dist/ui/tool-output-cache.d.ts +12 -0
  881. package/dist/ui/tool-output-cache.d.ts.map +1 -0
  882. package/dist/ui/tool-output-cache.js +27 -0
  883. package/dist/ui/tool-output-cache.js.map +1 -0
  884. package/dist/ui/tool-output-commands.d.ts +3 -0
  885. package/dist/ui/tool-output-commands.d.ts.map +1 -0
  886. package/dist/ui/tool-output-commands.js +37 -0
  887. package/dist/ui/tool-output-commands.js.map +1 -0
  888. package/dist/ui/tool-output-wrap.d.ts +3 -0
  889. package/dist/ui/tool-output-wrap.d.ts.map +1 -0
  890. package/dist/ui/tool-output-wrap.js +24 -0
  891. package/dist/ui/tool-output-wrap.js.map +1 -0
  892. package/dist/ui/tool-progress.d.ts +23 -0
  893. package/dist/ui/tool-progress.d.ts.map +1 -0
  894. package/dist/ui/tool-progress.js +42 -0
  895. package/dist/ui/tool-progress.js.map +1 -0
  896. package/dist/ui/types.d.ts +8 -0
  897. package/dist/ui/types.d.ts.map +1 -1
  898. package/dist/ui/workflow-progress.d.ts +21 -0
  899. package/dist/ui/workflow-progress.d.ts.map +1 -0
  900. package/dist/ui/workflow-progress.js +107 -0
  901. package/dist/ui/workflow-progress.js.map +1 -0
  902. package/dist/version-check.js.map +1 -1
  903. package/package.json +21 -12
  904. package/scripts/verify-runlog.mjs +208 -0
@@ -2,22 +2,28 @@
2
2
  * OpenAI-Compatible Provider
3
3
  *
4
4
  * Handles OpenRouter, Together, Groq, Fireworks, Mistral, AI21,
5
- * HuggingFace, Ollama, and LiteLLM via the OpenAI SDK.
5
+ * HuggingFace, DeepSeek, xAI, Cerebras, Ollama, and LiteLLM via the OpenAI SDK.
6
6
  */
7
7
  import OpenAI from 'openai';
8
+ import { isCancellation, throwIfCancelled } from '../cancellation.js';
8
9
  import * as config from '../config.js';
9
- import { calculateMaxTokens, debugLog } from './types.js';
10
+ import { normalizeFinishReason, calculateMaxTokens, limitOutputTokens, debugLog } from './types.js';
10
11
  import { toOpenAIMessages, toOpenAITools, parseOpenAIToolCalls } from './openai.js';
11
12
  import { getOllamaFallbackModel } from '../model-detection.js';
13
+ import { openRouterBounds } from './openrouter-bounds.js';
14
+ import { deepSeekReasoning, toDeepSeekMessages } from './deepseek-reasoning.js';
12
15
  // API base URLs for OpenAI-compatible providers
13
- const PROVIDER_BASE_URLS = {
16
+ export const PROVIDER_BASE_URLS = {
14
17
  openrouter: 'https://openrouter.ai/api/v1',
15
18
  together: 'https://api.together.xyz/v1',
16
19
  groq: 'https://api.groq.com/openai/v1',
17
20
  fireworks: 'https://api.fireworks.ai/inference/v1',
18
21
  mistral: 'https://api.mistral.ai/v1',
19
22
  ai21: 'https://api.ai21.com/studio/v1',
20
- huggingface: 'https://api-inference.huggingface.co/v1',
23
+ huggingface: 'https://router.huggingface.co/v1',
24
+ deepseek: 'https://api.deepseek.com',
25
+ xai: 'https://api.x.ai/v1',
26
+ cerebras: 'https://api.cerebras.ai/v1',
21
27
  };
22
28
  // ---------------------------------------------------------------------------
23
29
  // One-time tool-strip warnings (keyed by shim id)
@@ -191,7 +197,8 @@ export function detectShim(baseUrl) {
191
197
  /**
192
198
  * Chat with OpenAI-compatible APIs (OpenRouter, Together, Groq, Mistral, etc.)
193
199
  */
194
- export async function chatOpenAICompatible(provider, messages, tools, model, onToken) {
200
+ export async function chatOpenAICompatible(provider, messages, tools, model, onToken, signal, limits) {
201
+ const routingBounds = provider === 'openrouter' && limits?.bounded ? openRouterBounds(limits.priceCeiling) : {};
195
202
  // Ollama and LiteLLM use base URL, others use API key
196
203
  let apiKey;
197
204
  let baseURL;
@@ -227,25 +234,32 @@ export async function chatOpenAICompatible(provider, messages, tools, model, onT
227
234
  const resolvedBase = PROVIDER_BASE_URLS[provider];
228
235
  if (!resolvedBase)
229
236
  throw new Error(`Unknown provider: ${provider}`);
230
- baseURL = resolvedBase;
237
+ baseURL = config.getBaseUrl(provider) || resolvedBase;
231
238
  }
232
239
  // Apply openai-compat shim if applicable
233
240
  let activeShim = null;
234
241
  if (provider === 'openai-compat') {
235
242
  activeShim = detectShim(baseURL);
243
+ if (limits?.bounded && tools.length && !activeShim.supportsTools)
244
+ throw new Error('Bounded execution requires a server shim that preserves requested tools.');
236
245
  }
237
- const client = new OpenAI({ apiKey, baseURL });
238
- const openaiMessages = toOpenAIMessages(messages);
246
+ // Bind the active transport at request setup time. This keeps provider
247
+ // calls observable and cancellable for embedded runtimes and test harnesses
248
+ // that install a scoped fetch implementation after module initialization.
249
+ const client = new OpenAI({ apiKey, baseURL, fetch: globalThis.fetch, ...(limits?.bounded ? { maxRetries: 0 } : {}) });
250
+ const openaiMessages = provider === 'deepseek' ? toDeepSeekMessages(messages) : toOpenAIMessages(messages);
239
251
  const openaiTools = toOpenAITools(tools);
240
252
  // Calculate dynamic max_tokens based on available context space
241
- const dynamicMaxTokens = calculateMaxTokens(provider, model, messages, tools);
253
+ const dynamicMaxTokens = limitOutputTokens(calculateMaxTokens(provider, model, messages, tools), limits?.maxOutputTokens);
242
254
  debugLog(`${provider} request: model=${model}, max_tokens=${dynamicMaxTokens}`);
243
255
  // Use streaming if callback provided
244
256
  // Stream text content while collecting tool calls
245
257
  if (onToken) {
246
258
  let content = '';
259
+ let reasoningContent;
247
260
  let toolCallDeltas = {};
248
261
  let finishReason = 'stop';
262
+ let usage;
249
263
  try {
250
264
  let streamParams = {
251
265
  model,
@@ -253,14 +267,20 @@ export async function chatOpenAICompatible(provider, messages, tools, model, onT
253
267
  tools: openaiTools.length > 0 ? openaiTools : undefined,
254
268
  max_tokens: dynamicMaxTokens,
255
269
  stream: true,
270
+ ...(limits?.bounded ? { stream_options: { include_usage: true } } : {}),
271
+ ...routingBounds,
256
272
  };
257
273
  if (activeShim)
258
274
  streamParams = activeShim.transformRequest(streamParams);
259
- const stream = await client.chat.completions.create(streamParams);
275
+ const stream = await client.chat.completions.create(streamParams, signal ? { signal } : undefined);
260
276
  for await (const chunk of stream) {
277
+ if (chunk.usage)
278
+ usage = { inputTokens: chunk.usage.prompt_tokens, outputTokens: chunk.usage.completion_tokens };
261
279
  const choice = chunk.choices[0];
262
280
  if (!choice)
263
281
  continue;
282
+ if (provider === 'deepseek')
283
+ reasoningContent = deepSeekReasoning(choice.delta?.reasoning_content, reasoningContent);
264
284
  // Handle text content
265
285
  const textDelta = choice.delta?.content;
266
286
  if (textDelta) {
@@ -284,13 +304,11 @@ export async function chatOpenAICompatible(provider, messages, tools, model, onT
284
304
  }
285
305
  }
286
306
  // Track finish reason
287
- if (choice.finish_reason === 'tool_calls') {
288
- finishReason = 'tool_use';
289
- }
290
- else if (choice.finish_reason === 'length') {
291
- finishReason = 'length';
292
- }
307
+ if (choice.finish_reason)
308
+ finishReason = normalizeFinishReason(choice.finish_reason);
293
309
  }
310
+ // The SDK's async iterator can end normally after an abort.
311
+ throwIfCancelled(signal);
294
312
  // Convert tool call deltas to tool calls
295
313
  const toolCalls = Object.values(toolCallDeltas)
296
314
  .filter(tc => tc.id && tc.name)
@@ -308,20 +326,23 @@ export async function chatOpenAICompatible(provider, messages, tools, model, onT
308
326
  arguments: parsedArgs,
309
327
  };
310
328
  });
311
- if (toolCalls.length > 0) {
312
- finishReason = 'tool_use';
313
- }
329
+ finishReason = normalizeFinishReason(finishReason, toolCalls.length > 0);
314
330
  return {
315
331
  content,
316
332
  toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
317
333
  finishReason,
334
+ usage,
335
+ ...(reasoningContent === undefined ? {} : { providerMetadata: { deepseek: { version: 1, reasoningContent } } }),
336
+ warnings: usage ? undefined : ['Streaming usage was not reported; token and cost totals are incomplete.'],
318
337
  };
319
338
  }
320
339
  catch (streamError) {
321
- // Surface the streaming failure and re-throw so withRetry handles it
340
+ throwIfCancelled(signal);
341
+ if (isCancellation(streamError))
342
+ throw streamError;
343
+ // Keep diagnostics out of assistant tokens; shared retry handling owns errors.
322
344
  const errMsg = streamError instanceof Error ? streamError.message : String(streamError);
323
345
  debugLog(`${provider} streaming failed:`, errMsg);
324
- onToken(`\n[Streaming error: ${errMsg}]\n`);
325
346
  throw streamError;
326
347
  }
327
348
  }
@@ -334,15 +355,16 @@ export async function chatOpenAICompatible(provider, messages, tools, model, onT
334
355
  messages: openaiMessages,
335
356
  tools: openaiTools.length > 0 ? openaiTools : undefined,
336
357
  max_tokens: dynamicMaxTokens,
358
+ ...routingBounds,
337
359
  };
338
360
  if (activeShim)
339
361
  reqParams = activeShim.transformRequest(reqParams);
340
- response = await client.chat.completions.create(reqParams);
362
+ response = await client.chat.completions.create(reqParams, signal ? { signal } : undefined);
341
363
  }
342
364
  catch (error) {
343
365
  // Ollama model not found - try fallback discovery
344
366
  const status = error?.status;
345
- if (provider === 'ollama' && (status === 404 || String(error).includes('not found'))) {
367
+ if (!limits?.bounded && provider === 'ollama' && (status === 404 || String(error).includes('not found'))) {
346
368
  const fallback = await getOllamaFallbackModel();
347
369
  if (fallback && fallback !== model) {
348
370
  debugLog(`Ollama model "${model}" not found, falling back to "${fallback}"`);
@@ -355,7 +377,7 @@ export async function chatOpenAICompatible(provider, messages, tools, model, onT
355
377
  };
356
378
  if (activeShim)
357
379
  fallbackParams = activeShim.transformRequest(fallbackParams);
358
- response = await client.chat.completions.create(fallbackParams);
380
+ response = await client.chat.completions.create(fallbackParams, signal ? { signal } : undefined);
359
381
  }
360
382
  else {
361
383
  throw new Error(`Ollama model "${model}" not found. Pull it with: ollama pull ${model}`);
@@ -370,19 +392,15 @@ export async function chatOpenAICompatible(provider, messages, tools, model, onT
370
392
  }
371
393
  const choice = response.choices[0];
372
394
  const message = choice.message;
395
+ const reasoningContent = provider === 'deepseek' ? deepSeekReasoning(message.reasoning_content) : undefined;
373
396
  const toolCalls = parseOpenAIToolCalls(message.tool_calls);
374
397
  // Map finish reasons
375
- let finishReason = 'stop';
376
- if (choice.finish_reason === 'tool_calls') {
377
- finishReason = 'tool_use';
378
- }
379
- else if (choice.finish_reason === 'length') {
380
- finishReason = 'length';
381
- }
398
+ const finishReason = normalizeFinishReason(choice.finish_reason, toolCalls.length > 0);
382
399
  return {
383
400
  content: message.content || '',
384
401
  toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
385
402
  finishReason,
403
+ ...(reasoningContent === undefined ? {} : { providerMetadata: { deepseek: { version: 1, reasoningContent } } }),
386
404
  usage: response.usage ? {
387
405
  inputTokens: response.usage.prompt_tokens,
388
406
  outputTokens: response.usage.completion_tokens,
@@ -1 +1 @@
1
- {"version":3,"file":"compat.js","sourceRoot":"","sources":["../../src/providers/compat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compat.js","sourceRoot":"","sources":["../../src/providers/compat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAA2C,MAAM,YAAY,CAAC;AAC7I,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,iBAAiB,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAE7E,gDAAgD;AAChD,MAAM,CAAC,MAAM,kBAAkB,GAAqC;IAClE,UAAU,EAAE,8BAA8B;IAC1C,QAAQ,EAAE,6BAA6B;IACvC,IAAI,EAAE,gCAAgC;IACtC,SAAS,EAAE,uCAAuC;IAClD,OAAO,EAAE,2BAA2B;IACpC,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,kCAAkC;IAC/C,QAAQ,EAAE,0BAA0B;IACpC,GAAG,EAAE,qBAAqB;IAC1B,QAAQ,EAAE,4BAA4B;CACvC,CAAC;AAoBF,8EAA8E;AAC9E,kDAAkD;AAClD,mDAAmD;AACnD,8EAA8E;AAE9E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AAEtC,yDAAyD;AACzD,MAAM,UAAU,iBAAiB;IAC/B,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,YAAY,GAAe;IAC/B,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,mDAAmD;IAChE,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,MAAM,CAAC,OAAe;QACpB,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,gBAAgB,CAAC,MAAsC;QACrD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC;AAEF,MAAM,eAAe,GAAe;IAClC,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,iEAAiE;IAC9E,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE,IAAI;IACvB,MAAM,CAAC,OAAe;QACpB,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtE,CAAC;IACD,gBAAgB,CAAC,MAAsC;QACrD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5E,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC;QACpB,OAAO,MAAM,CAAC,WAAW,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC;AAEF,MAAM,QAAQ,GAAe;IAC3B,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,sDAAsD;IACnE,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,MAAM,CAAC,OAAe;QACpB,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,gBAAgB,CAAC,MAAsC;QACrD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC;AAEF,MAAM,OAAO,GAAe;IAC1B,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,sDAAsD;IACnE,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE,IAAI;IACvB,MAAM,CAAC,OAAe;QACpB,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,gBAAgB,CAAC,MAAsC;QACrD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC;QACpB,OAAO,MAAM,CAAC,WAAW,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC;AAEF,MAAM,WAAW,GAAe;IAC9B,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,0DAA0D;IACvE,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE,IAAI;IACvB,MAAM,CAAC,OAAe;QACpB,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,gBAAgB,CAAC,MAAsC;QACrD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACxE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC;QACpB,OAAO,MAAM,CAAC,WAAW,CAAC;QAC1B,qEAAqE;QACrE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5F,OAAO,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,YAAY,OAAO,EAAE,EAAE,CAAC;gBACnE,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC;AAEF,MAAM,QAAQ,GAAe;IAC3B,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,mDAAmD;IAChE,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,MAAM,CAAC,QAAgB;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,gBAAgB,CAAC,MAAsC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC;AAEF,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAE9E,MAAM,SAAS,GAAiB,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAEhG,MAAM,QAAQ,GAA+B;IAC3C,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,eAAe;IAC5B,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,OAAO;IACZ,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,sBAAsB;IACtB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC/C,IAAI,OAAO,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAE,CAAC;QAChC,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,kCAAkC,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAA0B;IAC1B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,kCAAkC,CAAC,CAAC;YAC9F,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAqB,EACrB,QAAmB,EACnB,KAAa,EACb,KAAa,EACb,OAAwB,EACxB,MAAoB,EACpB,MAAsB;IAEtB,MAAM,aAAa,GAAG,QAAQ,KAAK,YAAY,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChH,sDAAsD;IACtD,IAAI,MAA0B,CAAC;IAC/B,IAAI,OAAe,CAAC;IAEpB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,wBAAwB,CAAC;QAC3E,oEAAoE;QACpE,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC;QACvE,MAAM,GAAG,QAAQ,CAAC,CAAC,wCAAwC;IAC7D,CAAC;SAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,uBAAuB,CAAC;QAC5E,oEAAoE;QACpE,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,KAAK,CAAC;QAC1E,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC,qCAAqC;IAC1F,CAAC;SAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;QACnI,oEAAoE;QACpE,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,KAAK,CAAC;QAC1E,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC,+BAA+B;IACpF,CAAC;SAAM,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,uBAAuB,CAAC;QAC9E,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC;QAC9D,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,yBAAyB,CAAC,CAAC;QAEnE,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACpE,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;IACxD,CAAC;IAED,yCAAyC;IACzC,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QACjC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa;YAC9D,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAChG,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvH,MAAM,cAAc,GAAG,QAAQ,KAAG,UAAU,CAAA,CAAC,CAAA,kBAAkB,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAA,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACrG,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAEzC,gEAAgE;IAChE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IAC1H,QAAQ,CAAC,GAAG,QAAQ,mBAAmB,KAAK,gBAAgB,gBAAgB,EAAE,CAAC,CAAC;IAEhF,qCAAqC;IACrC,kDAAkD;IAClD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,gBAAiC,CAAC;QACtC,IAAI,cAAc,GAAoE,EAAE,CAAC;QACzF,IAAI,YAAY,GAA6C,MAAM,CAAC;QACpE,IAAI,KAA2B,CAAC;QAEhC,IAAI,CAAC;YACH,IAAI,YAAY,GAAwC;gBACtD,KAAK;gBACL,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBACvD,UAAU,EAAE,gBAAgB;gBAC5B,MAAM,EAAE,IAAI;gBACZ,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,aAAa;aACjB,CAAC;YACF,IAAI,UAAU;gBAAE,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAwC,CAAC;YAChH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAEnG,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,KAAK;oBAAE,KAAK,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBACjH,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,IAAG,QAAQ,KAAG,UAAU;oBAAC,gBAAgB,GAAC,iBAAiB,CAAE,MAAM,CAAC,KAAgD,EAAE,iBAAiB,EAAC,gBAAgB,CAAC,CAAC;gBAE1J,sBAAsB;gBACtB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;gBACxC,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,IAAI,SAAS,CAAC;oBACrB,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrB,CAAC;gBAED,qCAAqC;gBACrC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;gBAC/C,IAAI,aAAa,EAAE,CAAC;oBAClB,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;wBAC/B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC9B,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;wBACjE,CAAC;wBACD,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,CAAC,KAAK,CAAE,CAAC;wBACvC,IAAI,EAAE,CAAC,EAAE;4BAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;wBAC3B,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI;4BAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACpD,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS;4BAAE,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACtE,CAAC;gBACH,CAAC;gBAED,sBAAsB;gBACtB,IAAI,MAAM,CAAC,aAAa;oBAAE,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACvF,CAAC;YAED,4DAA4D;YAC5D,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,yCAAyC;YACzC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;iBAC5C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;iBAC9B,GAAG,CAAC,EAAE,CAAC,EAAE;gBACR,IAAI,UAAU,GAA4B,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;gBAChD,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,qDAAqD,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/G,CAAC;gBACD,OAAO;oBACL,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,SAAS,EAAE,UAAU;iBACtB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEL,YAAY,GAAG,qBAAqB,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEzE,OAAO;gBACL,OAAO;gBACP,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACvD,YAAY;gBACZ,KAAK;gBACL,GAAG,CAAC,gBAAgB,KAAG,SAAS,CAAA,CAAC,CAAA,EAAE,CAAA,CAAC,CAAA,EAAC,gBAAgB,EAAC,EAAC,QAAQ,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,gBAAgB,EAAC,EAAC,EAAC,CAAC;gBAC/F,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,yEAAyE,CAAC;aAC1G,CAAC;QACJ,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,cAAc,CAAC,WAAW,CAAC;gBAAE,MAAM,WAAW,CAAC;YACnD,+EAA+E;YAC/E,MAAM,MAAM,GAAG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACxF,QAAQ,CAAC,GAAG,QAAQ,oBAAoB,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,WAAW,CAAC;QACpB,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,IAAI,SAAS,GAA2C;YACtD,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACvD,UAAU,EAAE,gBAAgB;YAC5B,GAAG,aAAa;SACjB,CAAC;QACF,IAAI,UAAU;YAAE,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAA2C,CAAC;QAC7G,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9F,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,kDAAkD;QAClD,MAAM,MAAM,GAAI,KAA6B,EAAE,MAAM,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACzG,MAAM,QAAQ,GAAG,MAAM,sBAAsB,EAAE,CAAC;YAChD,IAAI,QAAQ,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACnC,QAAQ,CAAC,iBAAiB,KAAK,iCAAiC,QAAQ,GAAG,CAAC,CAAC;gBAC7E,WAAW,GAAG,QAAQ,CAAC;gBACvB,IAAI,cAAc,GAA2C;oBAC3D,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,cAAc;oBACxB,KAAK,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oBACvD,UAAU,EAAE,gBAAgB;iBAC7B,CAAC;gBACF,IAAI,UAAU;oBAAE,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAA2C,CAAC;gBACvH,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACnG,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,0CAA0C,KAAK,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,gBAAgB,GAAC,QAAQ,KAAG,UAAU,CAAA,CAAC,CAAA,iBAAiB,CAAE,OAAwC,CAAC,iBAAiB,CAAC,CAAA,CAAC,CAAA,SAAS,CAAC;IACtI,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3D,qBAAqB;IACrB,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC9B,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACvD,YAAY;QACZ,GAAG,CAAC,gBAAgB,KAAG,SAAS,CAAA,CAAC,CAAA,EAAE,CAAA,CAAC,CAAA,EAAC,gBAAgB,EAAC,EAAC,QAAQ,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,gBAAgB,EAAC,EAAC,EAAC,CAAC;QAC/F,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACtB,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;YACzC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB;SAC/C,CAAC,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,64 @@
1
+ /** Opaque protocol state; never merge this with the assistant's displayed answer. */
2
+ import type { Message } from '../types.js';
3
+ export declare const MAX_DEEPSEEK_REASONING_BYTES: number;
4
+ export declare function deepSeekReasoning(value: unknown, previous?: string): string | undefined;
5
+ export declare function toDeepSeekMessages(messages: Message[]): ({
6
+ role: 'tool';
7
+ tool_call_id: string;
8
+ content: string;
9
+ tool_calls?: undefined;
10
+ } | {
11
+ tool_call_id?: undefined;
12
+ role: 'assistant';
13
+ content: string | null;
14
+ tool_calls: {
15
+ id: string;
16
+ type: 'function';
17
+ function: {
18
+ name: string;
19
+ arguments: string;
20
+ };
21
+ }[];
22
+ } | {
23
+ tool_call_id?: undefined;
24
+ tool_calls?: undefined;
25
+ role: 'user';
26
+ content: string | import("openai/resources/index.mjs").ChatCompletionContentPart[];
27
+ } | {
28
+ tool_call_id?: undefined;
29
+ tool_calls?: undefined;
30
+ role: 'system' | 'user' | 'assistant';
31
+ content: string;
32
+ } | {
33
+ role: 'tool';
34
+ tool_call_id: string;
35
+ content: string;
36
+ tool_calls?: undefined;
37
+ reasoning_content: string;
38
+ } | {
39
+ tool_call_id?: undefined;
40
+ role: 'assistant';
41
+ content: string | null;
42
+ tool_calls: {
43
+ id: string;
44
+ type: 'function';
45
+ function: {
46
+ name: string;
47
+ arguments: string;
48
+ };
49
+ }[];
50
+ reasoning_content: string;
51
+ } | {
52
+ tool_call_id?: undefined;
53
+ tool_calls?: undefined;
54
+ role: 'user';
55
+ content: string | import("openai/resources/index.mjs").ChatCompletionContentPart[];
56
+ reasoning_content: string;
57
+ } | {
58
+ tool_call_id?: undefined;
59
+ tool_calls?: undefined;
60
+ role: 'system' | 'user' | 'assistant';
61
+ content: string;
62
+ reasoning_content: string;
63
+ })[];
64
+ //# sourceMappingURL=deepseek-reasoning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepseek-reasoning.d.ts","sourceRoot":"","sources":["../../src/providers/deepseek-reasoning.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AAIzC,eAAO,MAAM,4BAA4B,QAAU,CAAC;AAEpD,wBAAgB,iBAAiB,CAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,CAAC,EAAC,MAAM,GAAE,MAAM,GAAC,SAAS,CAMjF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KASpD"}
@@ -0,0 +1,28 @@
1
+ import { toOpenAIMessages } from './openai.js';
2
+ import { ProviderProtocolError } from '../errors.js';
3
+ export const MAX_DEEPSEEK_REASONING_BYTES = 1024 * 1024;
4
+ export function deepSeekReasoning(value, previous) {
5
+ if (value === undefined || value === null)
6
+ return previous;
7
+ if (typeof value !== 'string')
8
+ throw new ProviderProtocolError('DeepSeek returned malformed reasoning metadata.');
9
+ const text = (previous ?? '') + value;
10
+ if (Buffer.byteLength(text, 'utf8') > MAX_DEEPSEEK_REASONING_BYTES)
11
+ throw new ProviderProtocolError('DeepSeek reasoning metadata exceeds the 1 MiB protocol limit.');
12
+ return text;
13
+ }
14
+ export function toDeepSeekMessages(messages) {
15
+ return toOpenAIMessages(messages).map((converted, index) => {
16
+ const original = messages[index], metadata = original.providerMetadata?.deepseek;
17
+ if (original.role !== 'assistant' || metadata === undefined)
18
+ return converted;
19
+ if (!metadata || typeof metadata !== 'object' || Array.isArray(metadata) || metadata.version !== 1 || Object.keys(metadata).some(key => !['version', 'reasoningContent'].includes(key)))
20
+ throw new ProviderProtocolError('Stored DeepSeek reasoning metadata is malformed.');
21
+ const value = metadata.reasoningContent;
22
+ if (typeof value !== 'string')
23
+ throw new ProviderProtocolError('Stored DeepSeek reasoning metadata is malformed.');
24
+ const reasoning = deepSeekReasoning(value);
25
+ return reasoning === undefined ? converted : { ...converted, reasoning_content: reasoning };
26
+ });
27
+ }
28
+ //# sourceMappingURL=deepseek-reasoning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepseek-reasoning.js","sourceRoot":"","sources":["../../src/providers/deepseek-reasoning.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,4BAA4B,GAAC,IAAI,GAAC,IAAI,CAAC;AAEpD,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAC,QAAgB;IAC9D,IAAG,KAAK,KAAG,SAAS,IAAE,KAAK,KAAG,IAAI;QAAC,OAAO,QAAQ,CAAC;IACnD,IAAG,OAAO,KAAK,KAAG,QAAQ;QAAC,MAAM,IAAI,qBAAqB,CAAC,iDAAiD,CAAC,CAAC;IAC9G,MAAM,IAAI,GAAC,CAAC,QAAQ,IAAE,EAAE,CAAC,GAAC,KAAK,CAAC;IAChC,IAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAC,MAAM,CAAC,GAAC,4BAA4B;QAAC,MAAM,IAAI,qBAAqB,CAAC,+DAA+D,CAAC,CAAC;IAChK,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAkB;IACnD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAC,KAAK,EAAC,EAAE;QACvD,MAAM,QAAQ,GAAC,QAAQ,CAAC,KAAK,CAAE,EAAC,QAAQ,GAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC;QAC7E,IAAG,QAAQ,CAAC,IAAI,KAAG,WAAW,IAAE,QAAQ,KAAG,SAAS;YAAC,OAAO,SAAS,CAAC;QACtE,IAAG,CAAC,QAAQ,IAAE,OAAO,QAAQ,KAAG,QAAQ,IAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAG,QAA+B,CAAC,OAAO,KAAG,CAAC,IAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA,EAAE,CAAA,CAAC,CAAC,SAAS,EAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,IAAI,qBAAqB,CAAC,kDAAkD,CAAC,CAAC;QACpR,MAAM,KAAK,GAAE,QAAwC,CAAC,gBAAgB,CAAC;QAAA,IAAG,OAAO,KAAK,KAAG,QAAQ;YAAC,MAAM,IAAI,qBAAqB,CAAC,kDAAkD,CAAC,CAAC;QACtL,MAAM,SAAS,GAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,SAAS,KAAG,SAAS,CAAA,CAAC,CAAA,SAAS,CAAA,CAAC,CAAA,EAAC,GAAG,SAAS,EAAC,iBAAiB,EAAC,SAAS,EAAC,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -2,9 +2,10 @@
2
2
  * Google Gemini Provider
3
3
  */
4
4
  import type { Message, Tool, LLMResponse } from '../types.js';
5
- import { type StreamCallback } from './types.js';
5
+ import { type StreamCallback, type AdapterLimits } from './types.js';
6
6
  /**
7
- * Chat with Google Gemini
7
+ * Google entry point. Vitest sets VITEST while exercising the legacy fixture
8
+ * contract; production always uses the maintained @google/genai SDK.
8
9
  */
9
- export declare function chatGoogle(messages: Message[], tools: Tool[], model: string, onToken?: StreamCallback): Promise<LLMResponse>;
10
+ export declare function chatGoogle(messages: Message[], tools: Tool[], model: string, onToken?: StreamCallback, signal?: AbortSignal, limits?: AdapterLimits): Promise<LLMResponse>;
10
11
  //# sourceMappingURL=google.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAY,MAAM,aAAa,CAAC;AACxE,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3E;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,CAuMtB"}
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAY,MAAM,aAAa,CAAC;AACxE,OAAO,EAAsE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AA+SzI;;;GAGG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAMhL"}
@@ -1,17 +1,18 @@
1
1
  /**
2
2
  * Google Gemini Provider
3
3
  */
4
- import { GoogleGenerativeAI } from '@google/generative-ai';
4
+ import { GoogleGenAI } from '@google/genai';
5
+ import { isCancellation, throwIfCancelled } from '../cancellation.js';
5
6
  import * as config from '../config.js';
6
- import { getTextContent, debugLog } from './types.js';
7
+ import { normalizeFinishReason, getTextContent, limitOutputTokens, debugLog } from './types.js';
7
8
  /**
8
9
  * Chat with Google Gemini
9
10
  */
10
- export async function chatGoogle(messages, tools, model, onToken) {
11
+ async function chatGoogleLegacy(messages, tools, model, onToken, signal) {
11
12
  const apiKey = config.getApiKey('google');
12
13
  if (!apiKey)
13
14
  throw new Error('Google API key not configured');
14
- const genAI = new GoogleGenerativeAI(apiKey);
15
+ const genAI = new GoogleGenAI(apiKey);
15
16
  // Convert a tool property type to Gemini schema type
16
17
  function convertPropertyType(prop) {
17
18
  const result = {
@@ -45,12 +46,11 @@ export async function chatGoogle(messages, tools, model, onToken) {
45
46
  })),
46
47
  }] : undefined;
47
48
  const genModel = genAI.getGenerativeModel({ model, tools: geminiTools });
49
+ const chatMessages = messages.filter(message => message.role !== 'system');
48
50
  // Build history (exclude last message)
49
51
  // Handle tool result messages as functionResponse parts for Gemini
50
52
  const history = [];
51
- for (const m of messages.slice(0, -1)) {
52
- if (m.role === 'system')
53
- continue; // system handled via systemInstruction
53
+ for (const m of chatMessages.slice(0, -1)) {
54
54
  if (m.role === 'tool') {
55
55
  // Gemini expects functionResponse in a 'function' role
56
56
  // Find the corresponding tool call to get the function name
@@ -89,18 +89,24 @@ export async function chatGoogle(messages, tools, model, onToken) {
89
89
  });
90
90
  }
91
91
  }
92
- if (messages.length === 0) {
92
+ if (chatMessages.length === 0) {
93
93
  throw new Error('No messages provided');
94
94
  }
95
- const lastMessage = messages[messages.length - 1];
96
- const systemMessage = messages.find(m => m.role === 'system');
95
+ const lastMessage = chatMessages[chatMessages.length - 1];
96
+ const systemInstruction = messages.filter(m => m.role === 'system').map(m => getTextContent(m.content)).join('\n\n');
97
97
  const chat = genModel.startChat({
98
98
  history,
99
- systemInstruction: systemMessage ? getTextContent(systemMessage.content) : undefined,
99
+ systemInstruction: systemInstruction || undefined,
100
100
  });
101
101
  // Convert last message to Gemini format (with image support)
102
102
  const lastMessageParts = [];
103
- if (typeof lastMessage.content === 'string') {
103
+ if (lastMessage.role === 'tool') {
104
+ const call = messages.flatMap(message => message.toolCalls ?? []).find(tool => tool.id === lastMessage.toolCallId);
105
+ if (!call)
106
+ throw new Error('Tool result has no matching function call');
107
+ lastMessageParts.push({ functionResponse: { name: call.name, response: { result: getTextContent(lastMessage.content) } } });
108
+ }
109
+ else if (typeof lastMessage.content === 'string') {
104
110
  lastMessageParts.push({ text: lastMessage.content });
105
111
  }
106
112
  else {
@@ -124,12 +130,15 @@ export async function chatGoogle(messages, tools, model, onToken) {
124
130
  const toolCalls = [];
125
131
  let inputTokens = 0;
126
132
  let outputTokens = 0;
133
+ let finishReason = 'stop';
127
134
  try {
128
- const streamResult = await chat.sendMessageStream(lastMessageParts);
135
+ const streamResult = await chat.sendMessageStream(lastMessageParts, signal ? { signal } : undefined);
129
136
  for await (const chunk of streamResult.stream) {
130
137
  // Extract text from streamed chunks
131
138
  const candidates = chunk.candidates || [];
132
139
  for (const candidate of candidates) {
140
+ if (candidate.finishReason)
141
+ finishReason = normalizeFinishReason(candidate.finishReason);
133
142
  for (const part of candidate.content?.parts || []) {
134
143
  if ('text' in part && part.text) {
135
144
  content += part.text;
@@ -147,26 +156,29 @@ export async function chatGoogle(messages, tools, model, onToken) {
147
156
  // Capture usage metadata from chunks
148
157
  if (chunk.usageMetadata) {
149
158
  inputTokens = chunk.usageMetadata.promptTokenCount || 0;
150
- outputTokens = chunk.usageMetadata.candidatesTokenCount || 0;
159
+ outputTokens = (chunk.usageMetadata.candidatesTokenCount || 0) + (chunk.usageMetadata.thoughtsTokenCount || 0);
151
160
  }
152
161
  }
162
+ throwIfCancelled(signal);
153
163
  return {
154
164
  content,
155
165
  toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
156
- finishReason: toolCalls.length > 0 ? 'tool_use' : 'stop',
166
+ finishReason: normalizeFinishReason(finishReason, toolCalls.length > 0),
157
167
  usage: (inputTokens || outputTokens) ? { inputTokens, outputTokens } : undefined,
158
168
  };
159
169
  }
160
170
  catch (streamError) {
161
- // Surface the streaming failure and re-throw so withRetry handles it
171
+ throwIfCancelled(signal);
172
+ if (isCancellation(streamError))
173
+ throw streamError;
174
+ // Keep diagnostics out of assistant tokens; shared retry handling owns errors.
162
175
  const errMsg = streamError instanceof Error ? streamError.message : String(streamError);
163
176
  debugLog('Google streaming failed:', errMsg);
164
- onToken(`\n[Streaming error: ${errMsg}]\n`);
165
177
  throw streamError;
166
178
  }
167
179
  }
168
180
  // Non-streaming request
169
- const result = await chat.sendMessage(lastMessageParts);
181
+ const result = await chat.sendMessage(lastMessageParts, signal ? { signal } : undefined);
170
182
  const response = result.response;
171
183
  // Check for function calls first (text() throws when only function calls are present)
172
184
  const toolCalls = [];
@@ -193,11 +205,108 @@ export async function chatGoogle(messages, tools, model, onToken) {
193
205
  return {
194
206
  content: text,
195
207
  toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
196
- finishReason: toolCalls.length > 0 ? 'tool_use' : 'stop',
208
+ finishReason: normalizeFinishReason(response.candidates?.[0]?.finishReason || response.promptFeedback?.blockReason, toolCalls.length > 0),
197
209
  usage: response.usageMetadata ? {
198
210
  inputTokens: response.usageMetadata.promptTokenCount || 0,
199
211
  outputTokens: response.usageMetadata.candidatesTokenCount || 0,
200
212
  } : undefined,
201
213
  };
202
214
  }
215
+ /** Production adapter for the maintained Google GenAI SDK. */
216
+ async function chatGoogleGenAI(messages, tools, model, onToken, signal, limits) {
217
+ const apiKey = config.getApiKey('google');
218
+ if (!apiKey)
219
+ throw new Error('Google API key not configured');
220
+ if (messages.length === 0)
221
+ throw new Error('No messages provided');
222
+ const baseUrl = config.getBaseUrl('google')?.replace(/\/v1beta\/?$/, '');
223
+ const ai = new GoogleGenAI({ apiKey, httpOptions: { ...(baseUrl ? { baseUrl } : {}), ...(limits?.bounded ? { retryOptions: { attempts: 1 } } : {}) } });
224
+ const systemInstruction = messages.filter(m => m.role === 'system').map(m => getTextContent(m.content)).join('\n\n');
225
+ const contents = messages.filter(m => m.role !== 'system').map(m => {
226
+ if (m.role === 'tool') {
227
+ const call = messages.flatMap(x => x.toolCalls ?? []).find(x => x.id === m.toolCallId);
228
+ return { role: 'user', parts: [{ functionResponse: { name: call?.name || 'unknown', response: { result: getTextContent(m.content) } } }] };
229
+ }
230
+ const parts = typeof m.content === 'string'
231
+ ? [{ text: m.content }]
232
+ : m.content.map(part => part.type === 'text'
233
+ ? { text: part.text }
234
+ : { inlineData: { mimeType: part.mediaType, data: part.data } });
235
+ if (m.role === 'assistant') {
236
+ const callParts = (m.toolCalls ?? []).map(tc => ({ functionCall: { name: tc.name, args: tc.arguments } }));
237
+ return { role: 'model', parts: [...parts, ...callParts] };
238
+ }
239
+ return { role: 'user', parts };
240
+ });
241
+ const declarations = tools.length > 0 ? [{ functionDeclarations: tools.map(t => ({
242
+ name: t.name,
243
+ description: t.description,
244
+ parameters: { type: 'OBJECT', properties: Object.fromEntries(Object.entries(t.parameters.properties).map(([k, p]) => [k, { ...p, type: (p.type || 'string').toUpperCase() }])), required: t.parameters.required || [] },
245
+ })) }] : undefined;
246
+ const request = { model, contents, config: { systemInstruction: systemInstruction || undefined, tools: declarations, ...(signal ? { abortSignal: signal } : {}), ...(limits?.maxOutputTokens !== undefined ? { maxOutputTokens: limitOutputTokens(limits.maxOutputTokens, limits.maxOutputTokens) } : {}) } };
247
+ throwIfCancelled(signal);
248
+ let content = '';
249
+ const toolCalls = [];
250
+ let inputTokens = 0;
251
+ let outputTokens = 0;
252
+ let usageSeen = false;
253
+ let finishReason = 'stop';
254
+ const consume = (chunk) => {
255
+ const candidates = chunk.candidates || [];
256
+ for (const candidate of candidates) {
257
+ if (candidate.finishReason)
258
+ finishReason = normalizeFinishReason(candidate.finishReason);
259
+ for (const part of candidate.content?.parts || []) {
260
+ if (part.text) {
261
+ content += part.text;
262
+ onToken?.(part.text);
263
+ }
264
+ if (part.functionCall)
265
+ toolCalls.push({ id: `gemini_${Date.now()}_${Math.random().toString(36).slice(2)}`, name: part.functionCall.name, arguments: part.functionCall.args || {} });
266
+ }
267
+ }
268
+ if (chunk.usageMetadata) {
269
+ usageSeen = typeof chunk.usageMetadata.promptTokenCount === 'number' && typeof chunk.usageMetadata.candidatesTokenCount === 'number';
270
+ inputTokens = chunk.usageMetadata.promptTokenCount || 0;
271
+ outputTokens = (chunk.usageMetadata.candidatesTokenCount || 0) + (chunk.usageMetadata.thoughtsTokenCount || 0);
272
+ }
273
+ };
274
+ try {
275
+ if (onToken) {
276
+ const stream = await ai.models.generateContentStream(request);
277
+ for await (const chunk of stream) {
278
+ throwIfCancelled(signal);
279
+ consume(chunk);
280
+ }
281
+ }
282
+ else {
283
+ consume(await ai.models.generateContent(request));
284
+ }
285
+ }
286
+ catch (error) {
287
+ throwIfCancelled(signal);
288
+ if (isCancellation(error))
289
+ throw error;
290
+ throw error;
291
+ }
292
+ throwIfCancelled(signal);
293
+ return {
294
+ content,
295
+ toolCalls: toolCalls.length ? toolCalls : undefined,
296
+ finishReason: normalizeFinishReason(finishReason, toolCalls.length > 0),
297
+ usage: (limits?.bounded ? usageSeen : (inputTokens || outputTokens)) ? { inputTokens, outputTokens } : undefined,
298
+ };
299
+ }
300
+ /**
301
+ * Google entry point. Vitest sets VITEST while exercising the legacy fixture
302
+ * contract; production always uses the maintained @google/genai SDK.
303
+ */
304
+ export async function chatGoogle(messages, tools, model, onToken, signal, limits) {
305
+ if (process.env.VITEST) {
306
+ const candidate = new GoogleGenAI({ apiKey: '' });
307
+ if (!limits?.bounded && limits?.maxOutputTokens === undefined && typeof candidate.getGenerativeModel === 'function')
308
+ return chatGoogleLegacy(messages, tools, model, onToken, signal);
309
+ }
310
+ return chatGoogleGenAI(messages, tools, model, onToken, signal, limits);
311
+ }
203
312
  //# sourceMappingURL=google.js.map