@prestyj/cli 5.8.0 → 5.10.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 (469) hide show
  1. package/README.md +1 -1
  2. package/assets/skills/evidence-led-ui/LICENSES.md +12 -0
  3. package/assets/skills/evidence-led-ui/SKILL.md +15 -7
  4. package/assets/skills/evidence-led-ui/references/anti-defaults.md +9 -1
  5. package/assets/skills/evidence-led-ui/references/craft-rulings.md +33 -0
  6. package/assets/skills/evidence-led-ui/references/production-contract.md +41 -21
  7. package/assets/skills/evidence-led-ui/references/provenance.md +7 -5
  8. package/assets/skills/evidence-led-ui/references/quality-rubric.md +10 -10
  9. package/dist/app-sidecar-sessions.d.ts +8 -0
  10. package/dist/app-sidecar-sessions.d.ts.map +1 -0
  11. package/dist/app-sidecar-sessions.js +31 -0
  12. package/dist/app-sidecar-sessions.js.map +1 -0
  13. package/dist/app-sidecar-sessions.test.d.ts +2 -0
  14. package/dist/app-sidecar-sessions.test.d.ts.map +1 -0
  15. package/dist/app-sidecar-sessions.test.js +83 -0
  16. package/dist/app-sidecar-sessions.test.js.map +1 -0
  17. package/dist/app-sidecar.js +623 -120
  18. package/dist/app-sidecar.js.map +1 -1
  19. package/dist/chat-agents/general.test.js +5 -3
  20. package/dist/chat-agents/general.test.js.map +1 -1
  21. package/dist/chat-agents/memory.d.ts.map +1 -1
  22. package/dist/chat-agents/memory.js +14 -5
  23. package/dist/chat-agents/memory.js.map +1 -1
  24. package/dist/chat-agents/memory.test.js +11 -1
  25. package/dist/chat-agents/memory.test.js.map +1 -1
  26. package/dist/chat-agents/shared.js +1 -1
  27. package/dist/chat-agents/shared.js.map +1 -1
  28. package/dist/chat-agents/specialists.test.js +3 -2
  29. package/dist/chat-agents/specialists.test.js.map +1 -1
  30. package/dist/cli.d.ts.map +1 -1
  31. package/dist/cli.js +59 -30
  32. package/dist/cli.js.map +1 -1
  33. package/dist/config.d.ts +18 -0
  34. package/dist/config.d.ts.map +1 -1
  35. package/dist/config.js +50 -2
  36. package/dist/config.js.map +1 -1
  37. package/dist/config.test.js +61 -1
  38. package/dist/config.test.js.map +1 -1
  39. package/dist/core/agent-mcp-passthrough.test.d.ts +2 -0
  40. package/dist/core/agent-mcp-passthrough.test.d.ts.map +1 -0
  41. package/dist/core/agent-mcp-passthrough.test.js +61 -0
  42. package/dist/core/agent-mcp-passthrough.test.js.map +1 -0
  43. package/dist/core/agent-session-add-dir.test.d.ts +2 -0
  44. package/dist/core/agent-session-add-dir.test.d.ts.map +1 -0
  45. package/dist/core/agent-session-add-dir.test.js +110 -0
  46. package/dist/core/agent-session-add-dir.test.js.map +1 -0
  47. package/dist/core/agent-session-compaction.test.js +23 -7
  48. package/dist/core/agent-session-compaction.test.js.map +1 -1
  49. package/dist/core/agent-session-marker-anchors.test.d.ts +2 -0
  50. package/dist/core/agent-session-marker-anchors.test.d.ts.map +1 -0
  51. package/dist/core/agent-session-marker-anchors.test.js +147 -0
  52. package/dist/core/agent-session-marker-anchors.test.js.map +1 -0
  53. package/dist/core/agent-session-memory-tail.test.js +4 -7
  54. package/dist/core/agent-session-memory-tail.test.js.map +1 -1
  55. package/dist/core/agent-session-queue.test.js +4 -7
  56. package/dist/core/agent-session-queue.test.js.map +1 -1
  57. package/dist/core/agent-session-subagent-policy.test.js +7 -3
  58. package/dist/core/agent-session-subagent-policy.test.js.map +1 -1
  59. package/dist/core/agent-session.d.ts +46 -0
  60. package/dist/core/agent-session.d.ts.map +1 -1
  61. package/dist/core/agent-session.js +177 -19
  62. package/dist/core/agent-session.js.map +1 -1
  63. package/dist/core/agent-tools-allowlist.test.js +5 -3
  64. package/dist/core/agent-tools-allowlist.test.js.map +1 -1
  65. package/dist/core/agents.d.ts +12 -1
  66. package/dist/core/agents.d.ts.map +1 -1
  67. package/dist/core/agents.js +25 -1
  68. package/dist/core/agents.js.map +1 -1
  69. package/dist/core/agents.test.d.ts +2 -0
  70. package/dist/core/agents.test.d.ts.map +1 -0
  71. package/dist/core/agents.test.js +67 -0
  72. package/dist/core/agents.test.js.map +1 -0
  73. package/dist/core/auth-providers.js +1 -1
  74. package/dist/core/auth-providers.js.map +1 -1
  75. package/dist/core/auth-storage.d.ts +1 -1
  76. package/dist/core/auth-storage.d.ts.map +1 -1
  77. package/dist/core/auth-storage.js +1 -1
  78. package/dist/core/auth-storage.js.map +1 -1
  79. package/dist/core/compaction/compactor.d.ts.map +1 -1
  80. package/dist/core/compaction/compactor.js +20 -11
  81. package/dist/core/compaction/compactor.js.map +1 -1
  82. package/dist/core/compaction/compactor.test.js +17 -4
  83. package/dist/core/compaction/compactor.test.js.map +1 -1
  84. package/dist/core/compaction/token-estimator.test.js +1 -1
  85. package/dist/core/compaction/token-estimator.test.js.map +1 -1
  86. package/dist/core/encode-cwd.d.ts +17 -0
  87. package/dist/core/encode-cwd.d.ts.map +1 -1
  88. package/dist/core/encode-cwd.js +20 -7
  89. package/dist/core/encode-cwd.js.map +1 -1
  90. package/dist/core/encode-cwd.test.js +20 -1
  91. package/dist/core/encode-cwd.test.js.map +1 -1
  92. package/dist/core/event-bus.d.ts +5 -0
  93. package/dist/core/event-bus.d.ts.map +1 -1
  94. package/dist/core/event-bus.js +6 -0
  95. package/dist/core/event-bus.js.map +1 -1
  96. package/dist/core/goal-controller.test.js +3 -3
  97. package/dist/core/goal-controller.test.js.map +1 -1
  98. package/dist/core/ideal-review.d.ts.map +1 -1
  99. package/dist/core/ideal-review.js +6 -1
  100. package/dist/core/ideal-review.js.map +1 -1
  101. package/dist/core/ideal-review.test.js +7 -2
  102. package/dist/core/ideal-review.test.js.map +1 -1
  103. package/dist/core/index.d.ts +2 -2
  104. package/dist/core/index.d.ts.map +1 -1
  105. package/dist/core/index.js +2 -2
  106. package/dist/core/index.js.map +1 -1
  107. package/dist/core/input-normalization.test.d.ts +2 -0
  108. package/dist/core/input-normalization.test.d.ts.map +1 -0
  109. package/dist/core/input-normalization.test.js +75 -0
  110. package/dist/core/input-normalization.test.js.map +1 -0
  111. package/dist/core/local-endpoint-store.d.ts +50 -0
  112. package/dist/core/local-endpoint-store.d.ts.map +1 -0
  113. package/dist/core/local-endpoint-store.js +201 -0
  114. package/dist/core/local-endpoint-store.js.map +1 -0
  115. package/dist/core/local-endpoint-store.test.d.ts +2 -0
  116. package/dist/core/local-endpoint-store.test.d.ts.map +1 -0
  117. package/dist/core/local-endpoint-store.test.js +131 -0
  118. package/dist/core/local-endpoint-store.test.js.map +1 -0
  119. package/dist/core/loop-breaker.d.ts +38 -1
  120. package/dist/core/loop-breaker.d.ts.map +1 -1
  121. package/dist/core/loop-breaker.js +84 -2
  122. package/dist/core/loop-breaker.js.map +1 -1
  123. package/dist/core/loop-breaker.test.js +108 -1
  124. package/dist/core/loop-breaker.test.js.map +1 -1
  125. package/dist/core/lsp/client.d.ts +50 -0
  126. package/dist/core/lsp/client.d.ts.map +1 -1
  127. package/dist/core/lsp/client.js +158 -13
  128. package/dist/core/lsp/client.js.map +1 -1
  129. package/dist/core/lsp/jsonrpc.d.ts +38 -1
  130. package/dist/core/lsp/jsonrpc.d.ts.map +1 -1
  131. package/dist/core/lsp/jsonrpc.js +13 -1
  132. package/dist/core/lsp/jsonrpc.js.map +1 -1
  133. package/dist/core/lsp/manager.d.ts.map +1 -1
  134. package/dist/core/lsp/manager.js +23 -2
  135. package/dist/core/lsp/manager.js.map +1 -1
  136. package/dist/core/lsp/manager.test.js +32 -1
  137. package/dist/core/lsp/manager.test.js.map +1 -1
  138. package/dist/core/lsp/test-support.d.ts +18 -0
  139. package/dist/core/lsp/test-support.d.ts.map +1 -0
  140. package/dist/core/lsp/test-support.js +27 -0
  141. package/dist/core/lsp/test-support.js.map +1 -0
  142. package/dist/core/lsp/uri.test.d.ts +2 -0
  143. package/dist/core/lsp/uri.test.d.ts.map +1 -0
  144. package/dist/core/lsp/uri.test.js +56 -0
  145. package/dist/core/lsp/uri.test.js.map +1 -0
  146. package/dist/core/lsp/windows.test.d.ts +2 -0
  147. package/dist/core/lsp/windows.test.d.ts.map +1 -0
  148. package/dist/core/lsp/windows.test.js +251 -0
  149. package/dist/core/lsp/windows.test.js.map +1 -0
  150. package/dist/core/mcp/resolve-stdio.d.ts +35 -0
  151. package/dist/core/mcp/resolve-stdio.d.ts.map +1 -1
  152. package/dist/core/mcp/resolve-stdio.js +80 -1
  153. package/dist/core/mcp/resolve-stdio.js.map +1 -1
  154. package/dist/core/mcp/resolve-stdio.test.js +99 -4
  155. package/dist/core/mcp/resolve-stdio.test.js.map +1 -1
  156. package/dist/core/message-images.d.ts +12 -0
  157. package/dist/core/message-images.d.ts.map +1 -0
  158. package/dist/core/message-images.js +52 -0
  159. package/dist/core/message-images.js.map +1 -0
  160. package/dist/core/message-images.test.d.ts +2 -0
  161. package/dist/core/message-images.test.d.ts.map +1 -0
  162. package/dist/core/message-images.test.js +62 -0
  163. package/dist/core/message-images.test.js.map +1 -0
  164. package/dist/core/network-guard.d.ts +47 -0
  165. package/dist/core/network-guard.d.ts.map +1 -0
  166. package/dist/core/network-guard.js +208 -0
  167. package/dist/core/network-guard.js.map +1 -0
  168. package/dist/core/network-guard.test.d.ts +2 -0
  169. package/dist/core/network-guard.test.d.ts.map +1 -0
  170. package/dist/core/network-guard.test.js +72 -0
  171. package/dist/core/network-guard.test.js.map +1 -0
  172. package/dist/core/persistent-shell.d.ts +3 -1
  173. package/dist/core/persistent-shell.d.ts.map +1 -1
  174. package/dist/core/persistent-shell.js +13 -3
  175. package/dist/core/persistent-shell.js.map +1 -1
  176. package/dist/core/process-manager-dev-server-repro.test.js +34 -12
  177. package/dist/core/process-manager-dev-server-repro.test.js.map +1 -1
  178. package/dist/core/process-manager.d.ts +1 -1
  179. package/dist/core/process-manager.d.ts.map +1 -1
  180. package/dist/core/process-manager.js +23 -13
  181. package/dist/core/process-manager.js.map +1 -1
  182. package/dist/core/project-discovery.d.ts +8 -1
  183. package/dist/core/project-discovery.d.ts.map +1 -1
  184. package/dist/core/project-discovery.js +145 -62
  185. package/dist/core/project-discovery.js.map +1 -1
  186. package/dist/core/project-discovery.test.js +131 -1
  187. package/dist/core/project-discovery.test.js.map +1 -1
  188. package/dist/core/prompt-commands.d.ts.map +1 -1
  189. package/dist/core/prompt-commands.js +89 -156
  190. package/dist/core/prompt-commands.js.map +1 -1
  191. package/dist/core/prompt-commands.test.js +4 -10
  192. package/dist/core/prompt-commands.test.js.map +1 -1
  193. package/dist/core/radio.test.js +4 -1
  194. package/dist/core/radio.test.js.map +1 -1
  195. package/dist/core/runtime-mode.d.ts +2 -0
  196. package/dist/core/runtime-mode.d.ts.map +1 -1
  197. package/dist/core/runtime-mode.js +4 -0
  198. package/dist/core/runtime-mode.js.map +1 -1
  199. package/dist/core/session-export.d.ts +98 -0
  200. package/dist/core/session-export.d.ts.map +1 -0
  201. package/dist/core/session-export.js +356 -0
  202. package/dist/core/session-export.js.map +1 -0
  203. package/dist/core/session-export.test.d.ts +2 -0
  204. package/dist/core/session-export.test.d.ts.map +1 -0
  205. package/dist/core/session-export.test.js +353 -0
  206. package/dist/core/session-export.test.js.map +1 -0
  207. package/dist/core/session-manager.d.ts +27 -7
  208. package/dist/core/session-manager.d.ts.map +1 -1
  209. package/dist/core/session-manager.js +257 -124
  210. package/dist/core/session-manager.js.map +1 -1
  211. package/dist/core/session-storage.d.ts +57 -0
  212. package/dist/core/session-storage.d.ts.map +1 -0
  213. package/dist/core/session-storage.js +592 -0
  214. package/dist/core/session-storage.js.map +1 -0
  215. package/dist/core/session-storage.test.d.ts +2 -0
  216. package/dist/core/session-storage.test.d.ts.map +1 -0
  217. package/dist/core/session-storage.test.js +272 -0
  218. package/dist/core/session-storage.test.js.map +1 -0
  219. package/dist/core/settings-manager.d.ts +7 -0
  220. package/dist/core/settings-manager.d.ts.map +1 -1
  221. package/dist/core/settings-manager.js +17 -0
  222. package/dist/core/settings-manager.js.map +1 -1
  223. package/dist/core/setup-history.d.ts +0 -6
  224. package/dist/core/setup-history.d.ts.map +1 -1
  225. package/dist/core/setup-history.js +2 -18
  226. package/dist/core/setup-history.js.map +1 -1
  227. package/dist/core/setup-history.test.js +11 -26
  228. package/dist/core/setup-history.test.js.map +1 -1
  229. package/dist/core/sidecar-error-reporter.d.ts +12 -0
  230. package/dist/core/sidecar-error-reporter.d.ts.map +1 -0
  231. package/dist/core/sidecar-error-reporter.js +57 -0
  232. package/dist/core/sidecar-error-reporter.js.map +1 -0
  233. package/dist/core/sidecar-error-reporter.test.d.ts +2 -0
  234. package/dist/core/sidecar-error-reporter.test.d.ts.map +1 -0
  235. package/dist/core/sidecar-error-reporter.test.js +61 -0
  236. package/dist/core/sidecar-error-reporter.test.js.map +1 -0
  237. package/dist/core/skills-routing.test.js +3 -1
  238. package/dist/core/skills-routing.test.js.map +1 -1
  239. package/dist/core/skills.d.ts +1 -1
  240. package/dist/core/skills.d.ts.map +1 -1
  241. package/dist/core/skills.js +4 -1
  242. package/dist/core/skills.js.map +1 -1
  243. package/dist/core/slash-commands.d.ts +18 -0
  244. package/dist/core/slash-commands.d.ts.map +1 -1
  245. package/dist/core/slash-commands.js +42 -10
  246. package/dist/core/slash-commands.js.map +1 -1
  247. package/dist/core/slash-commands.test.d.ts +2 -0
  248. package/dist/core/slash-commands.test.d.ts.map +1 -0
  249. package/dist/core/slash-commands.test.js +59 -0
  250. package/dist/core/slash-commands.test.js.map +1 -0
  251. package/dist/core/speed-benchmark.test.js +9 -3
  252. package/dist/core/speed-benchmark.test.js.map +1 -1
  253. package/dist/core/subagent-manager.d.ts +8 -1
  254. package/dist/core/subagent-manager.d.ts.map +1 -1
  255. package/dist/core/subagent-manager.js +35 -2
  256. package/dist/core/subagent-manager.js.map +1 -1
  257. package/dist/core/subagent-manager.test.js +34 -0
  258. package/dist/core/subagent-manager.test.js.map +1 -1
  259. package/dist/core/subagent-store.test.js +14 -2
  260. package/dist/core/subagent-store.test.js.map +1 -1
  261. package/dist/core/verify-commands.d.ts.map +1 -1
  262. package/dist/core/verify-commands.js +1 -6
  263. package/dist/core/verify-commands.js.map +1 -1
  264. package/dist/core/verify-commands.test.js +1 -5
  265. package/dist/core/verify-commands.test.js.map +1 -1
  266. package/dist/core/workspace-guard.d.ts +40 -0
  267. package/dist/core/workspace-guard.d.ts.map +1 -0
  268. package/dist/core/workspace-guard.js +115 -0
  269. package/dist/core/workspace-guard.js.map +1 -0
  270. package/dist/core/workspace-guard.test.d.ts +2 -0
  271. package/dist/core/workspace-guard.test.d.ts.map +1 -0
  272. package/dist/core/workspace-guard.test.js +107 -0
  273. package/dist/core/workspace-guard.test.js.map +1 -0
  274. package/dist/index.d.ts +1 -1
  275. package/dist/index.d.ts.map +1 -1
  276. package/dist/index.js +1 -1
  277. package/dist/index.js.map +1 -1
  278. package/dist/modes/json-mode.d.ts +7 -0
  279. package/dist/modes/json-mode.d.ts.map +1 -1
  280. package/dist/modes/json-mode.js +10 -0
  281. package/dist/modes/json-mode.js.map +1 -1
  282. package/dist/modes/subagent-worker-mode.d.ts +2 -0
  283. package/dist/modes/subagent-worker-mode.d.ts.map +1 -1
  284. package/dist/modes/subagent-worker-mode.js +11 -0
  285. package/dist/modes/subagent-worker-mode.js.map +1 -1
  286. package/dist/session.d.ts +4 -4
  287. package/dist/session.d.ts.map +1 -1
  288. package/dist/session.js +38 -101
  289. package/dist/session.js.map +1 -1
  290. package/dist/session.test.d.ts +2 -0
  291. package/dist/session.test.d.ts.map +1 -0
  292. package/dist/session.test.js +35 -0
  293. package/dist/session.test.js.map +1 -0
  294. package/dist/system-prompt.d.ts +23 -1
  295. package/dist/system-prompt.d.ts.map +1 -1
  296. package/dist/system-prompt.js +119 -31
  297. package/dist/system-prompt.js.map +1 -1
  298. package/dist/system-prompt.test.js +154 -14
  299. package/dist/system-prompt.test.js.map +1 -1
  300. package/dist/test-support/fake-home.d.ts +20 -0
  301. package/dist/test-support/fake-home.d.ts.map +1 -0
  302. package/dist/test-support/fake-home.js +37 -0
  303. package/dist/test-support/fake-home.js.map +1 -0
  304. package/dist/tools/bash.d.ts +4 -2
  305. package/dist/tools/bash.d.ts.map +1 -1
  306. package/dist/tools/bash.js +57 -9
  307. package/dist/tools/bash.js.map +1 -1
  308. package/dist/tools/bash.test.js +156 -8
  309. package/dist/tools/bash.test.js.map +1 -1
  310. package/dist/tools/edit-robustness.test.js +3 -1
  311. package/dist/tools/edit-robustness.test.js.map +1 -1
  312. package/dist/tools/edit.d.ts +2 -1
  313. package/dist/tools/edit.d.ts.map +1 -1
  314. package/dist/tools/edit.js +7 -1
  315. package/dist/tools/edit.js.map +1 -1
  316. package/dist/tools/edit.test.js +7 -0
  317. package/dist/tools/edit.test.js.map +1 -1
  318. package/dist/tools/exit-plan.d.ts.map +1 -1
  319. package/dist/tools/exit-plan.js +15 -4
  320. package/dist/tools/exit-plan.js.map +1 -1
  321. package/dist/tools/exit-plan.test.d.ts +2 -0
  322. package/dist/tools/exit-plan.test.d.ts.map +1 -0
  323. package/dist/tools/exit-plan.test.js +72 -0
  324. package/dist/tools/exit-plan.test.js.map +1 -0
  325. package/dist/tools/find.d.ts.map +1 -1
  326. package/dist/tools/find.js +4 -1
  327. package/dist/tools/find.js.map +1 -1
  328. package/dist/tools/grep.d.ts +3 -1
  329. package/dist/tools/grep.d.ts.map +1 -1
  330. package/dist/tools/grep.js +143 -14
  331. package/dist/tools/grep.js.map +1 -1
  332. package/dist/tools/grep.test.js +59 -0
  333. package/dist/tools/grep.test.js.map +1 -1
  334. package/dist/tools/index.d.ts +14 -0
  335. package/dist/tools/index.d.ts.map +1 -1
  336. package/dist/tools/index.js +6 -5
  337. package/dist/tools/index.js.map +1 -1
  338. package/dist/tools/overflow.test.js +4 -7
  339. package/dist/tools/overflow.test.js.map +1 -1
  340. package/dist/tools/path-utils.d.ts +15 -0
  341. package/dist/tools/path-utils.d.ts.map +1 -1
  342. package/dist/tools/path-utils.js +17 -0
  343. package/dist/tools/path-utils.js.map +1 -1
  344. package/dist/tools/path-utils.test.js +7 -2
  345. package/dist/tools/path-utils.test.js.map +1 -1
  346. package/dist/tools/prompt-hints.js +1 -1
  347. package/dist/tools/prompt-hints.js.map +1 -1
  348. package/dist/tools/screenshot.js +1 -1
  349. package/dist/tools/screenshot.js.map +1 -1
  350. package/dist/tools/search-code.d.ts.map +1 -1
  351. package/dist/tools/search-code.js +6 -4
  352. package/dist/tools/search-code.js.map +1 -1
  353. package/dist/tools/skill.d.ts.map +1 -1
  354. package/dist/tools/skill.js +4 -2
  355. package/dist/tools/skill.js.map +1 -1
  356. package/dist/tools/source-path.d.ts.map +1 -1
  357. package/dist/tools/source-path.js +9 -0
  358. package/dist/tools/source-path.js.map +1 -1
  359. package/dist/tools/subagent-shared.d.ts +1 -1
  360. package/dist/tools/subagent-shared.d.ts.map +1 -1
  361. package/dist/tools/subagent-shared.js +4 -1
  362. package/dist/tools/subagent-shared.js.map +1 -1
  363. package/dist/tools/subagent-shared.test.js +21 -1
  364. package/dist/tools/subagent-shared.test.js.map +1 -1
  365. package/dist/tools/subagent.d.ts +1 -1
  366. package/dist/tools/subagent.d.ts.map +1 -1
  367. package/dist/tools/subagent.js +8 -0
  368. package/dist/tools/subagent.js.map +1 -1
  369. package/dist/tools/web-fetch.d.ts +2 -1
  370. package/dist/tools/web-fetch.d.ts.map +1 -1
  371. package/dist/tools/web-fetch.js +17 -6
  372. package/dist/tools/web-fetch.js.map +1 -1
  373. package/dist/tools/web-fetch.test.js +34 -0
  374. package/dist/tools/web-fetch.test.js.map +1 -1
  375. package/dist/tools/web-search.d.ts +2 -1
  376. package/dist/tools/web-search.d.ts.map +1 -1
  377. package/dist/tools/web-search.js +34 -7
  378. package/dist/tools/web-search.js.map +1 -1
  379. package/dist/tools/write.d.ts +2 -1
  380. package/dist/tools/write.d.ts.map +1 -1
  381. package/dist/tools/write.js +7 -1
  382. package/dist/tools/write.js.map +1 -1
  383. package/dist/tools/write.test.js +12 -0
  384. package/dist/tools/write.test.js.map +1 -1
  385. package/dist/ui/App.d.ts.map +1 -1
  386. package/dist/ui/App.js +22 -85
  387. package/dist/ui/App.js.map +1 -1
  388. package/dist/ui/app-items.d.ts +11 -12
  389. package/dist/ui/app-items.d.ts.map +1 -1
  390. package/dist/ui/app-items.js +10 -0
  391. package/dist/ui/app-items.js.map +1 -1
  392. package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
  393. package/dist/ui/components/ActivityIndicator.js +1 -0
  394. package/dist/ui/components/ActivityIndicator.js.map +1 -1
  395. package/dist/ui/components/Footer.d.ts +1 -1
  396. package/dist/ui/components/Footer.js +2 -2
  397. package/dist/ui/components/Footer.js.map +1 -1
  398. package/dist/ui/components/Footer.test.js +1 -1
  399. package/dist/ui/hooks/useAgentLoop.d.ts +5 -2
  400. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  401. package/dist/ui/hooks/useAgentLoop.js +49 -8
  402. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  403. package/dist/ui/hooks/usePixelFixFlow.d.ts +1 -2
  404. package/dist/ui/hooks/usePixelFixFlow.d.ts.map +1 -1
  405. package/dist/ui/hooks/usePixelFixFlow.js +2 -5
  406. package/dist/ui/hooks/usePixelFixFlow.js.map +1 -1
  407. package/dist/ui/hooks/useTranscriptHistory.d.ts +8 -5
  408. package/dist/ui/hooks/useTranscriptHistory.d.ts.map +1 -1
  409. package/dist/ui/hooks/useTranscriptHistory.js +2 -30
  410. package/dist/ui/hooks/useTranscriptHistory.js.map +1 -1
  411. package/dist/ui/login.js +1 -1
  412. package/dist/ui/login.js.map +1 -1
  413. package/dist/ui/terminal-history-status-renderers.d.ts +1 -2
  414. package/dist/ui/terminal-history-status-renderers.d.ts.map +1 -1
  415. package/dist/ui/terminal-history-status-renderers.js +2 -15
  416. package/dist/ui/terminal-history-status-renderers.js.map +1 -1
  417. package/dist/ui/terminal-history.d.ts.map +1 -1
  418. package/dist/ui/terminal-history.js +2 -4
  419. package/dist/ui/terminal-history.js.map +1 -1
  420. package/dist/ui/thinking-level-cycle.test.js +8 -8
  421. package/dist/ui/thinking-level-cycle.test.js.map +1 -1
  422. package/dist/ui/transcript/MiscRows.d.ts +1 -4
  423. package/dist/ui/transcript/MiscRows.d.ts.map +1 -1
  424. package/dist/ui/transcript/MiscRows.js +2 -7
  425. package/dist/ui/transcript/MiscRows.js.map +1 -1
  426. package/dist/ui/transcript/TranscriptRenderer.d.ts.map +1 -1
  427. package/dist/ui/transcript/TranscriptRenderer.js +1 -3
  428. package/dist/ui/transcript/TranscriptRenderer.js.map +1 -1
  429. package/dist/ui/transcript/presentation.d.ts +1 -9
  430. package/dist/ui/transcript/presentation.d.ts.map +1 -1
  431. package/dist/ui/transcript/presentation.js +0 -9
  432. package/dist/ui/transcript/presentation.js.map +1 -1
  433. package/dist/ui/transcript/spacing.d.ts +2 -2
  434. package/dist/ui/transcript/spacing.d.ts.map +1 -1
  435. package/dist/ui/transcript/spacing.js +0 -1
  436. package/dist/ui/transcript/spacing.js.map +1 -1
  437. package/dist/ui/transcript/spacing.test.js +1 -3
  438. package/dist/ui/transcript/spacing.test.js.map +1 -1
  439. package/dist/ui/tui-history-parity.test.js +2 -9
  440. package/dist/ui/tui-history-parity.test.js.map +1 -1
  441. package/dist/utils/github.d.ts +20 -0
  442. package/dist/utils/github.d.ts.map +1 -0
  443. package/dist/utils/github.js +65 -0
  444. package/dist/utils/github.js.map +1 -0
  445. package/dist/utils/github.test.d.ts +2 -0
  446. package/dist/utils/github.test.d.ts.map +1 -0
  447. package/dist/utils/github.test.js +23 -0
  448. package/dist/utils/github.test.js.map +1 -0
  449. package/dist/utils/http-body.d.ts +19 -0
  450. package/dist/utils/http-body.d.ts.map +1 -0
  451. package/dist/utils/http-body.js +58 -0
  452. package/dist/utils/http-body.js.map +1 -0
  453. package/dist/utils/http-body.test.d.ts +2 -0
  454. package/dist/utils/http-body.test.d.ts.map +1 -0
  455. package/dist/utils/http-body.test.js +68 -0
  456. package/dist/utils/http-body.test.js.map +1 -0
  457. package/dist/utils/process.d.ts +26 -3
  458. package/dist/utils/process.d.ts.map +1 -1
  459. package/dist/utils/process.js +68 -10
  460. package/dist/utils/process.js.map +1 -1
  461. package/dist/utils/process.test.d.ts +2 -0
  462. package/dist/utils/process.test.d.ts.map +1 -0
  463. package/dist/utils/process.test.js +42 -0
  464. package/dist/utils/process.test.js.map +1 -0
  465. package/dist/utils/text.d.ts +9 -0
  466. package/dist/utils/text.d.ts.map +1 -0
  467. package/dist/utils/text.js +11 -0
  468. package/dist/utils/text.js.map +1 -0
  469. package/package.json +4 -4
@@ -7,8 +7,10 @@ function optionsOf(agent) {
7
7
  }
8
8
  describe("General chat agent", () => {
9
9
  it("uses an isolated session namespace outside EZ Coder history", () => {
10
- const coderSessions = path.join("/tmp", "ezcoder", "sessions");
11
- expect(chatAgentSessionsDir(coderSessions, "general")).toBe(path.join("/tmp", "ezcoder", "chat-sessions", "general"));
10
+ // Resolve both sides so the assertion remains valid when Windows attaches
11
+ // the current drive to a root-relative path.
12
+ const coderSessions = path.resolve("/tmp", "ezcoder", "sessions");
13
+ expect(chatAgentSessionsDir(coderSessions, "general")).toBe(path.resolve("/tmp", "ezcoder", "chat-sessions", "general"));
12
14
  });
13
15
  it("keeps caching and compaction on the shared spine while disabling coder behavior", () => {
14
16
  const agent = createGeneralChatAgent({
@@ -25,7 +27,7 @@ describe("General chat agent", () => {
25
27
  expect(options.systemPrompt).toContain("- Active agent: general");
26
28
  expect(options.systemPrompt).toContain("- Workspace root: /tmp/workspace");
27
29
  expect(options.promptCacheKeyPrefix).toBe("ezchat:general");
28
- expect(options.sessionRootDir).toBe("/tmp/ezcoder/chat-sessions/general");
30
+ expect(options.sessionRootDir).toBe(path.resolve("/tmp/ezcoder/chat-sessions/general"));
29
31
  expect(options.coderSlashCommands).toBe(false);
30
32
  expect(options.selfCorrectionHooks).toBe(false);
31
33
  expect(options.projectCustomization).toBe(false);
@@ -1 +1 @@
1
- {"version":3,"file":"general.test.js","sourceRoot":"","sources":["../../src/chat-agents/general.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general.test.js","sourceRoot":"","sources":["../../src/chat-agents/general.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/chat-agents/memory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAIrC,eAAO,MAAM,iBAAiB,mFAOpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAwFD,qBAAa,WAAW;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAErB,OAAO,GAAE,kBAAuB;IAMtC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzB,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAInC,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,cAAwB,EAClC,UAAU,SAAI,GACb,OAAO,CAAC,oBAAoB,CAAC;IAwB1B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,cAAc,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,GAAE,MAAM,EAAO,GACvB,OAAO,CAAC,oBAAoB,CAAC;IA8B1B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQvD,eAAe,IAAI,MAAM;YA0BX,MAAM;IAkBpB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,KAAK;YAmBC,QAAQ;IActB,OAAO,CAAC,YAAY;YAaN,SAAS;CAuBxB;AAqCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAE,CAiDhE"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/chat-agents/memory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAIrC,eAAO,MAAM,iBAAiB,mFAOpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAwFD,qBAAa,WAAW;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAErB,OAAO,GAAE,kBAAuB;IAMtC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzB,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAInC,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,cAAwB,EAClC,UAAU,SAAI,GACb,OAAO,CAAC,oBAAoB,CAAC;IAwB1B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,cAAc,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,GAAE,MAAM,EAAO,GACvB,OAAO,CAAC,oBAAoB,CAAC;IA8B1B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQvD,eAAe,IAAI,MAAM;YA0BX,MAAM;IAkBpB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,KAAK;YAmBC,QAAQ;IActB,OAAO,CAAC,YAAY;YAaN,SAAS;CAuBxB;AAiDD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAE,CAiDhE"}
@@ -161,7 +161,7 @@ export class MemoryStore {
161
161
  const data = this.readFileSync();
162
162
  const memories = sortForDisplay(data.memories);
163
163
  if (memories.length === 0) {
164
- return "# Durable memory\nNo durable memories are stored yet. Use remember only for significant future-useful facts.";
164
+ return "# Durable memory\nNo durable memories are stored yet. Use remember proactively for significant future-useful facts as they come up.";
165
165
  }
166
166
  const lines = [
167
167
  "# Durable memory",
@@ -203,7 +203,8 @@ export class MemoryStore {
203
203
  if (!text)
204
204
  throw new Error("Memory content cannot be empty.");
205
205
  if (text.length > MEMORY_TEXT_LIMIT) {
206
- throw new Error(`Memory content must be ${MEMORY_TEXT_LIMIT} characters or fewer.`);
206
+ throw new Error(`Memory content is ${text.length} characters; the limit is ${MEMORY_TEXT_LIMIT}. ` +
207
+ "Retry with a shorter wording, or split the facts across multiple memories.");
207
208
  }
208
209
  return text;
209
210
  }
@@ -285,18 +286,26 @@ function requireFileSync(filePath) {
285
286
  // Prompt assembly is synchronous by design; atomic renames make this safe across daemons.
286
287
  return fsSync.readFileSync(filePath, "utf8");
287
288
  }
289
+ // Length is NOT enforced in the Zod schemas on purpose: an over-limit value
290
+ // would fail validation inside the agent loop, where three identical failures
291
+ // escalate to a fatal "repeatedly issued invalid arguments" error that kills
292
+ // the turn — and models are notoriously bad at counting characters. Instead the
293
+ // limit is enforced in MemoryStore.normalizeText, which throws a plain Error
294
+ // that becomes an ordinary, actionable tool result the model can react to.
288
295
  const rememberParameters = z.object({
289
296
  content: z
290
297
  .string()
291
298
  .min(1)
292
- .max(MEMORY_TEXT_LIMIT)
293
- .describe("One concise, self-contained durable fact"),
299
+ .describe(`One concise, self-contained durable fact (max ${MEMORY_TEXT_LIMIT} characters; shorten or split longer text)`),
294
300
  category: z.enum(MEMORY_CATEGORIES).optional().describe("Kind of durable fact"),
295
301
  importance: z.number().int().min(1).max(5).optional().describe("Future usefulness from 1 to 5"),
296
302
  });
297
303
  const updateParameters = z.object({
298
304
  id: z.string().min(1).describe("Memory ID shown in the durable memory block"),
299
- content: z.string().min(1).max(MEMORY_TEXT_LIMIT).describe("Replacement durable fact"),
305
+ content: z
306
+ .string()
307
+ .min(1)
308
+ .describe(`Replacement durable fact (max ${MEMORY_TEXT_LIMIT} characters; shorten or split longer text)`),
300
309
  category: z.enum(MEMORY_CATEGORIES).optional(),
301
310
  importance: z.number().int().min(1).max(5).optional(),
302
311
  forget_ids: z
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/chat-agents/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/chat-agents/memory.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import fs from "node:fs/promises";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
4
  import { afterEach, beforeEach, describe, expect, it } from "vitest";
5
- import { buildMemoryTools, MEMORY_HARD_LIMIT, MEMORY_SOFT_LIMIT, MemoryStore } from "./memory.js";
5
+ import { buildMemoryTools, MEMORY_HARD_LIMIT, MEMORY_SOFT_LIMIT, MEMORY_TEXT_LIMIT, MemoryStore, } from "./memory.js";
6
6
  let tempDir;
7
7
  let filePath;
8
8
  beforeEach(async () => {
@@ -151,5 +151,15 @@ describe("memory tools", () => {
151
151
  expect(await tools[2].execute({ id }, context())).toBe(`Forgot memory ${id}. 0 memories remain.`);
152
152
  expect(await store.list()).toEqual([]);
153
153
  });
154
+ it("rejects over-limit content as an ordinary tool error, not a schema failure", async () => {
155
+ const store = new MemoryStore({ filePath });
156
+ const tools = buildMemoryTools(store);
157
+ // The Zod schema must accept long content so validation reaches the store;
158
+ // a schema-level failure would count toward the agent loop's fatal
159
+ // "repeatedly issued invalid arguments" path.
160
+ const longContent = "x".repeat(MEMORY_TEXT_LIMIT + 1);
161
+ expect(tools[0].parameters.parse({ content: longContent })).toEqual({ content: longContent });
162
+ await expect(store.remember(longContent)).rejects.toThrow(`Memory content is ${MEMORY_TEXT_LIMIT + 1} characters; the limit is ${MEMORY_TEXT_LIMIT}.`);
163
+ });
154
164
  });
155
165
  //# sourceMappingURL=memory.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.test.js","sourceRoot":"","sources":["../../src/chat-agents/memory.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.test.js","sourceRoot":"","sources":["../../src/chat-agents/memory.test.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export function chatAgentSessionsDir(coderSessionsDir, agentId) {
6
6
  const MEMORY_CURATION_INSTRUCTIONS = `
7
7
 
8
8
  Durable memory curation:
9
- You can curate the shared durable memory available to General, Therapist, and Research with remember, update_memory, and forget. Save only facts that materially help future sessions: identity, stable preferences, ongoing projects or goals, important relationships or dates, recurring constraints, and significant health or work context. Never save one-off task details, full conversation summaries, readily recomputable facts, speculation, credentials, secrets, or transient emotion. Store one concise, self-contained fact per memory. Update or supersede changed facts instead of creating contradictions. Forget stale, wrong, or redundant facts, and honor explicit requests to forget. Curate silently and naturally; never claim to remember anything beyond the injected durable memory block. Memory IDs in the current injected block are authoritative and supersede IDs mentioned earlier in conversation history. When memory reaches its consolidation threshold, combine related facts with update_memory and remove stale or redundant entries. Prefer update_memory's forget_ids option to merge and delete each related group atomically; for large cleanups, work in small verifiable batches across turns instead of risking the wrong rows.`;
9
+ You can curate the shared durable memory available to General, Therapist, and Research with remember, update_memory, and forget. Save proactively and without being asked: whenever the user reveals a durable fact — something about their identity, a stable preference, an ongoing project or goal, an important relationship or date, a recurring constraint, or significant health or work context — call remember in the same turn, then continue the conversation naturally without announcing it. Do not wait for the user to ask you to remember; they rarely will. At the same time, stay selective: save only facts that materially help future sessions. Never save one-off task details, full conversation summaries, readily recomputable facts, speculation, credentials, secrets, or transient emotion. Store one concise, self-contained fact per memory. Update or supersede changed facts instead of creating contradictions. Forget stale, wrong, or redundant facts, and honor explicit requests to forget. Curate silently and naturally; never claim to remember anything beyond the injected durable memory block. Memory IDs in the current injected block are authoritative and supersede IDs mentioned earlier in conversation history. When memory reaches its consolidation threshold, combine related facts with update_memory and remove stale or redundant entries. Prefer update_memory's forget_ids option to merge and delete each related group atomically; for large cleanups, work in small verifiable batches across turns instead of risking the wrong rows.`;
10
10
  const JIWA_CURATION_INSTRUCTIONS = `
11
11
 
12
12
  Jiwa curation:
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/chat-agents/shared.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAA4B,MAAM,0BAA0B,CAAC;AAqBlF,MAAM,UAAU,oBAAoB,CAAC,gBAAwB,EAAE,OAAoB;IACjF,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,4BAA4B,GAAG;;;itCAG4qC,CAAC;AAEltC,MAAM,0BAA0B,GAAG;;;84BAG22B,CAAC;AAE/4B,MAAM,UAAU,0BAA0B,CACxC,OAAoB,EACpB,UAAkB,EAClB,GAAW,EACX,cAAuB;IAEvB,MAAM,mBAAmB,GAAG,cAAc;QACxC,CAAC,CAAC,oqBAAoqB;QACtqB,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAG;QACrB,kBAAkB;QAClB,mBAAmB,OAAO,EAAE;QAC5B,mBAAmB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC1D,qBAAqB,GAAG,EAAE;QAC1B,kGAAkG;KACnG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,GAAG,UAAU,GAAG,4BAA4B,GAAG,0BAA0B,GAAG,mBAAmB,OAAO,cAAc,EAAE,CAAC;AAChI,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CACpC,OAAoB,EACpB,YAAoB,EACpB,OAAyB;IAEzB,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IAClF,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClG,MAAM,gBAAgB,GACpB,gBAAgB,EAAE,UAAU,CAAC,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI;QACnE,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,cAAc,GAAG,cAAc,CAAC,eAAe,EAAE,IAAI,CACzD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAC5C,CAAC;IAEF,OAAO,IAAI,YAAY,CAAC;QACtB,GAAG,cAAc;QACjB,SAAS,EAAE,gBAAgB;QAC3B,6EAA6E;QAC7E,oEAAoE;QACpE,YAAY,EAAE,0BAA0B,CACtC,OAAO,EACP,YAAY,EACZ,cAAc,CAAC,GAAG,EAClB,cAAc,KAAK,IAAI,CACxB;QACD,oBAAoB,EAAE,UAAU,OAAO,EAAE;QACzC,cAAc;QACd,kBAAkB,EAAE,KAAK;QACzB,mBAAmB,EAAE,KAAK;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,KAAK;QACrB,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/chat-agents/shared.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAA4B,MAAM,0BAA0B,CAAC;AAqBlF,MAAM,UAAU,oBAAoB,CAAC,gBAAwB,EAAE,OAAoB;IACjF,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,4BAA4B,GAAG;;;qgDAGg+C,CAAC;AAEtgD,MAAM,0BAA0B,GAAG;;;84BAG22B,CAAC;AAE/4B,MAAM,UAAU,0BAA0B,CACxC,OAAoB,EACpB,UAAkB,EAClB,GAAW,EACX,cAAuB;IAEvB,MAAM,mBAAmB,GAAG,cAAc;QACxC,CAAC,CAAC,oqBAAoqB;QACtqB,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAG;QACrB,kBAAkB;QAClB,mBAAmB,OAAO,EAAE;QAC5B,mBAAmB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC1D,qBAAqB,GAAG,EAAE;QAC1B,kGAAkG;KACnG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,GAAG,UAAU,GAAG,4BAA4B,GAAG,0BAA0B,GAAG,mBAAmB,OAAO,cAAc,EAAE,CAAC;AAChI,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CACpC,OAAoB,EACpB,YAAoB,EACpB,OAAyB;IAEzB,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IAClF,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClG,MAAM,gBAAgB,GACpB,gBAAgB,EAAE,UAAU,CAAC,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI;QACnE,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,cAAc,GAAG,cAAc,CAAC,eAAe,EAAE,IAAI,CACzD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAC5C,CAAC;IAEF,OAAO,IAAI,YAAY,CAAC;QACtB,GAAG,cAAc;QACjB,SAAS,EAAE,gBAAgB;QAC3B,6EAA6E;QAC7E,oEAAoE;QACpE,YAAY,EAAE,0BAA0B,CACtC,OAAO,EACP,YAAY,EACZ,cAAc,CAAC,GAAG,EAClB,cAAc,KAAK,IAAI,CACxB;QACD,oBAAoB,EAAE,UAAU,OAAO,EAAE;QACzC,cAAc;QACd,kBAAkB,EAAE,KAAK;QACzB,mBAAmB,EAAE,KAAK;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,KAAK;QACrB,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -3,6 +3,7 @@ import { z } from "zod";
3
3
  import { createChatAgent, parseChatAgentId } from "./index.js";
4
4
  import { RESEARCH_CHAT_SYSTEM_PROMPT } from "./research.js";
5
5
  import { THERAPIST_CHAT_SYSTEM_PROMPT } from "./therapist.js";
6
+ import path from "node:path";
6
7
  function optionsFor(agentId) {
7
8
  const agent = createChatAgent(agentId, {
8
9
  provider: "anthropic",
@@ -18,7 +19,7 @@ describe("specialist chat agents", () => {
18
19
  expect(options.systemPrompt).toContain(THERAPIST_CHAT_SYSTEM_PROMPT);
19
20
  expect(options.systemPrompt).toContain("- Active agent: therapist");
20
21
  expect(options.promptCacheKeyPrefix).toBe("ezchat:therapist");
21
- expect(options.sessionRootDir).toBe("/tmp/ezcoder/chat-sessions/therapist");
22
+ expect(options.sessionRootDir).toBe(path.resolve("/tmp/ezcoder/chat-sessions/therapist"));
22
23
  expect(options.allowedTools).toBeUndefined();
23
24
  expect(options.additionalTools?.map((tool) => tool.name)).toContain("delegate_to_agent");
24
25
  expect(options.systemPrompt).toContain("hand the entire conversation");
@@ -32,7 +33,7 @@ describe("specialist chat agents", () => {
32
33
  expect(options.systemPrompt).toContain("- Active agent: research");
33
34
  expect(options.systemPrompt).toMatch(/- Current date: \d{4}-\d{2}-\d{2}/);
34
35
  expect(options.promptCacheKeyPrefix).toBe("ezchat:research");
35
- expect(options.sessionRootDir).toBe("/tmp/ezcoder/chat-sessions/research");
36
+ expect(options.sessionRootDir).toBe(path.resolve("/tmp/ezcoder/chat-sessions/research"));
36
37
  expect(options.allowedTools).toBeUndefined();
37
38
  expect(options.additionalTools?.map((tool) => tool.name)).toContain("delegate_to_agent");
38
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"specialists.test.js","sourceRoot":"","sources":["../../src/chat-agents/specialists.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE9D,SAAS,UAAU,CAAC,OAAiC;IACnD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE;QACrC,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,aAAa;QACpB,GAAG,EAAE,gBAAgB;QACrB,WAAW,EAAE,uBAAuB;KACrC,CAAC,CAAC;IACH,OAAQ,KAAkD,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACrE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC5E,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACzF,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QAC1E,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC3E,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,UAAU,GAAc;YAC5B,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY;SAC5B,CAAC;QACF,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC;QACrD,MAAM,SAAS,GAAG,eAAe,CAC/B,UAAU,EACV;YACE,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,aAAa;YACpB,GAAG,EAAE,gBAAgB;YACrB,WAAW,EAAE,uBAAuB;YACpC,eAAe,EAAE,CAAC,UAAU,CAAC;YAC7B,mBAAmB;SACpB,EACD,KAAK,CACN,CAAC;QACF,MAAM,OAAO,GAAI,SAAsD,CAAC,IAAI,CAAC;QAC7E,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE;YACvC,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,aAAa;YACpB,GAAG,EAAE,gBAAgB;YACrB,WAAW,EAAE,uBAAuB;YACpC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;gBACzB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,KAGjB,CAAC;QACF,SAAS,CAAC,QAAQ,GAAG;YACnB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAChE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,EAAE;SAC5D,CAAC;QACF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAC/C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,mBAAmB,CACtD,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACzD,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;SAC5B,CAAC,CAAC;QAEZ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;QAC5E,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAE/E,MAAM,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YACxC,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;SAC5B,CAAC,CAAC;QACZ,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"specialists.test.js","sourceRoot":"","sources":["../../src/chat-agents/specialists.test.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAgEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,KAAK,EAAE,OAAO,EAAY,aAAa,EAAE,MAAM,aAAa,CAAC;AAqDpE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAMvF;AA4uCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAkKvE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAgEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,KAAK,EAAE,OAAO,EAAY,aAAa,EAAE,MAAM,aAAa,CAAC;AAqDpE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAMvF;AA2wCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAkKvE"}
package/dist/cli.js CHANGED
@@ -55,7 +55,7 @@ import { runAgentHomeMode } from "./modes/agent-home-mode.js";
55
55
  import { renderSessionSelector } from "./ui/sessions.js";
56
56
  import { segmentDisplayText, stripDoneMarkers } from "./utils/plan-steps.js";
57
57
  import { formatUserError } from "./utils/error-handler.js";
58
- import { AuthStorage } from "./core/auth-storage.js";
58
+ import { AuthStorage, readStoredBaseUrlSync } from "./core/auth-storage.js";
59
59
  import { SessionManager } from "./core/session-manager.js";
60
60
  import { ensureAppDirs, getAppPaths, loadSavedSettings } from "./config.js";
61
61
  import { initLogger, log, closeLogger } from "./core/logger.js";
@@ -71,7 +71,7 @@ import { shouldCompact, compact } from "./core/compaction/compactor.js";
71
71
  import { createCompactedSessionCheckpoint, formatRestoreInfoText, getRestoredMessagesForDisplay, } from "./core/session-compaction.js";
72
72
  import { setEstimatorModel } from "./core/compaction/token-estimator.js";
73
73
  import { findUserSessionPrompt } from "./core/session-preview.js";
74
- import { getAuthStorageKeys, getContextWindow, getDefaultModel, getMaxThinkingLevel, getModel, getModelsForProvider, } from "./core/model-registry.js";
74
+ import { getAuthStorageKeys, getContextWindow, getDefaultModel, getDefaultThinkingLevel, getModel, getModelsForProvider, } from "./core/model-registry.js";
75
75
  import { MCPClientManager, getAllMcpServers } from "./core/mcp/index.js";
76
76
  import { runPixel } from "./cli/pixel.js";
77
77
  import { runLogin, runLogout, runDoctor } from "./cli/auth.js";
@@ -238,6 +238,7 @@ function main() {
238
238
  "max-turns": { type: "string" },
239
239
  "system-prompt": { type: "string" },
240
240
  tools: { type: "string" },
241
+ "mcp-servers": { type: "string" },
241
242
  "prompt-cache-key": { type: "string" },
242
243
  thinking: { type: "string" },
243
244
  resume: { type: "string" },
@@ -257,7 +258,7 @@ function main() {
257
258
  if (values.json) {
258
259
  const message = positionals[0] ?? "";
259
260
  const jsonProvider = (values.provider ?? "anthropic");
260
- const jsonModel = values.model ?? "claude-opus-4-8";
261
+ const jsonModel = values.model ?? "claude-opus-5";
261
262
  const maxTurns = values["max-turns"] ? parseInt(values["max-turns"], 10) : undefined;
262
263
  const systemPrompt = values["system-prompt"];
263
264
  const promptCacheKey = values["prompt-cache-key"];
@@ -273,6 +274,16 @@ function main() {
273
274
  .filter(Boolean)
274
275
  : [];
275
276
  const allowedTools = parsedTools.length > 0 ? parsedTools : undefined;
277
+ // MCP servers the agent definition asked for (`mcp__<server>__<tool>` in its
278
+ // `tools:` list). Without this an allow-listed child connects no MCP at all,
279
+ // so a research agent silently loses live code search.
280
+ const parsedMcpServers = values["mcp-servers"]
281
+ ? values["mcp-servers"]
282
+ .split(",")
283
+ .map((s) => s.trim())
284
+ .filter(Boolean)
285
+ : [];
286
+ const allowedMcpServers = parsedMcpServers.length > 0 ? parsedMcpServers : undefined;
276
287
  const cwd = process.cwd();
277
288
  runJsonMode({
278
289
  message,
@@ -282,6 +293,7 @@ function main() {
282
293
  systemPrompt,
283
294
  maxTurns,
284
295
  allowedTools,
296
+ allowedMcpServers,
285
297
  promptCacheKey,
286
298
  thinkingLevel,
287
299
  }).catch((err) => {
@@ -293,7 +305,7 @@ function main() {
293
305
  // RPC mode — headless JSON-over-stdio for IDE integrations
294
306
  if (values.rpc) {
295
307
  const rpcProvider = (values.provider ?? "anthropic");
296
- const rpcModel = values.model ?? "claude-opus-4-8";
308
+ const rpcModel = values.model ?? "claude-opus-5";
297
309
  const systemPrompt = values["system-prompt"];
298
310
  const cwd = process.cwd();
299
311
  runRpcMode({
@@ -330,11 +342,16 @@ function main() {
330
342
  return "fugu";
331
343
  if (p === "xai")
332
344
  return "grok-4.5";
333
- return "claude-opus-4-8";
345
+ return "claude-opus-5";
334
346
  }
335
347
  const model = saved.model ?? getHardcodedDefault(provider);
348
+ // No saved level → follow the active credential's endpoint (Kimi K3 OAuth
349
+ // starts at its declared default, high). Sync read: main() is not async.
336
350
  const thinkingLevel = saved.thinkingEnabled
337
- ? (saved.thinkingLevel ?? getMaxThinkingLevel(model))
351
+ ? (saved.thinkingLevel ??
352
+ getDefaultThinkingLevel(model, {
353
+ baseUrl: readStoredBaseUrlSync(getAppPaths().authFile, provider),
354
+ }))
338
355
  : undefined;
339
356
  // Interactive mode (Ink TUI)
340
357
  const cwd = process.cwd();
@@ -347,6 +364,8 @@ function main() {
347
364
  idealReviewEnabled: saved.idealReviewEnabled,
348
365
  autoApprovePlans: saved.autoApprovePlans,
349
366
  lspDiagnostics: saved.lspDiagnostics,
367
+ allowOutsideWorkspaceWrites: saved.allowOutsideWorkspaceWrites,
368
+ subagentMaxPerModel: saved.subagentMaxPerModel,
350
369
  continueRecent,
351
370
  resumeSessionPath: values.resume,
352
371
  theme: savedTheme,
@@ -512,12 +531,16 @@ async function runInkTUI(opts) {
512
531
  onFileRead: (filePath) => reviewCoverageTracker.recordRead(filePath),
513
532
  onFileMutated: (filePath) => reviewCoverageTracker.recordChanged(filePath),
514
533
  lspDiagnostics: opts.lspDiagnostics,
534
+ getWriteGuardSettings: () => ({
535
+ allowOutsideWorkspaceWrites: opts.allowOutsideWorkspaceWrites ?? false,
536
+ }),
515
537
  authStorage,
516
538
  onEnterPlan: (reason) => planToolCallbacks.onEnterPlan?.(reason),
517
539
  onExitPlan: (planPath) => planToolCallbacks.onExitPlan?.(planPath) ?? Promise.resolve("Plan review is unavailable."),
518
540
  getProvider: () => activeProvider,
519
541
  getModel: () => activeModel,
520
542
  getThinkingLevel: () => activeThinking,
543
+ getMaxPerModel: () => opts.subagentMaxPerModel,
521
544
  });
522
545
  // The active LSP pool follows the active tool set — rebuilds (pixel chdir)
523
546
  // shut the old pool down and swap in the new one.
@@ -592,7 +615,7 @@ async function runInkTUI(opts) {
592
615
  turnMetrics = sessionManager.getTurnMetrics(loaded.entries);
593
616
  if (loadedMessages.length > 0) {
594
617
  messages.push(...loadedMessages);
595
- sessionPath = resumePath;
618
+ sessionPath = loaded.path;
596
619
  sessionId = loaded.header.id;
597
620
  log("INFO", "session", `Restored session`, {
598
621
  path: resumePath,
@@ -680,27 +703,26 @@ async function runInkTUI(opts) {
680
703
  checkpointRef.current = new CheckpointStore({ sessionId, cwd });
681
704
  await subAgentManager?.hydrate(sessionId);
682
705
  }
683
- // Prune old session transcripts in the background — they're append-only
684
- // JSONL and can reach 100MB+ each, so without cleanup ~/.ezcoder/sessions grows
685
- // unbounded and eventually fills the disk. Fire-and-forget: pruning must
686
- // never delay or break startup. The active session is explicitly protected.
706
+ // Unified maintenance enforces retention first, then normalizes and archives
707
+ // cold sessions. Fire-and-forget: startup and TUI readiness never wait for it.
687
708
  {
688
709
  const { sessionRetentionDays } = loadSavedSettings(paths.settingsFile);
689
- if (sessionRetentionDays > 0) {
690
- const keepPaths = sessionPath ? [sessionPath] : [];
691
- void sessionManager
692
- .pruneOldSessions({ maxAgeDays: sessionRetentionDays, keepPaths })
693
- .then(({ deletedFiles, freedBytes }) => {
694
- if (deletedFiles > 0) {
695
- log("INFO", "session", `Pruned old sessions`, {
696
- deletedFiles: String(deletedFiles),
697
- freedMB: (freedBytes / 1024 / 1024).toFixed(1),
698
- retentionDays: String(sessionRetentionDays),
699
- });
700
- }
701
- })
702
- .catch(() => { });
703
- }
710
+ const keepPaths = sessionPath ? [sessionPath] : [];
711
+ void sessionManager
712
+ .runMaintenance({ retentionDays: sessionRetentionDays, keepPaths })
713
+ .then((metrics) => {
714
+ if (metrics.deletedFiles > 0 || metrics.archivedFiles > 0 || metrics.failures > 0) {
715
+ log("INFO", "session", "Session maintenance complete", {
716
+ deletedFiles: String(metrics.deletedFiles),
717
+ freedMB: (metrics.deletedBytes / 1024 / 1024).toFixed(1),
718
+ archivedFiles: String(metrics.archivedFiles),
719
+ savedMB: (metrics.bytesSaved / 1024 / 1024).toFixed(1),
720
+ failures: String(metrics.failures),
721
+ retentionDays: String(sessionRetentionDays),
722
+ });
723
+ }
724
+ })
725
+ .catch(() => { });
704
726
  // Sweep recoverable full tool outputs (~/.ezcoder/tool-output/) older than 48h.
705
727
  void cleanupToolOutputs().catch(() => { });
706
728
  }
@@ -788,11 +810,14 @@ async function runSessions() {
788
810
  return "fugu";
789
811
  if (p === "xai")
790
812
  return "grok-4.5";
791
- return "claude-opus-4-8";
813
+ return "claude-opus-5";
792
814
  }
793
815
  const model = saved2.model ?? getDefault(provider);
794
816
  const thinkingLevel = saved2.thinkingEnabled
795
- ? (saved2.thinkingLevel ?? getMaxThinkingLevel(model))
817
+ ? (saved2.thinkingLevel ??
818
+ getDefaultThinkingLevel(model, {
819
+ baseUrl: readStoredBaseUrlSync(paths.authFile, provider),
820
+ }))
796
821
  : undefined;
797
822
  closeLogger();
798
823
  await runInkTUI({
@@ -803,6 +828,8 @@ async function runSessions() {
803
828
  idealReviewEnabled: saved2.idealReviewEnabled,
804
829
  autoApprovePlans: saved2.autoApprovePlans,
805
830
  lspDiagnostics: saved2.lspDiagnostics,
831
+ allowOutsideWorkspaceWrites: saved2.allowOutsideWorkspaceWrites,
832
+ subagentMaxPerModel: saved2.subagentMaxPerModel,
806
833
  resumeSessionPath: selectedPath,
807
834
  theme: saved2.theme,
808
835
  });
@@ -933,7 +960,8 @@ async function runServe() {
933
960
  const preferredProvider = serveValues.provider ?? saved3.provider ?? "anthropic";
934
961
  const { provider, model } = await resolveActiveProvider(authStorage, preferredProvider, serveValues.model ?? saved3.model);
935
962
  const thinkingLevel = saved3.thinkingEnabled
936
- ? (saved3.thinkingLevel ?? getMaxThinkingLevel(model))
963
+ ? (saved3.thinkingLevel ??
964
+ getDefaultThinkingLevel(model, { baseUrl: authStorage.getStoredBaseUrl(provider) }))
937
965
  : undefined;
938
966
  initLogger(paths.logFile, {
939
967
  version: CLI_VERSION,
@@ -1050,7 +1078,8 @@ async function runAgentHome() {
1050
1078
  const preferredProvider = ahValues.provider ?? saved4.provider ?? "anthropic";
1051
1079
  const { provider, model } = await resolveActiveProvider(authStorage, preferredProvider, ahValues.model ?? saved4.model);
1052
1080
  const thinkingLevel = saved4.thinkingEnabled
1053
- ? (saved4.thinkingLevel ?? getMaxThinkingLevel(model))
1081
+ ? (saved4.thinkingLevel ??
1082
+ getDefaultThinkingLevel(model, { baseUrl: authStorage.getStoredBaseUrl(provider) }))
1054
1083
  : undefined;
1055
1084
  initLogger(paths.logFile, {
1056
1085
  version: CLI_VERSION,