@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
package/README.md CHANGED
@@ -6,8 +6,8 @@
6
6
 
7
7
  Why people pick it over other agent CLIs:
8
8
 
9
- - **Zero cost of entry.** A fresh install runs **keyless out of the box** on the built-in Free provider — no signup, no API key, no card. It stays useful at $0: free tiers on Gemini, OpenRouter, NVIDIA NIM, Cline, Hetzner and Bynara are all first-class citizens, and `/freeonly on` guarantees you never spend a cent by accident.
10
- - **Your subscriptions, in the terminal.** Already paying for ChatGPT, GitHub Copilot, Cline, or Kiro? Sign in with `clai auth` (browser, device code, or one-command import from the official CLI) and use that subscription from the terminal — no separate API billing.
9
+ - **Zero cost of entry.** A fresh install runs **keyless out of the box** on the built-in Free provider — no signup, no API key, no card. It stays useful at $0: Freebuff, Gemini, OpenRouter, NVIDIA NIM, Cline, Hetzner and Bynara are all first-class free options, and `/freeonly on` restricts cross-provider fallback to configured free-tier providers.
10
+ - **Account sign-in in the terminal.** Freebuff, ChatGPT, GitHub Copilot, Cline, and Kiro support account-based sign-in. Freebuff uses its browser/device approval flow and a hosted session; the subscription-backed providers use their respective subscription credentials.
11
11
  - **One agent, ~25 providers.** DeepSeek, Kimi, GLM, MiniMax, MiMo, Qwen, OpenAI, Anthropic, Gemini, local Ollama, and a dozen OpenAI-compatible gateways — switch with one command, mid-session if you like.
12
12
  - **It doesn't die on rate limits.** Up to 10 keys per provider with sticky rotation, optional cross-provider fallback, and retry/backoff tuned per provider. Long jobs survive flaky free tiers.
13
13
  - **It's honest.** Findings need real tool output. Builds get typechecked/run before "done." Compaction and history keep long sessions coherent instead of hallucinating progress.
@@ -17,14 +17,15 @@ Why people pick it over other agent CLIs:
17
17
  ## Highlights
18
18
 
19
19
  - **Free-tier first.** Built-in **keyless Free** gateway (`free-2/kilo-auto/free`) so a fresh install runs at no cost with zero setup — no API key required.
20
- - **Subscription sign-in.** `clai auth <cline|chatgpt|copilot|kiro>` — OAuth browser/device-code flows, plus `--import` to reuse an existing Cline, Codex CLI, Copilot, or Kiro sign-in. Multi-account supported with automatic rotation.
20
+ - **Account sign-in.** `clai auth <freebuff|cline|chatgpt|copilot|kiro>` — provider-specific browser/device approval, with supported `--import` paths and multi-credential rotation.
21
21
  - **Multi-key smart switching.** Up to 10 keys per provider with a *sticky* active key and circular rotation on rate-limit, quota, transient, or 5xx errors. Disable any key to skip it without deleting it. Optional cross-provider fallback and a free-only filter.
22
- - **Broad provider support.** ~25 built-in providers: DeepSeek, Kimi (Moonshot), GLM (Zhipu AI), MiniMax, Xiaomi MiMo, OpenAI, Anthropic, Google Gemini, Ollama, NVIDIA NIM, OpenRouter, Qwen Cloud, Cline, Codex (ChatGPT), GitHub Copilot, Kiro, AgentRouter, AWS Mantle, TokenRouter, Lightning AI, Modal, Meta, Fireworks, Hetzner, OrcaRouter, Merge Gateway, ExpLabs, Vercel AI Gateway — plus custom OpenAI-compatible endpoints.
23
- - **Parallel subagents.** Independent investigations (recon, research, large refactors) run as read-only subagents concurrently; `/orchestrator` and `/agents` control and inspect them, with per-role model chains.
22
+ - **Broad provider support.** 25+ built-in providers: Freebuff, DeepSeek, Kimi (Moonshot), GLM (Zhipu AI), MiniMax, Xiaomi MiMo, OpenAI, Anthropic, Google Gemini, Ollama, NVIDIA NIM, OpenRouter, Qwen Cloud, Cline, Codex (ChatGPT), GitHub Copilot, Kiro, AgentRouter, AWS Mantle, TokenRouter, Token Harbor, Lightning AI, Modal, Meta, Fireworks, Hetzner, OrcaRouter, Merge Gateway, ExpLabs, Vercel AI Gateway — plus custom OpenAI-compatible endpoints.
23
+ - **Parallel subagents.** Independent investigations (recon, research, large refactors) run as read-only subagents concurrently; `/orchestrator` and `/subagents` control and inspect them, with per-role model chains.
24
24
  - **Agent Skills.** Loads `SKILL.md`-based skills on demand — `/skills` manages them, and relevant skills surface automatically per prompt.
25
25
  - **Scope-based pentesting.** Opt-in engagement scope with authorized/excluded targets, allowed phases, rate and concurrency ceilings, redirect and DNS-rebinding escape detection, and out-of-scope flagging — designed for authorized pentests and bug-bounty programs.
26
26
  - **Real building & debugging.** Scaffolds apps, edits code surgically, installs packages, runs builds/tests, starts dev servers as background jobs, and probes them before reporting success.
27
27
  - **Durable plans.** `plan.create` / `task.update` drive a live checklist that survives context compaction and reloads with `/history` — the agent works task-by-task and won't fake completion.
28
+ - **State-preserving compaction.** Automatic and manual `/compact` keep a deterministic work envelope next to the summary: subagents (id, title, status, and a digest of results already read), live and finished background jobs, Responder-delegated tasks with their read state, touched files, and any credentials you supplied for the task, carried verbatim instead of being summarized away. When the history fits the model's window, the summary request replays the cached conversation prefix, so compaction is mostly a cache read.
28
29
  - **Durable agent sessions.** Interactive sessions run behind a local broker, so an agent keeps working after `/minimise`, an SSH disconnect, or switching to another history session; `clai --resume <id>` reattaches to the same live UI and output stream.
29
30
  - **Persistent interactive terminals.** Conversation-owned PTY or pipe sessions keep REPLs such as Python, Metasploit, Meterpreter, database consoles, and debuggers open across model turns.
30
31
  - **Native + text tool calling.** Uses provider-native function calling where available, with a text-fence fallback (`toolCalling: auto|native|text`).
@@ -110,18 +111,19 @@ clai use ollama
110
111
 
111
112
  ## Providers & Key Management
112
113
 
113
- ### Subscription & OAuth providers (no API key needed)
114
+ ### Account sign-in providers (no conventional API key needed)
114
115
 
115
- Sign in with an account you already have. Every flow works on headless servers (device code / copyable link), and `--import` reuses the official tool's existing sign-in.
116
+ Sign in with an account you already have. Browser/device-code flows work on headless servers through a copyable link; `--import` reuses supported local sign-ins or imports provider tokens.
116
117
 
117
118
  | Provider | Sign-in | Notes |
118
119
  |----------|---------|-------|
120
+ | **Freebuff** | `clai auth freebuff` | Free, session-gated catalog; browser sign-in or headless link |
119
121
  | **ChatGPT (Codex)** | `clai auth chatgpt` | Any ChatGPT tier incl. Free; mimics the official Codex CLI |
120
122
  | **GitHub Copilot** | `clai auth copilot` | Incl. Copilot Free; mimics VS Code Copilot Chat |
121
123
  | **Cline** | `clai auth cline` | Free `cline-free/*` models plus frontier catalog |
122
124
  | **Kiro (AWS)** | `clai auth kiro` | AWS Builder ID, Google/GitHub social login, or IAM Identity Center SSO |
123
125
 
124
- Each supports up to 10 signed-in accounts with automatic rotation, and `clai auth <p> --import` imports an existing Cline / Codex CLI / Copilot / Kiro sign-in in one step.
126
+ Up to 10 credentials can be stored per provider, with automatic key rotation on applicable authentication/quota errors. `clai auth <p> --import` imports supported local sign-ins; Freebuff also imports `FREEBUFF_API_KEY`, `CODEBUFF_API_KEY`, or the upstream `~/.config/manicode/credentials.json` token.
125
127
 
126
128
  ### API-key providers
127
129
 
@@ -145,6 +147,7 @@ Each supports up to 10 signed-in accounts with automatic rotation, and `clai aut
145
147
  | **AgentRouter** | `claude-opus-4-6` | Paid gateway | `AGENTROUTER_API_KEY` |
146
148
  | **AWS Mantle** | `anthropic.claude-haiku-4-5` | Paid (AWS) | `ANTHROPIC_API_KEY` |
147
149
  | **TokenRouter** | `moonshotai/kimi-k3` | Paid gateway | `TOKENROUTER_API_KEY` |
150
+ | **Token Harbor** | `claude-sonnet-5.5` | Paid gateway (free tier) | `TOKENHARBOR_API_KEY` |
148
151
  | **Lightning AI** | `openai/gpt-5` | Free grant / Paid | `LIGHTNING_API_KEY` |
149
152
  | **Modal** | `moonshotai/Kimi-K3` | Your own endpoint ($30/mo credit) | `MODAL_PROXY_TOKEN_ID` |
150
153
  | **Meta (Muse)** | `muse-spark-1.2` | Paid | `MODEL_API_KEY` |
@@ -154,7 +157,44 @@ Each supports up to 10 signed-in accounts with automatic rotation, and `clai aut
154
157
  | **ExpLabs** | `claude-fable-5.1` | Paid / BYOK gateway | `EXPLABS_API_KEY` |
155
158
  | **Vercel AI Gateway** | `openai/gpt-5.4-mini` | Paid gateway | `AI_GATEWAY_API_KEY` |
156
159
 
157
- Model lists for all providers are fetched dynamically from their respective APIs. You can switch models anytime using `/model` or `clai model <name>`, browse the whole fleet with `/models`, and read setup details for any provider with `/info <provider>`.
160
+ Model catalogs use each provider's supported discovery source; most expose a dedicated models endpoint. Freebuff does not: clai reads account-visible model IDs from its read-only session endpoint and merges them with a source-versioned fallback. You can switch models anytime using `/model` or `clai model <name>`, browse the whole fleet with `/models`, and read setup details for any provider with `/info <provider>`.
161
+
162
+ ### Freebuff setup and behavior
163
+
164
+ Freebuff is a hosted, free-tier provider that requires an account sign-in. Free-mode inference is only served to the genuine freebuff CLI: the server refuses direct API calls (free_mode_cli_required), so clai manages sign-in and the live model catalog but refuses generation requests fast with an actionable message. The default model is `z-ai/glm-5.3-flash`.
165
+
166
+ ```sh
167
+ clai auth freebuff # sign in, then approve in your browser
168
+ clai use freebuff
169
+ clai # start the interactive agent
170
+ clai model z-ai/glm-5.3-flash # set a model from the catalog
171
+ # in the interactive console: /model · /info freebuff
172
+ ```
173
+
174
+ On a desktop, `clai auth freebuff` opens the approval page when possible. On SSH/headless Linux it prints a URL to open on any device; no localhost callback or port-forwarding is required. To import an existing token, use `clai auth freebuff --import`. Import checks `FREEBUFF_API_KEY`, `CODEBUFF_API_KEY`, then the upstream `~/.config/manicode/credentials.json` file (or `FREEBUFF_CONFIG_DIR`). A token can also be entered with `clai set freebuff <token>`. clai stores credentials through its existing secure key storage; up to 10 credentials can be configured and rotated on authentication or quota errors.
175
+
176
+ The login token is an opaque bearer credential. It has no refresh token or documented expiry; if the server returns 401, sign in again or replace the token. Keep it secret and do not paste it into chat or commit it to a repository.
177
+
178
+ #### Sessions, models, and spending
179
+
180
+ clai admits no Freebuff session for inference and spends no wallet Freebucks: every direct inference attempt is refused server-side, so the request stops before any session state mutates. To use these models, run the genuine client (`npm i -g freebuff`, then `freebuff`). Because inference is unavailable, Freebuff is intentionally excluded from automatic cross-provider fallback; select it explicitly only for sign-in and catalog browsing.
181
+
182
+ `/model` lists only the models the server currently reports as applicable to the signed-in account (live rate-limit pools plus zero-price models, minus plan-gated ids), cached per credential for up to 30 minutes. The bundled model-ID table is only an offline fallback when the session probe is unreachable; nothing is hardcoded into the live list. Freebuff does not provide the separately probed `/api/v1/models` endpoint, nor does the session catalog publish per-model context-window limits. Context sizes therefore use clai's generic estimates rather than claimed live Freebuff limits. Modality and reasoning support are recognized from known model patterns; not every catalog item is guaranteed to support images or a configurable effort.
183
+
184
+ #### Tools, images, thinking, and caching
185
+
186
+ clai does not run Freebuff inference, so no Chat Completions or SSE streaming path is exercised against this provider. `/model` lists only the models the server currently reports as applicable to the signed-in account (live rate-limit pools plus zero-price models, minus plan-gated ids), cached per credential for up to 30 minutes. The bundled model-ID table is only an offline fallback when the session probe is unreachable; nothing is hardcoded into the live list.
187
+
188
+ On clean TUI shutdown and after a noninteractive run, clai awaits best-effort deletion of its own CLI session claims. Forced termination, process crashes, or an unreachable server can prevent that request; the server-side session expiry still applies. clai never sends a delete for a claim it does not own.
189
+
190
+ #### Troubleshooting
191
+
192
+ - **401 / invalid token:** run `clai auth freebuff` again or replace the saved token. There is no refresh-token flow.
193
+ - **409 session_superseded / 403 free_mode_cli_required on generation:** expected. The server only serves free-mode turns to the genuine freebuff CLI; clai refuses before spending anything. Use `freebuff` for these models or `/provider` for another provider.
194
+ - **Quota, model-unavailable, country, or account refusal:** follow the server's message; wait for the indicated reset/window or choose a currently available model with `/model`.
195
+ - **Wallet consent required:** clai has not spent anything. It always requests zero wallet spend; use a free-eligible model or review the purchase in a Freebuff-supported surface.
196
+ - **Catalog does not refresh:** `/model` uses the account-visible session response and a 30-minute per-account cache. If the session probe is unreachable, clai displays its bundled catalog fallback; the hosted `/api/v1/models` endpoint is not available.
197
+ - **Session remains after a forced stop:** clean exits attempt deletion; otherwise Freebuff's server-side expiry clears it.
158
198
 
159
199
  ### Manage Keys
160
200
 
@@ -181,8 +221,9 @@ In the interactive console:
181
221
  - **Multi-key rotation** — Store up to **10 keys per provider**. The last key that worked is *sticky*. On encountering a rate limit (HTTP 429), quota limit, auth error, or 5xx server error, `clai` automatically rotates to the next available key.
182
222
  - **Disable without deleting** — Toggle any key disabled in the `/set` editor; rotation skips it until you re-enable it.
183
223
  - **Cross-provider fallback** *(opt-in)* — `/fallback on` lets `clai` fall back to other configured providers when the active provider is exhausted.
224
+ - **Token-saving shell output** *(opt-in)* — `/rtk on` routes foreground `shell.exec` commands through [rtk](https://github.com/rtk-ai/rtk) via `rtk rewrite`, so the model reads compact output. Only the executed command changes: the model's tool call, approvals, and history keep the original, and the system prompt and tool schemas never change, so the prompt cache prefix is never invalidated. Background jobs, interactive/PTY sessions, sudo, and commands clai already reduces (nmap, ffuf, …) are never rewritten; if rtk is missing, busy updating, or fails, commands run unmodified. No rtk yet? `/rtk install` (or **Install rtk** on the `/rtk` screen) uses Homebrew, else rtk's checksum-verified installer, else cargo (winget, else cargo, on Windows) in the background; `/rtk update` upgrades through whichever tool installed it. rtk is found even when its directory is not on `PATH`, and a same-named impostor binary is skipped. All rewrite rules live in rtk itself, so updating rtk never requires a clai release.
184
225
  - **Free-only mode** *(opt-in)* — `/freeonly on` restricts fallback strictly to free tiers (Free, Gemini, OpenRouter, NIM, Bynara, Hetzner, and the free-lane subscription providers) so you never accidentally spend.
185
- - **Usage visibility** — `/usage` shows token consumption per provider and model, so you can see what a session actually cost.
226
+ - **Usage visibility** — `/usage` shows token consumption per provider and model, including cache reads and writes, so you can see what a session actually cost. It counts every billed request: subagents, title generation, compaction, and retried attempts whose stream died after the provider had already billed the prompt.
186
227
 
187
228
  ---
188
229
 
@@ -208,7 +249,7 @@ clai --mode agent "this test is flaky — find the race and fix it"
208
249
  For work with several independent threads — recon on multiple targets, researching unrelated bugs, surveying a large codebase — `clai` delegates read-only investigations to **subagents** that run concurrently and report back with evidence:
209
250
 
210
251
  - `/orchestrator on|off|status|models` — control delegation and assign cheaper models to subagent roles.
211
- - `/agents` — inspect live assignments; stop or restart one by id.
252
+ - `/subagents` — inspect live assignments; stop or restart one by id.
212
253
 
213
254
  **Agent Skills** extend the agent with reusable `SKILL.md` playbooks (bundled or your own). Skills are discovered from standard locations, ranked per prompt, and loaded on demand; `/skills list|refresh` manages them.
214
255
 
@@ -266,7 +307,7 @@ You own authorization; `clai` gates risk on every action:
266
307
 
267
308
  | Level | Behavior |
268
309
  |-------|----------|
269
- | **safe** | Auto-runs read-only work: `fs.read/list/search`, `sysinfo`, `http.fetch` GET, `web.search`/`web.fetch`, recon commands. |
310
+ | **safe** | Auto-runs read-only work: `fs.read/list/search`, `tool.check`, `http.fetch` GET, `web.search`/`web.fetch`, recon commands. |
270
311
  | **confirm** | Asks first for mutations: file writes/edits, installs, moves, mutating shell commands. |
271
312
  | **block** | Refuses destructive patterns (`rm -rf /`, fork bombs, exfiltration signatures) and SSRF-prone fetches. |
272
313
 
@@ -312,7 +353,7 @@ Interactive sessions run behind a local broker so an agent continues working acr
312
353
 
313
354
  | Command | Does |
314
355
  |---------|------|
315
- | `/ask` · `/agent` · `/plan` | Switch mode (plan = design-then-approve) |
356
+ | `/ask` · `/agent` · `/plan [view]` | Switch mode (plan = design a plan you approve before anything runs; `view` pages the current plan) |
316
357
  | `/implement` · `/discard` | Approve and execute or drop the current plan |
317
358
  | `/model [name]` · `/models [filter]` | Select model · browse all models across providers |
318
359
  | `/provider [name]` | Switch provider or open picker |
@@ -320,7 +361,8 @@ Interactive sessions run behind a local broker so an agent continues working acr
320
361
  | `/info [provider]` | Setup, pricing, and endpoint details for a provider |
321
362
  | `/effort [level]` · `/reasoning [level]` | Configure thinking / reasoning effort |
322
363
  | `/freeonly [on\|off]` · `/fallback [on\|off]` | Free-only filter · cross-provider fallback |
323
- | `/orchestrator [...]` · `/agents` | Control subagent delegation · inspect live subagents |
364
+ | `/orchestrator [...]` · `/subagents` | Control subagent delegation · inspect live subagents |
365
+ | `/rtk [on\|off\|status\|install\|update]` | Compress shell output through [rtk](https://github.com/rtk-ai/rtk) (off by default) · install or update rtk |
324
366
  | `/skills [name\|list\|refresh]` | Manage Agent Skills |
325
367
  | `/search [provider]` · `/search-provider` | Choose web-search backend |
326
368
  | `/mcp [...]` | Browse, configure, start, or stop MCP servers |
@@ -406,14 +448,14 @@ Use `/mcp` inside the interactive console to browse servers, inspect available t
406
448
  | Group | Tools |
407
449
  |-------|-------|
408
450
  | **Files** | `fs.read` · `fs.list` · `fs.search` · `fs.write` · `fs.writeMany` · `fs.edit` · `fs.replaceLines` · `fs.append` · `fs.delete` |
409
- | **Shell & jobs** | `shell.exec` · `shell.start` · `shell.jobs` · `shell.tail` · `shell.wait` · `shell.stop` · `pkg.install` |
410
- | **Terminals** | `terminal.start` · `terminal.send` · `terminal.read` · `terminal.status` · `terminal.resize` · `terminal.close` |
411
- | **Network** | `net.pingSweep` · `tool.check` · `wordlist.find` (plus `nmap`, `ffuf`, etc. via shell) |
451
+ | **Shell & jobs** | `shell.exec` (servers: `background:"always"` + `name`) · `shell.jobs` · `shell.tail` · `shell.wait` · `shell.stop` |
452
+ | **Terminals** | `terminal.start` · `terminal.send` · `terminal.read` · `terminal.status` · `terminal.close` |
453
+ | **Network** | `tool.check` (with the install command for this OS) · `net.pingSweep` · `wordlist.find` (pentest sessions; plus `nmap`, `ffuf`, etc. via shell) |
412
454
  | **HTTP / web** | `http.fetch` (raw evidence) · `web.search` · `web.fetch` (readable) |
413
- | **Orchestration** | `subagent.start` · `subagent.wait` · `subagent.read` · `subagent.stop` · `subagent.restart` · `tool.batch` (up to 20 calls, `on_fail` policies) |
455
+ | **Orchestration** | `subagent.start` · `subagent.list` · `subagent.wait` · `subagent.read` · `subagent.stop` — independent read-only tool calls in one response run in parallel |
414
456
  | **Plan** | `plan.create` · `plan.clear` · `task.add` · `task.update` · `task.move` · `agent.handoff` |
415
457
  | **MCP** | `mcp.list` · `mcp.tools` · `mcp.call` · `mcp.enable` · `mcp.connect` · `mcp.login` · `mcp.add` |
416
- | **Context** | `sysinfo` · `image.ocr` · `image.view` · `pdf.read` · `skill.load` |
458
+ | **Context** | `image.ocr` · `image.view` · `pdf.read` · `skill.load` — OS, shell, and cwd arrive with every request |
417
459
 
418
460
  ---
419
461
 
@@ -23,6 +23,7 @@ function cloneCompatibilityMessage(message) {
23
23
  const clone = cloneTextOnlyMessage(message);
24
24
  delete clone.reasoningBlock;
25
25
  delete clone.reasoningArtifacts;
26
+ delete clone.responsesReplay;
26
27
  return clone;
27
28
  }
28
29
  function errorStatus(error) {
@@ -193,7 +194,7 @@ export function salvageTruncatedSummary(summary) {
193
194
  return undefined;
194
195
  }
195
196
  export function comparableMessage(message) {
196
- const { images: _images, reasoningBlock: _reasoningBlock, reasoningArtifacts: _reasoningArtifacts, ...rest } = message;
197
+ const { images: _images, reasoningBlock: _reasoningBlock, reasoningArtifacts: _reasoningArtifacts, responsesReplay: _responsesReplay, ...rest } = message;
197
198
  return JSON.stringify(rest);
198
199
  }
199
200
  export function missingHistoryTail(requestMessages, history, textOnly = true) {
@@ -1 +1 @@
1
- {"version":3,"file":"summary-execution.js","sourceRoot":"","sources":["../../../src/agent/compaction/summary-execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,oCAAoC,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACpO,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,mBAAmB,GACvB,4GAA4G,CAAC;AAE/G,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAE9C,MAAM,mBAAmB,GAAG;IAC1B,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAc;CACvB,CAAC;AAEF,SAAS,oBAAoB,CAAC,OAAoB;IAChD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC;IACpB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAoB;IACrD,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,cAAc,CAAC;IAC5B,OAAO,KAAK,CAAC,kBAAkB,CAAC;IAChC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAE,KAA8B,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,IAAI,GACR,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;QACnD,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,IAAI,EAAE,CAAC;QAClD,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,GAAG,OAAO,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc,EAAE,MAAoB;IACnE,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,CAAC,sLAAsL,CAAC,IAAI,CACjM,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,sBAAsB,GAAG;IAC7B,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,aAAa;IACb,gBAAgB;IAChB,uBAAuB;IACvB,YAAY;IACZ,aAAa;IACb,OAAO;IACP,WAAW;IACX,QAAQ;IACR,OAAO;IACP,UAAU;IACV,WAAW;CACH,CAAC;AAEX,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC;SAC1B,WAAW,EAAE;SACb,OAAO,CACN,4CAA4C,EAC5C,EAAE,CACH,CAAC;IACJ,MAAM,SAAS,GACb,qKAAqK,CAAC;IACxK,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC7D,IACE,IAAI,MAAM,CAAC,MAAM,OAAO,cAAc,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACnE,IAAI,MAAM,CAAC,MAAM,SAAS,cAAc,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACnE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD,SAAS,8BAA8B,CACrC,OAA0B;IAE1B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC;IACD,IACE,OAAO,CAAC,KAAK,EAAE,MAAM;QACrB,OAAO,CAAC,UAAU,KAAK,SAAS;QAChC,OAAO,CAAC,iBAAiB,KAAK,SAAS,EACvC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAChD,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM;YAAE,aAAa,GAAG,IAAI,CAAC;QACjD,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;YACjE,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,OAAO,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,IAAI,gBAAgB;QAAE,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACjE,IAAI,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,MAAM,EACJ,QAAQ,EAAE,SAAS,EACnB,oBAAoB,EAAE,qBAAqB,EAC3C,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,WAAW,EACvB,iBAAiB,EAAE,kBAAkB,EACrC,GAAG,IAAI,EACR,GAAG,OAAO,CAAC;IACZ,OAAO;QACL,OAAO,EAAE;YACP,GAAG,IAAI;YACP,QAAQ;SACT;QACD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAI9B;IACC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,MAAM,cAAc,GAClB,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO;QACzB,CAAC,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACxG,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAAG,KAAK;QACrB,CAAC,CAAC,6BAA6B,KAAK,2BAA2B;QAC/D,CAAC,CAAC,8LAA8L,CAAC;IACnM,MAAM,OAAO,GAAG,IAAI,KAAK,CACvB,yEAAyE,KAAK,KAAK,SAAS,sCAAsC,cAAc,CAAC,CAAC,CAAC,uBAAuB,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACjM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CACvB,CAAC;IACF,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;YACvC,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc,EAAE,MAAoB;IACtE,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,0BAA0B,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,KAAK,YAAY,qBAAqB;QAAE,OAAO,KAAK,CAAC;IACzD,MAAM,MAAM,GACV,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK;QACrD,CAAC,CAAC,MAAM,CAAE,KAA6B,CAAC,MAAM,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC;IACR,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAGtC;IACA;IAHX,YACE,OAAe,EACN,aAAqB,EACrB,mBAAuC;QAEhD,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,kBAAa,GAAb,aAAa,CAAQ;QACrB,wBAAmB,GAAnB,mBAAmB,CAAoB;QAGhD,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAc;IAEd,OAAO,KAAK,YAAY,wBAAwB,CAAC;AACnD,CAAC;AA6BD,MAAM,qBAAqB,GAAG;IAC5B,SAAS,EAAE,mFAAmF;IAC9F,gBAAgB,EACd,kFAAkF;IACpF,QAAQ,EACN,8EAA8E;IAChF,UAAU,EACR,qFAAqF;CAC/E,CAAC;AAEX,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,MAAM,iBAAiB,GACrB,2HAA2H,CAAC;AAE9H,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,KAAK,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,yBAAyB,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,SAAS,IAAI,CAAC,oCAAoC,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,OAAO,SAAS,CAAC,MAAM,IAAI,6BAA6B;gBACtD,CAAC,CAAC,GAAG,SAAS,GAAG,iBAAiB,EAAE;gBACpC,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QACD,KAAK,CAAC,GAAG,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAoB;IACpD,MAAM,EACJ,MAAM,EAAE,OAAO,EACf,cAAc,EAAE,eAAe,EAC/B,kBAAkB,EAAE,mBAAmB,EACvC,GAAG,IAAI,EACR,GAAG,OAAO,CAAC;IACZ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,eAAuC,EACvC,OAA+B,EAC/B,QAAQ,GAAG,IAAI;IAEf,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,OAAO,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAE,CAAC,CAAC;QAC7D,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,KAAK,IAAI,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1E,IAAI,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC5D,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM;QACrB,YAAY,GAAG,KAAK,GAAG,CAAC,CAAC;QACzB,cAAc,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO;SACX,KAAK,CAAC,cAAc,CAAC;SACrB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACf,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CACpE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,WAAsC,EACtC,OAA+B,EAC/B,UAAkB;IAElB,OAAO;QACL,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAClE,GAAG,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;QAC3D,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,UAAU,EAAE;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAqC;IAErC,MAAM,eAAe,GAAG,CACtB,UAAkB,EAClB,aAAqB,EACN,EAAE;QACjB,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1B,OAAO,6BAA6B,CAClC,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,OAAO,IAAI,EAAE,EACvB,UAAU,CACX,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC,cAAc;YAC7B,CAAC,CAAC;gBACE,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CACrF;gBACD,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,UAAU,EAAE;aAC/C;YACH,CAAC,CAAC;gBACE,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,aAAa,EAAE;gBACnD,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,UAAU,EAAE;aAC/C,CAAC;IACR,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAC1C,MAAM,QAAQ,GAAG,WAAW,IAAI,SAAS,CAAC,eAAe,CAAC;IAC1D,IACE,WAAW;QACX,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO;YAC/C,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACpC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAC3C,CAAC,EACJ,CAAC;QACD,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAsB;QACjC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,QAAQ;QAClD,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK;QACzC,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,CAAC;QACpE,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,GAAG,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS;oBACpC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE;oBACvC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,QAAQ,CAAC,QAAQ;oBACnB,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,QAAQ,CAAC,oBAAoB,KAAK,SAAS;oBAC7C,CAAC,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,EAAE;oBACzD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,QAAQ,CAAC,KAAK;oBAChB,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE;oBAChE,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACtD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,QAAQ,CAAC,iBAAiB,KAAK,SAAS;oBAC1C,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;aACR;YACH,CAAC,CAAC;gBACE,WAAW,EAAE,GAAG;gBAChB,QAAQ,EAAE,mBAAmB;gBAC7B,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM;oBACzB,CAAC,CAAC;wBACE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;wBAC3D,UAAU,EAAE,MAAe;qBAC5B;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACN,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;IAEF,MAAM,iBAAiB,GAAG,CACxB,cAAiC,EACF,EAAE;QACjC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC;QAC/D,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC1C,OAAO,uBAAuB,CAAC;YAC7B,QAAQ;YACR,KAAK;YACL,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,cAAc,CAAC,UAAU,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,UAAU,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,cAAc,CAAC,iBAAiB,KAAK,SAAS;gBAChD,CAAC,CAAC,EAAE,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,EAAE;gBACzD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,SAAS,CAAC,kBAAkB,KAAK,SAAS;gBAC5C,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;YACP,oBAAoB,EAAE,cAAc,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS;YACrE,kBAAkB,EAAE,8BAA8B;SACnD,CAAC,CAAC,UAAU,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAC3B,cAAiC,EACjC,MAAc,EACN,EAAE;QACV,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC;QAChE,MAAM,OAAO,GAAG,oBAAoB,CAClC,cAAc,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAC7C,cAAc,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CACxC,CAAC;QACF,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;QACrE,MAAM,SAAS,GAAG,iBAAiB,CAAC,cAAc,CAAC,EAAE,cAAc,IAAI,MAAM,CAAC;QAC9E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CACnB,cAAiC,EACjC,MAAc,EACiB,EAAE;QACjC,MAAM,KAAK,GAAG,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACjC,OAAO;YACL,GAAG,cAAc;YACjB,SAAS,EAAE,CAAC,cAAc,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK;SACrE,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAC5B,cAAiC,EACd,EAAE;QACrB,IAAI,cAAc,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI;YAAE,OAAO,cAAc,CAAC;QACrE,OAAO,CACL,YAAY,CACV,cAAc,EACd,2BAA2B,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5D,IAAI,cAAc,CACpB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAC7B,cAAiC,EACF,EAAE;QACjC,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,cAAc,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAChE,OAAO,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAC9D,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,cAAiC,EAAQ,EAAE;QACpE,MAAM,UAAU,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,SAAS;YAAE,OAAO;QACnC,MAAM,IAAI,wBAAwB,CAChC,6EAA6E,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,0BAA0B,UAAU,CAAC,KAAK,CAAC,mBAAmB,EAAE,cAAc,EAAE,iEAAiE,EACvQ,UAAU,CAAC,aAAa,EACxB,UAAU,CAAC,KAAK,CAAC,mBAAmB,CACrC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,cAAiC,EACjC,OAAO,GAAG,KAAK,EACf,EAAE;QACF,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAClC,MAAM,aAAa,GAAG;YACpB,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,IAAI;YACpB,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YACzE,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,OAAO;YAAE,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,0BAA0B,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EACnC,SAAS,EACT,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,cAAc,EACd,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAC7B,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,aAAa,EAAE,CAChD,CAAC;QACF,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,IAAmB,EAAE;QACjD,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,IAAI,+BAA+B,CAAC;QAC1E,IAAI,OAAO,IAAI,CAAC;YAAE,OAAO;QACzB,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAC9B,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,cAAiC,EACjC,OAAO,GAAG,KAAK,EACf,EAAE;QACF,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,CAAC,SAAS,CAAC,kBAAkB;gBAC7B,CAAC,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EACpD,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,gBAAgB,EAAE,CAAC;YACzB,OAAO,MAAM,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EACtB,cAAiC,EACjC,OAAO,GAAG,KAAK,EACf,EAAE;QACF,IAAI,CAAC;YACH,OAAO,MAAM,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,SAAS,CAAC,4BAA4B,KAAK,KAAK;gBAAE,MAAM,KAAK,CAAC;YAClE,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC;gBAAE,MAAM,KAAK,CAAC;YACnE,MAAM,aAAa,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAC;YACrE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,MAAM,mBAAmB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3D,MAAM,UAAU,CAAC;gBACnB,CAAC;gBACD,MAAM,qBAAqB,CAAC;oBAC1B,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,aAAa,CAAC,OAAO;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACpE,IAAI,SAAS,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,GAAG,0BAA0B,CACtC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAClC,CAAC;IACF,IAAI,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;IACJ,CAAC;IACD,IAAI,WAKS,CAAC;IACd,IACE,+BAA+B,CAC7B,KAAK,EACL,YAAY,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAC9C,EACD,CAAC;QACD,WAAW,GAAG,WAAW,CAAC;IAC5B,CAAC;SAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,WAAW,GAAG,gBAAgB,CAAC;IACjC,CAAC;SAAM,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,WAAW,GAAG,UAAU,CAAC;IAC3B,CAAC;SAAM,IAAI,oCAAoC,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,WAAW,GAAG,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,IACE,CAAC,SAAS,CAAC,YAAY,KAAK,KAAK,IAAI,WAAW,KAAK,WAAW,CAAC;YACjE,CAAC,SAAS,CAAC,iBAAiB,KAAK,KAAK,IAAI,WAAW,KAAK,WAAW,CAAC,EACtE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,YAAY,GAChB,WAAW,KAAK,WAAW;YACzB,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC;YACtC,CAAC,CAAC;gBACE,GAAG,YAAY;gBACf,QAAQ,EAAE,eAAe,CACvB,0BAA0B,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EACzD,GAAG,SAAS,CAAC,aAAa,GAAG,mBAAmB,EAAE,CACnD;gBACD,WAAW,EAAE,CAAC;gBACd,GAAG,CAAC,WAAW,KAAK,gBAAgB;oBACpC,YAAY,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI;oBACrC,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE;oBACnC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACR,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO,GAAG,0BAA0B,CAClC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAClC,CAAC;QACF,IAAI,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;QACJ,CAAC;QACD,IACE,+BAA+B,CAC7B,KAAK,EACL,YAAY,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAC9C,EACD,CAAC;YACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;QACJ,CAAC;QACD,IAAI,oCAAoC,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"summary-execution.js","sourceRoot":"","sources":["../../../src/agent/compaction/summary-execution.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ProviderId } from "../types.js";
2
- export declare const COMPACTION_SYSTEM_PROMPT = "You are a session-memory compressor for an autonomous coding and security agent.\n\nWrite a dense, accurate CONTINUATION MEMORY for another assistant that will resume this work with no other history.\n\nYou are SUMMARIZING a past session, NOT continuing it. Do not answer the user, do not perform the next task, and do not role-play the agent. Never emit tool calls or invent tool results, file-write receipts (bytes/lines/sha256), exit codes, or \"TOOL:\" / \"[tools: \u2026]\" transcript lines \u2014 describe what already happened in your own words.\n\nRules:\n- Fidelity over style. Never invent tool results, file contents, findings, URLs, ports, or completions.\n- Prefer concrete artifacts: absolute paths, commands (short form), exit outcomes, HTTP status, plan task ids/states, job ids, open ports, confirmed vs unconfirmed findings.\n- LENGTH: aim for ~1800\u20133600 tokens of dense structured bullets \u2014 preserve every consequential fact, but finish every section and bullet within budget rather than cutting mid-sentence. Prefer one precise mention over repeated coverage.\n- DETAIL LEVEL: mechanism-level specificity. For code changes name the file path with line anchors, what changed, the before\u2192after behavior, and the verification evidence (which tests/typecheck/build status prove it). For debugging name the root cause, each failed approach, and why it failed. For research name exact findings with their evidence. For pending work give the next concrete step a cold reader can execute immediately. A reader resuming with no other context must not need to re-discover anything recorded below.\n- NO DUPLICATION: state each fact exactly once, in its best section. This memory is prepended to a live context that ALSO re-injects fresh ACTIVE PLAN, SESSION STATE, and ENGAGEMENT SCOPE \u2014 do not restate the full plan or every task, and do not reproduce long user prompts verbatim; capture goals/deltas concisely.\n- Omit secrets, API keys, passwords, tokens, and full credential material. Say \"[redacted]\" if present.\n- Omit progress bars, repeated failures, and decorative chatter \u2014 but list genuinely informative failures (with cause and attempt count) under Open risks / failures.\n- Do not wrap the whole answer in markdown code fences.\n- If something is unknown, write \"(unknown)\" rather than guessing.\n- PHASE AWARENESS: Temporary UI/mode gates (plan-mode gather-only, \"await accept\", \"do not implement yet\") are HISTORICAL context \u2014 never rewrite them as permanent forever-rules for the resuming agent. Durable user/engagement policy (scope, non-destructive default, stay on remote target when that is the engagement) may still apply.";
2
+ export declare const COMPACTION_SYSTEM_PROMPT = "You are a session-memory compressor for an autonomous coding and security agent.\n\nWrite a dense, accurate CONTINUATION MEMORY for another assistant that will resume this work with no other history.\n\nYou are SUMMARIZING a past session, NOT continuing it. Do not answer the user, do not perform the next task, and do not role-play the agent. Never emit tool calls or invent tool results, file-write receipts (bytes/lines/sha256), exit codes, or \"TOOL:\" / \"[tools: \u2026]\" transcript lines \u2014 describe what already happened in your own words.\n\nRules:\n- Fidelity over style. Never invent tool results, file contents, findings, URLs, ports, or completions.\n- Prefer concrete artifacts: absolute paths, commands (short form), exit outcomes, HTTP status, plan task ids/states, job ids, open ports, confirmed vs unconfirmed findings.\n- LENGTH: aim for ~1800\u20133600 tokens of dense structured bullets \u2014 preserve every consequential fact, but finish every section and bullet within budget rather than cutting mid-sentence. Prefer one precise mention over repeated coverage.\n- DETAIL LEVEL: mechanism-level specificity. For code changes name the file path with line anchors, what changed, the before\u2192after behavior, and the verification evidence (which tests/typecheck/build status prove it). For debugging name the root cause, each failed approach, and why it failed. For research name exact findings with their evidence. For pending work give the next concrete step a cold reader can execute immediately. A reader resuming with no other context must not need to re-discover anything recorded below.\n- NO DUPLICATION: state each fact exactly once, in its best section. This memory is prepended to a live context that ALSO re-injects fresh ACTIVE PLAN, SESSION STATE, and ENGAGEMENT SCOPE \u2014 do not restate the full plan or every task, and do not reproduce long user prompts verbatim; capture goals/deltas concisely.\n- Never copy secrets (API keys, passwords, tokens, private keys) into the memory. Credentials the user supplied are carried verbatim in the DURABLE WORK ENVELOPE, so refer to them by purpose only (for example \"the user-supplied Stripe test key\").\n- Omit progress bars, repeated failures, and decorative chatter \u2014 but list genuinely informative failures (with cause and attempt count) under Open risks / failures.\n- Do not wrap the whole answer in markdown code fences.\n- If something is unknown, write \"(unknown)\" rather than guessing.\n- PHASE AWARENESS: Temporary UI/mode gates (plan-mode gather-only, \"await accept\", \"do not implement yet\") are HISTORICAL context \u2014 never rewrite them as permanent forever-rules for the resuming agent. Durable user/engagement policy (scope, non-destructive default, stay on remote target when that is the engagement) may still apply.";
3
3
  export interface CompactionPromptParts {
4
4
  visualTranscript?: string | undefined;
5
5
  messageTranscript: string;
@@ -12,7 +12,7 @@ Rules:
12
12
  - LENGTH: aim for ~1800–3600 tokens of dense structured bullets — preserve every consequential fact, but finish every section and bullet within budget rather than cutting mid-sentence. Prefer one precise mention over repeated coverage.
13
13
  - DETAIL LEVEL: mechanism-level specificity. For code changes name the file path with line anchors, what changed, the before→after behavior, and the verification evidence (which tests/typecheck/build status prove it). For debugging name the root cause, each failed approach, and why it failed. For research name exact findings with their evidence. For pending work give the next concrete step a cold reader can execute immediately. A reader resuming with no other context must not need to re-discover anything recorded below.
14
14
  - NO DUPLICATION: state each fact exactly once, in its best section. This memory is prepended to a live context that ALSO re-injects fresh ACTIVE PLAN, SESSION STATE, and ENGAGEMENT SCOPE — do not restate the full plan or every task, and do not reproduce long user prompts verbatim; capture goals/deltas concisely.
15
- - Omit secrets, API keys, passwords, tokens, and full credential material. Say "[redacted]" if present.
15
+ - Never copy secrets (API keys, passwords, tokens, private keys) into the memory. Credentials the user supplied are carried verbatim in the DURABLE WORK ENVELOPE, so refer to them by purpose only (for example "the user-supplied Stripe test key").
16
16
  - Omit progress bars, repeated failures, and decorative chatter — but list genuinely informative failures (with cause and attempt count) under Open risks / failures.
17
17
  - Do not wrap the whole answer in markdown code fences.
18
18
  - If something is unknown, write "(unknown)" rather than guessing.
@@ -31,13 +31,13 @@ export function buildCompactionUserPrompt(parts) {
31
31
  }
32
32
  const sections = [];
33
33
  if (planImplement) {
34
- sections.push("Create a complete but compact HANDOFF MEMORY from PLAN-MODE RESEARCH for an agent that will EXECUTE the accepted plan next.", "Do not add another framing paragraph; the memory wrapper already labels this as PLAN MODE HANDOFF and ACTIVE PLAN is re-injected separately.", "The material below was gathered under plan mode to design that plan/tasks. The next phase is agent implement — not gather-only.", "The live ACTIVE PLAN (goal/detail/tasks) will be re-injected separately — your job is ACTIONABLE research memory so implement does not re-discover or miss coverage.", "", "Use these section headings as applicable. For coding/general work, omit empty security-only sections instead of writing repeated `none` bullets; for pentest handoffs retain the coverage/finding sections:", "## User goals", "## Research evidence (facts from plan-mode tools)", "## Coverage ledger (do not blindly re-do)", "## Confirmed findings", "## Negative / tested-OK results", "## Untested / open classes", "## Artifacts & paths", "## Durable engagement rules (still apply in agent mode)", "## Plan-mode-only notes (historical — not current agent gates)", "## Commands/tools and key results", "## Current state", "## Remaining work (post-accept tasks)", "## Open risks / failures", "", "How to fill sections (agent-performance critical):", "- DEDUPLICATE: state each fact once in the best section. Do not repeat destination/tool versions/config contents under evidence, findings, commands, and current state.", "- For coding handoffs, target ~600–1000 tokens. Security handoffs may use the full 800–1500 only when needed to preserve findings/coverage.", "- Research evidence: concrete verified facts only — project state/stack/config for coding; hosts/IPs, ports, stack fingerprint, auth surfaces, headers, endpoints, versions for security. Complete every bullet.", "- Coverage ledger: expensive/stable research already done so execution deepens rather than restarts. This does NOT forbid one concise revalidation of mutable workspace/manifest/tool state after handoff.", "- Confirmed findings: each as severity + one-line evidence + impact/repro if known (F1, F2, … or short titles). If none yet, say so.", "- Negative / tested-OK: things checked and not issues (SSRF guard, CORS locked, etc.) so implement does not re-burn steps.", "- Untested / open classes: authz/IDOR, RBAC, payment, injection, etc. still open — especially anything blocked on credentials.", "- Artifacts & paths: include only reusable artifacts the implementer may need (reports, downloads, extracted specs, scan outputs). Omit routine fs.list/fs.read/tool.check receipt paths and transient temp logs whose result is already summarized.", "- Durable engagement rules ONLY if they still bind implement (remote target/scope, authorized testing, non-destructive default, do not treat clai workspace as the target, no local dev server for remote assessments).", "- Plan-mode-only notes: gather-only / await-accept / no-exploit-yet gates that applied BEFORE accept — label historical; implementer is past that phase.", "- Commands/tools: only non-obvious or reusable commands and their outcomes. Do not repeat routine list/read/tool-version facts already captured above.", "- Current state: describe the last tool-observed state at compaction time. Do not claim plan acceptance/approval unless DURABLE STATE confirms it; distinguish transition assumptions from evidence.", "- Remaining work: ACTIVE PLAN is injected separately, so do not restate every task. Record only the next task, dependency/order caveats, blockers, or plan details not present in durable state.", "- Resolve contradictions explicitly (for example, a non-empty destination is not simultaneously guaranteed safe for an in-place scaffolder). If evidence conflicts, preserve the uncertainty and safest next check.", "- Do NOT invent findings. Do NOT omit confirmed issues that appear in the material. Prefer denser bullets over long prose.", "- Prefer COMPLETE short memory over a long memory that cuts off mid-sentence.");
34
+ sections.push("Create a complete but compact HANDOFF MEMORY from PLAN-MODE RESEARCH for an agent that will EXECUTE the accepted plan next.", "Do not add another framing paragraph; the memory wrapper already labels this as PLAN MODE HANDOFF and ACTIVE PLAN is re-injected separately.", "The material below was gathered under plan mode to design that plan/tasks. The next phase is agent implement — not gather-only.", "The live ACTIVE PLAN (goal/detail/tasks) will be re-injected separately — your job is ACTIONABLE research memory so implement does not re-discover or miss coverage.", "", "Use these section headings as applicable. For coding/general work, omit empty security-only sections instead of writing repeated `none` bullets; for pentest handoffs retain the coverage/finding sections:", "## User goals", "## Research evidence (facts from plan-mode tools)", "## Coverage ledger (do not blindly re-do)", "## Confirmed findings", "## Negative / tested-OK results", "## Untested / open classes", "## Artifacts & paths", "## Durable engagement rules (still apply in agent mode)", "## Plan-mode-only notes (historical — not current agent gates)", "## Commands/tools and key results", "## Current state", "## Remaining work (post-accept tasks)", "## Open risks / failures", "", "How to fill sections (agent-performance critical):", "- DEDUPLICATE: state each fact once in the best section. Do not repeat destination/tool versions/config contents under evidence, findings, commands, and current state.", "- For coding handoffs, target ~600–1000 tokens. Security handoffs may use the full 800–1500 only when needed to preserve findings/coverage.", "- Research evidence: concrete verified facts only — project state/stack/config for coding; hosts/IPs, ports, stack fingerprint, auth surfaces, headers, endpoints, versions for security. Complete every bullet.", "- Coverage ledger: expensive/stable research already done so execution deepens rather than restarts. This does NOT forbid one concise revalidation of mutable workspace/manifest/tool state after handoff.", "- Confirmed findings: each as severity + one-line evidence + impact/repro if known (F1, F2, … or short titles). If none yet, say so.", "- Negative / tested-OK: things checked and not issues (SSRF guard, CORS locked, etc.) so implement does not re-burn steps.", "- Untested / open classes: authz/IDOR, RBAC, payment, injection, etc. still open — especially anything blocked on credentials.", "- Artifacts & paths: include only reusable artifacts the implementer may need (reports, downloads, extracted specs, scan outputs). Omit routine fs.list/fs.read/tool.check receipt paths and transient temp logs whose result is already summarized.", "- Durable engagement rules ONLY if they still bind implement (remote target/scope, authorized testing, non-destructive default, do not treat clai workspace as the target, no local dev server for remote assessments).", "- Plan-mode-only notes: gather-only / await-accept / no-exploit-yet gates that applied BEFORE accept — label historical; implementer is past that phase.", "- Delegated work: keep every subagent, background job, and Responder task id with its title; fold the conclusions of results already read into Research evidence or Confirmed findings. Results not yet read are re-delivered after resume — list them as pending, never as read.", "- Commands/tools: only non-obvious or reusable commands and their outcomes. Do not repeat routine list/read/tool-version facts already captured above.", "- Current state: describe the last tool-observed state at compaction time. Do not claim plan acceptance/approval unless DURABLE STATE confirms it; distinguish transition assumptions from evidence.", "- Remaining work: ACTIVE PLAN is injected separately, so do not restate every task. Record only the next task, dependency/order caveats, blockers, or plan details not present in durable state.", "- Resolve contradictions explicitly (for example, a non-empty destination is not simultaneously guaranteed safe for an in-place scaffolder). If evidence conflicts, preserve the uncertainty and safest next check.", "- Do NOT invent findings. Do NOT omit confirmed issues that appear in the material. Prefer denser bullets over long prose.", "- Prefer COMPLETE short memory over a long memory that cuts off mid-sentence.");
35
35
  }
36
36
  else {
37
- sections.push("Create a complete but compact continuation memory of the session below.", "Treat resumed history and newer turns as one continuous conversation.", "Open with a single ORIENTATION line — current objective plus status (done / in progress / blocked) — so the resuming agent reorients in one read. Keep it to one line; the details belong in the sections below, not restated here.", "", "Organize under these exact section headings (skip a section only if empty):", "## User goals", "## Key facts and environment", "## Decisions and constraints", "## Work completed", "## In flight / blocked", "## Commands/tools and results", "## Current state", "## Remaining work", "## Relevant files", "## Open risks / failures", "", "How to fill sections (resume-quality critical — write for a reader with zero prior context):", "- User goals: the objective plus hard constraints the user imposed verbatim or near-verbatim (style rules, forbiddens, scope limits), and the requested execution boundary (entire program/all phases versus a named phase versus unspecified).", "- Key facts and environment: mechanism-level truths discovered during the session — API/data shapes and field semantics, regex or parser behaviors, gate conditions and flag interactions, environment quirks (broken credentials, unavailable services, tool versions), and anything verified empirically. Each bullet must let the resumer act without re-verifying.", "- Decisions and constraints: each decision with its rationale and source (user directive, discovered evidence, tool constraint), not just the decision itself.", "- Work completed: one bullet per change/result with file path and line anchors, what changed, before→after behavior, and explicit verification evidence (test counts, exit codes, commands that passed, or 'not yet verified'). Group as Completed, then any reverted/abandoned changes with why.", "- In flight / blocked: edits made but not verified, designs decided but not applied, and blocked items with the exact missing piece — including the concrete next edit already determined but not yet performed.", "- Commands/tools and results: key commands with outcomes; notable failures with root cause and how many attempts before success/abandonment so the resumer does not retry dead ends.", "- Current state: what is true at compaction time — running servers/jobs (ids, ports), dirty worktree state, open handles, last observed outputs.", "- Remaining work: an ordered, numbered list of concrete next steps — each step names the action, the file/line or artifact it applies to, and the verification command that proves it done. Do not restate plan tasks already recorded in the live plan; record the deltas and execution detail.", "- Relevant files: path → role, what changed there, and line anchors worth resuming from. Include test files with their pass/fail state.", "- Open risks / failures: unresolved bugs, known-broken neighbors left untouched, suspicious observations not yet explained.", "", "Preserve: user intentions, decisions, constraints, requested execution boundary (entire program/all phases versus a named phase versus unspecified), referenced roadmap/plan/task/index paths, stack/package manager,", "commands and key results, plan task states/hierarchy, errors and failed approaches,", "Responder notification ids, linked task/parent ids, job/PID/status, durable artifact paths, and the authoritative consumed/analyzed state from RESPONDER RESULT LEDGER entries. Never describe consumed=true ledger entries as unread, pending, or needing another artifact read.", "servers/jobs still running, and exactly what remains.", "", "AVOID BLOAT — this memory is prepended to a context that re-injects fresh ACTIVE PLAN, SESSION STATE, and ENGAGEMENT SCOPE after compaction:", "- DEDUPLICATE: state each fact once in its best section. Never repeat the same path, command, decision, or finding across multiple sections.", "- Do NOT restate the full plan or list every task under Remaining work — the live ACTIVE PLAN is re-injected separately. Record only deltas: the next task, blockers, dependency/order caveats, and states not obvious from the plan.", "- Do NOT reproduce long user prompts verbatim. Capture the goal and hard constraints concisely under User goals.", "- Omit routine fs.list / fs.read / tool.check receipts and transient logs whose result is already captured. Prefer dense bullets over prose.", "", "PHASE AWARENESS under Decisions and constraints:", "- If earlier turns were plan-mode research, do not elevate gather-only / await-accept / no-implement rules as permanent forever-constraints for agent execution.", "- Durable engagement policy (scope, remote target, non-destructive default) may still be listed as current.", "- Prefer labeling historical plan-mode gates as \"(plan-mode only; superseded after accept)\" when they appear in the material.");
37
+ sections.push("Create a complete but compact continuation memory of the session below.", "Treat resumed history and newer turns as one continuous conversation.", "Open with a single ORIENTATION line — current objective plus status (done / in progress / blocked) — so the resuming agent reorients in one read. Keep it to one line; the details belong in the sections below, not restated here.", "", "Organize under these exact section headings (skip a section only if empty):", "## User goals", "## Key facts and environment", "## Decisions and constraints", "## Work completed", "## In flight / blocked", "## Commands/tools and results", "## Current state", "## Remaining work", "## Relevant files", "## Open risks / failures", "", "How to fill sections (resume-quality critical — write for a reader with zero prior context):", "- User goals: the objective plus hard constraints the user imposed verbatim or near-verbatim (style rules, forbiddens, scope limits), and the requested execution boundary (entire program/all phases versus a named phase versus unspecified).", "- Key facts and environment: mechanism-level truths discovered during the session — API/data shapes and field semantics, regex or parser behaviors, gate conditions and flag interactions, environment quirks (broken credentials, unavailable services, tool versions), and anything verified empirically, plus user-supplied values the remaining work needs (endpoints, test accounts, ids, config values) verbatim except secret values. Each bullet must let the resumer act without re-verifying.", "- Delegated work: keep every subagent, background job, and Responder task id with its title. For results the session already read, record the conclusions that matter for the remaining work inline in the section where they are used (Key facts, Work completed, Current state) — not as a separate dump. Results not yet read are re-delivered after resume — list them as pending, never as read.", "- Decisions and constraints: each decision with its rationale and source (user directive, discovered evidence, tool constraint), not just the decision itself.", "- Work completed: one bullet per change/result with file path and line anchors, what changed, before→after behavior, and explicit verification evidence (test counts, exit codes, commands that passed, or 'not yet verified'). Group as Completed, then any reverted/abandoned changes with why.", "- In flight / blocked: edits made but not verified, designs decided but not applied, and blocked items with the exact missing piece — including the concrete next edit already determined but not yet performed.", "- Commands/tools and results: key commands with outcomes; notable failures with root cause and how many attempts before success/abandonment so the resumer does not retry dead ends.", "- Current state: what is true at compaction time — running servers/jobs (ids, ports), dirty worktree state, open handles, last observed outputs.", "- Remaining work: an ordered, numbered list of concrete next steps — each step names the action, the file/line or artifact it applies to, and the verification command that proves it done. Do not restate plan tasks already recorded in the live plan; record the deltas and execution detail.", "- Relevant files: path → role, what changed there, and line anchors worth resuming from. Include test files with their pass/fail state.", "- Open risks / failures: unresolved bugs, known-broken neighbors left untouched, suspicious observations not yet explained.", "", "Preserve: user intentions, decisions, constraints, requested execution boundary (entire program/all phases versus a named phase versus unspecified), referenced roadmap/plan/task/index paths, stack/package manager,", "commands and key results, plan task states/hierarchy, errors and failed approaches,", "Responder notification ids, linked task/parent ids, job/PID/status, subagent ids/titles, durable artifact paths, and the authoritative consumed/analyzed state from RESPONDER RESULT LEDGER entries. Never describe consumed=true ledger entries as unread, pending, or needing another artifact read.", "servers/jobs still running, and exactly what remains.", "", "AVOID BLOAT — this memory is prepended to a context that re-injects fresh ACTIVE PLAN, SESSION STATE, and ENGAGEMENT SCOPE after compaction:", "- DEDUPLICATE: state each fact once in its best section. Never repeat the same path, command, decision, or finding across multiple sections.", "- Do NOT restate the full plan or list every task under Remaining work — the live ACTIVE PLAN is re-injected separately. Record only deltas: the next task, blockers, dependency/order caveats, and states not obvious from the plan.", "- Do NOT reproduce long user prompts verbatim. Capture the goal and hard constraints concisely under User goals.", "- Omit routine fs.list / fs.read / tool.check receipts and transient logs whose result is already captured. Prefer dense bullets over prose.", "", "PHASE AWARENESS under Decisions and constraints:", "- If earlier turns were plan-mode research, do not elevate gather-only / await-accept / no-implement rules as permanent forever-constraints for agent execution.", "- Durable engagement policy (scope, remote target, non-destructive default) may still be listed as current.", "- Prefer labeling historical plan-mode gates as \"(plan-mode only; superseded after accept)\" when they appear in the material.");
38
38
  }
39
39
  sections.push("", "RECENCY (correctness-critical):", "- The material runs to the END of the session, including the most recent tool call and the most recent answer. Read the material to its final line before writing anything.", "- Anything the material shows as already done belongs under Work completed / Current state. NEVER list completed work under Remaining work, In flight, or as a next step — a resuming agent will redo it.", "- Take the LATEST state of any fact that changed during the session. If an approach was adopted and later reverted, replaced, or abandoned, record the final choice as current and the earlier one as superseded with the reason.", "- Remaining work must contain only steps the material shows as genuinely not yet performed. If nothing remains, say so explicitly.");
40
- const target = "Be specific over short. Target ~1800–3600 tokens of dense continuation memory (~900–1600 for plan-mode handoffs), using more only when required to preserve verified state. Finish every bullet and section. End on a complete sentence. No secrets, fabricated successes, raw pseudo-tool syntax, or full tool dumps.";
40
+ const target = "Be specific over short. Target ~1800–3600 tokens of dense continuation memory (~900–1600 for plan-mode handoffs), using more only when required to preserve verified state. Finish every bullet and section. End on a complete sentence. No secret values, fabricated successes, raw pseudo-tool syntax, or full tool dumps.";
41
41
  sections.push(target);
42
42
  if (durable) {
43
43
  sections.push("", "DURABLE STATE (trust this over older chatter):", durable);
@@ -101,7 +101,7 @@ export function chunkTranscriptForCompaction(transcript, chunkChars = COMPACTION
101
101
  export function buildCompactionChunkPrompt(input) {
102
102
  const focus = input.purpose === "plan-implement"
103
103
  ? "Preserve targets, stack, confirmed findings, negative results, untested classes, artifact paths, commands and remaining work."
104
- : "Preserve goals, decisions, file paths with line anchors, before→after behavior of each change, verification evidence, environment quirks, commands and their results, task states, failures (with causes), running jobs and remaining work.";
104
+ : "Preserve goals, decisions, file paths with line anchors, before→after behavior of each change, verification evidence, environment quirks, commands and their results, task states, failures (with causes), subagent/job/Responder ids with titles and the conclusions of results already read, running jobs and remaining work.";
105
105
  return [
106
106
  `Summarize region ${input.index + 1} of ${input.total} of one continuous session.`,
107
107
  "This is a partial region: do not write an orientation line, do not speculate about regions you cannot see, and do not answer the user.",
@@ -1 +1 @@
1
- {"version":3,"file":"compaction-summary.js","sourceRoot":"","sources":["../../src/agent/compaction-summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compaction-summary.js","sourceRoot":"","sources":["../../src/agent/compaction-summary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type ChatMessage } from "../../types.js";
2
+ export declare const USER_CREDENTIALS_HEADING = "User-provided credentials (verbatim from the user; use only for the work the user requested):";
3
+ export declare function collectUserCredentials(messages: readonly ChatMessage[], isEnvelope: (content: string) => boolean): string[];
4
+ export declare function renderUserCredentials(credentials: readonly string[]): string[];
@@ -0,0 +1,97 @@
1
+ import { isInternalChatMessage } from "../../types.js";
2
+ export const USER_CREDENTIALS_HEADING = "User-provided credentials (verbatim from the user; use only for the work the user requested):";
3
+ const MAX_CREDENTIALS = 16;
4
+ const MAX_LINE_CHARS = 600;
5
+ const MAX_COMPANION_LINES = 3;
6
+ const CONTEXT_CHARS = 80;
7
+ const REDACTION_MARKERS = ["••••", "[redacted]"];
8
+ const SECRET_QUALIFIERS = "api|access|secret|private|auth|license|signing|encryption|client|app|test|live|publishable|webhook|bearer|session|refresh";
9
+ const SPOKEN_SECRET = String.raw `\b(?:${SECRET_QUALIFIERS})[\s_-]?(?:key|secret|token)s?\b[\s"'\x60]{0,4}(?:is|are|=|:)[\s"'\x60]{0,4}(?=[^\s"'\x60]*\d)[^\s"'\x60]{8,}`;
10
+ const CREDENTIAL_PATTERN = new RegExp([
11
+ String.raw `\b(?:sk|pk|rk)_(?:live|test)_[A-Za-z0-9]{10,}`,
12
+ String.raw `\bsk-[A-Za-z0-9._-]{16,}`,
13
+ String.raw `\b(?:gsk|hf|r8|glpat|npm|tvly|pplx|xai|nvapi|fw|thk)[_-][A-Za-z0-9_-]{16,}`,
14
+ String.raw `\bgh[pousr]_[A-Za-z0-9]{20,}`,
15
+ String.raw `\bgithub_pat_[A-Za-z0-9_]{20,}`,
16
+ String.raw `\bxox[abprs]-[A-Za-z0-9-]{10,}`,
17
+ String.raw `\bAIza[0-9A-Za-z_-]{30,}`,
18
+ String.raw `\bA(?:KIA|SIA)[0-9A-Z]{16}\b`,
19
+ String.raw `\beyJ[A-Za-z0-9_-]{8,}\.eyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}`,
20
+ String.raw `\bSG\.[A-Za-z0-9_-]{16,}\.[A-Za-z0-9_-]{16,}`,
21
+ String.raw `\bBearer\s+[A-Za-z0-9._~+/=-]{16,}`,
22
+ String.raw `\b[a-z][a-z0-9+.-]{0,30}:\/\/[^\s:@/]{1,256}:[^\s@/]{1,256}@\S+`,
23
+ String.raw `\b[\w.-]{0,40}(?:api[_-]?key|apikey|secret|token|passw(?:or)?d|passphrase|pwd|credentials?|access[_-]?key|private[_-]?key)[\w.-]{0,40}["']?\s{0,8}[:=]\s{0,8}["'\x60]?[^\s"'\x60]{4,}`,
24
+ String.raw `\b(?:password|passphrase|passcode|pin)\s+is\s+\S{4,}`,
25
+ SPOKEN_SECRET,
26
+ ].join("|"), "gi");
27
+ const IDENTITY_LINE = new RegExp(String.raw `^(?:user(?:name)?|login|e-?mail|account(?:[\s_-]?(?:id|name))?|host(?:name)?|url|endpoint|base[\s_-]?url|tenant|project(?:[\s_-]?id)?|region|client[\s_-]?id|org(?:anization)?(?:[\s_-]?id)?|database|db(?:[\s_-]?name)?|port)\s*[:=]\s*\S`, "i");
28
+ const windowsAround = (line) => [...line.matchAll(CREDENTIAL_PATTERN)].map((match) => {
29
+ const start = Math.max(0, match.index - CONTEXT_CHARS);
30
+ const end = match.index + match[0].length;
31
+ return `${start > 0 ? "…" : ""}${line.slice(start, end)}${end < line.length ? "…" : ""}`;
32
+ });
33
+ const hasCredential = (line) => {
34
+ CREDENTIAL_PATTERN.lastIndex = 0;
35
+ const found = CREDENTIAL_PATTERN.test(line);
36
+ CREDENTIAL_PATTERN.lastIndex = 0;
37
+ return found;
38
+ };
39
+ const companionIndexes = (lines, anchor, direction) => {
40
+ const found = [];
41
+ for (let cursor = anchor + direction; found.length < MAX_COMPANION_LINES && IDENTITY_LINE.test(lines[cursor] ?? ""); cursor += direction) {
42
+ found.push(cursor);
43
+ }
44
+ return found;
45
+ };
46
+ const credentialLines = (text) => {
47
+ const lines = text.split(/\r?\n/).map((raw) => raw.trim());
48
+ const secrets = new Set(lines.flatMap((line, index) => (line && hasCredential(line) ? [index] : [])));
49
+ const included = new Set(secrets);
50
+ for (const anchor of secrets) {
51
+ for (const direction of [-1, 1]) {
52
+ for (const index of companionIndexes(lines, anchor, direction))
53
+ included.add(index);
54
+ }
55
+ }
56
+ return [...included]
57
+ .sort((a, b) => a - b)
58
+ .flatMap((index) => {
59
+ const line = lines[index];
60
+ if (line.length <= MAX_LINE_CHARS)
61
+ return [line];
62
+ return secrets.has(index) ? windowsAround(line) : [line.slice(0, MAX_LINE_CHARS)];
63
+ });
64
+ };
65
+ const carriedCredentials = (content) => {
66
+ const lines = content.split("\n");
67
+ const start = lines.indexOf(USER_CREDENTIALS_HEADING);
68
+ if (start < 0)
69
+ return [];
70
+ const carried = [];
71
+ for (const line of lines.slice(start + 1)) {
72
+ if (!line.startsWith("- "))
73
+ break;
74
+ carried.push(line.slice(2));
75
+ }
76
+ return carried;
77
+ };
78
+ export function collectUserCredentials(messages, isEnvelope) {
79
+ const found = messages.flatMap((message) => {
80
+ if (message.role === "system" && isEnvelope(message.content)) {
81
+ return carriedCredentials(message.content);
82
+ }
83
+ if (message.role !== "user" || isInternalChatMessage(message))
84
+ return [];
85
+ return credentialLines(message.content);
86
+ });
87
+ const unique = [
88
+ ...new Set(found.filter((line) => !REDACTION_MARKERS.some((marker) => line.includes(marker)))),
89
+ ];
90
+ return unique.slice(-MAX_CREDENTIALS);
91
+ }
92
+ export function renderUserCredentials(credentials) {
93
+ return credentials.length > 0
94
+ ? [USER_CREDENTIALS_HEADING, ...credentials.map((line) => `- ${line}`)]
95
+ : [];
96
+ }
97
+ //# sourceMappingURL=user-credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-credentials.js","sourceRoot":"","sources":["../../../src/agent/context/user-credentials.ts"],"names":[],"mappings":"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"}
@@ -11,16 +11,34 @@ export declare class WorkLedger {
11
11
  artifactPaths(): string[];
12
12
  get size(): number;
13
13
  }
14
+ export interface ResultConclusion {
15
+ readonly jobId: string;
16
+ readonly conclusion: string;
17
+ }
14
18
  export interface ResponderEnvelopeState {
15
19
  readonly unread: readonly string[];
16
20
  readonly consumed: readonly string[];
21
+ readonly unreadJobs?: readonly string[] | undefined;
22
+ readonly consumedJobs?: readonly string[] | undefined;
23
+ readonly conclusions?: readonly ResultConclusion[] | undefined;
17
24
  }
18
25
  export interface EnvelopeJobState {
19
26
  readonly id: string;
20
27
  readonly status: string;
21
28
  readonly command: string;
29
+ readonly name?: string | undefined;
22
30
  readonly taskId?: string | undefined;
23
31
  readonly artifact?: string | undefined;
32
+ readonly exitCode?: number | undefined;
33
+ readonly responder?: boolean | undefined;
34
+ }
35
+ export interface EnvelopeSubagentState {
36
+ readonly id: string;
37
+ readonly title: string;
38
+ readonly status: string;
39
+ readonly attempt: number;
40
+ readonly result: "running" | "read" | "unread" | "none";
41
+ readonly digest?: string | undefined;
24
42
  }
25
43
  export interface DurableEnvelopeInput {
26
44
  readonly plan?: SessionPlan | undefined;
@@ -32,6 +50,9 @@ export interface DurableEnvelopeInput {
32
50
  readonly projectRoot?: string | undefined;
33
51
  readonly packageManager?: string | undefined;
34
52
  readonly scopeSummary?: string | undefined;
53
+ readonly subagents?: readonly EnvelopeSubagentState[] | undefined;
54
+ readonly credentials?: readonly string[] | undefined;
35
55
  }
36
56
  export declare function buildDurableEnvelope(input: DurableEnvelopeInput): string | undefined;
37
57
  export declare function isDurableEnvelopeContent(content: string): boolean;
58
+ export declare function summarizeCarriedWork(input: DurableEnvelopeInput): string | undefined;