@pentoshi/clai 4.11.28 → 4.12.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 (634) hide show
  1. package/README.md +61 -19
  2. package/dist/agent/compaction/summary-execution.js +2 -1
  3. package/dist/agent/compaction/summary-execution.js.map +1 -1
  4. package/dist/agent/compaction-summary.d.ts +1 -1
  5. package/dist/agent/compaction-summary.js +5 -5
  6. package/dist/agent/compaction-summary.js.map +1 -1
  7. package/dist/agent/context/user-credentials.d.ts +4 -0
  8. package/dist/agent/context/user-credentials.js +97 -0
  9. package/dist/agent/context/user-credentials.js.map +1 -0
  10. package/dist/agent/durable-envelope.d.ts +21 -0
  11. package/dist/agent/durable-envelope.js +94 -14
  12. package/dist/agent/durable-envelope.js.map +1 -1
  13. package/dist/agent/evidence/task-classification.js +2 -6
  14. package/dist/agent/evidence/task-classification.js.map +1 -1
  15. package/dist/agent/evidence/task-selection.js +4 -3
  16. package/dist/agent/evidence/task-selection.js.map +1 -1
  17. package/dist/agent/evidence/tool-budgets.d.ts +1 -0
  18. package/dist/agent/evidence/tool-budgets.js +6 -2
  19. package/dist/agent/evidence/tool-budgets.js.map +1 -1
  20. package/dist/agent/loop-guard.js +8 -67
  21. package/dist/agent/loop-guard.js.map +1 -1
  22. package/dist/agent/outcomes.js +2 -1
  23. package/dist/agent/outcomes.js.map +1 -1
  24. package/dist/agent/parser/bare-recognition.js +0 -4
  25. package/dist/agent/parser/bare-recognition.js.map +1 -1
  26. package/dist/agent/parser/parse-entry.js +0 -3
  27. package/dist/agent/parser/parse-entry.js.map +1 -1
  28. package/dist/agent/plan/actions/plan-create.js +2 -2
  29. package/dist/agent/plan/actions/plan-create.js.map +1 -1
  30. package/dist/agent/plan-tool.js +1 -1
  31. package/dist/agent/plan-tool.js.map +1 -1
  32. package/dist/agent/responder-context.d.ts +8 -0
  33. package/dist/agent/responder-context.js +35 -2
  34. package/dist/agent/responder-context.js.map +1 -1
  35. package/dist/agent/runner.js +9 -2
  36. package/dist/agent/runner.js.map +1 -1
  37. package/dist/agent/session-policy.js +0 -3
  38. package/dist/agent/session-policy.js.map +1 -1
  39. package/dist/agent/subagents/manager.d.ts +3 -1
  40. package/dist/agent/subagents/manager.js +9 -19
  41. package/dist/agent/subagents/manager.js.map +1 -1
  42. package/dist/agent/subagents/read-only-tools.js +0 -2
  43. package/dist/agent/subagents/read-only-tools.js.map +1 -1
  44. package/dist/agent/subagents/tools.js +1 -26
  45. package/dist/agent/subagents/tools.js.map +1 -1
  46. package/dist/agent/subagents/types.d.ts +2 -0
  47. package/dist/agent/subagents/worker.js +2 -1
  48. package/dist/agent/subagents/worker.js.map +1 -1
  49. package/dist/agent/task-evidence.d.ts +0 -1
  50. package/dist/agent/task-evidence.js +5 -26
  51. package/dist/agent/task-evidence.js.map +1 -1
  52. package/dist/agent/tool-call-parser.js +1 -1
  53. package/dist/agent/tool-call-parser.js.map +1 -1
  54. package/dist/agent/tool-history.d.ts +2 -2
  55. package/dist/agent/tool-history.js +2 -1
  56. package/dist/agent/tool-history.js.map +1 -1
  57. package/dist/agent/tool-output-formatting.js +1 -1
  58. package/dist/agent/tool-output-formatting.js.map +1 -1
  59. package/dist/agent/turn/compaction-durable-envelope.d.ts +14 -4
  60. package/dist/agent/turn/compaction-durable-envelope.js +78 -16
  61. package/dist/agent/turn/compaction-durable-envelope.js.map +1 -1
  62. package/dist/agent/turn/history-writer.d.ts +1 -1
  63. package/dist/agent/turn/history-writer.js +1 -0
  64. package/dist/agent/turn/history-writer.js.map +1 -1
  65. package/dist/agent/turn/loop/completion-interpretation.d.ts +3 -1
  66. package/dist/agent/turn/loop/completion-interpretation.js +4 -0
  67. package/dist/agent/turn/loop/completion-interpretation.js.map +1 -1
  68. package/dist/agent/turn/loop/deps.d.ts +1 -1
  69. package/dist/agent/turn/loop/run-rounds.js +13 -7
  70. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  71. package/dist/agent/turn/outcome-accounting.js +2 -3
  72. package/dist/agent/turn/outcome-accounting.js.map +1 -1
  73. package/dist/agent/turn/pentest-tools.d.ts +3 -0
  74. package/dist/agent/turn/pentest-tools.js +17 -0
  75. package/dist/agent/turn/pentest-tools.js.map +1 -0
  76. package/dist/agent/turn/plan-mode-gate.js +1 -1
  77. package/dist/agent/turn/plan-mode-gate.js.map +1 -1
  78. package/dist/agent/turn/plan-persistence.js +3 -0
  79. package/dist/agent/turn/plan-persistence.js.map +1 -1
  80. package/dist/agent/turn/responder-read-tool.d.ts +1 -0
  81. package/dist/agent/turn/responder-read-tool.js +13 -6
  82. package/dist/agent/turn/responder-read-tool.js.map +1 -1
  83. package/dist/agent/turn/scaffold-outcome.js +1 -1
  84. package/dist/agent/turn/scaffold-outcome.js.map +1 -1
  85. package/dist/agent/turn/scaffold-preflight.js +1 -1
  86. package/dist/agent/turn/scaffold-preflight.js.map +1 -1
  87. package/dist/agent/turn/setup/compaction-services.d.ts +2 -0
  88. package/dist/agent/turn/setup/compaction-services.js +2 -1
  89. package/dist/agent/turn/setup/compaction-services.js.map +1 -1
  90. package/dist/agent/turn/subagent-inbox.js +1 -1
  91. package/dist/agent/turn/subagent-inbox.js.map +1 -1
  92. package/dist/agent/turn/task-autostart.d.ts +2 -1
  93. package/dist/agent/turn/task-autostart.js +15 -0
  94. package/dist/agent/turn/task-autostart.js.map +1 -1
  95. package/dist/agent/turn/task-work-signals.js +3 -2
  96. package/dist/agent/turn/task-work-signals.js.map +1 -1
  97. package/dist/agent/turn/tool-evidence-signals.js +2 -1
  98. package/dist/agent/turn/tool-evidence-signals.js.map +1 -1
  99. package/dist/agent/turn/tool-execution/engagement-checkpoint.js +1 -1
  100. package/dist/agent/turn/tool-execution/engagement-checkpoint.js.map +1 -1
  101. package/dist/agent/turn/tool-execution/guards.js +1 -3
  102. package/dist/agent/turn/tool-execution/guards.js.map +1 -1
  103. package/dist/agent/turn/tool-execution/meta-tools.js +1 -1
  104. package/dist/agent/turn/tool-execution/meta-tools.js.map +1 -1
  105. package/dist/agent/turn/tool-execution/single-tool.js +12 -18
  106. package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
  107. package/dist/agent/turn/tool-routing.d.ts +1 -0
  108. package/dist/agent/turn/tool-routing.js +5 -2
  109. package/dist/agent/turn/tool-routing.js.map +1 -1
  110. package/dist/app/adapters/quiet-meta-tools.js +0 -1
  111. package/dist/app/adapters/quiet-meta-tools.js.map +1 -1
  112. package/dist/app/commands/catalog.js +27 -5
  113. package/dist/app/commands/catalog.js.map +1 -1
  114. package/dist/app/commands/registry.js +1 -0
  115. package/dist/app/commands/registry.js.map +1 -1
  116. package/dist/app/controllers/session-compact-helper.d.ts +1 -0
  117. package/dist/app/controllers/session-compact-helper.js +9 -1
  118. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  119. package/dist/app/controllers/session-controller.d.ts +5 -1
  120. package/dist/app/controllers/session-controller.js +36 -6
  121. package/dist/app/controllers/session-controller.js.map +1 -1
  122. package/dist/app/controllers/session-naming.d.ts +2 -1
  123. package/dist/app/controllers/session-naming.js +2 -2
  124. package/dist/app/controllers/session-naming.js.map +1 -1
  125. package/dist/app/controllers/session-usage-ledger.d.ts +5 -1
  126. package/dist/app/controllers/session-usage-ledger.js +19 -5
  127. package/dist/app/controllers/session-usage-ledger.js.map +1 -1
  128. package/dist/app/controllers/session-usage-source.d.ts +13 -0
  129. package/dist/app/controllers/session-usage-source.js +37 -0
  130. package/dist/app/controllers/session-usage-source.js.map +1 -0
  131. package/dist/app/events/event-buffer.d.ts +6 -2
  132. package/dist/app/events/event-buffer.js +29 -13
  133. package/dist/app/events/event-buffer.js.map +1 -1
  134. package/dist/classic/app/ClassicApp.js +2 -1
  135. package/dist/classic/app/ClassicApp.js.map +1 -1
  136. package/dist/classic/app/action-handlers.js +4 -0
  137. package/dist/classic/app/action-handlers.js.map +1 -1
  138. package/dist/classic/app/app-wiring.d.ts +4 -2
  139. package/dist/classic/app/app-wiring.js +8 -4
  140. package/dist/classic/app/app-wiring.js.map +1 -1
  141. package/dist/classic/app/paint-pacing.d.ts +9 -0
  142. package/dist/classic/app/paint-pacing.js +18 -0
  143. package/dist/classic/app/paint-pacing.js.map +1 -0
  144. package/dist/classic/app/use-feed.js +22 -6
  145. package/dist/classic/app/use-feed.js.map +1 -1
  146. package/dist/classic/app/wiring-lifecycle.js +19 -7
  147. package/dist/classic/app/wiring-lifecycle.js.map +1 -1
  148. package/dist/classic/app/wiring-types.d.ts +4 -2
  149. package/dist/classic/blocks/assistant-lines.js +2 -1
  150. package/dist/classic/blocks/assistant-lines.js.map +1 -1
  151. package/dist/classic/blocks/batch-lines.js +7 -9
  152. package/dist/classic/blocks/batch-lines.js.map +1 -1
  153. package/dist/classic/blocks/block-context.d.ts +4 -0
  154. package/dist/classic/blocks/block-context.js +20 -1
  155. package/dist/classic/blocks/block-context.js.map +1 -1
  156. package/dist/classic/blocks/compacted-lines.js +6 -6
  157. package/dist/classic/blocks/compacted-lines.js.map +1 -1
  158. package/dist/classic/blocks/diff-lines.d.ts +3 -1
  159. package/dist/classic/blocks/diff-lines.js +118 -59
  160. package/dist/classic/blocks/diff-lines.js.map +1 -1
  161. package/dist/classic/blocks/thinking-lines.js +6 -6
  162. package/dist/classic/blocks/thinking-lines.js.map +1 -1
  163. package/dist/classic/blocks/tool-lines.d.ts +1 -0
  164. package/dist/classic/blocks/tool-lines.js +113 -52
  165. package/dist/classic/blocks/tool-lines.js.map +1 -1
  166. package/dist/classic/blocks/user-lines.js +11 -9
  167. package/dist/classic/blocks/user-lines.js.map +1 -1
  168. package/dist/classic/bootstrap/start-classic.d.ts +2 -0
  169. package/dist/classic/bootstrap/start-classic.js +19 -7
  170. package/dist/classic/bootstrap/start-classic.js.map +1 -1
  171. package/dist/classic/chrome/editor-view.js +3 -3
  172. package/dist/classic/chrome/editor-view.js.map +1 -1
  173. package/dist/classic/chrome/row-budget.d.ts +2 -1
  174. package/dist/classic/chrome/row-budget.js +5 -2
  175. package/dist/classic/chrome/row-budget.js.map +1 -1
  176. package/dist/classic/chrome/subagents-row.js +1 -1
  177. package/dist/classic/chrome/subagents-row.js.map +1 -1
  178. package/dist/classic/feed/feed-blocks.d.ts +25 -3
  179. package/dist/classic/feed/feed-blocks.js +106 -48
  180. package/dist/classic/feed/feed-blocks.js.map +1 -1
  181. package/dist/classic/feed/transcript-selection.js +33 -9
  182. package/dist/classic/feed/transcript-selection.js.map +1 -1
  183. package/dist/classic/feed/transcript-window.d.ts +1 -2
  184. package/dist/classic/feed/transcript-window.js +25 -15
  185. package/dist/classic/feed/transcript-window.js.map +1 -1
  186. package/dist/classic/input/input-pipeline.d.ts +12 -0
  187. package/dist/classic/input/input-pipeline.js +24 -0
  188. package/dist/classic/input/input-pipeline.js.map +1 -0
  189. package/dist/classic/input/input-router.js +7 -1
  190. package/dist/classic/input/input-router.js.map +1 -1
  191. package/dist/classic/input/paste-burst.d.ts +10 -0
  192. package/dist/classic/input/paste-burst.js +50 -0
  193. package/dist/classic/input/paste-burst.js.map +1 -0
  194. package/dist/classic/input/paste-decoder.js +2 -4
  195. package/dist/classic/input/paste-decoder.js.map +1 -1
  196. package/dist/classic/input/terminal-sequences.d.ts +2 -1
  197. package/dist/classic/input/terminal-sequences.js +2 -1
  198. package/dist/classic/input/terminal-sequences.js.map +1 -1
  199. package/dist/classic/panels/completion-rows.js +11 -6
  200. package/dist/classic/panels/completion-rows.js.map +1 -1
  201. package/dist/classic/panels/keys-panel.js +1 -1
  202. package/dist/classic/panels/keys-panel.js.map +1 -1
  203. package/dist/classic/panels/list-rows.js +8 -6
  204. package/dist/classic/panels/list-rows.js.map +1 -1
  205. package/dist/classic/panels/pager-diff.d.ts +6 -0
  206. package/dist/classic/panels/pager-diff.js +89 -0
  207. package/dist/classic/panels/pager-diff.js.map +1 -0
  208. package/dist/classic/panels/pager-panel.d.ts +5 -2
  209. package/dist/classic/panels/pager-panel.js +38 -15
  210. package/dist/classic/panels/pager-panel.js.map +1 -1
  211. package/dist/classic/panels/panel-controller.d.ts +2 -0
  212. package/dist/classic/panels/panel-controller.js +30 -12
  213. package/dist/classic/panels/panel-controller.js.map +1 -1
  214. package/dist/classic/panels/panel-host.js +2 -2
  215. package/dist/classic/panels/panel-host.js.map +1 -1
  216. package/dist/classic/panels/panel-wheel.js +2 -2
  217. package/dist/classic/panels/panel-wheel.js.map +1 -1
  218. package/dist/classic/panels/picker-panel.js +22 -14
  219. package/dist/classic/panels/picker-panel.js.map +1 -1
  220. package/dist/classic/panels/plan-panel.d.ts +1 -0
  221. package/dist/classic/panels/plan-panel.js +25 -9
  222. package/dist/classic/panels/plan-panel.js.map +1 -1
  223. package/dist/classic/render/ansi-text.d.ts +3 -1
  224. package/dist/classic/render/ansi-text.js +106 -4
  225. package/dist/classic/render/ansi-text.js.map +1 -1
  226. package/dist/classic/render/ink-theme.d.ts +4 -0
  227. package/dist/classic/render/ink-theme.js +38 -4
  228. package/dist/classic/render/ink-theme.js.map +1 -1
  229. package/dist/classic/render/palette.d.ts +3 -0
  230. package/dist/classic/render/palette.js +121 -0
  231. package/dist/classic/render/palette.js.map +1 -0
  232. package/dist/classic/render/wrap.d.ts +5 -0
  233. package/dist/classic/render/wrap.js +22 -11
  234. package/dist/classic/render/wrap.js.map +1 -1
  235. package/dist/commands/providers.d.ts +11 -0
  236. package/dist/commands/providers.js +120 -0
  237. package/dist/commands/providers.js.map +1 -1
  238. package/dist/index.js +16 -4
  239. package/dist/index.js.map +1 -1
  240. package/dist/instructions/load.js +5 -12
  241. package/dist/instructions/load.js.map +1 -1
  242. package/dist/llm/anthropic.js +3 -1
  243. package/dist/llm/anthropic.js.map +1 -1
  244. package/dist/llm/aws-mantle.js +3 -1
  245. package/dist/llm/aws-mantle.js.map +1 -1
  246. package/dist/llm/capabilities.js +5 -5
  247. package/dist/llm/capabilities.js.map +1 -1
  248. package/dist/llm/capability/state.d.ts +1 -1
  249. package/dist/llm/capability/tool-dialect.js +3 -0
  250. package/dist/llm/capability/tool-dialect.js.map +1 -1
  251. package/dist/llm/capability/vision-patterns.js +23 -0
  252. package/dist/llm/capability/vision-patterns.js.map +1 -1
  253. package/dist/llm/catalog-facts.js +10 -0
  254. package/dist/llm/catalog-facts.js.map +1 -1
  255. package/dist/llm/codex-auth.d.ts +1 -1
  256. package/dist/llm/codex-auth.js +11 -12
  257. package/dist/llm/codex-auth.js.map +1 -1
  258. package/dist/llm/codex-client.d.ts +1 -0
  259. package/dist/llm/codex-client.js +30 -0
  260. package/dist/llm/codex-client.js.map +1 -0
  261. package/dist/llm/codex-config.d.ts +3 -0
  262. package/dist/llm/codex-config.js +78 -0
  263. package/dist/llm/codex-config.js.map +1 -0
  264. package/dist/llm/codex-credential.d.ts +3 -0
  265. package/dist/llm/codex-credential.js +94 -0
  266. package/dist/llm/codex-credential.js.map +1 -0
  267. package/dist/llm/codex-models.d.ts +18 -0
  268. package/dist/llm/codex-models.js +172 -0
  269. package/dist/llm/codex-models.js.map +1 -0
  270. package/dist/llm/codex-request.d.ts +1 -0
  271. package/dist/llm/codex-request.js +61 -0
  272. package/dist/llm/codex-request.js.map +1 -0
  273. package/dist/llm/codex-usage.d.ts +4 -0
  274. package/dist/llm/codex-usage.js +96 -0
  275. package/dist/llm/codex-usage.js.map +1 -0
  276. package/dist/llm/codex.d.ts +1 -2
  277. package/dist/llm/codex.js +30 -217
  278. package/dist/llm/codex.js.map +1 -1
  279. package/dist/llm/context-windows.js +1 -0
  280. package/dist/llm/context-windows.js.map +1 -1
  281. package/dist/llm/freebuff-auth.d.ts +50 -0
  282. package/dist/llm/freebuff-auth.js +186 -0
  283. package/dist/llm/freebuff-auth.js.map +1 -0
  284. package/dist/llm/freebuff-models.d.ts +8 -0
  285. package/dist/llm/freebuff-models.js +177 -0
  286. package/dist/llm/freebuff-models.js.map +1 -0
  287. package/dist/llm/freebuff-run.d.ts +13 -0
  288. package/dist/llm/freebuff-run.js +147 -0
  289. package/dist/llm/freebuff-run.js.map +1 -0
  290. package/dist/llm/freebuff-session-api.d.ts +92 -0
  291. package/dist/llm/freebuff-session-api.js +154 -0
  292. package/dist/llm/freebuff-session-api.js.map +1 -0
  293. package/dist/llm/freebuff-session.d.ts +31 -0
  294. package/dist/llm/freebuff-session.js +265 -0
  295. package/dist/llm/freebuff-session.js.map +1 -0
  296. package/dist/llm/freebuff.d.ts +2 -0
  297. package/dist/llm/freebuff.js +149 -0
  298. package/dist/llm/freebuff.js.map +1 -0
  299. package/dist/llm/gemini.js +4 -2
  300. package/dist/llm/gemini.js.map +1 -1
  301. package/dist/llm/model-layers/model-rules.js +6 -0
  302. package/dist/llm/model-layers/model-rules.js.map +1 -1
  303. package/dist/llm/omnirush-auth.d.ts +40 -0
  304. package/dist/llm/omnirush-auth.js +264 -0
  305. package/dist/llm/omnirush-auth.js.map +1 -0
  306. package/dist/llm/omnirush-session-upload.d.ts +63 -0
  307. package/dist/llm/omnirush-session-upload.js +221 -0
  308. package/dist/llm/omnirush-session-upload.js.map +1 -0
  309. package/dist/llm/omnirush.d.ts +4 -0
  310. package/dist/llm/omnirush.js +221 -0
  311. package/dist/llm/omnirush.js.map +1 -0
  312. package/dist/llm/operation-usage.d.ts +8 -0
  313. package/dist/llm/operation-usage.js +24 -2
  314. package/dist/llm/operation-usage.js.map +1 -1
  315. package/dist/llm/provider-balance.d.ts +10 -0
  316. package/dist/llm/provider-balance.js +22 -2
  317. package/dist/llm/provider-balance.js.map +1 -1
  318. package/dist/llm/provider-identity.js +16 -0
  319. package/dist/llm/provider-identity.js.map +1 -1
  320. package/dist/llm/provider-info-text.js +158 -4
  321. package/dist/llm/provider-info-text.js.map +1 -1
  322. package/dist/llm/provider-profile-layers.js +42 -2
  323. package/dist/llm/provider-profile-layers.js.map +1 -1
  324. package/dist/llm/reasoning-capability.js +30 -0
  325. package/dist/llm/reasoning-capability.js.map +1 -1
  326. package/dist/llm/reasoning-controls.d.ts +1 -0
  327. package/dist/llm/reasoning-controls.js +3 -0
  328. package/dist/llm/reasoning-controls.js.map +1 -1
  329. package/dist/llm/request-fingerprint.js +71 -55
  330. package/dist/llm/request-fingerprint.js.map +1 -1
  331. package/dist/llm/request-plan.js +39 -18
  332. package/dist/llm/request-plan.js.map +1 -1
  333. package/dist/llm/responses/item-events.js +2 -0
  334. package/dist/llm/responses/item-events.js.map +1 -1
  335. package/dist/llm/responses-config.d.ts +4 -1
  336. package/dist/llm/responses-config.js.map +1 -1
  337. package/dist/llm/responses-parse.d.ts +2 -1
  338. package/dist/llm/responses-parse.js +11 -45
  339. package/dist/llm/responses-parse.js.map +1 -1
  340. package/dist/llm/responses-replay.d.ts +3 -0
  341. package/dist/llm/responses-replay.js +48 -0
  342. package/dist/llm/responses-replay.js.map +1 -0
  343. package/dist/llm/responses-request.js +22 -8
  344. package/dist/llm/responses-request.js.map +1 -1
  345. package/dist/llm/responses-stream-accumulator.d.ts +4 -0
  346. package/dist/llm/responses-stream-accumulator.js +12 -1
  347. package/dist/llm/responses-stream-accumulator.js.map +1 -1
  348. package/dist/llm/responses-stream-events.js +14 -25
  349. package/dist/llm/responses-stream-events.js.map +1 -1
  350. package/dist/llm/responses-stream.js +1 -0
  351. package/dist/llm/responses-stream.js.map +1 -1
  352. package/dist/llm/responses-usage.d.ts +12 -0
  353. package/dist/llm/responses-usage.js +66 -0
  354. package/dist/llm/responses-usage.js.map +1 -0
  355. package/dist/llm/router.js +4 -4
  356. package/dist/llm/router.js.map +1 -1
  357. package/dist/llm/routing/error-classification.js +2 -2
  358. package/dist/llm/routing/error-classification.js.map +1 -1
  359. package/dist/llm/routing/provider-selection.js +8 -0
  360. package/dist/llm/routing/provider-selection.js.map +1 -1
  361. package/dist/llm/tokenharbor-cache.d.ts +4 -0
  362. package/dist/llm/tokenharbor-cache.js +10 -0
  363. package/dist/llm/tokenharbor-cache.js.map +1 -0
  364. package/dist/llm/tokenharbor.d.ts +8 -0
  365. package/dist/llm/tokenharbor.js +159 -0
  366. package/dist/llm/tokenharbor.js.map +1 -0
  367. package/dist/llm/usage/provider-parsers.js +20 -4
  368. package/dist/llm/usage/provider-parsers.js.map +1 -1
  369. package/dist/llm/wire/chat-body.d.ts +6 -0
  370. package/dist/llm/wire/chat-body.js +91 -0
  371. package/dist/llm/wire/chat-body.js.map +1 -1
  372. package/dist/llm/wire/effort-preflight.js +6 -10
  373. package/dist/llm/wire/effort-preflight.js.map +1 -1
  374. package/dist/llm/wire/openai-complete.d.ts +3 -0
  375. package/dist/llm/wire/openai-complete.js +3 -1
  376. package/dist/llm/wire/openai-complete.js.map +1 -1
  377. package/dist/llm/wire/openai-stream.d.ts +3 -0
  378. package/dist/llm/wire/openai-stream.js +7 -3
  379. package/dist/llm/wire/openai-stream.js.map +1 -1
  380. package/dist/llm/wire/responses-preflight.js +1 -0
  381. package/dist/llm/wire/responses-preflight.js.map +1 -1
  382. package/dist/modes/ask.js +2 -4
  383. package/dist/modes/ask.js.map +1 -1
  384. package/dist/noninteractive/start-noninteractive.js +20 -0
  385. package/dist/noninteractive/start-noninteractive.js.map +1 -1
  386. package/dist/noninteractive/stream-blocks.js +1 -1
  387. package/dist/noninteractive/stream-blocks.js.map +1 -1
  388. package/dist/os/pkgmgr.d.ts +0 -6
  389. package/dist/os/pkgmgr.js +15 -85
  390. package/dist/os/pkgmgr.js.map +1 -1
  391. package/dist/prompts/embedded.js +2 -2
  392. package/dist/prompts/embedded.js.map +1 -1
  393. package/dist/prompts/index.js +5 -5
  394. package/dist/prompts/system.agent.md +15 -19
  395. package/dist/prompts/system.ask.md +1 -1
  396. package/dist/safety/classifier.js +0 -2
  397. package/dist/safety/classifier.js.map +1 -1
  398. package/dist/safety/engagement-policy.js +0 -2
  399. package/dist/safety/engagement-policy.js.map +1 -1
  400. package/dist/safety/tool-classification.js +0 -81
  401. package/dist/safety/tool-classification.js.map +1 -1
  402. package/dist/store/config/endpoints.d.ts +1 -0
  403. package/dist/store/config/endpoints.js +2 -0
  404. package/dist/store/config/endpoints.js.map +1 -1
  405. package/dist/store/config.js +4 -0
  406. package/dist/store/config.js.map +1 -1
  407. package/dist/store/history/jsonl-backend.js +24 -5
  408. package/dist/store/history/jsonl-backend.js.map +1 -1
  409. package/dist/store/history-index.d.ts +2 -0
  410. package/dist/store/history-index.js +58 -1
  411. package/dist/store/history-index.js.map +1 -1
  412. package/dist/store/history.js +33 -3
  413. package/dist/store/history.js.map +1 -1
  414. package/dist/store/plan/jsonl-backend.js +4 -11
  415. package/dist/store/plan/jsonl-backend.js.map +1 -1
  416. package/dist/store/plan/mutation.js +1 -1
  417. package/dist/store/plan/mutation.js.map +1 -1
  418. package/dist/store/session-model.js +1 -0
  419. package/dist/store/session-model.js.map +1 -1
  420. package/dist/tools/call-normalization.js +4 -0
  421. package/dist/tools/call-normalization.js.map +1 -1
  422. package/dist/tools/capabilities.js +23 -13
  423. package/dist/tools/capabilities.js.map +1 -1
  424. package/dist/tools/command-intent.d.ts +7 -0
  425. package/dist/tools/command-intent.js +15 -0
  426. package/dist/tools/command-intent.js.map +1 -1
  427. package/dist/tools/definitions/aggregate.js +3 -12
  428. package/dist/tools/definitions/aggregate.js.map +1 -1
  429. package/dist/tools/definitions/define.js +1 -3
  430. package/dist/tools/definitions/define.js.map +1 -1
  431. package/dist/tools/definitions/orchestration.js +0 -95
  432. package/dist/tools/definitions/orchestration.js.map +1 -1
  433. package/dist/tools/definitions/selection.js +0 -4
  434. package/dist/tools/definitions/selection.js.map +1 -1
  435. package/dist/tools/definitions/shell.js +5 -20
  436. package/dist/tools/definitions/shell.js.map +1 -1
  437. package/dist/tools/definitions/subagents.d.ts +1 -1
  438. package/dist/tools/definitions/subagents.js +4 -20
  439. package/dist/tools/definitions/subagents.js.map +1 -1
  440. package/dist/tools/definitions/terminal.js +1 -11
  441. package/dist/tools/definitions/terminal.js.map +1 -1
  442. package/dist/tools/definitions.js +0 -1
  443. package/dist/tools/definitions.js.map +1 -1
  444. package/dist/tools/handlers/shell-1.js +6 -1
  445. package/dist/tools/handlers/shell-1.js.map +1 -1
  446. package/dist/tools/handlers/shell-3.js +0 -19
  447. package/dist/tools/handlers/shell-3.js.map +1 -1
  448. package/dist/tools/interactive-session-tools.d.ts +1 -1
  449. package/dist/tools/interactive-session-tools.js +1 -15
  450. package/dist/tools/interactive-session-tools.js.map +1 -1
  451. package/dist/tools/jobs/types.d.ts +1 -0
  452. package/dist/tools/jobs.js +2 -2
  453. package/dist/tools/jobs.js.map +1 -1
  454. package/dist/tools/net-ping-sweep.js +1 -1
  455. package/dist/tools/net-ping-sweep.js.map +1 -1
  456. package/dist/tools/registry.d.ts +1 -2
  457. package/dist/tools/registry.js +6 -10
  458. package/dist/tools/registry.js.map +1 -1
  459. package/dist/tools/retired-tools.d.ts +3 -0
  460. package/dist/tools/retired-tools.js +25 -0
  461. package/dist/tools/retired-tools.js.map +1 -0
  462. package/dist/tools/rtk/binary.d.ts +34 -0
  463. package/dist/tools/rtk/binary.js +196 -0
  464. package/dist/tools/rtk/binary.js.map +1 -0
  465. package/dist/tools/rtk/download.d.ts +21 -0
  466. package/dist/tools/rtk/download.js +195 -0
  467. package/dist/tools/rtk/download.js.map +1 -0
  468. package/dist/tools/rtk/install.d.ts +44 -0
  469. package/dist/tools/rtk/install.js +416 -0
  470. package/dist/tools/rtk/install.js.map +1 -0
  471. package/dist/tools/rtk/release.d.ts +59 -0
  472. package/dist/tools/rtk/release.js +244 -0
  473. package/dist/tools/rtk/release.js.map +1 -0
  474. package/dist/tools/rtk/rewrite.d.ts +7 -0
  475. package/dist/tools/rtk/rewrite.js +47 -0
  476. package/dist/tools/rtk/rewrite.js.map +1 -0
  477. package/dist/tools/shell/exec-attempt.js +5 -4
  478. package/dist/tools/shell/exec-attempt.js.map +1 -1
  479. package/dist/tools/shell/spawn-argv.js +1 -1
  480. package/dist/tools/shell/spawn-argv.js.map +1 -1
  481. package/dist/tools/shell.d.ts +2 -0
  482. package/dist/tools/shell.js.map +1 -1
  483. package/dist/tools/wordlists.js +2 -2
  484. package/dist/tools/wordlists.js.map +1 -1
  485. package/dist/tui-v2/app/App.js +8 -1
  486. package/dist/tui-v2/app/App.js.map +1 -1
  487. package/dist/tui-v2/bootstrap/start-tui-v2.js +9 -1
  488. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  489. package/dist/tui-v2/components/jobs/subagents-panel.js +1 -1
  490. package/dist/tui-v2/components/jobs/subagents-panel.js.map +1 -1
  491. package/dist/tui-v2/components/pager/pager-line.d.ts +8 -10
  492. package/dist/tui-v2/components/pager/pager-line.js +8 -24
  493. package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
  494. package/dist/tui-v2/components/pager/pager-rows.d.ts +27 -0
  495. package/dist/tui-v2/components/pager/pager-rows.js +64 -0
  496. package/dist/tui-v2/components/pager/pager-rows.js.map +1 -0
  497. package/dist/tui-v2/components/pager/pager.js +8 -49
  498. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  499. package/dist/tui-v2/components/transcript/assistant-message.js +19 -10
  500. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  501. package/dist/tui-v2/components/transcript/file-diff-card.js +3 -3
  502. package/dist/tui-v2/components/transcript/file-diff-card.js.map +1 -1
  503. package/dist/tui-v2/components/transcript/thinking-block.js +9 -1
  504. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  505. package/dist/tui-v2/components/transcript/tool-card.js +35 -26
  506. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  507. package/dist/tui-v2/components/transcript/transcript-view.d.ts +3 -1
  508. package/dist/tui-v2/components/transcript/transcript-view.js +16 -8
  509. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  510. package/dist/tui-v2/components/transcript/use-transcript-selection.js +14 -2
  511. package/dist/tui-v2/components/transcript/use-transcript-selection.js.map +1 -1
  512. package/dist/tui-v2/composer/composer-editor.js +2 -1
  513. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  514. package/dist/tui-v2/input/paste-burst-guard.d.ts +22 -0
  515. package/dist/tui-v2/input/paste-burst-guard.js +123 -0
  516. package/dist/tui-v2/input/paste-burst-guard.js.map +1 -0
  517. package/dist/tui-v2/rendering/styled-markdown.d.ts +1 -0
  518. package/dist/tui-v2/rendering/styled-markdown.js +9 -0
  519. package/dist/tui-v2/rendering/styled-markdown.js.map +1 -1
  520. package/dist/types.d.ts +9 -2
  521. package/dist/types.js +3 -0
  522. package/dist/types.js.map +1 -1
  523. package/dist/ui-core/actions/action-id.d.ts +1 -1
  524. package/dist/ui-core/actions/action-id.js +1 -0
  525. package/dist/ui-core/actions/action-id.js.map +1 -1
  526. package/dist/ui-core/actions/context-free.d.ts +3 -0
  527. package/dist/ui-core/actions/context-free.js +6 -0
  528. package/dist/ui-core/actions/context-free.js.map +1 -0
  529. package/dist/ui-core/actions/format-shortcuts.js +3 -0
  530. package/dist/ui-core/actions/format-shortcuts.js.map +1 -1
  531. package/dist/ui-core/actions/keymap.js +1 -0
  532. package/dist/ui-core/actions/keymap.js.map +1 -1
  533. package/dist/ui-core/bootstrap/capabilities.js +30 -0
  534. package/dist/ui-core/bootstrap/capabilities.js.map +1 -1
  535. package/dist/ui-core/bootstrap/composition-root.d.ts +4 -0
  536. package/dist/ui-core/bootstrap/composition-root.js +10 -1
  537. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  538. package/dist/ui-core/bootstrap/console-suppress.js +1 -0
  539. package/dist/ui-core/bootstrap/console-suppress.js.map +1 -1
  540. package/dist/ui-core/bootstrap/session-resume.d.ts +3 -4
  541. package/dist/ui-core/bootstrap/session-resume.js +4 -19
  542. package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
  543. package/dist/ui-core/commands/command-handlers.js +8 -5
  544. package/dist/ui-core/commands/command-handlers.js.map +1 -1
  545. package/dist/ui-core/commands/config-commands.d.ts +1 -0
  546. package/dist/ui-core/commands/config-commands.js +5 -0
  547. package/dist/ui-core/commands/config-commands.js.map +1 -1
  548. package/dist/ui-core/commands/key-commands.d.ts +3 -0
  549. package/dist/ui-core/commands/key-commands.js +342 -0
  550. package/dist/ui-core/commands/key-commands.js.map +1 -1
  551. package/dist/ui-core/commands/picker-commands.js +27 -0
  552. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  553. package/dist/ui-core/commands/pickers/search-reasoning.js +4 -3
  554. package/dist/ui-core/commands/pickers/search-reasoning.js.map +1 -1
  555. package/dist/ui-core/commands/rtk-commands.d.ts +3 -0
  556. package/dist/ui-core/commands/rtk-commands.js +270 -0
  557. package/dist/ui-core/commands/rtk-commands.js.map +1 -0
  558. package/dist/ui-core/commands/session-commands.d.ts +1 -1
  559. package/dist/ui-core/commands/session-commands.js +60 -32
  560. package/dist/ui-core/commands/session-commands.js.map +1 -1
  561. package/dist/ui-core/commands/subagent-commands.d.ts +1 -1
  562. package/dist/ui-core/commands/subagent-commands.js +4 -4
  563. package/dist/ui-core/commands/subagent-commands.js.map +1 -1
  564. package/dist/ui-core/input/paste-burst.d.ts +45 -0
  565. package/dist/ui-core/input/paste-burst.js +170 -0
  566. package/dist/ui-core/input/paste-burst.js.map +1 -0
  567. package/dist/ui-core/input/paste-text.d.ts +1 -0
  568. package/dist/ui-core/input/paste-text.js +4 -0
  569. package/dist/ui-core/input/paste-text.js.map +1 -0
  570. package/dist/ui-core/plan/plan-lifecycle.js +3 -3
  571. package/dist/ui-core/plan/plan-lifecycle.js.map +1 -1
  572. package/dist/ui-core/rendering/exit-summary/table.js +4 -1
  573. package/dist/ui-core/rendering/exit-summary/table.js.map +1 -1
  574. package/dist/ui-core/rendering/file-diff-view.d.ts +11 -0
  575. package/dist/ui-core/rendering/file-diff-view.js +37 -2
  576. package/dist/ui-core/rendering/file-diff-view.js.map +1 -1
  577. package/dist/ui-core/rendering/format-usage.js +9 -2
  578. package/dist/ui-core/rendering/format-usage.js.map +1 -1
  579. package/dist/ui-core/rendering/fs-search-summary.d.ts +11 -0
  580. package/dist/ui-core/rendering/fs-search-summary.js +65 -0
  581. package/dist/ui-core/rendering/fs-search-summary.js.map +1 -0
  582. package/dist/ui-core/rendering/intro-header.js +13 -7
  583. package/dist/ui-core/rendering/intro-header.js.map +1 -1
  584. package/dist/ui-core/rendering/object-render-cache.d.ts +12 -0
  585. package/dist/ui-core/rendering/object-render-cache.js +65 -0
  586. package/dist/ui-core/rendering/object-render-cache.js.map +1 -0
  587. package/dist/ui-core/rendering/theme.d.ts +3 -0
  588. package/dist/ui-core/rendering/theme.js +10 -4
  589. package/dist/ui-core/rendering/theme.js.map +1 -1
  590. package/dist/ui-core/rendering/transcript-semantic.js +11 -1
  591. package/dist/ui-core/rendering/transcript-semantic.js.map +1 -1
  592. package/dist/ui-core/state/persistent-map.d.ts +19 -0
  593. package/dist/ui-core/state/persistent-map.js +88 -0
  594. package/dist/ui-core/state/persistent-map.js.map +1 -0
  595. package/dist/ui-core/state/transcript-hydrate.d.ts +2 -4
  596. package/dist/ui-core/state/transcript-hydrate.js +17 -94
  597. package/dist/ui-core/state/transcript-hydrate.js.map +1 -1
  598. package/dist/ui-core/state/transcript-search.js +11 -2
  599. package/dist/ui-core/state/transcript-search.js.map +1 -1
  600. package/dist/ui-core/state/transcript-store.js +2 -2
  601. package/dist/ui-core/state/transcript-store.js.map +1 -1
  602. package/dist/ui-core/state/transcript-struct.js +4 -9
  603. package/dist/ui-core/state/transcript-struct.js.map +1 -1
  604. package/dist/version.generated.d.ts +2 -2
  605. package/dist/version.generated.js +2 -2
  606. package/dist/version.generated.js.map +1 -1
  607. package/package.json +3 -3
  608. package/dist/tools/batch/batch-parsing.d.ts +0 -11
  609. package/dist/tools/batch/batch-parsing.js +0 -78
  610. package/dist/tools/batch/batch-parsing.js.map +0 -1
  611. package/dist/tools/batch/limits.d.ts +0 -6
  612. package/dist/tools/batch/limits.js +0 -17
  613. package/dist/tools/batch/limits.js.map +0 -1
  614. package/dist/tools/batch/run-batch.d.ts +0 -3
  615. package/dist/tools/batch/run-batch.js +0 -402
  616. package/dist/tools/batch/run-batch.js.map +0 -1
  617. package/dist/tools/batch-fail-policy.d.ts +0 -26
  618. package/dist/tools/batch-fail-policy.js +0 -230
  619. package/dist/tools/batch-fail-policy.js.map +0 -1
  620. package/dist/tools/definitions/context-1.d.ts +0 -2
  621. package/dist/tools/definitions/context-1.js +0 -8
  622. package/dist/tools/definitions/context-1.js.map +0 -1
  623. package/dist/tools/handlers/context-1.d.ts +0 -2
  624. package/dist/tools/handlers/context-1.js +0 -7
  625. package/dist/tools/handlers/context-1.js.map +0 -1
  626. package/dist/tools/handlers/orchestration-1.d.ts +0 -2
  627. package/dist/tools/handlers/orchestration-1.js +0 -7
  628. package/dist/tools/handlers/orchestration-1.js.map +0 -1
  629. package/dist/tools/handlers/shell-2.d.ts +0 -2
  630. package/dist/tools/handlers/shell-2.js +0 -31
  631. package/dist/tools/handlers/shell-2.js.map +0 -1
  632. package/dist/tools/package-binary.d.ts +0 -1
  633. package/dist/tools/package-binary.js +0 -23
  634. package/dist/tools/package-binary.js.map +0 -1
@@ -0,0 +1,221 @@
1
+ import { defaultModels, } from "./provider.js";
2
+ import { ingestOpenAiModelCatalog, ProviderError, readJson } from "./http.js";
3
+ import { META_STREAM_TERMINAL } from "./stream-terminal.js";
4
+ import { mapResponsesEffort, responsesStream, } from "./responses-dialect.js";
5
+ import { importExistingOmnirushAuth, omnirushGatewayUrl, omnirushGatewayUserAgent, refreshOmnirushToken, } from "./omnirush-auth.js";
6
+ import { cacheAffinityKey, sessionCacheAffinityKey } from "./cache-affinity.js";
7
+ import { currentSessionAffinity } from "./session-affinity.js";
8
+ import { getProviderKeys, replaceProviderKey } from "../store/keys.js";
9
+ export const omnirushFallbackModels = [
10
+ "gpt-6-astra",
11
+ "gpt-6-sol",
12
+ "gpt-5.6-sol",
13
+ "meta-muse-spark",
14
+ "muse-spark-1.1",
15
+ "muse-spark-1.3",
16
+ "muse-spark-1.2-contributor",
17
+ ];
18
+ let cachedModels = null;
19
+ let lastFetchTime = 0;
20
+ const CACHE_TTL_MS = 30 * 60 * 1000;
21
+ export function resetOmnirushModelCache() {
22
+ cachedModels = null;
23
+ lastFetchTime = 0;
24
+ }
25
+ function requireKey(auth) {
26
+ if (!auth.apiKey) {
27
+ throw new Error("Omnirush authentication required. Run `clai auth omnirush` to sign in with the browser device flow, or `clai auth omnirush --import` to reuse the omnirush CLI login.");
28
+ }
29
+ return auth.apiKey;
30
+ }
31
+ function gatewayBase(auth) {
32
+ const override = auth.baseUrl?.trim();
33
+ if (override) {
34
+ const clean = override.replace(/\/+$/, "");
35
+ return /\/v1$/i.test(clean) ? clean : `${clean}/v1`;
36
+ }
37
+ return omnirushGatewayUrl();
38
+ }
39
+ function gatewayHeaders(apiKey, accept) {
40
+ return {
41
+ authorization: `Bearer ${apiKey}`,
42
+ accept,
43
+ "user-agent": omnirushGatewayUserAgent(),
44
+ };
45
+ }
46
+ function isOmnirushAuthFailure(error) {
47
+ const status = error instanceof ProviderError ? error.status : undefined;
48
+ const message = error instanceof Error ? error.message : "";
49
+ return (status === 401 ||
50
+ (status === 403 && /expired|invalid|unauthorized|not allowed|denied/i.test(message)));
51
+ }
52
+ async function findOmnirushRefreshToken(currentKey, auth) {
53
+ if (auth.refreshToken)
54
+ return auth.refreshToken;
55
+ const keys = await getProviderKeys("omnirush").catch(() => undefined);
56
+ const slot = keys?.keys.find((candidate) => candidate.value === currentKey);
57
+ if (slot?.refreshToken)
58
+ return slot.refreshToken;
59
+ const imported = await importExistingOmnirushAuth().catch(() => undefined);
60
+ if (imported && imported.accessToken === currentKey)
61
+ return imported.refreshToken;
62
+ return undefined;
63
+ }
64
+ async function replaceOmnirushKey(oldKey, fresh) {
65
+ const metadata = { refreshToken: fresh.refreshToken };
66
+ try {
67
+ if (await replaceProviderKey("omnirush", oldKey, fresh.accessToken, metadata))
68
+ return;
69
+ const keys = await getProviderKeys("omnirush");
70
+ if (keys.keys.some((key) => key.value === fresh.accessToken && key.refreshToken === fresh.refreshToken)) {
71
+ return;
72
+ }
73
+ }
74
+ catch {
75
+ throw new Error("Omnirush refreshed its credentials, but clai could not save the rotated tokens.");
76
+ }
77
+ throw new Error("Omnirush refreshed its credentials, but the matching clai account could not be found to save them.");
78
+ }
79
+ const refreshesInFlight = new Map();
80
+ async function refreshAndPersistOmnirushCredential(key, auth, refreshToken) {
81
+ const inFlight = refreshesInFlight.get(refreshToken);
82
+ if (inFlight) {
83
+ const fresh = await inFlight;
84
+ auth.apiKey = fresh.accessToken;
85
+ auth.refreshToken = fresh.refreshToken;
86
+ return fresh;
87
+ }
88
+ const refresh = (async () => {
89
+ const fresh = await refreshOmnirushToken(refreshToken);
90
+ auth.apiKey = fresh.accessToken;
91
+ auth.refreshToken = fresh.refreshToken;
92
+ await replaceOmnirushKey(key, fresh);
93
+ return fresh;
94
+ })();
95
+ refreshesInFlight.set(refreshToken, refresh);
96
+ try {
97
+ return await refresh;
98
+ }
99
+ finally {
100
+ if (refreshesInFlight.get(refreshToken) === refresh) {
101
+ refreshesInFlight.delete(refreshToken);
102
+ }
103
+ }
104
+ }
105
+ async function withOmnirushCredential(auth, run, onStatus) {
106
+ const key = requireKey(auth);
107
+ const refreshToken = await findOmnirushRefreshToken(key, auth);
108
+ try {
109
+ return await run(key);
110
+ }
111
+ catch (error) {
112
+ if (!isOmnirushAuthFailure(error))
113
+ throw error;
114
+ if (!refreshToken)
115
+ throw error;
116
+ onStatus?.("i Omnirush authentication rejected — refreshing token");
117
+ const fresh = await refreshAndPersistOmnirushCredential(key, auth, refreshToken);
118
+ onStatus?.("i Omnirush token refreshed — retrying request");
119
+ return run(fresh.accessToken);
120
+ }
121
+ }
122
+ function omnirushCacheKey(context) {
123
+ const affinity = currentSessionAffinity();
124
+ const key = affinity
125
+ ? sessionCacheAffinityKey(affinity)
126
+ : cacheAffinityKey("omnirush", context.model, context.messages);
127
+ return `${context.purpose === "auxiliary" ? "aux-" : ""}${key}`;
128
+ }
129
+ function omnirushConfigFor(baseUrl) {
130
+ return {
131
+ baseUrl,
132
+ providerId: "omnirush",
133
+ displayName: "Omnirush",
134
+ artifactDialect: "openai-compatible",
135
+ terminalPolicy: META_STREAM_TERMINAL,
136
+ omitSampling: true,
137
+ maxTokensField: "omit",
138
+ omitParallelToolCalls: true,
139
+ systemRole: "developer",
140
+ buildHeaders(auth, accept) {
141
+ return {
142
+ "content-type": "application/json",
143
+ accept,
144
+ ...(auth.apiKey ? { authorization: `Bearer ${auth.apiKey}` } : {}),
145
+ "user-agent": omnirushGatewayUserAgent(),
146
+ };
147
+ },
148
+ reasoningPayload(reasoning) {
149
+ if (!reasoning?.enabled)
150
+ return undefined;
151
+ return { effort: mapResponsesEffort(reasoning.effort), summary: "auto" };
152
+ },
153
+ bodyExtras(context) {
154
+ return {
155
+ store: false,
156
+ prompt_cache_key: omnirushCacheKey(context),
157
+ };
158
+ },
159
+ };
160
+ }
161
+ async function fetchOmnirushModels(apiKey, baseUrl) {
162
+ const response = await fetch(`${baseUrl}/models`, {
163
+ headers: gatewayHeaders(apiKey, "application/json"),
164
+ });
165
+ if (!response.ok) {
166
+ throw new ProviderError(`Omnirush model catalog request failed (HTTP ${response.status}).`, response.status);
167
+ }
168
+ const payload = await readJson(response);
169
+ return ingestOpenAiModelCatalog("omnirush", payload);
170
+ }
171
+ export const omnirushProvider = {
172
+ id: "omnirush",
173
+ displayName: "Omnirush",
174
+ reasoningStyle: "openai",
175
+ defaultModel: defaultModels.omnirush,
176
+ envVar: "OMNIRUSH_API_KEY",
177
+ validateKey: (key) => key.trim().length >= 16,
178
+ async listModels(auth) {
179
+ const now = Date.now();
180
+ if (cachedModels && now - lastFetchTime < CACHE_TTL_MS)
181
+ return cachedModels;
182
+ const baseUrl = gatewayBase(auth);
183
+ let models = [];
184
+ try {
185
+ models = auth.apiKey
186
+ ? await withOmnirushCredential(auth, (key) => fetchOmnirushModels(key, baseUrl))
187
+ : [];
188
+ }
189
+ catch {
190
+ models = [];
191
+ }
192
+ const result = models.length > 0 ? models : [...omnirushFallbackModels];
193
+ if (result.length > 0) {
194
+ cachedModels = result;
195
+ lastFetchTime = now;
196
+ }
197
+ return result;
198
+ },
199
+ async ping(auth) {
200
+ const baseUrl = gatewayBase(auth);
201
+ await withOmnirushCredential(auth, async (key) => {
202
+ const response = await fetch(`${baseUrl}/models`, {
203
+ headers: gatewayHeaders(key, "application/json"),
204
+ });
205
+ if (!response.ok) {
206
+ throw new ProviderError(`Omnirush authentication failed (HTTP ${response.status}). Run \`clai auth omnirush\` to sign in.`, response.status);
207
+ }
208
+ });
209
+ },
210
+ async complete(request, auth) {
211
+ const model = request.model ?? defaultModels.omnirush;
212
+ const config = omnirushConfigFor(gatewayBase(auth));
213
+ return withOmnirushCredential(auth, (key) => responsesStream(config, { ...request, provider: "omnirush", model }, { apiKey: key }, () => { }, model));
214
+ },
215
+ async stream(request, auth, onToken, onStatus) {
216
+ const model = request.model ?? defaultModels.omnirush;
217
+ const config = omnirushConfigFor(gatewayBase(auth));
218
+ return withOmnirushCredential(auth, (key) => responsesStream(config, { ...request, provider: "omnirush", model }, { apiKey: key }, onToken, model), onStatus);
219
+ },
220
+ };
221
+ //# sourceMappingURL=omnirush.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omnirush.js","sourceRoot":"","sources":["../../src/llm/omnirush.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,14 @@ export interface OperationUsageSnapshot {
21
21
  readonly attempts: readonly GenerationAttemptRecord[];
22
22
  readonly aggregate: OperationUsageAggregate;
23
23
  }
24
+ export interface DiscardedAttemptUsage {
25
+ readonly usage: TokenUsage;
26
+ readonly provider: GenerationAttemptInput["provider"];
27
+ readonly model: string;
28
+ }
29
+ export declare function claimDiscardedAttemptUsage(snapshot: OperationUsageSnapshot | undefined): DiscardedAttemptUsage[];
30
+ export declare function knownAttemptUsage(snapshot: OperationUsageSnapshot | undefined): DiscardedAttemptUsage[];
31
+ export declare function observeStreamUsage(usage: TokenUsage | undefined): void;
24
32
  export declare function withUnrecordedTransport<T>(run: () => T, maxOutputTokens?: number): T;
25
33
  export declare function recordGenerationAttemptOutcome(outcome: GenerationAttemptOutcome, usage?: TokenUsage, statusCode?: number): void;
26
34
  export declare function completeGenerationAttempt(outcome: GenerationAttemptOutcome, usage?: TokenUsage, statusCode?: number): void;
@@ -2,6 +2,21 @@ import { AsyncLocalStorage } from "node:async_hooks";
2
2
  import { fingerprintFinalRequest } from "./request-fingerprint.js";
3
3
  import { sessionCacheAffinityKey } from "./cache-affinity.js";
4
4
  import { currentSessionAffinity } from "./session-affinity.js";
5
+ const accountedAttempts = new WeakSet();
6
+ const attemptUsage = (attempt) => attempt.usage.kind === "known"
7
+ ? [{ usage: attempt.usage.value, provider: attempt.provider, model: attempt.model }]
8
+ : [];
9
+ export function claimDiscardedAttemptUsage(snapshot) {
10
+ return (snapshot?.attempts ?? []).flatMap((attempt) => {
11
+ if (attempt.outcome === "success" || accountedAttempts.has(attempt))
12
+ return [];
13
+ accountedAttempts.add(attempt);
14
+ return attemptUsage(attempt);
15
+ });
16
+ }
17
+ export function knownAttemptUsage(snapshot) {
18
+ return (snapshot?.attempts ?? []).flatMap(attemptUsage);
19
+ }
5
20
  function immutableUsage(usage) {
6
21
  return Object.freeze({ ...usage });
7
22
  }
@@ -96,6 +111,12 @@ function withSessionAffinityHeaders(init, sessionId) {
96
111
  return { ...init, headers };
97
112
  }
98
113
  const generationAttemptContext = new AsyncLocalStorage();
114
+ export function observeStreamUsage(usage) {
115
+ const context = generationAttemptContext.getStore();
116
+ if (context && usage)
117
+ context.streamUsage = usage;
118
+ }
119
+ const failedAttemptUsage = (context, error) => canonicalUsageFromError(error) ?? context.streamUsage;
99
120
  const unrecordedTransportStorage = new AsyncLocalStorage();
100
121
  export function withUnrecordedTransport(run, maxOutputTokens) {
101
122
  return unrecordedTransportStorage.run({ ...(maxOutputTokens !== undefined ? { maxOutputTokens } : {}) }, run);
@@ -142,6 +163,7 @@ export async function generationFetch(input, init) {
142
163
  const reason = context.admissions === 0 ? context.input.reason : "provider-retry";
143
164
  const requestFingerprint = fingerprintFinalRequest(context.input, init?.body);
144
165
  context.admissions += 1;
166
+ context.streamUsage = undefined;
145
167
  context.active = context.request.attemptUsage.begin({
146
168
  provider: context.input.provider,
147
169
  model: context.input.model,
@@ -157,7 +179,7 @@ export async function generationFetch(input, init) {
157
179
  return response;
158
180
  }
159
181
  catch (error) {
160
- settleActiveAttempt(context, context.request.signal?.aborted ? "cancelled" : "failure", canonicalUsageFromError(error), statusCodeFromError(error));
182
+ settleActiveAttempt(context, context.request.signal?.aborted ? "cancelled" : "failure", failedAttemptUsage(context, error), statusCodeFromError(error));
161
183
  throw error;
162
184
  }
163
185
  }
@@ -170,7 +192,7 @@ export async function runGenerationAttempt(request, input, run) {
170
192
  return result;
171
193
  }
172
194
  catch (error) {
173
- settleActiveAttempt(context, request.signal?.aborted ? "cancelled" : "failure", canonicalUsageFromError(error), statusCodeFromError(error));
195
+ settleActiveAttempt(context, request.signal?.aborted ? "cancelled" : "failure", failedAttemptUsage(context, error), statusCodeFromError(error));
174
196
  throw error;
175
197
  }
176
198
  });
@@ -1 +1 @@
1
- {"version":3,"file":"operation-usage.js","sourceRoot":"","sources":["../../src/llm/operation-usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-usage.js","sourceRoot":"","sources":["../../src/llm/operation-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAYrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AA+B/D,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA2B,CAAC;AAEjE,MAAM,YAAY,GAAG,CAAC,OAAgC,EAA2B,EAAE,CACjF,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;IAC5B,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACpF,CAAC,CAAC,EAAE,CAAC;AAET,MAAM,UAAU,0BAA0B,CACxC,QAA4C;IAE5C,OAAO,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACpD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAC;QAC/E,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAA4C;IAE5C,OAAO,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CAAC,KAAiB;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,2BAA2B,CAClC,WAAiC;IAEjC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,WAAW;QACd,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;QACxD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAC5C,QAAQ,EAAE,MAAM,CAAC,MAAM,CACrB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CACrE;QACD,QAAQ,EAAE,MAAM,CAAC,MAAM,CACrB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CACnE;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,QAA4C;IAE5C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAC3B,CAAC,OAAO,EAEN,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CACpC,CAAC;IACF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,SAAkB;YAC1B,eAAe,EAAE,CAAC;YAClB,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,kBAAkB,GAAG,iBAAiB,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAe,cAAc,CAAC;QACvC,YAAY,EAAE,KAAK,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAC5D,CAAC,CACF;QACD,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAC5B,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAChE,CAAC,CACF;QACD,WAAW,EAAE,KAAK,CAAC,MAAM,CACvB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAC3D,CAAC,CACF;QACD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1D,GAAG,CAAC,kBAAkB;YACtB,KAAK,CAAC,KAAK,CACT,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS,CAClE;YACC,CAAC,CAAC;gBACE,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAC9B,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACjB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAmB,EACjD,CAAC,CACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,kBAAkB;YACtB,KAAK,CAAC,KAAK,CACT,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS,CACnE;YACC,CAAC,CAAC;gBACE,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAC/B,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACjB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAoB,EAClD,CAAC,CACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,kBAAkB;YACtB,KAAK,CAAC,KAAK,CACT,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,KAAK,SAAS,CACpE;YACC,CAAC,CAAC;gBACE,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACjB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAqB,EACnD,CAAC,CACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,kBAAkB;YACtB,KAAK,CAAC,KAAK,CACT,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAC/D;YACC,CAAC,CAAC;gBACE,eAAe,EAAE,KAAK,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,eAAgB,EAChE,CAAC,CACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAChE,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE;YAC7B,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAE,OAAiB,CAAC,CAAC,CAAE,SAAmB;QAC3E,eAAe,EAAE,KAAK,CAAC,MAAM;QAC7B,iBAAiB;QACjB,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACjF,MAAM,KAAK,GAAI,KAA6B,CAAC,KAAK,CAAC;IACnD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,KAAK,GAAG,KAA4B,CAAC;IAC3C,IACE,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;QAC1C,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,EAChC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAmB,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,MAAM,MAAM,GAAG,MAAM,CAAE,KAA8B,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,0BAA0B,CACjC,IAA6B,EAC7B,SAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC7E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAUD,MAAM,wBAAwB,GAAG,IAAI,iBAAiB,EAA4B,CAAC;AAEnF,MAAM,UAAU,kBAAkB,CAAC,KAA6B;IAC9D,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,CAAC;IACpD,IAAI,OAAO,IAAI,KAAK;QAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;AACpD,CAAC;AAED,MAAM,kBAAkB,GAAG,CACzB,OAAiC,EACjC,KAAc,EACU,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC;AAEnF,MAAM,0BAA0B,GAAG,IAAI,iBAAiB,EAAgC,CAAC;AAEzF,MAAM,UAAU,uBAAuB,CAAI,GAAY,EAAE,eAAwB;IAC/E,OAAO,0BAA0B,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAChH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,OAAiC,EACjC,KAAkB,EAClB,UAAmB;IAEnB,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,CAAC;IACpD,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAiC,EACjC,OAAiC,EACjC,KAAkB,EAClB,UAAmB;IAEnB,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAiC,EACjC,KAAkB,EAClB,UAAmB;IAEnB,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,CAAC;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAA6B,EAC7B,IAAkB;IAElB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,IAAI,QAAQ;QAAE,IAAI,GAAG,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,0BAA0B,CAAC,QAAQ,EAAE,CAAC;IACzD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAA4B,CAAC;YAC9D,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAC/E,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;YACjG,CAAC;YACD,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,CAAC;IACpD,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,MAAM,GACV,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACrE,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9E,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;QAClD,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;QAC1B,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,MAAM;QACN,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mBAAmB,CACjB,OAAO,EACP,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACzD,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAClC,mBAAmB,CAAC,KAAK,CAAC,CAC3B,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA0B,EAC1B,KAA6B,EAC7B,GAAoC;IAEpC,MAAM,OAAO,GAA6B,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC5E,OAAO,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;YAC3B,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mBAAmB,CACjB,OAAO,EACP,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACjD,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAClC,mBAAmB,CAAC,KAAK,CAAC,CAC3B,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,sBAAsB;IACzB,YAAY,GAAG,CAAC,CAAC;IACR,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;IAEtE,KAAK,CAAC,KAA6B;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACvB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,CACR,OAAiC,EACjC,KAAkB,EAClB,UAAmB,EACb,EAAE;gBACR,IAAI,SAAS;oBAAE,OAAO;gBACtB,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,EAAE,kBAAkB,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;gBACtD,MAAM,MAAM,GAA4B,MAAM,CAAC,MAAM,CAAC;oBACpD,GAAG,YAAY;oBACf,GAAG,CAAC,kBAAkB;wBACpB,CAAC,CAAC,EAAE,kBAAkB,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,EAAE;wBACzE,CAAC,CAAC,EAAE,CAAC;oBACP,QAAQ;oBACR,OAAO;oBACP,KAAK,EAAE,KAAK;wBACV,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC;oBAC/C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpD,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CACjF,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;CACF"}
@@ -6,6 +6,8 @@ export interface BalanceBreakdown {
6
6
  readonly limit: number;
7
7
  readonly overages: number;
8
8
  readonly currency?: string | undefined;
9
+ readonly unit?: "percent" | undefined;
10
+ readonly nextResetAt?: number | undefined;
9
11
  }
10
12
  export interface ProviderBalance {
11
13
  readonly provider: ProviderId;
@@ -14,6 +16,13 @@ export interface ProviderBalance {
14
16
  readonly overageStatus?: string | undefined;
15
17
  readonly nextResetAt?: number | undefined;
16
18
  readonly fetchedAt: number;
19
+ readonly accountId?: string | undefined;
20
+ readonly credits?: {
21
+ readonly remaining?: number | undefined;
22
+ readonly unlimited: boolean;
23
+ readonly available: boolean;
24
+ } | undefined;
25
+ readonly limitReached?: boolean | undefined;
17
26
  }
18
27
  export type BalanceState = "idle" | "loading" | "ready" | "error";
19
28
  export interface BalanceSnapshot {
@@ -24,6 +33,7 @@ export declare const PROVIDER_BALANCE_REFRESH_MS = 60000;
24
33
  type Listener = () => void;
25
34
  export declare function subscribeProviderBalances(listener: Listener): () => void;
26
35
  export declare function getProviderBalanceSnapshot(provider: ProviderId): BalanceSnapshot;
36
+ export declare function setProviderBalanceAccount(provider: ProviderId, accountId: string): void;
27
37
  export declare function kiroBalanceFromLimits(limits: KiroUsageLimits): ProviderBalance;
28
38
  export declare function ensureProviderBalancePolling(provider: ProviderId, fetcher: () => Promise<ProviderBalance | undefined>, intervalMs?: number): void;
29
39
  export declare function stopProviderBalancePolling(): void;
@@ -1,13 +1,14 @@
1
1
  import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { homedir } from "node:os";
3
2
  import { join } from "node:path";
4
- const CACHE_DIR = join(homedir(), ".clai");
3
+ import { getDataDir } from "../store/paths.js";
4
+ const CACHE_DIR = getDataDir();
5
5
  const CACHE_PATH = join(CACHE_DIR, "provider-balance.json");
6
6
  export const PROVIDER_BALANCE_REFRESH_MS = 60_000;
7
7
  const listeners = new Set();
8
8
  const states = new Map();
9
9
  const timers = new Map();
10
10
  let cacheLoaded = false;
11
+ let pollingGeneration = 0;
11
12
  function loadCache() {
12
13
  if (cacheLoaded)
13
14
  return;
@@ -54,6 +55,12 @@ export function getProviderBalanceSnapshot(provider) {
54
55
  loadCache();
55
56
  return states.get(provider) ?? { state: "idle" };
56
57
  }
58
+ export function setProviderBalanceAccount(provider, accountId) {
59
+ loadCache();
60
+ const balance = states.get(provider)?.balance;
61
+ if (balance && balance.accountId !== accountId)
62
+ setState(provider, { state: "loading" });
63
+ }
57
64
  export function kiroBalanceFromLimits(limits) {
58
65
  const breakdowns = limits.breakdowns.map((b) => ({
59
66
  label: b.displayNamePlural ?? b.displayName ?? (b.resourceType ?? "usage").toLowerCase(),
@@ -81,9 +88,16 @@ export function ensureProviderBalancePolling(provider, fetcher, intervalMs = PRO
81
88
  if (!existing || existing.state === "idle") {
82
89
  setState(provider, { state: "loading", ...(existing?.balance ? { balance: existing.balance } : {}) });
83
90
  }
91
+ let refreshing = false;
92
+ const generation = pollingGeneration;
84
93
  const tick = async () => {
94
+ if (refreshing)
95
+ return;
96
+ refreshing = true;
85
97
  try {
86
98
  const balance = await fetcher();
99
+ if (generation !== pollingGeneration)
100
+ return;
87
101
  if (balance) {
88
102
  setState(provider, { state: "ready", balance });
89
103
  persistCache();
@@ -94,9 +108,14 @@ export function ensureProviderBalancePolling(provider, fetcher, intervalMs = PRO
94
108
  }
95
109
  }
96
110
  catch {
111
+ if (generation !== pollingGeneration)
112
+ return;
97
113
  const prev = states.get(provider);
98
114
  setState(provider, { state: "error", ...(prev?.balance ? { balance: prev.balance } : {}) });
99
115
  }
116
+ finally {
117
+ refreshing = false;
118
+ }
100
119
  };
101
120
  void tick();
102
121
  const timer = setInterval(() => void tick(), intervalMs);
@@ -105,6 +124,7 @@ export function ensureProviderBalancePolling(provider, fetcher, intervalMs = PRO
105
124
  timers.set(provider, timer);
106
125
  }
107
126
  export function stopProviderBalancePolling() {
127
+ pollingGeneration += 1;
108
128
  for (const timer of timers.values())
109
129
  clearInterval(timer);
110
130
  timers.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"provider-balance.js","sourceRoot":"","sources":["../../src/llm/provider-balance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-balance.js","sourceRoot":"","sources":["../../src/llm/provider-balance.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,9 @@ export const providerAliases = {
87
87
  zai: "glm",
88
88
  bigmodel: "glm",
89
89
  minimax: "minimax",
90
+ freebuff: "freebuff",
91
+ fb: "freebuff",
92
+ "free-buff": "freebuff",
90
93
  minimaxi: "minimax",
91
94
  "minimax-ai": "minimax",
92
95
  cline: "cline",
@@ -117,6 +120,13 @@ export const providerAliases = {
117
120
  "kiro.dev": "kiro",
118
121
  "kiro-desktop": "kiro",
119
122
  "aws-kiro": "kiro",
123
+ omnirush: "omnirush",
124
+ omni: "omnirush",
125
+ "omnirush-ai": "omnirush",
126
+ "omni-rush": "omnirush",
127
+ tokenharbor: "tokenharbor",
128
+ "token-harbor": "tokenharbor",
129
+ "tokenharbor.ai": "tokenharbor",
120
130
  };
121
131
  export const defaultModels = {
122
132
  free: "free-2/kilo-auto/free",
@@ -145,10 +155,13 @@ export const defaultModels = {
145
155
  mimo: "mimo-v2.6-pro",
146
156
  glm: "glm-4-plus",
147
157
  minimax: "MiniMax-Text-01",
158
+ freebuff: "z-ai/glm-5.3-flash",
148
159
  cline: "cline-free/deepseek-v4.1-flash",
149
160
  codex: "gpt-5.6-luna",
150
161
  copilot: "gpt-4o",
151
162
  kiro: "claude-sonnet-4.5",
163
+ omnirush: "gpt-6-astra",
164
+ tokenharbor: "claude-sonnet-5.5",
152
165
  };
153
166
  export const retiredModelReplacements = {
154
167
  codex: {
@@ -210,9 +223,12 @@ export const envVars = {
210
223
  mimo: "MIMO_API_KEY",
211
224
  glm: "GLM_API_KEY",
212
225
  minimax: "MINIMAX_API_KEY",
226
+ freebuff: "FREEBUFF_API_KEY",
213
227
  cline: "CLINE_API_KEY",
214
228
  codex: "CODEX_API_KEY",
215
229
  copilot: "COPILOT_API_KEY",
216
230
  kiro: "KIRO_API_KEY",
231
+ omnirush: "OMNIRUSH_API_KEY",
232
+ tokenharbor: "TOKENHARBOR_API_KEY",
217
233
  };
218
234
  //# sourceMappingURL=provider-identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-identity.js","sourceRoot":"","sources":["../../src/llm/provider-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-identity.js","sourceRoot":"","sources":["../../src/llm/provider-identity.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iCAAiC,GAAG,wCAAwC,CAAC;AAC1F,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,CAAC;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,aAAa;IAC7B,MAAM,EAAE,aAAa;IACrB,YAAY,EAAE,YAAY;IAC1B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,QAAQ;IACzB,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,YAAY;IAClB,YAAY,EAAE,YAAY;IAC1B,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,OAAO;IACrB,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,WAAW;IAC3B,WAAW,EAAE,WAAW;IACxB,cAAc,EAAE,WAAW;IAC3B,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,aAAa;IAC7B,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,MAAM;IACjB,gBAAgB,EAAE,MAAM;IACxB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,MAAM;IACpB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,EAAE,EAAE,WAAW;IACf,OAAO,EAAE,SAAS;IAClB,mBAAmB,EAAE,SAAS;IAC9B,qBAAqB,EAAE,SAAS;IAChC,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,YAAY;IAC3B,IAAI,EAAE,YAAY;IAClB,eAAe,EAAE,eAAe;IAChC,YAAY,EAAE,eAAe;IAC7B,KAAK,EAAE,eAAe;IACtB,EAAE,EAAE,eAAe;IACnB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,SAAS;IACvB,gBAAgB,EAAE,SAAS;IAC3B,mBAAmB,EAAE,SAAS;IAC9B,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,QAAQ;IACtB,mBAAmB,EAAE,QAAQ;IAC7B,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,UAAU;IACzB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,MAAM;IACrB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,aAAa,EAAE,MAAM;IACrB,UAAU,EAAE,MAAM;IAClB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,KAAK;IACb,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,EAAE,EAAE,UAAU;IACd,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,SAAS;IACvB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE,OAAO;IACnB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,OAAO;IAChB,sBAAsB,EAAE,OAAO;IAC/B,sBAAsB,EAAE,OAAO;IAC/B,wCAAwC,EAAE,OAAO;IACjD,yCAAyC,EAAE,OAAO;IAClD,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,OAAO;IACvB,YAAY,EAAE,OAAO;IACrB,cAAc,EAAE,OAAO;IACvB,eAAe,EAAE,OAAO;IACxB,cAAc,EAAE,OAAO;IACvB,WAAW,EAAE,OAAO;IACpB,OAAO,EAAE,SAAS;IAClB,gBAAgB,EAAE,SAAS;IAC3B,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,SAAS;IACzB,MAAM,EAAE,SAAS;IACjB,gBAAgB,EAAE,SAAS;IAC3B,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,MAAM;IACV,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,UAAU;IAChB,aAAa,EAAE,UAAU;IACzB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,aAAa;IAC7B,gBAAgB,EAAE,aAAa;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,IAAI,EAAE,uBAAuB;IAC7B,MAAM,EAAE,kBAAkB;IAC1B,UAAU,EAAE,wCAAwC;IACpD,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE,yBAAyB;IACpC,MAAM,EAAE,oBAAoB;IAC5B,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,4BAA4B;IAC1C,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,cAAc;IACzB,WAAW,EAAE,oBAAoB;IACjC,IAAI,EAAE,gBAAgB;IACtB,SAAS,EAAE,qCAAqC;IAChD,OAAO,EAAE,0BAA0B;IACnC,UAAU,EAAE,oBAAoB;IAChC,eAAe,EAAE,gBAAgB;IACjC,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,qBAAqB;IAC7B,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,eAAe;IACrB,GAAG,EAAE,YAAY;IACjB,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,gCAAgC;IACvC,KAAK,EAAE,cAAc;IACrB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,mBAAmB;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAEjC;IACF,KAAK,EAAE;QACL,eAAe,EAAE,cAAc;QAC/B,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,cAAc;KAC/B;IACD,MAAM,EAAE;QACN,kBAAkB,EAAE,kBAAkB;QACtC,uBAAuB,EAAE,uBAAuB;KACjD;IACD,MAAM,EAAE;QACN,wCAAwC,EAAE,aAAa,CAAC,MAAM;KAC/D;IACD,MAAM,EAAE;QACN,aAAa,EAAE,cAAc;QAC7B,QAAQ,EAAE,SAAS;KACpB;IACD,WAAW,EAAE;QACX,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE,sBAAsB;QACnC,gBAAgB,EAAE,2BAA2B;QAC7C,gBAAgB,EAAE,2BAA2B;QAC7C,iBAAiB,EAAE,0BAA0B;QAC7C,mBAAmB,EAAE,4BAA4B;QACjD,cAAc,EAAE,mBAAmB;QACnC,cAAc,EAAE,mBAAmB;QACnC,SAAS,EAAE,cAAc;QACzB,cAAc,EAAE,cAAc;QAC9B,cAAc,EAAE,qBAAqB;QACrC,YAAY,EAAE,YAAY;QAC1B,cAAc,EAAE,sBAAsB;KACvC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA2C;IAC7D,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,gBAAgB;IACxB,UAAU,EAAE,oBAAoB;IAChC,MAAM,EAAE,gBAAgB;IACxB,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,gBAAgB;IACxB,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,mBAAmB;IACjC,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,mBAAmB;IACjC,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,mBAAmB;IAC9B,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,iBAAiB;IAC1B,UAAU,EAAE,oBAAoB;IAChC,eAAe,EAAE,uBAAuB;IACxC,OAAO,EAAE,iBAAiB;IAC1B,MAAM,EAAE,oBAAoB;IAC5B,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAc;IACpB,GAAG,EAAE,aAAa;IAClB,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,kBAAkB;IAC5B,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,eAAe;IACtB,OAAO,EAAE,iBAAiB;IAC1B,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EAAE,qBAAqB;CACnC,CAAC"}