@namzu/cli 26.2.0 → 27.0.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 (342) hide show
  1. package/CHANGELOG.md +312 -0
  2. package/README.md +49 -34
  3. package/dist/bin.js +7 -0
  4. package/dist/bin.js.map +1 -1
  5. package/dist/checkpoints/store.d.ts +17 -4
  6. package/dist/checkpoints/store.d.ts.map +1 -1
  7. package/dist/checkpoints/store.js +20 -5
  8. package/dist/checkpoints/store.js.map +1 -1
  9. package/dist/cli.js +2 -2
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/acp.d.ts +23 -1
  12. package/dist/commands/acp.d.ts.map +1 -1
  13. package/dist/commands/acp.js +41 -2
  14. package/dist/commands/acp.js.map +1 -1
  15. package/dist/commands/drain.d.ts +69 -2
  16. package/dist/commands/drain.d.ts.map +1 -1
  17. package/dist/commands/drain.js +214 -134
  18. package/dist/commands/drain.js.map +1 -1
  19. package/dist/commands/eval.js +1 -1
  20. package/dist/commands/eval.js.map +1 -1
  21. package/dist/commands/provider-wait.d.ts +5 -5
  22. package/dist/commands/provider-wait.d.ts.map +1 -1
  23. package/dist/commands/provider-wait.js +2 -2
  24. package/dist/commands/resident.d.ts.map +1 -1
  25. package/dist/commands/resident.js +2 -1
  26. package/dist/commands/resident.js.map +1 -1
  27. package/dist/commands/run-flags.d.ts +7 -7
  28. package/dist/commands/run-flags.js +4 -4
  29. package/dist/commands/run-stream.d.ts +16 -12
  30. package/dist/commands/run-stream.d.ts.map +1 -1
  31. package/dist/commands/run-stream.js +142 -98
  32. package/dist/commands/run-stream.js.map +1 -1
  33. package/dist/commands/run.d.ts +6 -4
  34. package/dist/commands/run.d.ts.map +1 -1
  35. package/dist/commands/run.js +129 -45
  36. package/dist/commands/run.js.map +1 -1
  37. package/dist/commands/serve.js +2 -2
  38. package/dist/commands/serve.js.map +1 -1
  39. package/dist/commands/state.js +8 -8
  40. package/dist/commands/state.js.map +1 -1
  41. package/dist/config/load.d.ts +1 -1
  42. package/dist/config/load.d.ts.map +1 -1
  43. package/dist/config/load.js +17 -5
  44. package/dist/config/load.js.map +1 -1
  45. package/dist/config/run-limits.d.ts +20 -8
  46. package/dist/config/run-limits.d.ts.map +1 -1
  47. package/dist/config/run-limits.js +28 -46
  48. package/dist/config/run-limits.js.map +1 -1
  49. package/dist/config/schema.d.ts +44 -19
  50. package/dist/config/schema.d.ts.map +1 -1
  51. package/dist/config/schema.js.map +1 -1
  52. package/dist/config/tool-result-screens.js +1 -1
  53. package/dist/context/directories.d.ts +37 -0
  54. package/dist/context/directories.d.ts.map +1 -0
  55. package/dist/context/directories.js +69 -0
  56. package/dist/context/directories.js.map +1 -0
  57. package/dist/context/environment.d.ts +55 -0
  58. package/dist/context/environment.d.ts.map +1 -1
  59. package/dist/context/environment.js +96 -0
  60. package/dist/context/environment.js.map +1 -1
  61. package/dist/context/project-tracker.d.ts +3 -3
  62. package/dist/context/project-tracker.d.ts.map +1 -1
  63. package/dist/context/project-tracker.js +3 -3
  64. package/dist/context/project-tracker.js.map +1 -1
  65. package/dist/context/project.d.ts +1 -1
  66. package/dist/context/project.js +1 -1
  67. package/dist/context/sandbox.d.ts +22 -3
  68. package/dist/context/sandbox.d.ts.map +1 -1
  69. package/dist/context/sandbox.js +42 -4
  70. package/dist/context/sandbox.js.map +1 -1
  71. package/dist/doctor/checks/chain.d.ts +1 -1
  72. package/dist/doctor/checks/chain.js +5 -5
  73. package/dist/doctor/checks/chain.js.map +1 -1
  74. package/dist/doctor/checks/invariants.d.ts +2 -2
  75. package/dist/doctor/checks/invariants.js +5 -5
  76. package/dist/doctor/checks/invariants.js.map +1 -1
  77. package/dist/doctor/checks/logging.js +1 -1
  78. package/dist/doctor/checks/logging.js.map +1 -1
  79. package/dist/doctor/checks/sandbox.js +1 -1
  80. package/dist/doctor/checks/sandbox.js.map +1 -1
  81. package/dist/doctor/checks/session-export.d.ts +1 -1
  82. package/dist/doctor/checks/session-export.js +2 -2
  83. package/dist/doctor/checks/session-export.js.map +1 -1
  84. package/dist/doctor/checks/telemetry.d.ts +1 -1
  85. package/dist/doctor/checks/telemetry.js +1 -1
  86. package/dist/doctor/registry.js +2 -2
  87. package/dist/doctor/registry.js.map +1 -1
  88. package/dist/exit-codes.d.ts +2 -2
  89. package/dist/exit-codes.js +2 -2
  90. package/dist/integrations/mcp/servers.d.ts +1 -1
  91. package/dist/integrations/providers/chain-capabilities.d.ts +6 -6
  92. package/dist/integrations/providers/chain-capabilities.js +8 -8
  93. package/dist/integrations/providers/chain-capabilities.js.map +1 -1
  94. package/dist/integrations/providers/index.d.ts +1 -1
  95. package/dist/integrations/providers/index.d.ts.map +1 -1
  96. package/dist/integrations/providers/index.js +1 -1
  97. package/dist/integrations/providers/index.js.map +1 -1
  98. package/dist/integrations/providers/register.d.ts +1 -1
  99. package/dist/integrations/providers/register.js +1 -1
  100. package/dist/integrations/providers/registry.d.ts +74 -1
  101. package/dist/integrations/providers/registry.d.ts.map +1 -1
  102. package/dist/integrations/providers/registry.js +75 -0
  103. package/dist/integrations/providers/registry.js.map +1 -1
  104. package/dist/integrations/resident/inspection.d.ts +4 -1
  105. package/dist/integrations/resident/inspection.d.ts.map +1 -1
  106. package/dist/integrations/resident/inspection.js +53 -34
  107. package/dist/integrations/resident/inspection.js.map +1 -1
  108. package/dist/integrations/resident/learning-storage.d.ts +7 -2
  109. package/dist/integrations/resident/learning-storage.d.ts.map +1 -1
  110. package/dist/integrations/resident/learning-storage.js +12 -8
  111. package/dist/integrations/resident/learning-storage.js.map +1 -1
  112. package/dist/integrations/resident/runner-store.d.ts +1 -1
  113. package/dist/integrations/resident/runner-store.d.ts.map +1 -1
  114. package/dist/integrations/resident/runner-store.js +5 -2
  115. package/dist/integrations/resident/runner-store.js.map +1 -1
  116. package/dist/integrations/resident/runner-worker.js +1 -0
  117. package/dist/integrations/resident/runner-worker.js.map +1 -1
  118. package/dist/integrations/resident/session-log-reads.d.ts +37 -0
  119. package/dist/integrations/resident/session-log-reads.d.ts.map +1 -0
  120. package/dist/integrations/resident/session-log-reads.js +125 -0
  121. package/dist/integrations/resident/session-log-reads.js.map +1 -0
  122. package/dist/integrations/resident/session-step.d.ts +2 -0
  123. package/dist/integrations/resident/session-step.d.ts.map +1 -1
  124. package/dist/integrations/resident/session-step.js +15 -13
  125. package/dist/integrations/resident/session-step.js.map +1 -1
  126. package/dist/integrations/resident/storage.d.ts +23 -1
  127. package/dist/integrations/resident/storage.d.ts.map +1 -1
  128. package/dist/integrations/resident/storage.js +60 -17
  129. package/dist/integrations/resident/storage.js.map +1 -1
  130. package/dist/integrations/resident/tool-evidence.d.ts +4 -2
  131. package/dist/integrations/resident/tool-evidence.d.ts.map +1 -1
  132. package/dist/integrations/resident/tool-evidence.js +36 -30
  133. package/dist/integrations/resident/tool-evidence.js.map +1 -1
  134. package/dist/integrations/resident/verification.d.ts +2 -2
  135. package/dist/integrations/resident/verification.d.ts.map +1 -1
  136. package/dist/integrations/resident/verification.js +4 -4
  137. package/dist/integrations/resident/verification.js.map +1 -1
  138. package/dist/integrations/sessions/checkpoint-view.d.ts +13 -0
  139. package/dist/integrations/sessions/checkpoint-view.d.ts.map +1 -0
  140. package/dist/integrations/sessions/checkpoint-view.js +48 -0
  141. package/dist/integrations/sessions/checkpoint-view.js.map +1 -0
  142. package/dist/integrations/sessions/context-inventory.js +1 -1
  143. package/dist/integrations/sessions/context-inventory.js.map +1 -1
  144. package/dist/integrations/sessions/conversation-search.d.ts +16 -20
  145. package/dist/integrations/sessions/conversation-search.d.ts.map +1 -1
  146. package/dist/integrations/sessions/conversation-search.js +305 -731
  147. package/dist/integrations/sessions/conversation-search.js.map +1 -1
  148. package/dist/integrations/sessions/evidence-page-validation.d.ts +4 -4
  149. package/dist/integrations/sessions/evidence-page-validation.d.ts.map +1 -1
  150. package/dist/integrations/sessions/evidence-page-validation.js +1 -1
  151. package/dist/integrations/sessions/evidence-page-validation.js.map +1 -1
  152. package/dist/integrations/sessions/evidence-recall.d.ts +40 -2
  153. package/dist/integrations/sessions/evidence-recall.d.ts.map +1 -1
  154. package/dist/integrations/sessions/evidence-recall.js +41 -97
  155. package/dist/integrations/sessions/evidence-recall.js.map +1 -1
  156. package/dist/integrations/sessions/store.d.ts +153 -85
  157. package/dist/integrations/sessions/store.d.ts.map +1 -1
  158. package/dist/integrations/sessions/store.js +414 -484
  159. package/dist/integrations/sessions/store.js.map +1 -1
  160. package/dist/integrations/sessions/task-context.d.ts +15 -2
  161. package/dist/integrations/sessions/task-context.d.ts.map +1 -1
  162. package/dist/integrations/sessions/task-context.js +34 -11
  163. package/dist/integrations/sessions/task-context.js.map +1 -1
  164. package/dist/integrations/sessions/transcript-export.d.ts +13 -6
  165. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  166. package/dist/integrations/sessions/transcript-export.js +148 -263
  167. package/dist/integrations/sessions/transcript-export.js.map +1 -1
  168. package/dist/integrations/state/home.d.ts +4 -16
  169. package/dist/integrations/state/home.d.ts.map +1 -1
  170. package/dist/integrations/state/home.js +6 -42
  171. package/dist/integrations/state/home.js.map +1 -1
  172. package/dist/integrations/state/project.d.ts +6 -7
  173. package/dist/integrations/state/project.d.ts.map +1 -1
  174. package/dist/integrations/state/project.js +7 -9
  175. package/dist/integrations/state/project.js.map +1 -1
  176. package/dist/integrations/state/report.d.ts +27 -41
  177. package/dist/integrations/state/report.d.ts.map +1 -1
  178. package/dist/integrations/state/report.js +172 -464
  179. package/dist/integrations/state/report.js.map +1 -1
  180. package/dist/integrations/state/retention.d.ts +18 -0
  181. package/dist/integrations/state/retention.d.ts.map +1 -0
  182. package/dist/integrations/state/retention.js +18 -0
  183. package/dist/integrations/state/retention.js.map +1 -0
  184. package/dist/integrations/subagents/activity.d.ts +36 -31
  185. package/dist/integrations/subagents/activity.d.ts.map +1 -1
  186. package/dist/integrations/subagents/activity.js +27 -23
  187. package/dist/integrations/subagents/activity.js.map +1 -1
  188. package/dist/integrations/subagents/batches.d.ts +91 -0
  189. package/dist/integrations/subagents/batches.d.ts.map +1 -0
  190. package/dist/integrations/subagents/batches.js +172 -0
  191. package/dist/integrations/subagents/batches.js.map +1 -0
  192. package/dist/integrations/subagents/parent.d.ts +26 -11
  193. package/dist/integrations/subagents/parent.d.ts.map +1 -1
  194. package/dist/integrations/subagents/parent.js +13 -28
  195. package/dist/integrations/subagents/parent.js.map +1 -1
  196. package/dist/integrations/subagents/policy.d.ts +2 -2
  197. package/dist/integrations/subagents/policy.d.ts.map +1 -1
  198. package/dist/integrations/subagents/policy.js +2 -2
  199. package/dist/integrations/subagents/policy.js.map +1 -1
  200. package/dist/integrations/subagents/replay.d.ts +91 -26
  201. package/dist/integrations/subagents/replay.d.ts.map +1 -1
  202. package/dist/integrations/subagents/replay.js +216 -114
  203. package/dist/integrations/subagents/replay.js.map +1 -1
  204. package/dist/integrations/subagents/runtime.d.ts +50 -26
  205. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  206. package/dist/integrations/subagents/runtime.js +132 -126
  207. package/dist/integrations/subagents/runtime.js.map +1 -1
  208. package/dist/integrations/subagents/saved-agents.d.ts +57 -0
  209. package/dist/integrations/subagents/saved-agents.d.ts.map +1 -0
  210. package/dist/integrations/subagents/saved-agents.js +102 -0
  211. package/dist/integrations/subagents/saved-agents.js.map +1 -0
  212. package/dist/integrations/subagents/slash.d.ts +55 -0
  213. package/dist/integrations/subagents/slash.d.ts.map +1 -0
  214. package/dist/integrations/subagents/slash.js +45 -0
  215. package/dist/integrations/subagents/slash.js.map +1 -0
  216. package/dist/integrations/telemetry/session-export.d.ts +6 -6
  217. package/dist/integrations/telemetry/session-export.d.ts.map +1 -1
  218. package/dist/integrations/telemetry/session-export.js +2 -2
  219. package/dist/memory/presentation.d.ts +11 -0
  220. package/dist/memory/presentation.d.ts.map +1 -1
  221. package/dist/memory/presentation.js +25 -0
  222. package/dist/memory/presentation.js.map +1 -1
  223. package/dist/memory/store.d.ts +13 -7
  224. package/dist/memory/store.d.ts.map +1 -1
  225. package/dist/memory/store.js +37 -11
  226. package/dist/memory/store.js.map +1 -1
  227. package/dist/memory/typed.d.ts +116 -0
  228. package/dist/memory/typed.d.ts.map +1 -0
  229. package/dist/memory/typed.js +336 -0
  230. package/dist/memory/typed.js.map +1 -0
  231. package/dist/permissions/checks.d.ts +1 -1
  232. package/dist/permissions/checks.js +1 -1
  233. package/dist/permissions/headless-trust.d.ts +2 -2
  234. package/dist/permissions/headless-trust.d.ts.map +1 -1
  235. package/dist/permissions/headless-trust.js +3 -3
  236. package/dist/permissions/headless-trust.js.map +1 -1
  237. package/dist/permissions/mode.d.ts +4 -4
  238. package/dist/permissions/mode.js +1 -1
  239. package/dist/permissions/rules.d.ts +1 -1
  240. package/dist/permissions/rules.js +1 -1
  241. package/dist/termination.d.ts +75 -0
  242. package/dist/termination.d.ts.map +1 -0
  243. package/dist/termination.js +143 -0
  244. package/dist/termination.js.map +1 -0
  245. package/dist/tui/AgentExplorer.d.ts +2 -2
  246. package/dist/tui/AgentExplorer.js +4 -4
  247. package/dist/tui/AgentExplorer.js.map +1 -1
  248. package/dist/tui/App.d.ts +9 -1
  249. package/dist/tui/App.d.ts.map +1 -1
  250. package/dist/tui/App.js +458 -304
  251. package/dist/tui/App.js.map +1 -1
  252. package/dist/tui/LiveActivity.d.ts +1 -1
  253. package/dist/tui/LiveActivity.d.ts.map +1 -1
  254. package/dist/tui/PermissionOverlay.d.ts +8 -0
  255. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  256. package/dist/tui/PermissionOverlay.js +25 -2
  257. package/dist/tui/PermissionOverlay.js.map +1 -1
  258. package/dist/tui/Picker.d.ts +14 -1
  259. package/dist/tui/Picker.d.ts.map +1 -1
  260. package/dist/tui/Picker.js +598 -132
  261. package/dist/tui/Picker.js.map +1 -1
  262. package/dist/tui/agent.d.ts +208 -132
  263. package/dist/tui/agent.d.ts.map +1 -1
  264. package/dist/tui/agent.js +523 -313
  265. package/dist/tui/agent.js.map +1 -1
  266. package/dist/tui/conversation-evidence-view.js +3 -3
  267. package/dist/tui/conversation-evidence-view.js.map +1 -1
  268. package/dist/tui/conversation-history.d.ts +4 -21
  269. package/dist/tui/conversation-history.d.ts.map +1 -1
  270. package/dist/tui/conversation-history.js +4 -28
  271. package/dist/tui/conversation-history.js.map +1 -1
  272. package/dist/tui/index.d.ts.map +1 -1
  273. package/dist/tui/index.js +27 -1
  274. package/dist/tui/index.js.map +1 -1
  275. package/dist/tui/log-pane.js +1 -1
  276. package/dist/tui/markdownParser.d.ts +1 -1
  277. package/dist/tui/markdownParser.js +1 -1
  278. package/dist/tui/model-choices.d.ts.map +1 -1
  279. package/dist/tui/model-choices.js +20 -1
  280. package/dist/tui/model-choices.js.map +1 -1
  281. package/dist/tui/permission-review.d.ts +16 -0
  282. package/dist/tui/permission-review.d.ts.map +1 -1
  283. package/dist/tui/permission-review.js +25 -2
  284. package/dist/tui/permission-review.js.map +1 -1
  285. package/dist/tui/provider-list.d.ts +206 -41
  286. package/dist/tui/provider-list.d.ts.map +1 -1
  287. package/dist/tui/provider-list.js +248 -52
  288. package/dist/tui/provider-list.js.map +1 -1
  289. package/dist/tui/slashCommands.d.ts +29 -40
  290. package/dist/tui/slashCommands.d.ts.map +1 -1
  291. package/dist/tui/slashCommands.js +70 -61
  292. package/dist/tui/slashCommands.js.map +1 -1
  293. package/dist/tui/terminal-choice-text.d.ts +22 -0
  294. package/dist/tui/terminal-choice-text.d.ts.map +1 -1
  295. package/dist/tui/terminal-choice-text.js +81 -0
  296. package/dist/tui/terminal-choice-text.js.map +1 -1
  297. package/dist/tui/{run-interruption.d.ts → turn-interruption.d.ts} +4 -4
  298. package/dist/tui/turn-interruption.d.ts.map +1 -0
  299. package/dist/tui/{run-interruption.js → turn-interruption.js} +20 -20
  300. package/dist/tui/turn-interruption.js.map +1 -0
  301. package/dist/tui/turn-limits-settings.d.ts +39 -0
  302. package/dist/tui/turn-limits-settings.d.ts.map +1 -0
  303. package/dist/tui/{run-limits-settings.js → turn-limits-settings.js} +18 -18
  304. package/dist/tui/turn-limits-settings.js.map +1 -0
  305. package/dist/tui/types.d.ts +3 -3
  306. package/dist/tui/types.d.ts.map +1 -1
  307. package/dist/user-commands/store.d.ts +1 -1
  308. package/dist/user-commands/store.js +1 -1
  309. package/package.json +8 -8
  310. package/dist/integrations/sessions/compaction-evidence.d.ts +0 -5
  311. package/dist/integrations/sessions/compaction-evidence.d.ts.map +0 -1
  312. package/dist/integrations/sessions/compaction-evidence.js +0 -59
  313. package/dist/integrations/sessions/compaction-evidence.js.map +0 -1
  314. package/dist/integrations/sessions/database.d.ts +0 -5
  315. package/dist/integrations/sessions/database.d.ts.map +0 -1
  316. package/dist/integrations/sessions/database.js +0 -34
  317. package/dist/integrations/sessions/database.js.map +0 -1
  318. package/dist/integrations/sessions/paths.d.ts +0 -7
  319. package/dist/integrations/sessions/paths.d.ts.map +0 -1
  320. package/dist/integrations/sessions/paths.js +0 -14
  321. package/dist/integrations/sessions/paths.js.map +0 -1
  322. package/dist/integrations/sessions/run-discovery.d.ts +0 -24
  323. package/dist/integrations/sessions/run-discovery.d.ts.map +0 -1
  324. package/dist/integrations/sessions/run-discovery.js +0 -142
  325. package/dist/integrations/sessions/run-discovery.js.map +0 -1
  326. package/dist/integrations/sessions/turn-evidence.d.ts +0 -129
  327. package/dist/integrations/sessions/turn-evidence.d.ts.map +0 -1
  328. package/dist/integrations/sessions/turn-evidence.js +0 -517
  329. package/dist/integrations/sessions/turn-evidence.js.map +0 -1
  330. package/dist/integrations/subagents/history.d.ts +0 -26
  331. package/dist/integrations/subagents/history.d.ts.map +0 -1
  332. package/dist/integrations/subagents/history.js +0 -76
  333. package/dist/integrations/subagents/history.js.map +0 -1
  334. package/dist/integrations/subagents/runs.d.ts +0 -72
  335. package/dist/integrations/subagents/runs.d.ts.map +0 -1
  336. package/dist/integrations/subagents/runs.js +0 -155
  337. package/dist/integrations/subagents/runs.js.map +0 -1
  338. package/dist/tui/run-interruption.d.ts.map +0 -1
  339. package/dist/tui/run-interruption.js.map +0 -1
  340. package/dist/tui/run-limits-settings.d.ts +0 -39
  341. package/dist/tui/run-limits-settings.d.ts.map +0 -1
  342. package/dist/tui/run-limits-settings.js.map +0 -1
@@ -6,27 +6,30 @@
6
6
  * suppressed by `--quiet`); only the answer hits stdout.
7
7
  *
8
8
  * Non-interactive, so there's no approval prompt — tools auto-run, but the
9
- * safety gate still hard-denies catastrophic commands. One-shots use an
10
- * ephemeral session and are not added to `/resume` history.
9
+ * safety gate still hard-denies catastrophic commands. A one-shot is a
10
+ * conversation like any other: its session log is kept under the project in
11
+ * `NAMZU_HOME`, so `--continue` picks it up and `namzu drain` can finish a
12
+ * turn it parked.
11
13
  *
12
14
  * Options are parsed, not spoken: this command joined every argument into the
13
15
  * prompt, so the flags its streaming sibling accepts — `--cwd` above all —
14
- * were read aloud to the model while the run used this directory anyway. Both
16
+ * were read aloud to the model while the turn used this directory anyway. Both
15
17
  * commands now share one parser (`./run-flags.js`), because they are the same
16
18
  * one-shot differing only in how they print.
17
19
  */
18
20
  import { relative } from 'node:path';
19
- import { BOOT_EVENT_NAMES, EVENT_NAME_ATTRIBUTE, asSessionId, generateSessionId } from '@namzu/sdk';
21
+ import { BOOT_EVENT_NAMES, EVENT_NAME_ATTRIBUTE, TurnCancelled, asSessionId } from '@namzu/sdk';
20
22
  import { resolveTrustedProjectContext } from '../config/trusted-project-context.js';
21
23
  import { EXIT_UNTRUSTED, EXIT_USAGE } from '../exit-codes.js';
22
- import { openSessions } from '../integrations/sessions/store.js';
24
+ import { closeSessions, openSessions, startConversation } from '../integrations/sessions/store.js';
23
25
  import { attachSessionExport, } from '../integrations/telemetry/session-export.js';
24
26
  import { cliLogger, contextLogging, createStderrSink, installCliLogging } from '../logging.js';
25
27
  import { decideHeadlessTrust } from '../permissions/headless-trust.js';
26
28
  import { resolvePermissionMode } from '../permissions/mode.js';
27
29
  import { compilePermissions } from '../permissions/rules.js';
28
- import { describeRunInterruption, retryAfterMs } from '../tui/run-interruption.js';
30
+ import { withTerminationHandling } from '../termination.js';
29
31
  import { hostCommandNames } from '../tui/slashCommands.js';
32
+ import { describeTurnInterruption, retryAfterMs } from '../tui/turn-interruption.js';
30
33
  import { expandHeadlessCommand } from '../user-commands/store.js';
31
34
  import { duration, pauseWait } from './provider-wait.js';
32
35
  import { resolveResume } from './resume.js';
@@ -40,7 +43,7 @@ import { readStdin } from './stdin.js';
40
43
  * cat notes.txt | namzu run "summarise this"
41
44
  *
42
45
  * sent the model three words and silently dropped the file. Nothing reported
43
- * it: the run succeeded, and the answer was about nothing. A pipe and a
46
+ * it: the turn succeeded, and the answer was about nothing. A pipe and a
44
47
  * question are the ordinary way to ask about a document, and taking only one
45
48
  * of the two is the worst reading of that command.
46
49
  *
@@ -69,6 +72,23 @@ function defaultPrefs(detected) {
69
72
  }
70
73
  : null;
71
74
  }
75
+ /**
76
+ * What `run` prints on stderr when a termination signal stops it, worded from
77
+ * where the signal found the turn (`termination.ts` has already given the
78
+ * conversation's lease back).
79
+ */
80
+ function stoppedBy(signal, sessionId, phase, paused) {
81
+ switch (phase) {
82
+ case 'running':
83
+ return `stopped by ${signal}: the turn in conversation ${sessionId} was left interrupted — close it with /abandon in the TUI, or continue it with /resume or \`namzu drain\``;
84
+ case 'paused':
85
+ return `stopped by ${signal} while the turn was paused: it keeps checkpoint ${paused?.checkpointId ?? '(unknown)'} in conversation ${sessionId} — continue it with /resume or \`namzu drain\`, or close it with /abandon in the TUI`;
86
+ case 'ended':
87
+ return `stopped by ${signal} after the turn ended; it is recorded in conversation ${sessionId}, and nothing is left to close`;
88
+ case 'not-started':
89
+ return `stopped by ${signal}; no turn was started in conversation ${sessionId}`;
90
+ }
91
+ }
72
92
  export const runCommand = {
73
93
  name: 'run',
74
94
  description: 'Run a single prompt headlessly and print the reply (for scripts/CI)',
@@ -103,34 +123,34 @@ export const runCommand = {
103
123
  ' --permission-mode <m> prompt | accept-edits | auto | strict | plan —',
104
124
  ' what happens to a call no [permissions] rule',
105
125
  ' decided (default: auto)',
106
- ' --trust Accept this folder for THIS run',
126
+ ' --trust Accept this folder for THIS turn',
107
127
  ' -- End of options; the rest is the prompt verbatim',
108
128
  '',
109
129
  'A folder has to be trusted before namzu will work in it, because namzu',
110
130
  'reads its files, runs commands in it and executes its code. Run `namzu`',
111
131
  'here once and accept the prompt to trust it permanently, or pass --trust',
112
- 'to accept it for one run. --trust does not remember; that is the point.',
132
+ 'to accept it for one turn. --trust does not remember; that is the point.',
113
133
  '',
114
134
  '--yolo does NOT imply --trust: one is about which tools may run inside a',
115
135
  'folder, the other about the folder.',
116
136
  '',
117
137
  'By default tools run without asking, because there is nobody to ask, and',
118
138
  'the safety gate still refuses catastrophic commands. Use --permission-mode',
119
- 'strict for an unattended run that must refuse anything no rule allowed.',
139
+ 'strict for an unattended turn that must refuse anything no rule allowed.',
120
140
  '',
121
141
  'A mode only decides calls no rule decided: it can never reopen a deny.',
122
142
  '',
123
143
  '--gate checks proposed answers with operator-supplied commands. Every',
124
144
  'command must complete successfully; a failure returns diagnostics to the',
125
145
  'model for correction. Repeat the flag to check several commands in order.',
126
- 'Budget exhaustion or cancellation may stop a run before verification.',
146
+ 'Budget exhaustion or cancellation may stop a turn before verification.',
127
147
  '',
128
148
  'A failed gate may skip a retry when its Git change detector is unchanged.',
129
- 'The attempt still counts. Exhausted review attempts stop the run with',
149
+ 'The attempt still counts. Exhausted review attempts stop the turn with',
130
150
  'answer_rejected and a non-zero exit.',
131
151
  '',
132
152
  "The working directory's AGENTS.md files — that directory and every one up",
133
- 'to the repository root — are loaded as standing instructions for the run,',
153
+ 'to the repository root — are loaded as standing instructions for the turn,',
134
154
  'and the ones that were loaded are named on stderr.',
135
155
  '',
136
156
  '--continue and --resume refuse when the conversation cannot be reopened,',
@@ -145,18 +165,20 @@ export const runCommand = {
145
165
  "run waits the provider's own delay when it named one (otherwise a minute,",
146
166
  'doubling, at most fifteen) and resumes from the checkpoint in this process,',
147
167
  'until the budget is spent. The `limits.waitForProviderMs` config key sets',
148
- 'the same budget for every run in the folder.',
168
+ 'the same budget for every turn in the folder.',
149
169
  '',
150
- 'Exit codes: 0 on a reply, 1 on a failed or unfinished run, 2 when no',
170
+ 'Exit codes: 0 on a reply, 1 on a failed or unfinished turn, 2 when no',
151
171
  'prompt was supplied, 64 when an argument is wrong, 75 when the provider',
152
- 'paused the run (a rate limit or an outage) and a checkpoint was kept —',
153
- 'wait, then run again — and 77 when the folder has not been trusted and',
172
+ 'paused the turn (a rate limit or an outage) and a checkpoint was kept —',
173
+ 'wait, then run again — or when the conversation already has an active',
174
+ 'turn (a paused one: finish it with `namzu drain`, or abandon it in the',
175
+ 'TUI with /abandon), and 77 when the folder has not been trusted and',
154
176
  'nothing ran.',
155
177
  ].join('\n'),
156
- handler: async ({ ctx: bootstrapCtx, rawArgs }) => {
178
+ handler: withTerminationHandling(async ({ ctx: bootstrapCtx, rawArgs }, termination) => {
157
179
  let ctx = bootstrapCtx;
158
180
  const flags = parseRunFlags(rawArgs);
159
- // The run's leash: the config file's limits, with a flag overriding each.
181
+ // The turn's leash: the config file's limits, with a flag overriding each.
160
182
  const limitsFromFlags = {
161
183
  ...(flags.maxIterations !== null ? { maxIterations: flags.maxIterations } : {}),
162
184
  ...(flags.tokenBudget !== null ? { tokenBudget: flags.tokenBudget } : {}),
@@ -255,8 +277,8 @@ export const runCommand = {
255
277
  }
256
278
  const gate = buildGate(flags, cwd);
257
279
  // Attached BEFORE the session, and its failure is fatal. An operator who
258
- // configured `telemetry.sessionExport` asked for this run to be
259
- // recorded; continuing without it means the run happens and the record
280
+ // configured `telemetry.sessionExport` asked for this turn to be
281
+ // recorded; continuing without it means the turn happens and the record
260
282
  // they were counting on does not exist, which is a failure they only
261
283
  // discover when they go looking for a session that was never written.
262
284
  let sessionExport;
@@ -299,20 +321,37 @@ export const runCommand = {
299
321
  return EXIT_USAGE;
300
322
  }
301
323
  const prior = resume.kind === 'resumed' ? resume.messages : [];
324
+ // A new one-shot is a new conversation: its log starts here, so the turn
325
+ // the kernel records has somewhere to go and `--continue` can find it.
326
+ let sessionId;
327
+ try {
328
+ sessionId =
329
+ resume.kind === 'resumed'
330
+ ? asSessionId(resume.sessionId)
331
+ : await startConversation(sessions);
332
+ }
333
+ catch (error) {
334
+ closeSessions(sessions);
335
+ await sessionExport?.shutdown();
336
+ ctx.formatter.error({
337
+ message: `could not start a conversation: ${error instanceof Error ? error.message : String(error)}`,
338
+ });
339
+ return 1;
340
+ }
302
341
  const session = await createAgentSession(prefs, probe.detected, {
303
342
  cwd,
304
343
  scope: {
305
- sessionId: resume.kind === 'resumed' ? asSessionId(resume.sessionId) : generateSessionId(),
344
+ sessionId,
306
345
  topicId: sessions.topicId,
307
346
  projectId: sessions.projectId,
308
347
  tenantId: sessions.tenantId,
309
348
  },
310
349
  stateRoot: sessions.root,
311
- ...(resume.kind === 'resumed' ? { conversationSessions: sessions } : {}),
350
+ conversationSessions: sessions,
312
351
  rules: permissions.rules,
313
- ...(sessionExport ? { onRunEvent: sessionExport.listener } : {}),
352
+ ...(sessionExport ? { onSessionEvent: sessionExport.listener } : {}),
314
353
  // The operator's --gate commands, as a standing condition on the
315
- // answer. Spread rather than passed as undefined so a run without
354
+ // answer. Spread rather than passed as undefined so a turn without
316
355
  // gates is byte-identical to the one that shipped before them.
317
356
  ...(gate ?? {}),
318
357
  permissionMode: modeResult.mode,
@@ -334,13 +373,14 @@ export const runCommand = {
334
373
  });
335
374
  if (!session.hasProvider) {
336
375
  await session.close();
376
+ closeSessions(sessions);
337
377
  await sessionExport?.shutdown();
338
378
  ctx.formatter.error({
339
379
  message: session.errorHint ?? 'agent is not ready',
340
380
  });
341
381
  return 1;
342
382
  }
343
- // A configured tool server that is not here means the run cannot do what
383
+ // A configured tool server that is not here means the turn cannot do what
344
384
  // the operator set it up to do, and there is nobody watching to notice.
345
385
  // The TUI reports and carries on, because a person can read the line and
346
386
  // decide; a script has no such reader, so it refuses. Same principle as
@@ -352,6 +392,7 @@ export const runCommand = {
352
392
  });
353
393
  }
354
394
  await session.close();
395
+ closeSessions(sessions);
355
396
  await sessionExport?.shutdown();
356
397
  return 1;
357
398
  }
@@ -407,7 +448,29 @@ export const runCommand = {
407
448
  const stop = {
408
449
  failed: null,
409
450
  paused: null,
451
+ busy: false,
452
+ };
453
+ // Stopped from outside (SIGTERM, SIGHUP, Ctrl+C): the conversation's
454
+ // lease is already given back when this runs (`termination.ts`). Stop the
455
+ // turn, so its tools' processes go with it, and release what the session
456
+ // holds. What the operator is told depends on where the signal found the
457
+ // turn: mid-flight it is left interrupted; waiting out a provider pause it
458
+ // keeps its checkpoint; after it settled (the session still closing, a
459
+ // slow `session_end` hook) it is recorded, and there is nothing to close.
460
+ const turnAbort = new AbortController();
461
+ let stopped = false;
462
+ let phase = 'running';
463
+ const afterPhase = () => {
464
+ phase = stop.busy ? 'not-started' : stop.paused ? 'paused' : 'ended';
410
465
  };
466
+ termination.onTerminate(async (signal) => {
467
+ stopped = true;
468
+ ctx.formatter.error({ message: stoppedBy(signal, sessionId, phase, stop.paused) });
469
+ turnAbort.abort(new TurnCancelled('user'));
470
+ await session.close();
471
+ closeSessions(sessions);
472
+ await sessionExport?.shutdown();
473
+ });
411
474
  const consume = async (stream) => {
412
475
  stop.failed = null;
413
476
  stop.paused = null;
@@ -423,7 +486,11 @@ export const runCommand = {
423
486
  else if (event.kind === 'error' || event.kind === 'paused') {
424
487
  if (event.budget)
425
488
  measured.budget = event.budget;
426
- stop.failed = describeRunInterruption(event);
489
+ stop.failed = describeTurnInterruption(event);
490
+ if (event.kind === 'error' && event.turnInProgress) {
491
+ stop.busy = true;
492
+ stop.failed = `conversation ${event.turnInProgress.sessionId} already has a ${event.turnInProgress.state} turn ${event.turnInProgress.activeTurnId}; nothing was started. Finish it with \`namzu drain\`, or abandon it with /abandon in the TUI.`;
493
+ }
427
494
  if (event.kind === 'paused')
428
495
  stop.paused = event;
429
496
  }
@@ -444,21 +511,24 @@ export const runCommand = {
444
511
  }
445
512
  }
446
513
  };
447
- await consume(session.send([...prior, { role: 'user', content: finalPrompt, timestamp: Date.now() }], extraSystem || flags.effort !== null
448
- ? {
449
- ...(extraSystem ? { extraSystem } : {}),
450
- ...(flags.effort !== null ? { effort: flags.effort } : {}),
451
- }
452
- : undefined));
514
+ await consume(session.send([...prior, { role: 'user', content: finalPrompt, timestamp: Date.now() }], {
515
+ signal: turnAbort.signal,
516
+ ...(extraSystem ? { extraSystem } : {}),
517
+ ...(flags.effort !== null ? { effort: flags.effort } : {}),
518
+ }));
519
+ afterPhase();
453
520
  // A provider pause is answered by waiting, when the caller gave time to
454
- // wait with. The kernel kept a checkpoint; the run resumes from it in
521
+ // wait with. The kernel kept a checkpoint; the turn resumes from it in
455
522
  // this process, with its own context, rather than being re-prompted from
456
523
  // notes by a wrapper that saw exit 75. A pause with no provider behind
457
- // it is not waited on: that is a run parked on something else.
524
+ // it is not waited on: that is a turn parked on something else.
458
525
  const waitBudgetMs = flags.waitForProviderMs ?? ctx.config.limits?.waitForProviderMs ?? 0;
459
526
  let waits = 0;
460
527
  let waitedMs = 0;
461
- while (stop.paused && waitBudgetMs > 0 && (stop.paused.providerError || stop.paused.failure)) {
528
+ while (!stopped &&
529
+ stop.paused &&
530
+ waitBudgetMs > 0 &&
531
+ (stop.paused.providerError || stop.paused.failure)) {
462
532
  const paused = stop.paused;
463
533
  const asked = retryAfterMs(paused);
464
534
  const decision = pauseWait({
@@ -472,23 +542,37 @@ export const runCommand = {
472
542
  break;
473
543
  }
474
544
  waits += 1;
475
- ctx.formatter.info(`provider paused the run: waiting ${duration(decision.delayMs)}, then resuming from ${paused.checkpointId} (wait ${waits}, ${duration(waitedMs)} of ${duration(waitBudgetMs)} spent)`);
545
+ ctx.formatter.info(`provider paused the turn: waiting ${duration(decision.delayMs)}, then resuming from ${paused.checkpointId} (wait ${waits}, ${duration(waitedMs)} of ${duration(waitBudgetMs)} spent)`);
476
546
  await new Promise((resolve) => setTimeout(resolve, decision.delayMs));
547
+ // A signal during the wait: the process is on its way out, and the
548
+ // turn keeps its checkpoint for whoever resumes it next.
549
+ if (stopped)
550
+ break;
477
551
  waitedMs += decision.delayMs;
552
+ phase = 'running';
478
553
  await consume(session.resumePaused({
479
- runId: paused.runId,
554
+ turnId: paused.turnId,
480
555
  checkpointId: paused.checkpointId,
556
+ signal: turnAbort.signal,
481
557
  }));
558
+ afterPhase();
482
559
  }
560
+ // The signal handler closes the session and ends the process.
561
+ if (stopped)
562
+ return 1;
483
563
  const failed = stop.failed;
484
- const paused = stop.paused !== null;
564
+ // 75 (EX_TEMPFAIL) for both: a provider pause kept a checkpoint, and a
565
+ // conversation busy with another turn refused to start one. Either way
566
+ // running again later is the remedy, not a different invocation.
567
+ const paused = stop.paused !== null || stop.busy;
485
568
  // Every exit below this point releases the session first. A stdio tool
486
569
  // server is a child process, and a `run` that returns without closing
487
570
  // leaves it behind.
488
571
  await session.close();
572
+ closeSessions(sessions);
489
573
  // Drained with the session, not at process exit: a buffering sink that
490
574
  // only flushed on `beforeExit` loses its tail whenever the CLI is
491
- // interrupted, which is exactly the run somebody wanted the record of.
575
+ // interrupted, which is exactly the turn somebody wanted the record of.
492
576
  await sessionExport?.shutdown();
493
577
  if (measured.budget) {
494
578
  ctx.formatter.info(`Tokens: ${measured.budget.ownTokens} own · ${measured.budget.treeTokens} including descendants`);
@@ -513,21 +597,21 @@ export const runCommand = {
513
597
  }
514
598
  // The text prints either way. Partial output is real output, and a
515
599
  // caller who piped it wants what there is — but `$?` has to be able to
516
- // tell them it is partial, which it could not: `run_failed` is emitted
517
- // only from the throw path, so a run stopped by its token budget, its
600
+ // tell them it is partial, which it could not: `turn_failed` is emitted
601
+ // only from the throw path, so a turn stopped by its token budget, its
518
602
  // timeout, its iteration cap, a cancellation, or a blocking output
519
- // guardrail all arrived as `run_completed` and exited 0. Measured: a
603
+ // guardrail all arrived as `turn_completed` and exited 0. Measured: a
520
604
  // `max_iterations` stop reports `status: 'completed'`. The sharp case is
521
605
  // the guardrail — a REFUSED answer exited 0 with empty text, so
522
606
  // `namzu run … > out.txt && deploy` proceeded on the empty file.
523
607
  ctx.formatter.print(ctx.formatter.name === 'json' ? jsonResult(text.trim()) : text.trim());
524
608
  if (stopReason && stopReason !== 'end_turn') {
525
609
  ctx.formatter.error({
526
- message: `run did not finish normally: ${stopReason}${text.trim() ? ' — the output above is partial' : ''}`,
610
+ message: `turn did not finish normally: ${stopReason}${text.trim() ? ' — the output above is partial' : ''}`,
527
611
  });
528
612
  return 1;
529
613
  }
530
614
  return 0;
531
- },
615
+ }),
532
616
  };
533
617
  //# sourceMappingURL=run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAClG,OAAO,EAEN,mBAAmB,GACnB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAA0B,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EACN,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAGtC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,KAAa;IAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC9B,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC9B,OAAO,GAAG,QAAQ,gBAAgB,QAAQ,YAAY,CAAA;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,QAAqC;IAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzB,OAAO,KAAK;QACX,CAAC,CAAC;YACA,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACnC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SACzB;QACF,CAAC,CAAC,IAAI,CAAA;AACR,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CACjB,MAAyB,EACzB,SAAiB,EACjB,KAAqD,EACrD,MAAsD;IAEtD,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,SAAS;YACb,OAAO,cAAc,MAAM,8BAA8B,SAAS,2GAA2G,CAAA;QAC9K,KAAK,QAAQ;YACZ,OAAO,cAAc,MAAM,mDAAmD,MAAM,EAAE,YAAY,IAAI,WAAW,oBAAoB,SAAS,sFAAsF,CAAA;QACrO,KAAK,OAAO;YACX,OAAO,cAAc,MAAM,yDAAyD,SAAS,gCAAgC,CAAA;QAC9H,KAAK,aAAa;YACjB,OAAO,cAAc,MAAM,yCAAyC,SAAS,EAAE,CAAA;IACjF,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAe;IACrC,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,qEAAqE;IAClF,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE;QACL,wCAAwC;QACxC,oCAAoC;QACpC,kDAAkD;QAClD,EAAE;QACF,wEAAwE;QACxE,8BAA8B;QAC9B,EAAE;QACF,uEAAuE;QACvE,uEAAuE;QACvE,iEAAiE;QACjE,EAAE;QACF,2CAA2C;QAC3C,0EAA0E;QAC1E,iDAAiD;QACjD,8CAA8C;QAC9C,mEAAmE;QACnE,kEAAkE;QAClE,gEAAgE;QAChE,+EAA+E;QAC/E,wEAAwE;QACxE,6EAA6E;QAC7E,0FAA0F;QAC1F,0FAA0F;QAC1F,+EAA+E;QAC/E,gFAAgF;QAChF,gFAAgF;QAChF,wEAAwE;QACxE,sEAAsE;QACtE,iDAAiD;QACjD,0DAA0D;QAC1D,yEAAyE;QACzE,EAAE;QACF,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,EAAE;QACF,0EAA0E;QAC1E,qCAAqC;QACrC,EAAE;QACF,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,EAAE;QACF,wEAAwE;QACxE,EAAE;QACF,uEAAuE;QACvE,0EAA0E;QAC1E,2EAA2E;QAC3E,wEAAwE;QACxE,EAAE;QACF,2EAA2E;QAC3E,wEAAwE;QACxE,sCAAsC;QACtC,EAAE;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,oDAAoD;QACpD,EAAE;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,gCAAgC;QAChC,EAAE;QACF,qEAAqE;QACrE,iCAAiC;QACjC,EAAE;QACF,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,6EAA6E;QAC7E,2EAA2E;QAC3E,+CAA+C;QAC/C,EAAE;QACF,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,qEAAqE;QACrE,cAAc;KACd,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,OAAO,EAAE,uBAAuB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE;QACtF,IAAI,GAAG,GAAG,YAAY,CAAA;QACtB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;QACpC,2EAA2E;QAC3E,MAAM,eAAe,GAAG;YACvB,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAA;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,sEAAsE;YACtE,mEAAmE;YACnE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACrE,OAAO,UAAU,CAAA;QAClB,CAAC;QACD,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACvF,uEAAuE;QACvE,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,mEAAmE;QACnE,6BAA6B;QAC7B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,yDAAyD;aAClE,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnD,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACzB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;YAChD,OAAO,UAAU,CAAA;QAClB,CAAC;QAED,qEAAqE;QACrE,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,KAAK,GAAG,mBAAmB,CAAC;YACjC,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,SAAS,EAAE,KAAK,CAAC,KAAK;SACtB,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAC,CAAA;YACvE,OAAO,cAAc,CAAA;QACtB,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;QACrB,GAAG,GAAG,4BAA4B,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QAErD,uEAAuE;QACvE,wEAAwE;QACxE,kCAAkC;QAClC,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE;YAC/C,GAAG;YACH,QAAQ,EAAE,gBAAgB,EAAE;SAC5B,CAAC,CAAA;QACF,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;YAClD,OAAO,UAAU,CAAA;QAClB,CAAC;QACD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;QAE7E,uEAAuE;QACvE,mEAAmE;QACnE,mEAAmE;QACnE,6DAA6D;QAC7D,mEAAmE;QACnE,oEAAoE;QACpE,+DAA+D;QAC/D,mEAAmE;QACnE,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;QACnC,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAClE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACjF,MAAM,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAA;QACvC,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EACN,kGAAkG;aACnG,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAExC,wEAAwE;QACxE,0EAA0E;QAC1E,6DAA6D;QAC7D,MAAM,UAAU,GAAG,qBAAqB,CAAC;YACxC,IAAI,EAAE,KAAK,CAAC,cAAc;YAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,oEAAoE;YACpE,yDAAyD;YACzD,WAAW,EAAE,KAAK;SAClB,CAAC,CAAA;QACF,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;YAClD,OAAO,UAAU,CAAA;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC3F,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAA;YAC1F,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAClC,yEAAyE;QACzE,iEAAiE;QACjE,wEAAwE;QACxE,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,aAAgD,CAAA;QACpD,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC;gBACJ,aAAa,GAAG,MAAM,mBAAmB,CAAC;oBACzC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa;iBAC1C,CAAC,CAAA;gBACF,4DAA4D;gBAC5D,+DAA+D;gBAC/D,8DAA8D;gBAC9D,qDAAqD;gBACrD,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;oBAC1C,CAAC,oBAAoB,CAAC,EAAE,gBAAgB,CAAC,gBAAgB;oBACzD,gCAAgC,EAAE,IAAI;iBACtC,CAAC,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnB,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACzD,CAAC,CAAA;gBACF,OAAO,CAAC,CAAA;YACT,CAAC;QACF,CAAC;QACD,IAAI,QAAkD,CAAA;QACtD,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC/B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACpG,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,aAAa,CACjC,QAAQ,EACR,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,EAC7D,GAAG,CACH,CAAA;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YAChD,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC/B,OAAO,UAAU,CAAA;QAClB,CAAC;QACD,MAAM,KAAK,GAAuB,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;QAClF,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,SAAyC,CAAA;QAC7C,IAAI,CAAC;YACJ,SAAS;gBACR,MAAM,CAAC,IAAI,KAAK,SAAS;oBACxB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC/B,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,aAAa,CAAC,QAAQ,CAAC,CAAA;YACvB,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC/B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACpG,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;YAC/D,GAAG;YACH,KAAK,EAAE;gBACN,SAAS;gBACT,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC3B;YACD,SAAS,EAAE,QAAQ,CAAC,IAAI;YACxB,oBAAoB,EAAE,QAAQ;YAC9B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,iEAAiE;YACjE,mEAAmE;YACnE,+DAA+D;YAC/D,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACf,cAAc,EAAE,UAAU,CAAC,IAAI;YAC/B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;gBACvE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,eAAe,EAAE,EAAE;gBAC1D,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,iEAAiE;YACjE,mEAAmE;YACnE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE;gBACrD,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;YACrB,aAAa,CAAC,QAAQ,CAAC,CAAA;YACvB,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC/B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,oBAAoB;aAClD,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACnC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnB,OAAO,EAAE,gBAAgB,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,MAAM,EAAE;iBAChE,CAAC,CAAA;YACH,CAAC;YACD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;YACrB,aAAa,CAAC,QAAQ,CAAC,CAAA;YACvB,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC/B,OAAO,CAAC,CAAA;QACT,CAAC;QACD,0EAA0E;QAC1E,qEAAqE;QACrE,0EAA0E;QAC1E,2BAA2B;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC5C,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACtC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAA;QACnE,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,WAAW,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/F,CAAA;QACD,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,wBAAwB;QACxB,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,yBAAyB,OAAO,CAAC,gBAAgB;iBAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;iBACjC,IAAI,CAAC,IAAI,CAAC,EAAE,CACd,CAAA;QACF,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACpD,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,WAAW,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;aAC3E,CAAC,CAAA;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAE9D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,SAAS,MAAM,KAAK,CAAC,MAAM,WAAW,CAAC,CAAA;QAC9E,CAAC;QAED,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,MAAM,QAAQ,GAGV,EAAE,CAAA;QACN,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,KAAK;YACX,GAAG,CAAC,QAAQ,CAAC,KAAK;gBACjB,CAAC,CAAC;oBACA,KAAK,EAAE;wBACN,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;wBACvC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;qBACzB;iBACD;gBACF,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC,CAAA;QACF,IAAI,UAAkC,CAAA;QACtC,wEAAwE;QACxE,sEAAsE;QACtE,wDAAwD;QACxD,MAAM,IAAI,GAKN;YACH,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,KAAK;SACX,CAAA;QACD,qEAAqE;QACrE,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,IAAI,KAAK,GAAmD,SAAS,CAAA;QACrE,MAAM,UAAU,GAAG,GAAS,EAAE;YAC7B,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;QACrE,CAAC,CAAA;QACD,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxC,OAAO,GAAG,IAAI,CAAA;YACd,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClF,SAAS,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1C,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;YACrB,aAAa,CAAC,QAAQ,CAAC,CAAA;YACvB,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,KAAK,EAAE,MAAiC,EAAiB,EAAE;YAC1E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAA;qBACzC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;oBACnC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC3D,+DAA+D;gBAC/D,4DAA4D;qBACvD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;oBAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;qBAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5D,IAAI,KAAK,CAAC,MAAM;wBAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;oBAChD,IAAI,CAAC,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;oBAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;wBACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;wBAChB,IAAI,CAAC,MAAM,GAAG,gBAAgB,KAAK,CAAC,cAAc,CAAC,SAAS,kBAAkB,KAAK,CAAC,cAAc,CAAC,KAAK,SAAS,KAAK,CAAC,cAAc,CAAC,YAAY,gGAAgG,CAAA;oBACnP,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;gBACjD,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACnC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;oBACtB,IAAI,KAAK,CAAC,MAAM;wBAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;gBACjD,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAClC,8DAA8D;oBAC9D,gEAAgE;oBAChE,2DAA2D;oBAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;wBAAE,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC/C,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;oBAC7B,IAAI,KAAK,CAAC,MAAM;wBAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;gBACjD,CAAC;YACF,CAAC;QACF,CAAC,CAAA;QACD,MAAM,OAAO,CACZ,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YACvF,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CACF,CAAA;QACD,UAAU,EAAE,CAAA;QAEZ,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,IAAI,CAAC,CAAA;QACzF,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,OACC,CAAC,OAAO;YACR,IAAI,CAAC,MAAM;YACX,YAAY,GAAG,CAAC;YAChB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EACjD,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YAClC,MAAM,QAAQ,GAAG,SAAS,CAAC;gBAC1B,MAAM,EAAE,KAAK;gBACb,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,QAAQ;gBACR,QAAQ,EAAE,YAAY;aACtB,CAAC,CAAA;YACF,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,kBAAkB,QAAQ,CAAC,MAAM,GAAG,CAAA;gBAChE,MAAK;YACN,CAAC;YACD,KAAK,IAAI,CAAC,CAAA;YACV,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,qCAAqC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB,MAAM,CAAC,YAAY,UAAU,KAAK,KAAK,QAAQ,CAAC,QAAQ,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC,SAAS,CACtL,CAAA;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3E,mEAAmE;YACnE,yDAAyD;YACzD,IAAI,OAAO;gBAAE,MAAK;YAClB,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAA;YAC5B,KAAK,GAAG,SAAS,CAAA;YACjB,MAAM,OAAO,CACZ,OAAO,CAAC,YAAY,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,MAAM,EAAE,SAAS,CAAC,MAAM;aACxB,CAAC,CACF,CAAA;YACD,UAAU,EAAE,CAAA;QACb,CAAC;QACD,8DAA8D;QAC9D,IAAI,OAAO;YAAE,OAAO,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,uEAAuE;QACvE,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QAEhD,uEAAuE;QACvE,sEAAsE;QACtE,oBAAoB;QACpB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACrB,aAAa,CAAC,QAAQ,CAAC,CAAA;QACvB,uEAAuE;QACvE,kEAAkE;QAClE,wEAAwE;QACxE,MAAM,aAAa,EAAE,QAAQ,EAAE,CAAA;QAE/B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,WAAW,QAAQ,CAAC,MAAM,CAAC,SAAS,UAAU,QAAQ,CAAC,MAAM,CAAC,UAAU,wBAAwB,CAChG,CAAA;QACF,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACZ,oEAAoE;YACpE,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAC3B,IAAI,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;YACnF,CAAC;YACD,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,EAAE;aACtE,CAAC,CAAA;YACF,gEAAgE;YAChE,qEAAqE;YACrE,gEAAgE;YAChE,gEAAgE;YAChE,8DAA8D;YAC9D,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACvB,CAAC;QAED,mEAAmE;QACnE,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,mEAAmE;QACnE,sEAAsE;QACtE,yEAAyE;QACzE,gEAAgE;QAChE,iEAAiE;QACjE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1F,IAAI,UAAU,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC7C,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,iCAAiC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,EAAE;aAC5G,CAAC,CAAA;YACF,OAAO,CAAC,CAAA;QACT,CAAC;QACD,OAAO,CAAC,CAAA;IACT,CAAC,CAAC;CACF,CAAA"}
@@ -10,9 +10,9 @@
10
10
  */
11
11
  export const serveCommand = {
12
12
  name: 'serve',
13
- description: 'namzu has no daemon; a run is a process',
13
+ description: 'namzu has no daemon; each session is a process',
14
14
  handler: async ({ ctx }) => {
15
- ctx.formatter.info('namzu has no daemon and no cross-agent coordination surface. A run is an ordinary process: start one with `namzu`, or drive the SDK directly from your own service. Nothing needs to be running first.');
15
+ ctx.formatter.info('namzu has no daemon and no cross-agent coordination surface. Each session is an ordinary process: start one with `namzu`, or drive the SDK directly from your own service. Nothing needs to be running first.');
16
16
  return 0;
17
17
  },
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAe;IACvC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,yCAAyC;IACtD,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAC1B,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,wMAAwM,CACxM,CAAA;QACD,OAAO,CAAC,CAAA;IACT,CAAC;CACD,CAAA"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAe;IACvC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,gDAAgD;IAC7D,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAC1B,GAAG,CAAC,SAAS,CAAC,IAAI,CACjB,+MAA+M,CAC/M,CAAA;QACD,OAAO,CAAC,CAAA;IACT,CAAC;CACD,CAAA"}
@@ -60,17 +60,17 @@ export function renderStateReport(report) {
60
60
  lines.push(` ${category}: ${formatBytes(measure.logicalBytes)} · ${measure.files} files`);
61
61
  }
62
62
  const inventory = root.inventory;
63
- lines.push(` sessions ${inventory.sessions.files} · runs ${inventory.runs.files} · checkpoints ${inventory.checkpointFiles.files} (${formatBytes(inventory.checkpointFiles.logicalBytes)})`);
64
- if (inventory.emergencyDumpFiles.files > 0) {
65
- lines.push(` emergency dumps ${inventory.emergencyDumpFiles.files} (${formatBytes(inventory.emergencyDumpFiles.logicalBytes)})`);
63
+ if (inventory.projects > 0 || inventory.sessionLogs.files > 0) {
64
+ lines.push(` projects ${inventory.projects} · session logs ${inventory.sessionLogs.files} (${formatBytes(inventory.sessionLogs.logicalBytes)}) · subagent logs ${inventory.subagentLogs.files} · checkpoints ${inventory.checkpointFiles.files} (${formatBytes(inventory.checkpointFiles.logicalBytes)})`);
66
65
  }
67
66
  if (inventory.attachments.files > 0) {
68
67
  lines.push(` attachment files ${inventory.attachments.files} (${formatBytes(inventory.attachments.logicalBytes)}) · ${inventory.attachments.pairs} complete pairs · ${inventory.attachments.orphanedDataFiles + inventory.attachments.orphanedTypeFiles} orphan halves`);
69
68
  }
70
- const candidates = inventory.originOnlySessionCandidates;
71
- if (candidates.files > 0 || !candidates.complete) {
72
- lines.push(` origin-only candidates ${candidates.files} (${formatBytes(candidates.logicalBytes)}) · analysis ${candidates.complete ? 'complete' : 'incomplete'}`);
73
- lines.push(` ${candidates.limitation}`);
69
+ if (root.legacy.length > 0) {
70
+ lines.push(' legacy (the layout before session logs; not read by this version, never changed here):');
71
+ for (const entry of root.legacy) {
72
+ lines.push(` ${safePath(entry.path)} — ${formatBytes(entry.logicalBytes)} · ${entry.files} files`);
73
+ }
74
74
  }
75
75
  for (const boundary of root.privacy) {
76
76
  if (boundary.status === 'secure')
@@ -86,7 +86,7 @@ export function renderStateReport(report) {
86
86
  lines.push('');
87
87
  lines.push(`Project binding: ${report.projectBinding.status} — ${safeLine(report.projectBinding.detail)}`);
88
88
  lines.push(`Project config: ${report.projectConfig.status}${report.projectConfig.status === 'present' ? ` · ${formatBytes(report.projectConfig.logicalBytes)}` : ''} at ${safePath(report.projectConfig.path)}`);
89
- lines.push('No files were changed. Candidate state is not declared safe to delete.');
89
+ lines.push('No files were changed. Legacy state is reported, not declared safe to delete.');
90
90
  return lines.join('\n');
91
91
  }
92
92
  function formatBytes(bytes) {
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/commands/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/commands/state.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export interface LoadConfigOptions {
34
34
  *
35
35
  * A name that no file declares is an ERROR rather than a no-op. Someone
36
36
  * who typed `--profile revew` is running under settings they did not
37
- * choose, and every reading of the run after that is wrong; the cost of
37
+ * choose, and every reading of the turn after that is wrong; the cost of
38
38
  * refusing is one retyped word.
39
39
  */
40
40
  readonly profile?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAuBH,OAAO,EAIN,KAAK,cAAc,EAEnB,MAAM,aAAa,CAAA;AAQpB,MAAM,WAAW,iBAAiB;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,gEAAgE;IAChE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,QAGJ,CAAA;AAE5B;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC1D;;;;;;GAMG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACrD,4EAA4E;GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtD;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,CAAC,IAAI,MAAM,cAAc,CAAC,CAAC,EAAE,YAAY;CACnD,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,GAAE,iBAAsB,GAAG;IACvE,MAAM,EAAE,cAAc,CAAA;IACtB,UAAU,EAAE,gBAAgB,CAAA;CAC5B,CAKA;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,GAAE,iBAAsB,GAAG;IAChF,MAAM,EAAE,cAAc,CAAA;IACtB,UAAU,EAAE,gBAAgB,CAAA;CAC5B,CAKA;AA8HD,wBAAgB,UAAU,CAAC,IAAI,GAAE,iBAAsB,GAAG,cAAc,CAEvE;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACzC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;gBAET,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKxE;AAED,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9D;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;gBAEhB,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAU3E;AAusBD;;;;;;;;;;GAUG;AACH,KAAK,gBAAgB,GAAG;IACvB,QAAQ,EAAE,CAAC,IAAI,MAAM,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,GAAG,SAAS;CAClE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,gBA2ChC,CAAA"}
@@ -23,7 +23,7 @@
23
23
  */
24
24
  import { readFileSync } from 'node:fs';
25
25
  import { join, resolve } from 'node:path';
26
- import { SHELL_HOOK_EVENTS } from '@namzu/sdk';
26
+ import { RENAMED_PLUGIN_HOOK_EVENTS, SHELL_HOOK_EVENTS } from '@namzu/sdk';
27
27
  import { parse as yamlParse } from 'yaml';
28
28
  import { resolveNamzuHome } from '../integrations/state/home.js';
29
29
  import { isFormatName } from '../output/index.js';
@@ -91,7 +91,7 @@ function resolveConfigWithProvenance(opts, mode) {
91
91
  const projectCfg = mode.includeProject ? readJsonIfExists(projectPath) : {};
92
92
  const managedCfg = readJsonIfExists(managedPath);
93
93
  const { config: envCfg, variables: envVariables } = readEnv(env);
94
- // The command line first, then the environment. A flag is this run; a
94
+ // The command line first, then the environment. A flag is this turn; a
95
95
  // variable is this shell — so the narrower statement wins, the way it does
96
96
  // everywhere else here.
97
97
  const profileName = opts.profile ?? env.NAMZU_PROFILE;
@@ -132,7 +132,7 @@ function resolveConfigWithProvenance(opts, mode) {
132
132
  * profile of the same name is the ordinary case, and reporting both as "the
133
133
  * profile" would leave an operator opening the wrong file.
134
134
  *
135
- * Refuses a name nothing declares. The alternative is a run under settings
135
+ * Refuses a name nothing declares. The alternative is a turn under settings
136
136
  * nobody chose, reported as success.
137
137
  */
138
138
  function profileLayers(name, files, deferUnknown = false) {
@@ -498,6 +498,12 @@ const CONFIG_READERS = {
498
498
  const events = new Set(SHELL_HOOK_EVENTS);
499
499
  const out = {};
500
500
  for (const [event, entries] of Object.entries(v)) {
501
+ const renamed = Object.hasOwn(RENAMED_PLUGIN_HOOK_EVENTS, event)
502
+ ? RENAMED_PLUGIN_HOOK_EVENTS[event]
503
+ : undefined;
504
+ if (renamed !== undefined) {
505
+ return invalidConfigValue(context, [event], `was renamed; name it \`${renamed}\``);
506
+ }
501
507
  if (!events.has(event)) {
502
508
  return invalidConfigValue(context, [event], `is not a hook event (${SHELL_HOOK_EVENTS.join(', ')})`);
503
509
  }
@@ -628,8 +634,10 @@ const CONFIG_READERS = {
628
634
  if (!isConfigMapping(v))
629
635
  return invalidConfigValue(context, [], 'must be a mapping');
630
636
  const raw = v;
631
- if (raw.enabled !== undefined && typeof raw.enabled !== 'boolean') {
632
- return invalidConfigValue(context, ['enabled'], 'must be a boolean');
637
+ for (const key of ['enabled', 'allowEscape', 'allowUnattendedEscape']) {
638
+ if (raw[key] !== undefined && typeof raw[key] !== 'boolean') {
639
+ return invalidConfigValue(context, [key], 'must be a boolean');
640
+ }
633
641
  }
634
642
  if (raw.requireIsolation !== undefined && !Array.isArray(raw.requireIsolation)) {
635
643
  return invalidConfigValue(context, ['requireIsolation'], 'must be a list');
@@ -652,6 +660,10 @@ const CONFIG_READERS = {
652
660
  }
653
661
  return {
654
662
  ...(raw.enabled !== undefined ? { enabled: raw.enabled } : {}),
663
+ ...(raw.allowEscape !== undefined ? { allowEscape: raw.allowEscape } : {}),
664
+ ...(raw.allowUnattendedEscape !== undefined
665
+ ? { allowUnattendedEscape: raw.allowUnattendedEscape }
666
+ : {}),
655
667
  ...(requireIsolation !== undefined
656
668
  ? {
657
669
  requireIsolation: requireIsolation,