@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
@@ -1,19 +1,47 @@
1
1
  /**
2
- * The rows the provider picker lists: what this machine already has, then what
3
- * it could have if the operator supplied a credential.
2
+ * The rows the provider picker lists: one per vendor, each saying what this
3
+ * machine can currently do with it.
4
4
  *
5
- * The second half is the point. The picker used to list only what discovery
6
- * found, so the one provider an operator had SAVED and held a key for — but had
7
- * not yet exported as an environment variable — appeared nowhere on a screen
8
- * that exists to choose a provider. There was no row to select and therefore no
9
- * way to type its key: a list that showed four providers had no fifth row for
10
- * the fifth one, and the screen's other exit (a sign-in) is a different kind of
11
- * credential entirely.
5
+ * ## One vendor is one row
6
+ *
7
+ * The screen used to draw a row per provider id, so one vendor could be two
8
+ * rows: the session on the device under the subscription's own label, and below
9
+ * it the same vendor's name asking for the key it did not need. The operator
10
+ * holding the key had to work out which of the two rows was theirs.
11
+ *
12
+ * Rows are grouped by `ProviderRegistryEntry.vendor` — a field on the registry
13
+ * rather than a table here, because which ids are one vendor is a fact about
14
+ * the providers and the picker is only the first surface to need it; see
15
+ * `VENDOR_NAMES` for that field and for which ids are one vendor. A vendor
16
+ * whose ids reach the same service through different credentials is one row,
17
+ * which is the shape one entry in this registry has had all along: a single id
18
+ * taking an API key, a token variable, or a signed-in session. A vendor with
19
+ * two catalogues keeps two rows, because merging those would put a product
20
+ * decision inside a screen about credentials.
21
+ *
22
+ * ## What a row says, and what it holds
23
+ *
24
+ * The second column is what the machine has, not what the ideal setup is: the
25
+ * source of a session discovery found (`Codex session · this device`), or — when
26
+ * nothing was found for that vendor — the variable that would set it up
27
+ * (`needs OPENAI_API_KEY`). The variable is named rather than "not configured"
28
+ * because it is the one action that both makes the provider work now and keeps
29
+ * it working after a restart.
30
+ *
31
+ * Every way in that this build can offer is below in `paths`, in the order the
32
+ * screen offers them: what is already detected, then the API key, then — where
33
+ * nothing works yet — a sign-in the registry declares. A row with ONE way in
34
+ * leads straight to that way's flow, exactly as it did before this file grouped
35
+ * anything — Enter on an unconfigured row opens its paste field, Enter on a
36
+ * detected one opens its models. A row with SEVERAL cannot answer Enter by
37
+ * itself, so the screen asks how the operator means to use it; that is the only
38
+ * place this change added a step to, and it is a count of WAYS rather than of
39
+ * ids — see `rowNeedsChoice` and `vendorPaths`.
12
40
  *
13
41
  * ## What is added, and what is deliberately not
14
42
  *
15
- * A provider joins the list only when **this build can construct it** and it
16
- * **takes a credential the operator can type** — the registry's
43
+ * A vendor joins the list only when **this build can construct something in it**
44
+ * and it **takes a credential the operator can type** — the registry's
17
45
  * `constructible` and `acceptsTypedCredential` flags, read together and read
18
46
  * from the registry rather than listed here. Entering a key for anything else
19
47
  * produces a row that leads nowhere, which is worse than an absent row:
@@ -22,59 +50,218 @@
22
50
  * region, a session token, or a role the SDK assumes) rather than one
23
51
  * string. A single API-key field cannot express it, so the picker does not
24
52
  * offer it.
25
- * - `http` is a generic endpoint whose base URL is half the
26
- * credential. A key with nowhere to send it is not a setup.
27
- * - `lmstudio` cannot be constructed by this build at all.
28
- * - `ollama` needs a local server, not a secret.
29
- * - `codex` needs a device-code sign-in, which this screen already offers
30
- * with `l` and names on the sign-in screen. It is skipped here so that one
31
- * provider is not offered two different ways to be set up.
53
+ * - `http` is a generic endpoint whose base URL is half the credential. A key
54
+ * with nowhere to send it is not a setup.
55
+ * - `lmstudio` cannot be constructed by this build at all. Discovery may still
56
+ * find it, and a row for something genuinely on the machine stays on the
57
+ * machine's list — it just refuses, with the reason, when accepted.
58
+ * - `ollama` needs a local server, not a secret. A running server is how
59
+ * discovery finds it, and that is the only way it is listed.
60
+ *
61
+ * The sign-in inside a vendor row is not a second way to set that vendor up
62
+ * beside the first; it is the same path `l` reaches today, offered where the
63
+ * operator is already looking. Nothing here starts a credential flow of its
64
+ * own: a path names a provider the rest of the screen already knows how to
65
+ * handle.
32
66
  *
33
67
  * `provider-list.test.ts` asserts that exclusion list by NAME, so a registry
34
68
  * flag that flips turns the test red instead of silently adding or dropping a
35
69
  * row.
36
70
  */
37
- import { ALL_PROVIDER_IDS, PROVIDER_REGISTRY, } from '../integrations/providers/index.js';
38
- /** The provider a row is about, whichever kind of row it is. */
39
- export function rowProviderId(row) {
40
- return row.kind === 'detected' ? row.detected.entry.id : row.entry.id;
71
+ import { ALL_PROVIDER_IDS, PROVIDER_REGISTRY, VENDOR_NAMES, providerEntriesOfVendor, signedInSubscriptionProviders, } from '../integrations/providers/index.js';
72
+ /** The provider a path is about, whichever kind of path it is. */
73
+ export function pathProviderId(path) {
74
+ return path.kind === 'detected' ? path.detected.entry.id : path.entry.id;
41
75
  }
42
76
  /**
43
77
  * Providers this screen can set up by taking a credential from the operator.
44
78
  *
45
- * Derived from the registry, in registry order. Four of the twelve entries have
79
+ * Derived from the registry, in registry order. Five of the twelve entries have
46
80
  * a driver in this repository and are not listed here, for the reasons in the
47
- * module comment.
81
+ * module comment. `codex` is not among them either, and for a different reason:
82
+ * it takes no typed credential at all, and it is offered instead as the
83
+ * sign-in path of the vendor row it shares with the key entry beside it.
48
84
  */
49
85
  export function settableProviders() {
50
86
  return ALL_PROVIDER_IDS.map((id) => PROVIDER_REGISTRY[id]).filter((entry) => entry.constructible && entry.acceptsTypedCredential);
51
87
  }
88
+ /**
89
+ * Every way one vendor can be used, in the order the screen offers them:
90
+ * what is already detected, then the API key, then — where nothing works yet —
91
+ * a sign-in the registry declares.
92
+ *
93
+ * `entries` is passed rather than looked up so this can be read by a test
94
+ * against a vendor no registry holds — the shape of the answer is a fact about
95
+ * the flags, and the alternative is a rule only checkable by editing the
96
+ * registry.
97
+ *
98
+ * ## What counts as a second way in
99
+ *
100
+ * Not a second id — a second WAY. One entry can take an API key AND be found as
101
+ * a signed-in session, and a machine in that state has two genuinely different
102
+ * ways to use it: keep using the session discovery found, or enter a key of
103
+ * one's own. The same is true of a vendor whose free catalogue works without a
104
+ * credential. So the key path is offered beside what was found whenever what was
105
+ * found is not itself a key — a signed-in session is a different way in, and a
106
+ * key that discovery already hands over is the same way twice.
107
+ *
108
+ * "Is what was found a key?" is asked with the predicate the sign-in screen
109
+ * already decides it by (`signedInSubscriptionProviders`), rather than a second
110
+ * opinion written here: an OAuth token in an environment variable is a session
111
+ * on that screen and must be one here too, or the two screens would disagree
112
+ * about the same machine.
113
+ *
114
+ * ## Why a sign-in is offered only where nothing works yet
115
+ *
116
+ * A sign-in is how a vendor with nothing becomes usable. A vendor that is
117
+ * already usable has no such gap, and the operator who wants a SECOND way in —
118
+ * a Namzu-owned session beside the key they exported — is asking for something
119
+ * else: `l` starts one from any screen, and the footer says so. Offering it
120
+ * here as well would put a question in front of every operator whose key works
121
+ * and stop them answering it, once per launch, to serve a case that has another
122
+ * door. The vendor with a signed-in session and no key still shows both, which
123
+ * is the case this row was reported for.
124
+ *
125
+ * `includeUnconfigured` is false on the signed-in-subscription screen, which
126
+ * offers only sessions that are already usable; an API key path there would
127
+ * contradict that screen's one sentence.
128
+ */
129
+ export function vendorPaths(entries, detected, includeUnconfigured) {
130
+ const paths = [];
131
+ for (const provider of detected) {
132
+ // A provider this build cannot construct is not a way in. It stays in the
133
+ // row's `detected` so the row can say what it found and refuse with the
134
+ // reason — see `VendorRow`.
135
+ if (!provider.entry.constructible)
136
+ continue;
137
+ paths.push({ kind: 'detected', detected: provider });
138
+ }
139
+ if (!includeUnconfigured)
140
+ return paths;
141
+ // What is on this machine UNDER a signed-in session, as opposed to a key.
142
+ const signedIn = new Set(signedInSubscriptionProviders(detected).map((p) => p.entry.id));
143
+ const aKeyIsAlreadyHere = detected.some((provider) => !signedIn.has(provider.entry.id) &&
144
+ (provider.source.kind === 'env' || provider.source.kind === 'opencode-file'));
145
+ for (const entry of entries) {
146
+ if (!entry.constructible || !entry.acceptsTypedCredential)
147
+ continue;
148
+ if (aKeyIsAlreadyHere)
149
+ continue;
150
+ paths.push({ kind: 'credential', entry });
151
+ }
152
+ if (paths.some((path) => path.kind === 'detected'))
153
+ return paths;
154
+ for (const entry of entries) {
155
+ if (!entry.constructible || entry.subscriptionLogin === undefined)
156
+ continue;
157
+ paths.push({ kind: 'sign-in', entry });
158
+ }
159
+ return paths;
160
+ }
52
161
  /**
53
162
  * The full list, detected first and in the order discovery produced.
54
163
  *
55
- * Detected rows are passed through untouched: same order, same source text,
56
- * same numbering. Appending is what keeps that promise — anything that sorted,
57
- * merged or grouped the two together would move a row the operator has already
58
- * learned the position of.
164
+ * A vendor takes the position of the first provider detected for it, so the
165
+ * detected block keeps discovery's order and one vendor never appears in it
166
+ * twice. The block below keeps registry order — the order of the entries that
167
+ * can be set up, which is the order the screen drew those rows in before
168
+ * anything was grouped.
59
169
  *
60
170
  * `includeUnconfigured` is false on the signed-in-subscription screen, which
61
- * offers only sessions that are already usable; a row needing a key contradicts
62
- * that screen's one sentence.
171
+ * offers only sessions that are already usable.
63
172
  */
64
173
  export function providerListRows(detected, includeUnconfigured = true) {
65
- const rows = detected.map((provider) => ({
66
- kind: 'detected',
67
- detected: provider,
68
- }));
69
- if (!includeUnconfigured)
70
- return rows;
71
- const known = new Set(detected.map((provider) => provider.entry.id));
72
- for (const entry of settableProviders()) {
73
- if (known.has(entry.id))
174
+ const order = [];
175
+ const byVendor = new Map();
176
+ for (const provider of detected) {
177
+ const vendor = provider.entry.vendor;
178
+ const group = byVendor.get(vendor);
179
+ if (group) {
180
+ group.push(provider);
74
181
  continue;
75
- rows.push({ kind: 'unconfigured', entry });
182
+ }
183
+ byVendor.set(vendor, [provider]);
184
+ order.push(vendor);
185
+ }
186
+ if (includeUnconfigured) {
187
+ for (const entry of settableProviders()) {
188
+ if (byVendor.has(entry.vendor))
189
+ continue;
190
+ byVendor.set(entry.vendor, []);
191
+ order.push(entry.vendor);
192
+ }
76
193
  }
77
- return rows;
194
+ return order.map((vendor) => {
195
+ const group = byVendor.get(vendor) ?? [];
196
+ return {
197
+ vendor,
198
+ label: VENDOR_NAMES[vendor],
199
+ detected: group,
200
+ paths: vendorPaths(providerEntriesOfVendor(vendor), group, includeUnconfigured),
201
+ };
202
+ });
203
+ }
204
+ /**
205
+ * Whether anything on this row can be used at all.
206
+ *
207
+ * False means the row is a discovery this build cannot construct — the one case
208
+ * where the screen may list something it must then refuse, rather than a row
209
+ * that needs a credential first.
210
+ */
211
+ export function rowIsUsable(row) {
212
+ return row.paths.length > 0;
213
+ }
214
+ /**
215
+ * Whether entering the row has to ask how the operator means to use it.
216
+ *
217
+ * True exactly when the row has more than one way in — by the ways that exist,
218
+ * and not by how many registry ids they come from. One id can have two ways (a
219
+ * signed-in session beside an API key) and two ids can share one way, so
220
+ * counting ids answered the wrong question in both directions: it asked nothing
221
+ * about a vendor that had a session AND a key to choose between, and it would
222
+ * have asked twice about two ids that were one and the same key.
223
+ *
224
+ * A row with ONE way is not asked. That is the common case and the one the
225
+ * owner's rule protects: nothing stands between the operator and their model
226
+ * list when there is nothing to choose, and Enter goes on meaning what it has
227
+ * always meant — the detected session's models, or the field that takes the
228
+ * credential this row is missing.
229
+ */
230
+ export function rowNeedsChoice(row) {
231
+ return row.paths.length > 1;
232
+ }
233
+ /**
234
+ * The entry a typed credential would be taken for on this row, if there is one.
235
+ *
236
+ * Asked of the whole vendor and not of the row's paths, deliberately: `k` takes
237
+ * a credential for the provider under the cursor so it can be used for THIS
238
+ * session, which is meaningful even when that provider is already detected and
239
+ * therefore has no credential path — a detected vendor is not one whose key the
240
+ * operator may not replace for the next hour.
241
+ *
242
+ * `acceptsTypedCredential` alone, and not `constructible` beside it, because
243
+ * this is the question `k` has always asked of the highlighted row. A detected
244
+ * provider this build cannot construct still takes a typed credential, and
245
+ * answering "it does not" would be false about the provider to make a point
246
+ * about the build — which is the refusal the row itself gives when it is
247
+ * accepted, in the words `unsupportedProviderMessage` writes.
248
+ */
249
+ export function typedCredentialEntry(row) {
250
+ if (!row)
251
+ return undefined;
252
+ return providerEntriesOfVendor(row.vendor).find((entry) => entry.acceptsTypedCredential);
253
+ }
254
+ /**
255
+ * What a row with nothing detected is missing, named as the thing to act on.
256
+ *
257
+ * Null for a vendor whose members take no typed credential — a local server, or
258
+ * a vendor this build cannot construct — because those rows have a source
259
+ * column that says something else and a sentence here would name a variable
260
+ * nobody can use.
261
+ */
262
+ export function rowCredentialNeed(row) {
263
+ const entry = typedCredentialEntry(row);
264
+ return entry ? credentialNeed(entry) : null;
78
265
  }
79
266
  /**
80
267
  * What an unconfigured row is missing, named as the thing to act on.
@@ -96,6 +283,17 @@ export function credentialNeed(entry) {
96
283
  return 'needs a credential';
97
284
  return entry.requiresApiKey ? `needs ${envName}` : `${envName} optional`;
98
285
  }
286
+ /** Whether a row is about a given provider id — detected there, or a way in. */
287
+ export function rowHasProvider(row, id) {
288
+ return (row.detected.some((provider) => provider.entry.id === id) ||
289
+ row.paths.some((path) => pathProviderId(path) === id));
290
+ }
291
+ /** The index of the row holding a provider, or -1 when no row does. */
292
+ export function rowIndexOfProvider(rows, id) {
293
+ if (id === null || id === undefined)
294
+ return -1;
295
+ return rows.findIndex((row) => rowHasProvider(row, id));
296
+ }
99
297
  /**
100
298
  * Where the cursor starts.
101
299
  *
@@ -107,19 +305,17 @@ export function credentialNeed(entry) {
107
305
  * `detected`, so it used to fall through to row 1: the picker opened saying
108
306
  * "no credential found" for the saved provider with the cursor elsewhere. Now the
109
307
  * highlighted row IS the row that needs the key, which is also the row `k`
110
- * targets.
308
+ * targets. Both lookups ask the row, not the vendor: a saved `codex` and a
309
+ * saved subscription id and a saved key id are the same row, and either one
310
+ * lands the cursor on it.
111
311
  */
112
312
  export function initialProviderRow(rows, currentProvider, keyEntryFor) {
113
- if (currentProvider !== null && currentProvider !== undefined) {
114
- const at = rows.findIndex((row) => rowProviderId(row) === currentProvider);
115
- if (at >= 0)
116
- return at;
117
- }
118
- if (keyEntryFor !== null && keyEntryFor !== undefined) {
119
- const at = rows.findIndex((row) => rowProviderId(row) === keyEntryFor);
120
- if (at >= 0)
121
- return at;
122
- }
313
+ const current = rowIndexOfProvider(rows, currentProvider);
314
+ if (current >= 0)
315
+ return current;
316
+ const entry = rowIndexOfProvider(rows, keyEntryFor);
317
+ if (entry >= 0)
318
+ return entry;
123
319
  return 0;
124
320
  }
125
321
  //# sourceMappingURL=provider-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-list.js","sourceRoot":"","sources":["../../src/tui/provider-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EACN,gBAAgB,EAEhB,iBAAiB,GAGjB,MAAM,oCAAoC,CAAA;AAe3C,gEAAgE;AAChE,MAAM,UAAU,aAAa,CAAC,GAAoB;IACjD,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAA;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB;IAChC,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAChE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,sBAAsB,CAC9D,CAAA;AACF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC/B,QAAqC,EACrC,mBAAmB,GAAG,IAAI;IAE1B,MAAM,IAAI,GAAsB,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,QAAQ;KAClB,CAAC,CAAC,CAAA;IACH,IAAI,CAAC,mBAAmB;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACpE,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAQ;QACjC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,KAA4B;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,oBAAoB,CAAA;IACzC,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,WAAW,CAAA;AACzE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CACjC,IAAgC,EAChC,eAA0C,EAC1C,WAA0C;IAE1C,IAAI,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,CAAA;QAC1E,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,EAAE,CAAA;IACvB,CAAC;IACD,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAA;QACtE,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,EAAE,CAAA;IACvB,CAAC;IACD,OAAO,CAAC,CAAA;AACT,CAAC"}
1
+ {"version":3,"file":"provider-list.js","sourceRoot":"","sources":["../../src/tui/provider-list.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type RunLimitsAction } from './run-limits-settings.js';
1
+ import { type TurnLimitsAction } from './turn-limits-settings.js';
2
2
  /**
3
3
  * Slash command registry + parser. Pure logic — no React. Unit-tested.
4
4
  *
@@ -23,11 +23,10 @@ import { type RunLimitsAction } from './run-limits-settings.js';
23
23
  * would put the answer
24
24
  * to "does block 4 exist" in two places at once.
25
25
  */
26
- import { type AuthorizationRule, type CostInfo, type HostCommandOutcome, type ReasoningEffort, type SerializableHostCommand, type TokenBudgetSummary } from '@namzu/sdk';
26
+ import { type AuthorizationRule, type CostInfo, type HostCommandOutcome, type MemoryType, type ReasoningEffort, type SerializableHostCommand, type SessionTokenBudgetSummary } from '@namzu/sdk';
27
27
  import { type ConfigDebugSnapshot } from '../config/debug.js';
28
28
  import type { HooksConfig } from '../config/schema.js';
29
29
  import type { SandboxSummary } from '../context/sandbox.js';
30
- import type { OrchestrationRun } from '../integrations/subagents/runs.js';
31
30
  import { type PermissionMode } from '../permissions/mode.js';
32
31
  import { type UserCommand } from '../user-commands/store.js';
33
32
  /** One row in the interactive `/help` command palette. */
@@ -48,16 +47,16 @@ export type SlashAction = {
48
47
  kind: 'command-picker';
49
48
  commands: readonly CommandPickerEntry[];
50
49
  }
51
- /** Observe child runs retained by this TUI conversation. */
52
- | {
53
- kind: 'agent-cockpit';
54
- }
55
- /** List past and running orchestration runs; App reads live state and saved evidence. */
50
+ /**
51
+ * `/agents [running|available|batches]`, answered by the delegation UI's
52
+ * `agentsSlashCommand` — App supplies the live monitor and saved batches.
53
+ */
56
54
  | {
57
- kind: 'agent-runs';
55
+ kind: 'agents';
56
+ args: readonly string[];
58
57
  } | {
59
58
  kind: 'settings-picker';
60
- } | RunLimitsAction | {
59
+ } | TurnLimitsAction | {
61
60
  kind: 'provider-setup';
62
61
  } | {
63
62
  kind: 'goal-picker';
@@ -124,8 +123,14 @@ export type SlashAction = {
124
123
  kind: 'remember';
125
124
  text: string;
126
125
  scope: 'project' | 'user';
126
+ /** Stored-memory type for a project note; `project` when absent. */
127
+ memoryType?: MemoryType;
127
128
  } | {
128
129
  kind: 'show-memory';
130
+ }
131
+ /** Move the project's curated `#note`-shaped bullets into stored memory. */
132
+ | {
133
+ kind: 'import-notes';
129
134
  } | {
130
135
  kind: 'list-skills';
131
136
  } | {
@@ -140,6 +145,14 @@ export type SlashAction = {
140
145
  } | {
141
146
  kind: 'resume';
142
147
  }
148
+ /**
149
+ * Close this conversation's paused or interrupted turn without resuming it,
150
+ * so the next prompt can begin one. `reason` is recorded on the turn.
151
+ */
152
+ | {
153
+ kind: 'abandon';
154
+ reason: string;
155
+ }
143
156
  /**
144
157
  * Name this conversation, open its name editor, or take the name away.
145
158
  *
@@ -235,7 +248,7 @@ export type SlashAction = {
235
248
  args: readonly string[];
236
249
  }
237
250
  /**
238
- * Record a judgment on the run's last assistant message.
251
+ * Record a judgment on the turn's last assistant message.
239
252
  *
240
253
  * Carries the id rather than leaving App to re-derive it: the command
241
254
  * has already decided there IS one, and re-deriving would open a window
@@ -366,13 +379,13 @@ export interface SlashContext {
366
379
  * a question someone asked on purpose.
367
380
  */
368
381
  readonly usage: {
369
- readonly budget?: TokenBudgetSummary;
382
+ readonly budget?: SessionTokenBudgetSummary;
370
383
  readonly totalTokens: number;
371
384
  readonly cost: CostInfo;
372
385
  /**
373
- * How full the context is, when the run knows: the numerator and the
386
+ * How full the context is, when the turn knows: the numerator and the
374
387
  * window with their provenance, from the `usage` event. Absent when
375
- * the run resolved no window. Printed here, on request, rather than in
388
+ * the turn resolved no window. Printed here, on request, rather than in
376
389
  * the footer — the persistent gauge was removed on purpose for a
377
390
  * quieter frame, and `/cost` is where a person asks.
378
391
  */
@@ -443,7 +456,7 @@ export interface SlashContext {
443
456
  */
444
457
  readonly builtins?: readonly SlashCommand[];
445
458
  /**
446
- * The last assistant message this run produced, or `null` before there
459
+ * The last assistant message this turn produced, or `null` before there
447
460
  * is one.
448
461
  *
449
462
  * A function, like every other field here that moves while namzu runs —
@@ -576,35 +589,11 @@ export declare function initPrompt(instructionFiles: readonly string[]): string;
576
589
  export declare function renderHooks(hooks: HooksConfig | undefined): string;
577
590
  /** The session's background jobs, as an operator would ask about them. */
578
591
  export declare function renderJobs(jobs: ReturnType<SlashContext['jobs']>): string;
579
- /**
580
- * Runs shown newest first, bounded the way {@link DelegationHistory}'s own
581
- * reads are: a page an operator can actually read, plus an honest count of
582
- * what did not fit rather than a listing that quietly grows with the whole
583
- * estate.
584
- */
585
- export declare const MAX_LISTED_ORCHESTRATION_RUNS = 20;
586
- export interface OrchestrationRunsListing {
587
- readonly runs: readonly OrchestrationRun[];
588
- readonly omitted: number;
589
- }
590
- /**
591
- * Merges a conversation's still-running runs with its finished ones into the
592
- * one list `/agents runs` shows.
593
- *
594
- * A run id named by both sources keeps its LIVE row and drops the disk one:
595
- * the live monitor is the fresher account of a run this process can still
596
- * watch directly, and the disk copy of that same id can only be a run.json
597
- * still being written to — never authority over a run its own process is
598
- * still reporting on live.
599
- */
600
- export declare function combineOrchestrationRuns(live: readonly OrchestrationRun[], finished: readonly OrchestrationRun[]): OrchestrationRunsListing;
601
- /** The honest empty answer for `/agents runs`; a non-empty listing opens the picker instead. */
602
- export declare function renderAgentRuns(listing: OrchestrationRunsListing): string | undefined;
603
592
  export declare function renderContext(usage: SlashContext['usage'], compaction: CompactionSummary | null, details?: boolean): string;
604
593
  export declare function renderCost(usage: SlashContext['usage'], compaction?: CompactionSummary | null, details?: boolean): string;
605
594
  /** What decides a tool call, in the order it actually decides it. */
606
595
  /**
607
- * One page holding both halves of what a run may do.
596
+ * One page holding both halves of what a turn may do.
608
597
  *
609
598
  * They are separate mechanisms and they answer separate questions — where a
610
599
  * write may land, and whether anyone is asked first — and neither implies the
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommands.d.ts","sourceRoot":"","sources":["../../src/tui/slashCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashCommands.d.ts","sourceRoot":"","sources":["../../src/tui/slashCommands.ts"],"names":[],"mappings":"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"}