@wrongstack/cli 0.286.0 → 0.289.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 (166) hide show
  1. package/README.md +93 -1
  2. package/dist/arg-parser.d.ts.map +1 -1
  3. package/dist/auth-menu/add-provider.d.ts.map +1 -1
  4. package/dist/auth-menu/anthropic-oauth.d.ts.map +1 -1
  5. package/dist/auth-menu/index.d.ts +1 -0
  6. package/dist/auth-menu/index.d.ts.map +1 -1
  7. package/dist/auth-menu/oauth-menu.d.ts +11 -0
  8. package/dist/auth-menu/oauth-menu.d.ts.map +1 -1
  9. package/dist/auth-menu/openai-codex-oauth.d.ts.map +1 -1
  10. package/dist/boot/dispatch-webui.d.ts +7 -0
  11. package/dist/boot/dispatch-webui.d.ts.map +1 -1
  12. package/dist/boot/launch-menu.d.ts +129 -0
  13. package/dist/boot/launch-menu.d.ts.map +1 -0
  14. package/dist/boot/short-circuit-hq.d.ts.map +1 -1
  15. package/dist/boot/simpleui-full-auto.d.ts +21 -0
  16. package/dist/boot/simpleui-full-auto.d.ts.map +1 -0
  17. package/dist/boot/system-prompt-builder.d.ts.map +1 -1
  18. package/dist/boot/tool-registry.d.ts.map +1 -1
  19. package/dist/boot/{tui-autophase-wiring.d.ts → tui-goal-wiring.d.ts} +6 -6
  20. package/dist/boot/tui-goal-wiring.d.ts.map +1 -0
  21. package/dist/boot/tui-session-resume.d.ts +3 -1
  22. package/dist/boot/tui-session-resume.d.ts.map +1 -1
  23. package/dist/boot/tui-settings-adapter.d.ts.map +1 -1
  24. package/dist/boot.d.ts +14 -0
  25. package/dist/boot.d.ts.map +1 -1
  26. package/dist/cli-context.d.ts +1 -0
  27. package/dist/cli-context.d.ts.map +1 -1
  28. package/dist/cli-entry-point.d.ts +19 -0
  29. package/dist/cli-entry-point.d.ts.map +1 -1
  30. package/dist/cli-main.d.ts.map +1 -1
  31. package/dist/config-doctor.d.ts.map +1 -1
  32. package/dist/execute-deps.d.ts +15 -1
  33. package/dist/execute-deps.d.ts.map +1 -1
  34. package/dist/execution.d.ts +3 -1
  35. package/dist/execution.d.ts.map +1 -1
  36. package/dist/fleet/host.d.ts +32 -46
  37. package/dist/fleet/host.d.ts.map +1 -1
  38. package/dist/fleet/status-broadcast.d.ts +4 -4
  39. package/dist/fleet/status-broadcast.d.ts.map +1 -1
  40. package/dist/{autophase-host.d.ts → goal-host.d.ts} +30 -30
  41. package/dist/goal-host.d.ts.map +1 -0
  42. package/dist/hq-server/auth.d.ts +27 -3
  43. package/dist/hq-server/auth.d.ts.map +1 -1
  44. package/dist/hq-server/snapshot.d.ts +4 -2
  45. package/dist/hq-server/snapshot.d.ts.map +1 -1
  46. package/dist/hq-server/utils.d.ts +9 -2
  47. package/dist/hq-server/utils.d.ts.map +1 -1
  48. package/dist/hq-server/ws.d.ts.map +1 -1
  49. package/dist/hq-server.d.ts +26 -0
  50. package/dist/hq-server.d.ts.map +1 -1
  51. package/dist/index.js +9136 -4970
  52. package/dist/index.js.map +4 -4
  53. package/dist/input-reader.d.ts +2 -0
  54. package/dist/input-reader.d.ts.map +1 -1
  55. package/dist/launch-hints.d.ts +5 -3
  56. package/dist/launch-hints.d.ts.map +1 -1
  57. package/dist/next-task-predictor.d.ts.map +1 -1
  58. package/dist/pre-launch/launch-prompts.d.ts +1 -4
  59. package/dist/pre-launch/launch-prompts.d.ts.map +1 -1
  60. package/dist/provider-id.d.ts +13 -0
  61. package/dist/provider-id.d.ts.map +1 -0
  62. package/dist/repl.d.ts.map +1 -1
  63. package/dist/services/project-facts.d.ts.map +1 -1
  64. package/dist/session-event-wiring.d.ts +8 -1
  65. package/dist/session-event-wiring.d.ts.map +1 -1
  66. package/dist/simpleui-dist.d.ts +7 -0
  67. package/dist/simpleui-dist.d.ts.map +1 -0
  68. package/dist/slash-commands/clear.d.ts +1 -1
  69. package/dist/slash-commands/clear.d.ts.map +1 -1
  70. package/dist/slash-commands/delegate.d.ts +1 -1
  71. package/dist/slash-commands/fallback.d.ts.map +1 -1
  72. package/dist/slash-commands/goal-refiner.d.ts +14 -2
  73. package/dist/slash-commands/goal-refiner.d.ts.map +1 -1
  74. package/dist/slash-commands/goal.d.ts +9 -0
  75. package/dist/slash-commands/goal.d.ts.map +1 -1
  76. package/dist/slash-commands/index.d.ts +33 -14
  77. package/dist/slash-commands/index.d.ts.map +1 -1
  78. package/dist/slash-commands/interrupt.d.ts +10 -0
  79. package/dist/slash-commands/interrupt.d.ts.map +1 -1
  80. package/dist/slash-commands/memory.d.ts.map +1 -1
  81. package/dist/slash-commands/mode.d.ts.map +1 -1
  82. package/dist/slash-commands/provider-status.d.ts +21 -0
  83. package/dist/slash-commands/provider-status.d.ts.map +1 -0
  84. package/dist/slash-commands/refiner.d.ts.map +1 -1
  85. package/dist/slash-commands/settings.d.ts.map +1 -1
  86. package/dist/slash-commands/spawn-agents.d.ts.map +1 -1
  87. package/dist/slash-commands/suggest.d.ts.map +1 -1
  88. package/dist/slash-commands/techstack.d.ts.map +1 -1
  89. package/dist/slash-commands/telegram-pairing.d.ts +41 -0
  90. package/dist/slash-commands/telegram-pairing.d.ts.map +1 -0
  91. package/dist/slash-commands/telegram-settings.d.ts.map +1 -1
  92. package/dist/slash-commands/telegram-setup.d.ts +13 -5
  93. package/dist/slash-commands/telegram-setup.d.ts.map +1 -1
  94. package/dist/slash-commands/tuneup.d.ts +1 -1
  95. package/dist/slash-commands/worktree.d.ts +1 -1
  96. package/dist/subcommands/handlers/auth.d.ts.map +1 -1
  97. package/dist/subcommands/handlers/chronicle.d.ts +4 -0
  98. package/dist/subcommands/handlers/chronicle.d.ts.map +1 -0
  99. package/dist/subcommands/handlers/hq.d.ts.map +1 -1
  100. package/dist/subcommands/handlers/mailbox-serve.d.ts.map +1 -1
  101. package/dist/subcommands/handlers/rewind.d.ts.map +1 -1
  102. package/dist/subcommands/handlers/update.d.ts +12 -1
  103. package/dist/subcommands/handlers/update.d.ts.map +1 -1
  104. package/dist/subcommands/handlers/version-help.d.ts.map +1 -1
  105. package/dist/subcommands/index.d.ts.map +1 -1
  106. package/dist/tuneup.d.ts.map +1 -1
  107. package/dist/update-check.d.ts +13 -2
  108. package/dist/update-check.d.ts.map +1 -1
  109. package/dist/webui-server/connection-handler.d.ts +8 -2
  110. package/dist/webui-server/connection-handler.d.ts.map +1 -1
  111. package/dist/webui-server/kanban-run-mirror.d.ts +77 -0
  112. package/dist/webui-server/kanban-run-mirror.d.ts.map +1 -0
  113. package/dist/webui-server/kanban-supervisor.d.ts +36 -0
  114. package/dist/webui-server/kanban-supervisor.d.ts.map +1 -0
  115. package/dist/webui-server/lifecycle.d.ts +6 -2
  116. package/dist/webui-server/lifecycle.d.ts.map +1 -1
  117. package/dist/webui-server/message-router.d.ts +8 -2
  118. package/dist/webui-server/message-router.d.ts.map +1 -1
  119. package/dist/webui-server/prefs-seeding.d.ts +1 -1
  120. package/dist/webui-server/prefs-seeding.d.ts.map +1 -1
  121. package/dist/webui-server/provider-config.d.ts +1 -1
  122. package/dist/webui-server/session-start-payload.d.ts.map +1 -1
  123. package/dist/webui-server/session-status-poll.d.ts +2 -0
  124. package/dist/webui-server/session-status-poll.d.ts.map +1 -1
  125. package/dist/webui-server/setup-events.d.ts +1 -1
  126. package/dist/webui-server/setup-events.d.ts.map +1 -1
  127. package/dist/webui-server/static-serve.d.ts +19 -3
  128. package/dist/webui-server/static-serve.d.ts.map +1 -1
  129. package/dist/webui-server/stream-coalescer.d.ts +8 -0
  130. package/dist/webui-server/stream-coalescer.d.ts.map +1 -1
  131. package/dist/webui-server/ws-handlers/agent-config.d.ts +31 -2
  132. package/dist/webui-server/ws-handlers/agent-config.d.ts.map +1 -1
  133. package/dist/webui-server/ws-handlers/context.d.ts +1 -1
  134. package/dist/webui-server/ws-handlers/index.d.ts +1 -1
  135. package/dist/webui-server/ws-handlers/index.d.ts.map +1 -1
  136. package/dist/webui-server/ws-handlers/kanban.d.ts +12 -0
  137. package/dist/webui-server/ws-handlers/kanban.d.ts.map +1 -1
  138. package/dist/webui-server/ws-handlers/prefs.d.ts +2 -0
  139. package/dist/webui-server/ws-handlers/prefs.d.ts.map +1 -1
  140. package/dist/webui-server/ws-handlers/providers.d.ts +10 -0
  141. package/dist/webui-server/ws-handlers/providers.d.ts.map +1 -1
  142. package/dist/webui-server/ws-handlers/sessions.d.ts.map +1 -1
  143. package/dist/webui-server/ws-handlers/worklist.d.ts +1 -1
  144. package/dist/webui-server.d.ts +15 -3
  145. package/dist/webui-server.d.ts.map +1 -1
  146. package/dist/wiring/brain-and-orchestration.d.ts +4 -1
  147. package/dist/wiring/brain-and-orchestration.d.ts.map +1 -1
  148. package/dist/wiring/codebase-index.d.ts.map +1 -1
  149. package/dist/wiring/controllers.d.ts +4 -0
  150. package/dist/wiring/controllers.d.ts.map +1 -1
  151. package/dist/wiring/plugins.d.ts.map +1 -1
  152. package/dist/wiring/provider-runtime-setup.d.ts +5 -1
  153. package/dist/wiring/provider-runtime-setup.d.ts.map +1 -1
  154. package/dist/wiring/sdd-handlers.d.ts +2 -0
  155. package/dist/wiring/sdd-handlers.d.ts.map +1 -0
  156. package/dist/wiring/session.d.ts +17 -0
  157. package/dist/wiring/session.d.ts.map +1 -1
  158. package/dist/wiring/slash-commands.d.ts +3 -1
  159. package/dist/wiring/slash-commands.d.ts.map +1 -1
  160. package/dist/wiring/super-memory.d.ts.map +1 -1
  161. package/dist/wiring/tools.d.ts.map +1 -1
  162. package/package.json +21 -18
  163. package/dist/autophase-host.d.ts.map +0 -1
  164. package/dist/boot/tui-autophase-wiring.d.ts.map +0 -1
  165. package/dist/slash-commands/autophase.d.ts +0 -13
  166. package/dist/slash-commands/autophase.d.ts.map +0 -1
package/README.md CHANGED
@@ -15,7 +15,8 @@ The `wrongstack` umbrella package transitively installs `@wrongstack/cli` along
15
15
  ## Commands
16
16
 
17
17
  ```bash
18
- wstack # interactive REPLno flags = default
18
+ wstack # interactive launch menu (TTY only) pick TUI/REPL, WebUI, SimpleUI, or HQ
19
+ wstack --no-menu # same as plain `wstack` but skip the launch menu and use saved defaults
19
20
  wstack --tui # Ink-based TUI
20
21
  wstack desktop # Electron desktop app (same as --desktop)
21
22
  wstack webui # project WebUI (same as --webui)
@@ -26,6 +27,40 @@ wstack "refactor src/auth.ts" # one-shot query (no interactive loop)
26
27
  wstack --provider <id> --model <id> # skip the picker
27
28
  wstack --resume <session-id> # resume a saved session
28
29
  wstack resume <session-id> # equivalent
30
+ ```
31
+
32
+ ### Launch menu
33
+
34
+ When `wstack` is invoked on an interactive TTY with no surface flag, the CLI
35
+ prints a four-option launch menu and waits for a numeric choice:
36
+
37
+ ```
38
+ ✱ WrongStack launch mode
39
+ ? Choose how to run WrongStack:
40
+ 1) TUI / REPL (interactive terminal; TUI is the default)
41
+ 2) WebUI (browser-based project UI; port 3456)
42
+ 3) SimpleUI (lightweight browser UI; port 3466)
43
+ 4) HQ (project-independent HQ dashboard; port 3499)
44
+ [1-4, q to quit] (auto 1 in 8s)
45
+ ```
46
+
47
+ If you previously picked a mode, the menu shows a one-line summary and a
48
+ single `Continue with these? [Y/n/q]` confirmation instead of re-asking
49
+ the same question. The chosen mode + port are persisted to
50
+ `~/.wrongstack/config.json` (`launch.menuChoice`) so the next launch can
51
+ offer the summary gate.
52
+
53
+ The menu is automatically skipped when:
54
+
55
+ - stdin is not a TTY (CI, pipes, redirects) — exit code mirrors a flag-based launch
56
+ - any surface flag is present (`--webui`, `--simpleui`, `--hq`, `--desktop`)
57
+ - a positional subcommand is given (`auth`, `init`, `mcp`, `plugin`, `doctor`, …)
58
+ - `--no-menu`, `--no-interactive`, or `--skip` is set
59
+ - a positional query or `--prompt <text>` is supplied (one-shot mode)
60
+
61
+ Use `--no-menu` to bypass the menu in scripts or when you want to opt
62
+ into the historical behaviour where the first interactive prompt you see
63
+ is the existing TUI/REPL picker from `runLaunchPrompts`.
29
64
 
30
65
  wstack init # interactive provider+model wizard
31
66
  wstack doctor # config/key/MCP/Node health check
@@ -63,6 +98,62 @@ wstack plugin remove @wrongstack/telegram # remove from config.plugins
63
98
  /exit # quit
64
99
  ```
65
100
 
101
+ ## Mailbox HTTP surfaces
102
+
103
+ The canonical external-agent mailbox protocol lives in
104
+ `packages/core/src/coordination/mailbox-http-router.ts` and is
105
+ mounted by two CLI surfaces.
106
+
107
+ ### `wstack mailbox serve` — standalone bridge
108
+
109
+ ```bash
110
+ wstack mailbox serve [--port <n>] [--strict-port] [--host <ip>]
111
+ ```
112
+
113
+ Starts a loopback HTTP bridge over one project's
114
+ `GlobalMailbox` with a per-project lock, token file, and 120/min
115
+ sliding-window rate limit. Routes match the table below.
116
+
117
+ ### HQ project gateway — `wstack --hq`
118
+
119
+ When HQ runs, external agents can talk to any registered project's
120
+ mailbox through the project-scoped gateway:
121
+
122
+ ```text
123
+ POST /api/projects/<projectId>/mailbox/send
124
+ POST /api/projects/<projectId>/mailbox/query
125
+ POST /api/projects/<projectId>/mailbox/check
126
+ POST /api/projects/<projectId>/mailbox/ack
127
+ POST /api/projects/<projectId>/mailbox/ack-many
128
+ POST /api/projects/<projectId>/mailbox/unread-count
129
+ POST /api/projects/<projectId>/mailbox/agents/register
130
+ POST /api/projects/<projectId>/mailbox/agents/heartbeat
131
+ POST /api/projects/<projectId>/mailbox/register-client
132
+ POST /api/projects/<projectId>/mailbox/heartbeat
133
+ GET /api/projects/<projectId>/mailbox/agents
134
+ GET /api/projects/<projectId>/mailbox/agents/online
135
+ GET /api/projects/<projectId>/mailbox/events # SSE stream
136
+ GET /healthz # both hosts
137
+ ```
138
+
139
+ `projectId` is resolved server-side via `SessionRegistry`; raw
140
+ filesystem paths are never accepted. Requires a browser token with
141
+ `control.enqueue`. See
142
+ [docs/subcommands/hq.md § Project-scoped mailbox gateway](docs/subcommands/hq.md#project-scoped-mailbox-gateway-apiprojectsprojectidmailboxroute)
143
+ for the full endpoint contract and curl examples.
144
+
145
+ ### Why one implementation?
146
+
147
+ The shared router owns the canonical wire protocol — request shape,
148
+ response codes, validation, reserved-identity protection, SSE framing,
149
+ and `router.close()` semantics. Both the standalone bridge and HQ
150
+ deliver byte-identical behaviour for the same input, so external
151
+ agents only need to learn one protocol. The bridge owns its lock and
152
+ token file; HQ owns its existing browser auth and `control.enqueue`
153
+ capability gate. Both mount the router via
154
+ `createMailboxHttpRouter({ mailbox, eventEmitter, authorize, rateLimiter })`,
155
+ exported from `@wrongstack/core/coordination`.
156
+
66
157
  ## Configuration
67
158
 
68
159
  ```
@@ -101,6 +192,7 @@ API keys are encrypted at rest with AES-256-GCM and the key file at `~/.wrongsta
101
192
  | `--desktop` | Open WrongStack Desktop (also `wstack desktop`) |
102
193
  | `--webui` | Serve the project WebUI (also `wstack webui`) |
103
194
  | `--hq` | Start the project-independent HQ dashboard (also `wstack hq`) |
195
+ | `--no-menu` | Skip the interactive launch menu (use saved default or TUI/REPL) |
104
196
  | `--yolo` | Auto-approve tool calls unless explicitly denied |
105
197
  | `--confirm-destructive` | Deprecated compatibility flag; YOLO no longer prompts by destructiveness |
106
198
  | `--yolo-destructive` | Deprecated compatibility flag; YOLO no longer prompts by destructiveness |
@@ -1 +1 @@
1
- {"version":3,"file":"arg-parser.d.ts","sourceRoot":"","sources":["../src/arg-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kEAAkE;AAClE,eAAO,MAAM,aAAa,aAwCxB,CAAC;AAIH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoCpD;AA6BD,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,kBAAkB,EAAE,UAAU,GAAG,SAAS,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAChC;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAyBxD;AAID,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CA8CzD"}
1
+ {"version":3,"file":"arg-parser.d.ts","sourceRoot":"","sources":["../src/arg-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kEAAkE;AAClE,eAAO,MAAM,aAAa,aA0DxB,CAAC;AAIH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoCpD;AAyCD,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,kBAAkB,EAAE,UAAU,GAAG,SAAS,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAChC;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAyBxD;AAID,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CA8CzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"add-provider.d.ts","sourceRoot":"","sources":["../../src/auth-menu/add-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAc,MAAM,kBAAkB,CAAC;AAerF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,wBAAsB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAwCzE;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,OAAO,CAAC,CA0ElB;AAMD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAmE5E;AAsCD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC,CAuClB"}
1
+ {"version":3,"file":"add-provider.d.ts","sourceRoot":"","sources":["../../src/auth-menu/add-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAc,MAAM,kBAAkB,CAAC;AAiBrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,wBAAsB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAwCzE;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,OAAO,CAAC,CA0ElB;AAMD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CA0E5E;AAsCD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC,CAkDlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-oauth.d.ts","sourceRoot":"","sources":["../../src/auth-menu/anthropic-oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAW/C,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAGpD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAQD,wBAAgB,YAAY,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAItE;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY7E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG;IACtD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAwBA;AAkCD,+EAA+E;AAC/E,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAiBvB;AA0KD,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAClC;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA8GjB"}
1
+ {"version":3,"file":"anthropic-oauth.d.ts","sourceRoot":"","sources":["../../src/auth-menu/anthropic-oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAW/C,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAGpD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAQD,wBAAgB,YAAY,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAItE;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY7E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG;IACtD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAwBA;AAkCD,+EAA+E;AAC/E,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAiBvB;AAsLD,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAClC;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAkHjB"}
@@ -1,6 +1,7 @@
1
1
  export { runAuthDirect } from './direct.js';
2
2
  export { runTopMenu as runAuthMenu } from './top-menu.js';
3
3
  export type { AuthMenuDeps } from './types.js';
4
+ export { resolveOAuthKind, runOAuthLoginChoice, runOAuthLoginKind, runOAuthLoginMenu, type OAuthMenuKind, } from './oauth-menu.js';
4
5
  export { runCodexOAuthLogin, refreshCodexToken, extractAccountId, fetchCodexModels, resolveCodexModels, FALLBACK_CODEX_MODELS, CODEX_CATALOG_FAMILIES, fallbackCodexModelIds, fallbackCodexProviderModels, filterCurrentCodexModelIds, isCodexCatalogModel, CODEX_PROVIDER_ID, CODEX_BASE_URL, type CodexLoginOptions, type CodexTokens, } from './openai-codex-oauth.js';
5
6
  export { runClaudeOAuthLogin, CLAUDE_PROVIDER_ID, type ClaudeLoginOptions, type ClaudeTokens, } from './anthropic-oauth.js';
6
7
  export { runCopilotOAuthLogin, COPILOT_PROVIDER_ID, type CopilotLoginOptions, } from './github-copilot-oauth.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth-menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth-menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC"}
@@ -1,10 +1,21 @@
1
1
  import type { AuthMenuDeps } from './types.js';
2
2
  /** Render subscription OAuth login choices shared by the top menu and add flow. */
3
3
  export declare function renderOAuthLoginOptions(deps: AuthMenuDeps, indent?: string): void;
4
+ export type OAuthMenuKind = 'chatgpt' | 'claude' | 'copilot';
5
+ /**
6
+ * Normalize a user-typed subscription name to an OAuth kind.
7
+ * `allowNumeric` enables the 1/2/3 menu picks (off for free-text prompts,
8
+ * where a bare digit is far more likely to be a typo than a menu choice).
9
+ */
10
+ export declare function resolveOAuthKind(choice: string, opts?: {
11
+ allowNumeric?: boolean;
12
+ }): OAuthMenuKind | undefined;
4
13
  /** Run an OAuth login for a normalized menu choice. Returns true when handled. */
5
14
  export declare function runOAuthLoginChoice(deps: AuthMenuDeps, choice: string, opts?: {
6
15
  allowNumeric?: boolean;
7
16
  }): Promise<boolean>;
17
+ /** Run the OAuth login flow for an already-resolved kind. */
18
+ export declare function runOAuthLoginKind(deps: AuthMenuDeps, kind: OAuthMenuKind): Promise<number>;
8
19
  /** Sub-menu: pick a subscription to sign in with (OAuth). */
9
20
  export declare function runOAuthLoginMenu(deps: AuthMenuDeps): Promise<void>;
10
21
  //# sourceMappingURL=oauth-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-menu.d.ts","sourceRoot":"","sources":["../../src/auth-menu/oauth-menu.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,SAAS,GAAG,IAAI,CAOjF;AAED,kFAAkF;AAClF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,6DAA6D;AAC7D,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAYzE"}
1
+ {"version":3,"file":"oauth-menu.d.ts","sourceRoot":"","sources":["../../src/auth-menu/oauth-menu.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,SAAS,GAAG,IAAI,CAOjF;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAgB7D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,aAAa,GAAG,SAAS,CAQ3B;AAED,kFAAkF;AAClF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED,6DAA6D;AAC7D,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAIhG;AAED,6DAA6D;AAC7D,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAYzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"openai-codex-oauth.d.ts","sourceRoot":"","sources":["../../src/auth-menu/openai-codex-oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-codex-oauth.d.ts","sourceRoot":"","sources":["../../src/auth-menu/openai-codex-oauth.ts"],"names":[],"mappings":"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"}
@@ -62,12 +62,19 @@ export interface WebUIDispatchContext {
62
62
  clear: () => Promise<void>;
63
63
  write: (sessionId: string) => Promise<void>;
64
64
  };
65
+ /** Read-only worker transcript snapshot used for browser refresh replay. */
66
+ agentTranscripts?: {
67
+ getAllSessions(): import('@wrongstack/core/coordination').AgentVirtualSession[];
68
+ loadSessionsFromDisk(): Promise<import('@wrongstack/core/coordination').AgentVirtualSession[]>;
69
+ } | undefined;
65
70
  /** Per-task agent factory for the SDD wizard's multi-agent run. */
66
71
  sddSubagentFactory?: import('@wrongstack/core').AgentFactory | undefined;
67
72
  onKanbanDispatch?: ((description: string, opts?: {
68
73
  provider?: string | undefined;
69
74
  model?: string | undefined;
70
75
  fallbackModels?: string[] | undefined;
76
+ fallbackProfile?: string | undefined;
77
+ skills?: string[] | undefined;
71
78
  tools?: string[] | undefined;
72
79
  name?: string | undefined;
73
80
  allowedCapabilities?: readonly string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-webui.d.ts","sourceRoot":"","sources":["../../src/boot/dispatch-webui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch-webui.d.ts","sourceRoot":"","sources":["../../src/boot/dispatch-webui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Interactive launch menu — surfaced when `wstack` is invoked with no
3
+ * mode flag (no `--webui`, `--simpleui`, `--hq`, or `--desktop`) and no
4
+ * positional subcommand, on an interactive TTY.
5
+ *
6
+ * The menu asks the user **once** which top-level surface to launch:
7
+ * 1) TUI / REPL — interactive terminal (the historical default)
8
+ * 2) WebUI — browser-based project UI (port 3456 by default)
9
+ * 3) SimpleUI — lightweight browser UI (port 3466 by default)
10
+ * 4) HQ — project-independent HQ dashboard (port 3499)
11
+ *
12
+ * It returns either:
13
+ * - `null` — caller should fall through to the historical
14
+ * boot() flow unchanged (menu skipped).
15
+ * - `LaunchChoice` — caller should honor the selection:
16
+ * * `tui-repl` → proceed to boot() with no flag
17
+ * changes (the inner pre-launch prompts still
18
+ * ask TUI vs REPL + YOLO + autonomy).
19
+ * * `webui` / `simpleui` → caller injects the
20
+ * surface flag + chosen port into argv.
21
+ * * `hq` → caller dispatches to the HQ
22
+ * short-circuit with the chosen port/host.
23
+ *
24
+ * Why this lives in `boot/`: it sits next to the other entry-point
25
+ * short-circuits (`short-circuit-{flags,desktop,hq}.ts`) and is
26
+ * consumed by `cli-context.ts` between those short-circuits and
27
+ * `boot()`. It deliberately does NOT take any DI container, agent,
28
+ * or session — those are owned by the post-boot phase.
29
+ */
30
+ import { type LaunchMenuChoice } from '@wrongstack/core';
31
+ import type { ReadlineInputReader } from '../input-reader.js';
32
+ import type { TerminalRenderer } from '../renderer.js';
33
+ /** Top-level surfaces the user can launch from the menu. */
34
+ export type LaunchMenuMode = LaunchMenuChoice['mode'];
35
+ /** Resolved menu result — the caller must act on this, not re-derive. */
36
+ export interface LaunchMenuResult extends LaunchMenuChoice {
37
+ /**
38
+ * True when the user typed `q` (or pressed Ctrl+C) at any prompt.
39
+ * Caller should exit gracefully with code 0.
40
+ */
41
+ cancelled: boolean;
42
+ }
43
+ declare const DEFAULT_PORTS: Record<Exclude<LaunchMenuMode, 'tui-repl'>, number>;
44
+ /**
45
+ * Pure predicate — extracted so unit tests can lock the skip
46
+ * conditions down without booting a renderer or reader.
47
+ *
48
+ * Menu is skipped when ANY of these are true:
49
+ * - `--no-menu` flag is set
50
+ * - `--webui`, `--simpleui`, `--hq`, or `--desktop` flag is set
51
+ * (the user already chose a surface)
52
+ * - stdin is not a TTY (CI, pipes, redirects)
53
+ * - the first positional looks like a known subcommand (auth,
54
+ * init, mcp, plugin, doctor, version, help, …)
55
+ * - `--no-interactive` or `--skip` (existing "skip all prompts"
56
+ * contract from boot.ts)
57
+ * - a one-shot prompt (`--prompt <x>`) is supplied
58
+ * - any positional argument is present (treats it like the user
59
+ * is forwarding a one-shot query, not launching a surface)
60
+ */
61
+ export declare function shouldSkipMenu(argv: string[], flags: Record<string, string | boolean>, positional: string[]): boolean;
62
+ export interface RunLaunchMenuDeps {
63
+ argv: string[];
64
+ flags: Record<string, string | boolean>;
65
+ positional: string[];
66
+ renderer: TerminalRenderer;
67
+ reader: ReadlineInputReader;
68
+ /**
69
+ * Last saved menu choice, if any. When provided the menu shows a
70
+ * one-line summary + "Continue? [Y/n/q]" gate before re-asking,
71
+ * matching the `runLaunchPrompts` pattern.
72
+ */
73
+ lastChoice?: LaunchMenuChoice | undefined;
74
+ /**
75
+ * Override the default ports (used by tests). Production callers
76
+ * should leave this unset.
77
+ */
78
+ defaultPorts?: Partial<typeof DEFAULT_PORTS> | undefined;
79
+ }
80
+ /**
81
+ * Run the interactive launch menu.
82
+ *
83
+ * Returns `null` when the menu should be skipped (see
84
+ * {@link shouldSkipMenu}). Otherwise returns a {@link LaunchMenuResult}
85
+ * the caller must act on.
86
+ */
87
+ export declare function runLaunchMenu(deps: RunLaunchMenuDeps): Promise<LaunchMenuResult | null>;
88
+ /**
89
+ * Pure function — translate a `LaunchMenuResult` into the argv a
90
+ * downstream `boot()` call should consume.
91
+ *
92
+ * Behaviour:
93
+ * - `tui-repl` → unchanged argv; pre-launch prompts ask TUI vs REPL.
94
+ * - `webui` → appends `--webui --port=<n> [--host=<h>]`.
95
+ * - `simpleui` → appends `--simpleui --port=<n> [--host=<h>]`.
96
+ * - `hq` → appends `--hq --port=<n> [--host=<h>]` (the
97
+ * short-circuit in cli-context.ts will pick this up
98
+ * and dispatch to startHqServer).
99
+ *
100
+ * The function is intentionally argv-only — no side effects, no I/O —
101
+ * so unit tests can pin the transformation down without mocking
102
+ * readers or renderers.
103
+ */
104
+ export declare function applyLaunchMenuToArgv(argv: string[], result: LaunchMenuResult): string[];
105
+ /**
106
+ * Convert a {@link LaunchMenuResult} into the shape we persist to
107
+ * `config.launch.menuChoice`. Returns `undefined` for cancellations
108
+ * (we don't want to overwrite a saved choice with nothing) and for
109
+ * `tui-repl` (the inner pre-launch prompts already persist
110
+ * `config.launch.mode` for the TUI/REPL decision).
111
+ *
112
+ * Port validation mirrors `promptPort`'s 1–65535 range — if a
113
+ * caller hands us a result with an out-of-range port we coerce it
114
+ * to `undefined` so the next boot uses the surface default rather
115
+ * than a value that would crash the server.
116
+ */
117
+ export declare function toPersistedMenuChoice(result: LaunchMenuResult): LaunchMenuChoice | undefined;
118
+ /**
119
+ * Persist a resolved menu choice to the global config so the next
120
+ * boot can offer a one-line "Continue with last settings?" gate.
121
+ *
122
+ * Mirrors `persistLaunchChoices` from `pre-launch/launch-prompts.ts`:
123
+ * reads the existing JSON, mutates only `launch.menuChoice`, writes
124
+ * back atomically with mode 0600. Best-effort — never throws to
125
+ * the caller, so a corrupt config file can't block the actual launch.
126
+ */
127
+ export declare function persistMenuChoice(globalConfigPath: string, choice: LaunchMenuChoice): Promise<void>;
128
+ export {};
129
+ //# sourceMappingURL=launch-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch-menu.d.ts","sourceRoot":"","sources":["../../src/boot/launch-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,4DAA4D;AAC5D,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEtD,yEAAyE;AACzE,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAKD,QAAA,MAAM,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,CAItE,CAAC;AAsBF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACvC,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAuBT;AAuCD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC1C;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,aAAa,CAAC,GAAG,SAAS,CAAC;CAC1D;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA4D7F;AA6ID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,gBAAgB,GACvB,MAAM,EAAE,CA2BV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,GACvB,gBAAgB,GAAG,SAAS,CAe9B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
@@ -1 +1 @@
1
- {"version":3,"file":"short-circuit-hq.d.ts","sourceRoot":"","sources":["../../src/boot/short-circuit-hq.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+DH;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GACtC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiGxB"}
1
+ {"version":3,"file":"short-circuit-hq.d.ts","sourceRoot":"","sources":["../../src/boot/short-circuit-hq.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+DH;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GACtC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmGxB"}
@@ -0,0 +1,21 @@
1
+ import type { Config } from '@wrongstack/core';
2
+ export type CliFlags = Record<string, string | boolean>;
3
+ /**
4
+ * Apply the explicit SimpleUI full-auto launch profile for this process only.
5
+ *
6
+ * The profile deliberately changes ordinary runtime preferences (YOLO,
7
+ * Director, autonomy, and the disabled-tool list), but it does not weaken
8
+ * absolute trust denies, `permission: 'deny'` tools, enforcement hooks, or
9
+ * project-root containment. Those guarantees are enforced below config/flag
10
+ * selection and continue to win over YOLO.
11
+ */
12
+ export declare function applySimpleUiFullAutoProfile(config: Config, flags: CliFlags): Config;
13
+ export declare function isSimpleUiFullAuto(flags: CliFlags): boolean;
14
+ /**
15
+ * Mark the independent SimpleUI surface as coordination-light. Mailbox
16
+ * heartbeat/telemetry keeps running, but routine presence and chatter stays
17
+ * outside the model conversation. Actionable control/results are still
18
+ * delivered by the core mailbox loop.
19
+ */
20
+ export declare function configureSimpleUiRuntimeContext(meta: Record<string, unknown>, flags: CliFlags): void;
21
+ //# sourceMappingURL=simpleui-full-auto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simpleui-full-auto.d.ts","sourceRoot":"","sources":["../../src/boot/simpleui-full-auto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;AAExD;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAiBpF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,GACd,IAAI,CAKN"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/boot/system-prompt-builder.ts"],"names":[],"mappings":"AAoDA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,SAAS,EAAE;QACT,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;KACpD,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB;;;gEAG4D;IAC5D,UAAU,EAAE,UAAU,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IACnD;;;;8CAI0C;IAC1C,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EACb;QACE,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,OAAO,CAAC;QACxB,iBAAiB,EAAE,OAAO,CAAC;KAC5B,GACD,CAAC,MACG;QACE,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,OAAO,CAAC;QACxB,iBAAiB,EAAE,OAAO,CAAC;KAC5B,GACD,SAAS,CAAC,GACd,SAAS,CAAC;IACd;wCACoC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,0HAA0H;IAC1H,SAAS,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC;IAChD,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,6FAA6F;IAC7F,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;IACxD,KAAK,EAAE,wBAAwB,CAAC;IAChC,kDAAkD;IAClD,UAAU,EAAE,UAAU,CAAC;IACvB;;qBAEiB;IACjB,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,IAAI,CA6C/E"}
1
+ {"version":3,"file":"system-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/boot/system-prompt-builder.ts"],"names":[],"mappings":"AAoDA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,SAAS,EAAE;QACT,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;KACpD,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB;;;gEAG4D;IAC5D,UAAU,EAAE,UAAU,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IACnD;;;;8CAI0C;IAC1C,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EACb;QACE,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,OAAO,CAAC;QACxB,iBAAiB,EAAE,OAAO,CAAC;KAC5B,GACD,CAAC,MACG;QACE,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,OAAO,CAAC;QACxB,iBAAiB,EAAE,OAAO,CAAC;KAC5B,GACD,SAAS,CAAC,GACd,SAAS,CAAC;IACd;wCACoC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,0HAA0H;IAC1H,SAAS,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC;IAChD,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,6FAA6F;IAC7F,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;IACxD,KAAK,EAAE,wBAAwB,CAAC;IAChC,kDAAkD;IAClD,UAAU,EAAE,UAAU,CAAC;IACvB;;qBAEiB;IACjB,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,IAAI,CAiD/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/boot/tool-registry.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,yBAAyB,EACzB,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE;QACN,QAAQ,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,CAAA;SAAE,CAAC;QACvF,KAAK,CAAC,EACF;YACE,eAAe,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;YACxD,gBAAgB,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;YAC1D,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,EACD;gBACE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBAC5B,MAAM,CAAC,EAAE;oBAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;iBAAE,GAAG,SAAS,CAAC;aACxD,GACD,SAAS,CAAC;SACf,GACD,SAAS,CAAC;QACd,GAAG,CAAC,EACA;YAAE,QAAQ,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;aAAE,GAAG,SAAS,CAAA;SAAE,GACpF,SAAS,CAAC;KACf,CAAC;IACF,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;CACzC;AAuBD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI,CA4EzE"}
1
+ {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/boot/tool-registry.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,yBAAyB,EACzB,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE;QACN,QAAQ,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,CAAA;SAAE,CAAC;QACvF,KAAK,CAAC,EACF;YACE,eAAe,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;YACxD,gBAAgB,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;YAC1D,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,EACD;gBACE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBAC5B,MAAM,CAAC,EAAE;oBAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;iBAAE,GAAG,SAAS,CAAC;aACxD,GACD,SAAS,CAAC;SACf,GACD,SAAS,CAAC;QACd,GAAG,CAAC,EACA;YAAE,QAAQ,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;aAAE,GAAG,SAAS,CAAA;SAAE,GACpF,SAAS,CAAC;KACf,CAAC;IACF,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;CACzC;AAuBD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI,CAyFzE"}
@@ -1,5 +1,5 @@
1
1
  import type { EventBus } from '@wrongstack/core';
2
- export interface AutoPhaseWiring {
2
+ export interface GoalWiring {
3
3
  /**
4
4
  * Called by the TUI to receive forwarded events. Each call registers
5
5
  * one listener per event name; the returned function unregisters all.
@@ -9,15 +9,15 @@ export interface AutoPhaseWiring {
9
9
  cleanup: () => void;
10
10
  }
11
11
  /**
12
- * Wire AutoPhase event forwarding on the given EventBus.
12
+ * Wire Goal event forwarding on the given EventBus.
13
13
  *
14
- * AutoPhase events are emitted on the untyped surface of the bus (the
14
+ * Goal events are emitted on the untyped surface of the bus (the
15
15
  * orchestrator casts `emit` to a string-keyed signature), so we subscribe
16
16
  * through the same untyped view rather than the typed event-name overloads.
17
17
  *
18
18
  * Bind to `events` — pulling the method off the bus as a bare reference
19
19
  * loses `this`, so `on`/`off` would read `this.listeners` off `undefined`
20
- * and throw the moment AutoPhase subscribes.
20
+ * and throw the moment Goal subscribes.
21
21
  */
22
- export declare function wireAutoPhase(events: EventBus): AutoPhaseWiring;
23
- //# sourceMappingURL=tui-autophase-wiring.d.ts.map
22
+ export declare function wireGoal(events: EventBus): GoalWiring;
23
+ //# sourceMappingURL=tui-goal-wiring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-goal-wiring.d.ts","sourceRoot":"","sources":["../../src/boot/tui-goal-wiring.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAsBjD,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAC9E,yDAAyD;IACzD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,CAkCrD"}
@@ -1,10 +1,12 @@
1
- import type { Agent, TokenCounter } from '@wrongstack/core';
1
+ import type { Agent, EventBus, TokenCounter } from '@wrongstack/core';
2
2
  import type { TuiRuntimeState } from './tui-runtime-state.js';
3
3
  export interface SessionResumeContext {
4
4
  state: TuiRuntimeState;
5
5
  agent: Agent;
6
6
  tokenCounter: TokenCounter;
7
7
  switchProviderAndModel: ((providerId: string, modelId: string) => string | null | void | Promise<unknown>) | undefined;
8
+ /** App EventBus — forwarded to the re-pointed todos checkpoint for storage.* events. */
9
+ events?: EventBus | undefined;
8
10
  }
9
11
  export interface SessionResumeResult {
10
12
  entries: unknown[];
@@ -1 +1 @@
1
- {"version":3,"file":"tui-session-resume.d.ts","sourceRoot":"","sources":["../../src/boot/tui-session-resume.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,sBAAsB,EAClB,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAClF,SAAS,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,oBAAoB,EACzB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAsKrC"}
1
+ {"version":3,"file":"tui-session-resume.d.ts","sourceRoot":"","sources":["../../src/boot/tui-session-resume.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,sBAAsB,EAClB,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAClF,SAAS,CAAC;IACd,wFAAwF;IACxF,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,oBAAoB,EACzB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA2MrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tui-settings-adapter.d.ts","sourceRoot":"","sources":["../../src/boot/tui-settings-adapter.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAOjB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,qBAAqB,EACjB;QAAE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;KAAE,GACtG,SAAS,CAAC;IACd,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACjE;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAChE;AAYD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,sBAAsB,GAAG,eAAe,CAyclF"}
1
+ {"version":3,"file":"tui-settings-adapter.d.ts","sourceRoot":"","sources":["../../src/boot/tui-settings-adapter.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAOjB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,qBAAqB,EACjB;QAAE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;KAAE,GACtG,SAAS,CAAC;IACd,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACjE;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAChE;AAYD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,sBAAsB,GAAG,eAAe,CA4clF"}
package/dist/boot.d.ts CHANGED
@@ -2,6 +2,20 @@ import { type Config, DefaultLogger, type ModelsRegistry, type SecretVault, type
2
2
  import { ReadlineInputReader } from './input-reader.js';
3
3
  import { TerminalRenderer } from './renderer.js';
4
4
  import type { UpdateInfo } from './update-check.js';
5
+ /**
6
+ * Resolve a usable `{ provider, model }` from saved config when the active
7
+ * pointers are unset — the non-interactive (WebUI / --no-interactive) analogue
8
+ * of the TUI's interactive picker. Mirrors the standalone WebUI's auto-select
9
+ * (packages/webui-server start-webui.ts) so a config whose only entry is a
10
+ * custom provider still boots instead of erroring out. Prefers an already-set
11
+ * `config.provider`, otherwise the first saved provider; the model comes from
12
+ * the provider's saved `models` allowlist, falling back to the catalog's first
13
+ * model. Returns undefined when no provider yields a concrete model.
14
+ */
15
+ export declare function autoSelectSavedProvider(config: Config, modelsRegistry: ModelsRegistry): Promise<{
16
+ provider: string;
17
+ model: string;
18
+ } | undefined>;
5
19
  export interface BootContext {
6
20
  config: Config;
7
21
  vault: SecretVault;
@@ -1 +1 @@
1
- {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../src/boot.ts"],"names":[],"mappings":"AAiCA,OAAO,EACL,KAAK,MAAM,EAEX,aAAa,EAGb,KAAK,cAAc,EACnB,KAAK,WAAW,EAGhB,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAYxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA0CpD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,gFAAgF;IAChF,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,2FAA2F;IAC3F,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC;AAsBD;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,CAsaxE"}
1
+ {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../src/boot.ts"],"names":[],"mappings":"AAkCA,OAAO,EACL,KAAK,MAAM,EAEX,aAAa,EAGb,KAAK,cAAc,EACnB,KAAK,WAAW,EAGhB,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAYxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA0CpD;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAiB1D;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,gFAAgF;IAChF,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,2FAA2F;IAC3F,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC;AAsBD;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,CAybxE"}
@@ -4,6 +4,7 @@
4
4
  * Consolidates the first ~150 lines of the monolithic main() function:
5
5
  * - Pre-boot side effects (NODE_ENV, shell default)
6
6
  * - Short-circuits (--help, --version, --desktop, --hq)
7
+ * - Interactive launch menu (TUI/REPL · WebUI · SimpleUI · HQ)
7
8
  * - Boot() call + preflight
8
9
  * - OAuth token persistence
9
10
  * - Container wiring (EventBus, DI container)
@@ -1 +1 @@
1
- {"version":3,"file":"cli-context.d.ts","sourceRoot":"","sources":["../src/cli-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM3D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,4DAA4D;AAC5D,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC;IACzD,WAAW,EAAE,WAAW,CAAC;CAC1B;AAID;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,CA6FhF"}
1
+ {"version":3,"file":"cli-context.d.ts","sourceRoot":"","sources":["../src/cli-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiBH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM3D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,4DAA4D;AAC5D,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC;IACzD,WAAW,EAAE,WAAW,CAAC;CAC1B;AAID;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,CAwKhF"}
@@ -1,2 +1,21 @@
1
+ interface ErrorEventStream {
2
+ on(event: 'error', listener: (error: unknown) => void): unknown;
3
+ off(event: 'error', listener: (error: unknown) => void): unknown;
4
+ }
5
+ interface BrokenPipeHandlerOptions {
6
+ streams?: readonly ErrorEventStream[] | undefined;
7
+ exit?: ((code: number) => void) | undefined;
8
+ }
9
+ /**
10
+ * Treat a closed stdout/stderr consumer as a normal CLI shutdown.
11
+ *
12
+ * A failed `write()` is reported asynchronously through the destination
13
+ * stream's `error` event, so wrapping individual writes in `try/catch` cannot
14
+ * prevent Node's unhandled-event crash. Keep this guard at the process entry
15
+ * boundary and rethrow every non-EPIPE error so genuine stream failures remain
16
+ * visible.
17
+ */
18
+ export declare function installBrokenPipeHandlers(options?: BrokenPipeHandlerOptions): () => void;
1
19
  export declare function runAsMain(mainFn: (argv: string[]) => Promise<number>): void;
20
+ export {};
2
21
  //# sourceMappingURL=cli-entry-point.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-entry-point.d.ts","sourceRoot":"","sources":["../src/cli-entry-point.ts"],"names":[],"mappings":"AA2BA,wBAAgB,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAoB3E"}
1
+ {"version":3,"file":"cli-entry-point.d.ts","sourceRoot":"","sources":["../src/cli-entry-point.ts"],"names":[],"mappings":"AA2BA,UAAU,gBAAgB;IACxB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC;IAChE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC;CAClE;AAED,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAClD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7C;AAMD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,wBAA6B,GACrC,MAAM,IAAI,CAgBZ;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAqB3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-main.d.ts","sourceRoot":"","sources":["../src/cli-main.ts"],"names":[],"mappings":"AAmFA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA2B3C,OAAO,EAAE,WAAW,EAAE,CAAC;AAavB,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwtE1D;AAED;;;;;;;;GAQG"}
1
+ {"version":3,"file":"cli-main.d.ts","sourceRoot":"","sources":["../src/cli-main.ts"],"names":[],"mappings":"AA0FA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA4B3C,OAAO,EAAE,WAAW,EAAE,CAAC;AAUvB,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyrE1D;AAED;;;;;;;;GAQG"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-doctor.d.ts","sourceRoot":"","sources":["../src/config-doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQnD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACvC;AAoFD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,GAAE,gBAAgB,EAAO,GAC/B,YAAY,CA4Sd"}
1
+ {"version":3,"file":"config-doctor.d.ts","sourceRoot":"","sources":["../src/config-doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACvC;AAoFD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,GAAE,gBAAgB,EAAO,GAC/B,YAAY,CA+Ud"}