@patze/code-cli 0.43.3 → 0.55.1

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 (185) hide show
  1. package/CHANGELOG.md +238 -0
  2. package/README.md +84 -57
  3. package/VERSION +1 -1
  4. package/dist/backend/auth-token-kind.d.ts +3 -0
  5. package/dist/backend/auth-token-kind.d.ts.map +1 -0
  6. package/dist/backend/auth-token-kind.js +6 -0
  7. package/dist/backend/auth-token-kind.js.map +1 -0
  8. package/dist/backend/client.d.ts.map +1 -1
  9. package/dist/backend/client.js +7 -1
  10. package/dist/backend/client.js.map +1 -1
  11. package/dist/backend/execute-client.d.ts +1 -1
  12. package/dist/backend/execute-client.d.ts.map +1 -1
  13. package/dist/backend/execute-client.js +26 -0
  14. package/dist/backend/execute-client.js.map +1 -1
  15. package/dist/backend/plugin-session-client.d.ts +33 -0
  16. package/dist/backend/plugin-session-client.d.ts.map +1 -0
  17. package/dist/backend/plugin-session-client.js +108 -0
  18. package/dist/backend/plugin-session-client.js.map +1 -0
  19. package/dist/backend/runs-client.d.ts.map +1 -1
  20. package/dist/backend/runs-client.js +2 -1
  21. package/dist/backend/runs-client.js.map +1 -1
  22. package/dist/cli/auth/pairing-login.d.ts +10 -0
  23. package/dist/cli/auth/pairing-login.d.ts.map +1 -0
  24. package/dist/cli/auth/pairing-login.js +78 -0
  25. package/dist/cli/auth/pairing-login.js.map +1 -0
  26. package/dist/cli/commands/doctor.d.ts.map +1 -1
  27. package/dist/cli/commands/doctor.js +10 -4
  28. package/dist/cli/commands/doctor.js.map +1 -1
  29. package/dist/cli/commands/exec.d.ts.map +1 -1
  30. package/dist/cli/commands/exec.js +33 -8
  31. package/dist/cli/commands/exec.js.map +1 -1
  32. package/dist/cli/commands/login.d.ts +1 -0
  33. package/dist/cli/commands/login.d.ts.map +1 -1
  34. package/dist/cli/commands/login.js +36 -5
  35. package/dist/cli/commands/login.js.map +1 -1
  36. package/dist/cli/commands/runs-format.d.ts.map +1 -1
  37. package/dist/cli/commands/runs-format.js +2 -1
  38. package/dist/cli/commands/runs-format.js.map +1 -1
  39. package/dist/cli/commands/runs.d.ts.map +1 -1
  40. package/dist/cli/commands/runs.js +63 -5
  41. package/dist/cli/commands/runs.js.map +1 -1
  42. package/dist/cli/commands/status-format.d.ts.map +1 -1
  43. package/dist/cli/commands/status-format.js +4 -3
  44. package/dist/cli/commands/status-format.js.map +1 -1
  45. package/dist/cli/doctor/e2e-readiness.d.ts +12 -0
  46. package/dist/cli/doctor/e2e-readiness.d.ts.map +1 -0
  47. package/dist/cli/doctor/e2e-readiness.js +95 -0
  48. package/dist/cli/doctor/e2e-readiness.js.map +1 -0
  49. package/dist/cli/help.d.ts.map +1 -1
  50. package/dist/cli/help.js +2 -0
  51. package/dist/cli/help.js.map +1 -1
  52. package/dist/cli/interactive/agent-execute-turn.d.ts.map +1 -1
  53. package/dist/cli/interactive/agent-execute-turn.js +3 -1
  54. package/dist/cli/interactive/agent-execute-turn.js.map +1 -1
  55. package/dist/cli/interactive/agent-turn-context.d.ts +2 -2
  56. package/dist/cli/interactive/agent-turn-context.d.ts.map +1 -1
  57. package/dist/cli/interactive/agent-turn-context.js +23 -8
  58. package/dist/cli/interactive/agent-turn-context.js.map +1 -1
  59. package/dist/cli/interactive/agent-turn.d.ts.map +1 -1
  60. package/dist/cli/interactive/agent-turn.js +8 -7
  61. package/dist/cli/interactive/agent-turn.js.map +1 -1
  62. package/dist/cli/interactive/auth-credential-resolve.d.ts +20 -0
  63. package/dist/cli/interactive/auth-credential-resolve.d.ts.map +1 -0
  64. package/dist/cli/interactive/auth-credential-resolve.js +65 -0
  65. package/dist/cli/interactive/auth-credential-resolve.js.map +1 -0
  66. package/dist/cli/interactive/auth-gate.d.ts +1 -1
  67. package/dist/cli/interactive/auth-gate.d.ts.map +1 -1
  68. package/dist/cli/interactive/auth-gate.js +12 -3
  69. package/dist/cli/interactive/auth-gate.js.map +1 -1
  70. package/dist/cli/interactive/auth-readiness.d.ts +16 -0
  71. package/dist/cli/interactive/auth-readiness.d.ts.map +1 -0
  72. package/dist/cli/interactive/auth-readiness.js +50 -0
  73. package/dist/cli/interactive/auth-readiness.js.map +1 -0
  74. package/dist/cli/interactive/codex-feed-writer.d.ts.map +1 -1
  75. package/dist/cli/interactive/codex-feed-writer.js +4 -0
  76. package/dist/cli/interactive/codex-feed-writer.js.map +1 -1
  77. package/dist/cli/interactive/composer-chrome.d.ts +1 -1
  78. package/dist/cli/interactive/composer-chrome.d.ts.map +1 -1
  79. package/dist/cli/interactive/composer-chrome.js +1 -1
  80. package/dist/cli/interactive/composer-chrome.js.map +1 -1
  81. package/dist/cli/interactive/composer-edit-keys.d.ts +21 -0
  82. package/dist/cli/interactive/composer-edit-keys.d.ts.map +1 -0
  83. package/dist/cli/interactive/composer-edit-keys.js +57 -0
  84. package/dist/cli/interactive/composer-edit-keys.js.map +1 -0
  85. package/dist/cli/interactive/ensure-execute-auth.d.ts.map +1 -1
  86. package/dist/cli/interactive/ensure-execute-auth.js +8 -13
  87. package/dist/cli/interactive/ensure-execute-auth.js.map +1 -1
  88. package/dist/cli/interactive/header-refresh-triggers.d.ts +3 -0
  89. package/dist/cli/interactive/header-refresh-triggers.d.ts.map +1 -0
  90. package/dist/cli/interactive/header-refresh-triggers.js +16 -0
  91. package/dist/cli/interactive/header-refresh-triggers.js.map +1 -0
  92. package/dist/cli/interactive/header-refresh.d.ts +4 -0
  93. package/dist/cli/interactive/header-refresh.d.ts.map +1 -0
  94. package/dist/cli/interactive/header-refresh.js +33 -0
  95. package/dist/cli/interactive/header-refresh.js.map +1 -0
  96. package/dist/cli/interactive/header.d.ts +3 -2
  97. package/dist/cli/interactive/header.d.ts.map +1 -1
  98. package/dist/cli/interactive/header.js +23 -14
  99. package/dist/cli/interactive/header.js.map +1 -1
  100. package/dist/cli/interactive/interactive-footer-hints.d.ts +12 -0
  101. package/dist/cli/interactive/interactive-footer-hints.d.ts.map +1 -0
  102. package/dist/cli/interactive/interactive-footer-hints.js +32 -0
  103. package/dist/cli/interactive/interactive-footer-hints.js.map +1 -0
  104. package/dist/cli/interactive/interactive-model-apply.d.ts +15 -0
  105. package/dist/cli/interactive/interactive-model-apply.d.ts.map +1 -0
  106. package/dist/cli/interactive/interactive-model-apply.js +28 -0
  107. package/dist/cli/interactive/interactive-model-apply.js.map +1 -0
  108. package/dist/cli/interactive/interactive-ui.d.ts +13 -0
  109. package/dist/cli/interactive/interactive-ui.d.ts.map +1 -0
  110. package/dist/cli/interactive/interactive-ui.js +64 -0
  111. package/dist/cli/interactive/interactive-ui.js.map +1 -0
  112. package/dist/cli/interactive/launcher.d.ts.map +1 -1
  113. package/dist/cli/interactive/launcher.js +24 -17
  114. package/dist/cli/interactive/launcher.js.map +1 -1
  115. package/dist/cli/interactive/line-editor.d.ts +5 -4
  116. package/dist/cli/interactive/line-editor.d.ts.map +1 -1
  117. package/dist/cli/interactive/line-editor.js +102 -30
  118. package/dist/cli/interactive/line-editor.js.map +1 -1
  119. package/dist/cli/interactive/model-catalog-resolve.d.ts +11 -0
  120. package/dist/cli/interactive/model-catalog-resolve.d.ts.map +1 -0
  121. package/dist/cli/interactive/model-catalog-resolve.js +49 -0
  122. package/dist/cli/interactive/model-catalog-resolve.js.map +1 -0
  123. package/dist/cli/interactive/model-picker-panel.d.ts +22 -2
  124. package/dist/cli/interactive/model-picker-panel.d.ts.map +1 -1
  125. package/dist/cli/interactive/model-picker-panel.js +99 -16
  126. package/dist/cli/interactive/model-picker-panel.js.map +1 -1
  127. package/dist/cli/interactive/model-selector.d.ts.map +1 -1
  128. package/dist/cli/interactive/model-selector.js +3 -2
  129. package/dist/cli/interactive/model-selector.js.map +1 -1
  130. package/dist/cli/interactive/model-tty-picker.d.ts +3 -1
  131. package/dist/cli/interactive/model-tty-picker.d.ts.map +1 -1
  132. package/dist/cli/interactive/model-tty-picker.js +154 -24
  133. package/dist/cli/interactive/model-tty-picker.js.map +1 -1
  134. package/dist/cli/interactive/plain-codex-feed.d.ts.map +1 -1
  135. package/dist/cli/interactive/plain-codex-feed.js +48 -0
  136. package/dist/cli/interactive/plain-codex-feed.js.map +1 -1
  137. package/dist/cli/interactive/run-cancel.d.ts +23 -0
  138. package/dist/cli/interactive/run-cancel.d.ts.map +1 -0
  139. package/dist/cli/interactive/run-cancel.js +67 -0
  140. package/dist/cli/interactive/run-cancel.js.map +1 -0
  141. package/dist/cli/interactive/select-list-nav.d.ts +10 -0
  142. package/dist/cli/interactive/select-list-nav.d.ts.map +1 -0
  143. package/dist/cli/interactive/select-list-nav.js +45 -0
  144. package/dist/cli/interactive/select-list-nav.js.map +1 -0
  145. package/dist/cli/interactive/session-controller.d.ts +1 -0
  146. package/dist/cli/interactive/session-controller.d.ts.map +1 -1
  147. package/dist/cli/interactive/session-controller.js +5 -1
  148. package/dist/cli/interactive/session-controller.js.map +1 -1
  149. package/dist/cli/interactive/session-hints.d.ts +4 -1
  150. package/dist/cli/interactive/session-hints.d.ts.map +1 -1
  151. package/dist/cli/interactive/session-hints.js +23 -16
  152. package/dist/cli/interactive/session-hints.js.map +1 -1
  153. package/dist/cli/interactive/shell.d.ts.map +1 -1
  154. package/dist/cli/interactive/shell.js +17 -7
  155. package/dist/cli/interactive/shell.js.map +1 -1
  156. package/dist/cli/interactive/slash-dispatch.d.ts +2 -0
  157. package/dist/cli/interactive/slash-dispatch.d.ts.map +1 -1
  158. package/dist/cli/interactive/slash-dispatch.js +55 -28
  159. package/dist/cli/interactive/slash-dispatch.js.map +1 -1
  160. package/dist/cli/interactive/slash-menu.d.ts.map +1 -1
  161. package/dist/cli/interactive/slash-menu.js +29 -2
  162. package/dist/cli/interactive/slash-menu.js.map +1 -1
  163. package/dist/cli/interactive/slash-registry.js +2 -2
  164. package/dist/cli/interactive/slash-registry.js.map +1 -1
  165. package/dist/cli/interactive/smoke-trust-fixture.d.ts +10 -0
  166. package/dist/cli/interactive/smoke-trust-fixture.d.ts.map +1 -0
  167. package/dist/cli/interactive/smoke-trust-fixture.js +66 -0
  168. package/dist/cli/interactive/smoke-trust-fixture.js.map +1 -0
  169. package/dist/cli/interactive/tools-catalog.d.ts.map +1 -1
  170. package/dist/cli/interactive/tools-catalog.js +17 -12
  171. package/dist/cli/interactive/tools-catalog.js.map +1 -1
  172. package/dist/config/config.d.ts +2 -0
  173. package/dist/config/config.d.ts.map +1 -1
  174. package/dist/config/config.js +8 -0
  175. package/dist/config/config.js.map +1 -1
  176. package/dist/config/web-ui.d.ts +5 -0
  177. package/dist/config/web-ui.d.ts.map +1 -0
  178. package/dist/config/web-ui.js +12 -0
  179. package/dist/config/web-ui.js.map +1 -0
  180. package/docs/beta-release-handoff.md +56 -29
  181. package/docs/internal-beta.md +6 -3
  182. package/docs/known-limitations.md +32 -19
  183. package/docs/release-checklist.md +11 -3
  184. package/opentui/src/App.tsx +626 -218
  185. package/package.json +6 -2
package/CHANGELOG.md CHANGED
@@ -4,6 +4,244 @@ All notable changes to `@patze/code-cli` are documented here.
4
4
 
5
5
  Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
+ ## [0.55.1] - 2026-05-31
8
+
9
+ ### Fixed (Codex-clean composer)
10
+
11
+ - **Composer** — input box is prompt-only (no in-box model/path footer, no auth placeholder); status stays in header + transcript hints like Codex CLI.
12
+ - **TTY + OpenTUI** — shared empty `COMPOSER_PLACEHOLDER`; removed `getChrome` footer row from line editor.
13
+
14
+ ## [0.55.0] - 2026-05-31
15
+
16
+ ### Added (Wave L — CI cloud gate + release docs)
17
+
18
+ - **`scripts/ci-e2e-cloud.mjs`** + **`verify:ci-e2e-cloud`** — gated cloud execute proof (SKIP when API, GitHub origin, or server cloud flag unavailable).
19
+ - **GitHub Actions** job **`cloud-e2e-gated`** on `patze-code-cli-verify.yml` (same secrets as smart-agent e2e).
20
+ - **`docs/beta-release-handoff.md`** — synced to 0.55.x; CI secrets table; removed stale 0.10.x / “runs planned” copy.
21
+ - **`docs/release-checklist.md`** — CI proof lanes + current test count band.
22
+
23
+ ## [0.54.0] - 2026-05-31
24
+
25
+ ### Changed (Wave K — docs + ops parity)
26
+
27
+ - **README** — synced to 0.54: cookbook parity table, `patze runs`/`config`/`exec`/`login --pair`, verify/e2e commands.
28
+ - **`docs/internal-beta.md`** + **`known-limitations.md`** — removed stale “planned” runs/OAuth copy.
29
+ - **`patze doctor`** — e2e block hints for `verify:all`, `e2e:cloud`, `CURSOR_API_KEY`.
30
+ - **`patze --help`** — documents `--pair` login and optional live model catalog env.
31
+
32
+ ## [0.53.0] - 2026-05-31
33
+
34
+ ### Added (Wave J — live catalog + TTY model search)
35
+
36
+ - **`model-catalog-resolve.ts`** — merge bundled Patze catalog with live `Cursor.models.list` when `CURSOR_API_KEY` is set.
37
+ - **OpenTUI picker** — uses merged `pickerCatalog` (SDK extras searchable/selectable).
38
+ - **Node TTY `/model` picker** — cookbook-style type-to-search + T/F thinking/fast toggles (`formatSearchableModelPickerPanel`).
39
+ - **Tests** — `model-catalog-resolve.test.mjs`.
40
+
41
+ ### Changed
42
+
43
+ - `filterModelCatalogEntries` / `buildFilteredModelSelectOptions` accept an explicit catalog.
44
+ - `applyInteractiveModelChoice` accepts optional catalog entry for SDK-only models.
45
+
46
+ ## [0.52.0] - 2026-05-31
47
+
48
+ ### Added (Wave I — cookbook model picker parity)
49
+
50
+ - **OpenTUI model search** — type-to-filter catalog in `/model` picker (`buildFilteredModelSelectOptions`).
51
+ - **OpenTUI T/F shortcuts** — toggle `thinking` / `fast` preferences in model picker (persists to session).
52
+ - **Footer hints** — model picker bar shows search + T/F state (cookbook-aligned).
53
+ - **Tests** — `opentui-model-picker.test.mjs`.
54
+
55
+ ### Changed
56
+
57
+ - Model picker panel adds search row + preference hint line; viewport reserves extra row.
58
+
59
+ ## [0.51.0] - 2026-05-31
60
+
61
+ ### Added (Wave H — inline slash + pipe feed parity)
62
+
63
+ - **OpenTUI inline slash palette** — `/` menu renders above composer (Codex-style); composer stays focused.
64
+ - **`patze exec` pipe mode** — non-TTY stdout uses plain Codex feed (stderr annotations + stdout assistant), same as `patze agent`.
65
+ - **Tests** — inline slash wiring, exec plain feed, tool upsert defer on pipe feed.
66
+
67
+ ### Changed
68
+
69
+ - **Plain Codex feed** — defers in-progress think/tool/run upserts on stderr; emits on completion or phase change.
70
+ - **Footer hints** — idle bar mentions Ctrl+U clear.
71
+ - **Doctor auth hint** — recommends `patze login --pair --api <url>` when credentials missing.
72
+
73
+ ## [0.50.0] - 2026-05-31
74
+
75
+ ### Added (Wave G — runs automation + Codex pipe polish)
76
+
77
+ - **`patze runs cancel [id]`** + **`/runs cancel`** + **`/run cancel`** — server cancel via existing API.
78
+ - **`patze runs list|open --json`** — machine-readable run history for automation.
79
+ - **`run-cancel.ts`** — shared cancel helper + session last-run fallback.
80
+ - **Tests** — `run-cancel.test.mjs`.
81
+
82
+ ### Changed
83
+
84
+ - **OpenTUI composer** — Ctrl+U / Ctrl+K clear buffer (Codex-style kill line).
85
+ - **Codex feed (pipe)** — tool/status upserts emit updated rows instead of going stale.
86
+ - **`patze config`** — shows resolved `web` URL.
87
+ - **Runs auth** — list/cancel work with plugin session tokens (no userId required in config when server resolves auth).
88
+
89
+ ## [0.49.0] - 2026-05-31
90
+
91
+ ### Added (Wave F — cookbook auth + Codex parity)
92
+
93
+ - **`patze login --pair`** — dashboard device-code pairing (Discord OAuth via web; reuses plugin pairing API).
94
+ - **Plugin session auth** — 64-hex tokens use `X-Plugin-Session`; validate via dashboard `/api/plugin-session/validate`.
95
+ - **`PATZE_WEB_UI_URL` / config `web`** — dashboard URL for pairing and plugin session resolve.
96
+ - **Tests** — `plugin-session-auth.test.mjs`.
97
+
98
+ ### Changed (Codex / OpenTUI parity)
99
+
100
+ - **OpenTUI** — header repaints sync after model picker; composer chrome uses shared `buildComposerChromeForSession`.
101
+ - **OpenTUI feed** — disable duplicate activity spinner when Codex event feed is active.
102
+ - **Empty-session hints** — show login onboarding when auth incomplete (Codex-style welcome block).
103
+ - **`patze exec --json`** — emits structured `{ type: "error", message, exit_code }` on execute failure.
104
+
105
+ ## [0.48.0] - 2026-05-30
106
+
107
+ ### Added (Wave E — live proof + header PTY + e2e ergonomics)
108
+
109
+ - **`pty-header-model-smoke.mjs`** — real TTY: `/model gpt-5.4` repaints header; `/model clear` restores Patze default.
110
+ - **`e2e-readiness.ts`** — doctor shows dev API env/token/user posture + `verify:e2e` / `dev.sh` hints.
111
+ - **Tests** — `e2e-readiness.test.mjs`.
112
+
113
+ ### Changed
114
+
115
+ - **`verify-e2e`** — skip message names `./server/scripts/dev.sh` when API is down.
116
+
117
+ ## [0.47.0] - 2026-05-30
118
+
119
+ ### Added (Wave D — PTY proof + e2e ergonomics)
120
+
121
+ - **`pty-slash-menu-smoke.mjs`** — real TTY: slash digit jump (`7` → `/status`) + `j` → `/local`.
122
+ - **`verify:all`** — `npm run verify` then gated `verify:e2e`.
123
+ - **Tests** — line-editor digit/j slash nav; header refresh on `/model` + `/logout`.
124
+
125
+ ### Changed
126
+
127
+ - **Header refresh trigger** — also fires on `Model prefs cleared` (`/model clear`).
128
+
129
+ ## [0.46.0] - 2026-05-30
130
+
131
+ ### Added (Wave C — composer + header polish)
132
+
133
+ - **`composer-edit-keys.ts`** — Emacs-style line edits + horizontal scroll helpers.
134
+ - **`header-refresh-triggers.ts`** — shared `shouldRefreshInteractiveHeader()` for model/auth changes.
135
+ - **Tests** — composer edit keys, ctrl-a/e/u/k in line editor.
136
+
137
+ ### Changed
138
+
139
+ - **Node TTY composer** — Ctrl+A/E/U/K; long lines scroll horizontally with cursor.
140
+ - **`/model` header refresh** — uses shared trigger (model + auth credential changes).
141
+
142
+ ## [0.45.0] - 2026-05-30
143
+
144
+ ### Added (Wave B — OpenTUI + TTY parity)
145
+
146
+ - **`select-list-nav.ts`** — shared ↑↓/j/k + 1–9 list navigation + `COMPOSER_MENU_MAX_ROWS`.
147
+ - **`interactive-footer-hints.ts`** — shared bottom hint bar for Node TTY and OpenTUI.
148
+ - **Integration tests** — `select-list-nav`, `interactive-footer-hints`, `opentui-keyboard-parity`.
149
+
150
+ ### Changed
151
+
152
+ - **OpenTUI** — j/k + digit jump on slash/model/reasoning pickers; controlled `selectedIndex`; shared footer hints.
153
+ - **Node TTY composer** — bottom hint row; slash menu digit jump; menu redraw capped at 6 rows.
154
+
155
+ ## [0.44.0] - 2026-05-30
156
+
157
+ ### Added (Wave A — credibility)
158
+
159
+ - **GitHub Actions** — `.github/workflows/patze-code-cli-verify.yml` (verify + gated `e2e-gated` job).
160
+ - **`verify:ci-e2e`** / **`scripts/ci-verify-e2e.mjs`** — CI wrapper with secret overrides or local `server/.env`.
161
+ - **PTY trust apply smoke** — `scripts/pty-trust-apply-smoke.mjs` (fixture-seeded `/apply` + typed confirmation on real TTY).
162
+ - **`smoke-trust-fixture.ts`** — smoke-only `PATZE_CLI_TRUST_FIXTURE=apply-gated` hook in `prepareInteractiveController`.
163
+
164
+ ### Fixed
165
+
166
+ - **`patze doctor`** — `auth` + `execute` + `agent` lines; no ambiguous “ready” when execute is off or user id missing.
167
+ - **Docs** — `known-limitations.md`, README version band aligned to **0.44.x**.
168
+
169
+ ## [0.43.9] - 2026-05-30
170
+
171
+ ### Fixed (P0 — credibility + trust loop proof)
172
+
173
+ - **`/tools` catalog** — `execute`, `run_stream`, and `runs` marked **active**; removed stale “Phase 3” execute copy.
174
+ - **`verify:e2e`** — probes `/health` first; **SKIP** when API creds exist but server is down (no false-red local verify).
175
+ - **PTY smoke** — `/permissions edit-with-approval` + `/apply` asserts fail-closed without approval gate.
176
+ - **Trust-loop shell test** — scripted `/apply` gate + typed confirmation via `prepareInteractiveController`.
177
+
178
+ ## [0.43.8] - 2026-05-30
179
+
180
+ ### Fixed (Wave 2 — Codex parity)
181
+
182
+ - **OpenTUI keyboard parity** — input history on ↑/↓ when transcript pinned; transcript scroll when unpinned; Tab/`commandRequiresArg` slash complete; Ctrl+J / Alt+Enter newline; Esc dismisses slash menu without clearing buffer; Home/End scroll only when viewing history.
183
+ - **Shared model picker** — OpenTUI uses catalog-only list with `(current)` / `(default)` markers and pre-selects current model (parity with Node TTY).
184
+ - **Reasoning picker** — Esc dismisses entire picker (TTY-aligned); markers on effort rows.
185
+
186
+ ### Added
187
+
188
+ - **`verify:e2e`** — gated smart-agent E2E (`scripts/verify-e2e.mjs`); skips when dev API creds absent.
189
+ - **PTY smoke** — `/permissions` opens permission selector.
190
+ - **`formatCodexListItemLabel`** / exported **`buildModelListItems`** for shared picker labels.
191
+
192
+ ## [0.43.7] - 2026-05-30
193
+
194
+ ### Fixed (Wave 1 — Codex parity)
195
+
196
+ - **Auth flow unified** — `patze login` and `/login` share `persistCredentialsWithUserResolution` (session user-id resolve + warning on failure).
197
+ - **Live header refresh** — TTY shell repaints startup card after `/login`, `/logout`, and `/model` (model set); OpenTUI refreshes header on the same signal.
198
+ - **PTY smoke** — adds `/inspect` and `/help` on a real TTY.
199
+
200
+ ### Added
201
+
202
+ - **`auth-credential-resolve.ts`**, **`header-refresh.ts`**, and focused tests.
203
+
204
+ ## [0.43.6] - 2026-05-30
205
+
206
+ ### Fixed (council polish — auth + keyboard parity)
207
+
208
+ - **Auth UX unified** — header, `/status`, `patze doctor`, empty-session hints, and task gate copy use `resolveAuthReadiness()` (missing `userId` vs not logged in).
209
+ - **Conversation replies** use `agentReady` so meta-chat does not claim “auth ready” when execute is blocked.
210
+ - **Composer placeholder** shows even when `NO_COLOR=1`.
211
+ - **OpenTUI** — header refreshes after turns; Ctrl+C clears composer text; Esc dismisses command palette without wiping input.
212
+ - **`patze exec`** — auto-resolves session user id before auth gate (parity with interactive shell).
213
+ - **Slash menu** — `j`/`k` navigation when palette is open.
214
+
215
+ ## [0.43.5] - 2026-05-30
216
+
217
+ ### Fixed
218
+
219
+ - **Auth posture** — `resolveAuthReadiness` splits credentials vs execute-ready; “am I logged in?” and composer placeholder call out missing `userId` when execute is enabled.
220
+ - **OpenTUI `/model`** — catalog selection uses `applyModelSelection` with optional reasoning sub-step (parity with Node TTY picker).
221
+ - **PTY smoke** — asserts `/model` opens “Select Model and Effort” on a real TTY.
222
+
223
+ ### Added
224
+
225
+ - **`auth-readiness.ts`**, **`interactive-model-apply.ts`**, and focused tests.
226
+
227
+ ## [0.43.4] - 2026-05-30
228
+
229
+ ### Fixed (composer + smart UX — council polish)
230
+
231
+ - **Composer cursor** clamps to visible inner width when typing long lines (no cursor drift outside the box).
232
+ - **Composer chrome/placeholder** snapshot once per turn (no `loadConfig` on every keystroke).
233
+ - **Terminal resize (`SIGWINCH`)** re-renders the composer frame.
234
+ - **Bracketed paste** enabled in raw-mode lifecycle (`?2004h/l`).
235
+ - **Clean handoff** after agent feed — newline before next composer turn.
236
+ - **Slash palette** — `/models` and `/quit` aliases match in live filter; Codex keyboard footer (↑↓ · Tab · Esc).
237
+ - **OpenTUI** empty-session hints gated like Node TTY when auth incomplete.
238
+ - **`patze doctor`** reports resolved interactive UI stack (node vs opentui, bun, deps, overrides).
239
+ - **Launcher** logs one-line UI lane; falls back from OpenTUI when Bun missing.
240
+
241
+ ### Added
242
+
243
+ - **`tests/model-picker-integration.test.mjs`** — picker cancel + Patze one-step select.
244
+
7
245
  ## [0.43.3] - 2026-05-30
8
246
 
9
247
  ### Fixed (composer TTY — Codex parity)
package/README.md CHANGED
@@ -4,7 +4,7 @@ Professional local terminal client for Patze Code / PatzeAgents.
4
4
 
5
5
  Patze Code runs coding tasks against your workspace while keeping **PatzeAgents server** as the authority for auth, entitlements, run records, artifacts, verification, and policy.
6
6
 
7
- > **Internal beta (0.10.x):** Trust loop complete through verify + drift recovery. See [`docs/internal-beta.md`](docs/internal-beta.md) and [`docs/install-beta.md`](docs/install-beta.md). Not yet `npm latest` / 1.0.
7
+ > **Internal beta (0.55.x):** Codex/cookbook-style composer, trust loop, runs automation, and gated agent execute. See [`docs/internal-beta.md`](docs/internal-beta.md) and [`docs/known-limitations.md`](docs/known-limitations.md). Not yet `npm latest` / 1.0.
8
8
 
9
9
  ## Requirements
10
10
 
@@ -20,7 +20,7 @@ cd packages/patze-code-cli
20
20
 
21
21
  # Or manual tarball
22
22
  npm run build && npm pack
23
- npm install -g ./patze-code-cli-0.10.3.tgz
23
+ npm install -g ./patze-code-cli-0.55.0.tgz
24
24
  patze --version
25
25
  ```
26
26
 
@@ -41,10 +41,16 @@ Full guide: [`docs/install-beta.md`](docs/install-beta.md) · Checklist: [`docs/
41
41
  mkdir -p /tmp/patze-beta && cd /tmp/patze-beta
42
42
  git init
43
43
 
44
- # 2. Optional — server preview auth (use env, never commit secrets)
44
+ # 2. Optional — server auth (use env, never commit secrets)
45
45
  export PATZE_CODE_API=https://api.example.com
46
46
  export PATZE_CODE_TOKEN=<internal-api-key>
47
- export PATZE_CODE_USER_ID=<user-uuid> # optional
47
+ export PATZE_CODE_USER_ID=<user-uuid>
48
+
49
+ # Or dashboard pairing (recommended for humans)
50
+ # patze login --pair --api https://api.example.com [--web https://app.example.com]
51
+
52
+ # Optional — live Cursor model list in /model picker (OpenTUI + TTY)
53
+ # export CURSOR_API_KEY=crsr_...
48
54
 
49
55
  # 3. Read-only checks
50
56
  patze status
@@ -59,7 +65,7 @@ patze
59
65
  Running `patze` shows a status card and tips:
60
66
 
61
67
  ```text
62
- ╭─ Patze Code · v0.10.5 ────────────────────────────────────╮
68
+ ╭─ Patze Code · v0.55.0 ────────────────────────────────────╮
63
69
  │ workspace /mnt/d/pat-test │
64
70
  │ auth incomplete │
65
71
  │ permission Read-only │
@@ -67,7 +73,7 @@ Running `patze` shows a status card and tips:
67
73
  ╰───────────────────────────────────────────────────────────╯
68
74
  Beta · Dev demo — for internal testing only
69
75
 
70
- ! auth incomplete — run `patze login` or set PATZE_CODE_* env
76
+ ! auth incomplete — run `patze login --pair --api <url>` or set PATZE_CODE_* env
71
77
 
72
78
  Type a task, or /help for commands.
73
79
  Tips
@@ -94,76 +100,64 @@ argument (e.g. `/goal <task>`) complete to `/goal ` and wait for your input.
94
100
  When the palette is closed, ↑↓ recalls in-session history. The composer is
95
101
  TTY-only; piped / scripted input stays on readline and remains deterministic.
96
102
 
97
- Authenticate from inside the shell with `/login` (or `/login <api-url> <token>`
98
- to save directly `user-id` is optional; the token is masked in output and
99
- never kept in transcript or recall history). `/logout` clears saved credentials.
100
- Environment variables `PATZE_CODE_API` / `PATZE_CODE_TOKEN` also work
101
- (`PATZE_CODE_USER_ID` is optional).
102
-
103
- Inside `patze`:
104
-
105
- ```text
106
- /goal Update README quickstart
107
- /plan
108
- /diff
109
- /permissions suggest
110
- /approve
111
- /permissions edit-with-approval
112
- /apply
113
- APPLY artifa…90ab
114
- /verify
115
- /status
116
- ```
103
+ Authenticate with **`patze login --pair --api <url>`** (dashboard device-code), **`/login`**
104
+ inside the shell, or **`patze login <api> <token> [userId]`**. Environment variables
105
+ `PATZE_CODE_API` / `PATZE_CODE_TOKEN` / `PATZE_CODE_USER_ID` also work. Tokens are
106
+ masked in output and never kept in transcript or recall history.
117
107
 
118
- ## Trust loop
108
+ ## Cookbook parity ([Cursor coding-agent-cli](https://github.com/cursor/cookbook/tree/main/sdk/coding-agent-cli))
119
109
 
120
- ```
121
- prompt → inspect → plan → diff → permissions → approve → apply → verify
122
- ```
110
+ Patze Code is a **PatzeAgents-backed** hybrid (server authority + Codex/cookbook UX):
123
111
 
124
- Docs: [`docs/trust-loop.md`](docs/trust-loop.md) · [`docs/safety-model.md`](docs/safety-model.md)
112
+ | Cookbook capability | Patze CLI |
113
+ |---------------------|-----------|
114
+ | Interactive TUI (`patze`) | ✅ OpenTUI (Bun) or Node TTY fallback |
115
+ | One-shot + stdin pipe | ✅ `patze "task"`, `patze agent`, `patze exec` |
116
+ | `/` slash menu (inline palette) | ✅ filter-as-you-type; composer stays focused |
117
+ | `/local`, `/cloud`, `/model`, `/reset` | ✅ + Patze trust loop commands |
118
+ | Model picker search + T/F prefs | ✅ OpenTUI + Node TTY |
119
+ | Live model catalog | ✅ bundled + `Cursor.models.list` when `CURSOR_API_KEY` set |
120
+ | Plain pipe feed (stderr meta) | ✅ Codex feed on `patze exec` / non-TTY agent |
121
+ | Direct `@cursor/sdk` runtime | ⚠️ Patze uses FastAPI execute + policy (by design) |
125
122
 
126
- ## Command status (0.10.5)
123
+ ## Command status (0.55.0)
127
124
 
128
125
  ### Interactive (`patze` shell)
129
126
 
130
127
  | Command | Status | Notes |
131
128
  |---------|--------|-------|
132
- | free-text prompt | ✅ | Agent loop (inspect plan) |
129
+ | free-text prompt | ✅ | Agent execute + SSE when auth ready |
133
130
  | `/help` | ✅ | |
134
131
  | `/status [--check]` | ✅ | Trust-loop snapshot + auth posture |
132
+ | `/login`, `/logout` | ✅ | Save or clear credentials |
133
+ | `/local`, `/cloud` | ✅ | Execution mode (cloud gated by server) |
134
+ | `/model` | ✅ | Searchable picker + T/F thinking/fast (TTY + OpenTUI) |
135
+ | `/runs`, `/run` | ✅ | List/open/cancel server runs |
136
+ | `/reset`, `/clear` | ✅ | Fresh agent / clear transcript |
135
137
  | `/context` | ✅ | Session state (digests masked) |
136
- | `/goal <task>` | ✅ | Local dry-run plan |
137
- | `/inspect` | ✅ | Read-only workspace scan |
138
- | `/plan [task]` | ✅ | Server preview when auth ready |
139
- | `/permissions [mode]` | ✅ | Selector + direct set |
140
- | `/tools` | ✅ | Tool availability catalog |
141
- | `/diff` | ✅ | Read-only patch preview |
142
- | `/approve` | ✅ | Approval gate (no writes) |
143
- | `/apply` | ✅ | Gated apply + typed confirmation |
144
- | `/verify` | ✅ | Local read-only hash verify |
145
- | `/reject` | ✅ | Clear gate / drift recovery |
146
- | `/reset` | ✅ | Clear agent session state |
147
- | `/clear` | ✅ | Clear transcript |
138
+ | `/goal`, `/inspect`, `/plan` | ✅ | Trust loop + preview |
139
+ | `/permissions`, `/tools` | ✅ | Mode selector + tool catalog |
140
+ | `/diff`, `/approve`, `/apply`, `/verify`, `/reject` | ✅ | Gated local apply loop |
148
141
  | `/exit` | ✅ | |
149
142
 
150
143
  ### Top-level CLI
151
144
 
152
145
  | Command | Status | Notes |
153
146
  |---------|--------|-------|
154
- | `patze` | ✅ | Interactive shell (default) |
147
+ | `patze` | ✅ | Interactive shell (OpenTUI or Node TTY) |
148
+ | `patze "<task>"` / `patze agent` | ✅ | One-shot agent; pipe uses Codex plain feed |
149
+ | `patze exec "<task>" [--json]` | ✅ | CI/automation JSONL stream |
155
150
  | `patze --version` | ✅ | |
156
151
  | `patze status [--check]` | ✅ | |
157
- | `patze doctor [--check]` | ✅ | Read-only; network only with `--check` |
158
- | `patze login <api> <token> [id]` | ✅ | Writes local config (user-id optional) |
152
+ | `patze doctor [--check]` | ✅ | Read-only; e2e + cloud hints when dev env present |
153
+ | `patze login --pair --api <url>` | ✅ | Dashboard device-code (recommended) |
154
+ | `patze login <api> <token> [id]` | ✅ | Manual token paste |
159
155
  | `patze goal "<task>" --dry-run` | ✅ | Non-interactive plan |
160
- | `patze code inspect` | ✅ | |
161
- | `patze code plan --preview` | ✅ | Needs auth |
162
- | `patze code diff` | ✅ | Read-only |
156
+ | `patze code inspect|plan|diff` | ✅ | Workspace / preview commands |
163
157
  | `patze code apply` | 🚫 disabled | Interactive `/apply` only |
164
158
  | `patze code verify` | ℹ️ help-only | No session apply → summary only |
165
- | `patze runs …` | 📋 planned | No runs sync in beta |
166
- | `patze config` | 📋 planned | |
159
+ | `patze runs list|open|cancel` | | Server run history; `--json` on list/open |
160
+ | `patze config` | | Resolved config paths + `web` URL |
167
161
 
168
162
  ### Permission modes
169
163
 
@@ -174,7 +168,30 @@ Docs: [`docs/trust-loop.md`](docs/trust-loop.md) · [`docs/safety-model.md`](doc
174
168
  | `edit-with-approval` | ✅ | + gated `/apply` |
175
169
  | `full-auto` | 🚫 forbidden | Never enabled |
176
170
 
177
- Legend: ✅ implemented · 🚫 explicitly disabled · 📋 planned · ℹ️ informational only
171
+ Legend: ✅ implemented · 🚫 explicitly disabled · ℹ️ informational only
172
+
173
+ ## Trust loop
174
+
175
+ ```
176
+ prompt → inspect → plan → diff → permissions → approve → apply → verify
177
+ ```
178
+
179
+ Example inside `patze`:
180
+
181
+ ```text
182
+ /goal Update README quickstart
183
+ /plan
184
+ /diff
185
+ /permissions suggest
186
+ /approve
187
+ /permissions edit-with-approval
188
+ /apply
189
+ APPLY artifa…90ab
190
+ /verify
191
+ /status
192
+ ```
193
+
194
+ Docs: [`docs/trust-loop.md`](docs/trust-loop.md) · [`docs/safety-model.md`](docs/safety-model.md)
178
195
 
179
196
  ## Safety model (summary)
180
197
 
@@ -190,20 +207,30 @@ Full detail: [`docs/safety-model.md`](docs/safety-model.md)
190
207
 
191
208
  ```bash
192
209
  cd packages/patze-code-cli
193
- npm run verify # version + pack audit + typecheck + tests + smoke
210
+ npm run verify # version + pack + typecheck + tests + smoke + PTY suite
211
+ npm run verify:all # verify + gated verify:e2e (needs dev API up)
194
212
  npm run verify:pack # tarball audit (--verbose for JSON summary)
195
213
  npm run smoke # temp workspace + local npm pack install
196
214
  ```
197
215
 
216
+ Optional live-agent checks (repo root API + `server/.env`):
217
+
218
+ ```bash
219
+ npm run verify:e2e # smart-agent smoke when /health is up
220
+ npm run e2e:cloud # cloud preview → execute → SSE (GitHub origin required)
221
+ npm run e2e:cloud:interactive # /cloud flow inside interactive shell
222
+ npm run verify:ci-e2e-cloud # CI gate for cloud execute (skip when API/cloud flag absent)
223
+ ```
224
+
198
225
  ## Release blockers (before npm `latest` / 1.0)
199
226
 
200
227
  - [ ] Public npm publish policy + scoped access review
201
228
  - [ ] Shell-based verify (npm test/lint) as optional gated capability
202
- - [ ] `patze runs` read-only sync (no mutation path)
203
229
  - [ ] Server apply receipt correlation (read-only)
204
230
  - [ ] Cross-restart session persistence decision
205
- - [ ] OAuth / dashboard login flow (replace dev `login` token paste)
231
+ - [ ] OAuth polish beyond `login --pair` (token refresh, production redirect UX)
206
232
  - [ ] Production error telemetry without leaking secrets
233
+ - [x] Cloud execute e2e in CI (optional gated job `cloud-e2e-gated`; needs secrets + `FEATURE_PATZE_CODE_CLI_CLOUD_EXECUTE`)
207
234
 
208
235
  ## Documentation
209
236
 
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.43.3
1
+ 0.55.1
@@ -0,0 +1,3 @@
1
+ /** 64-hex plugin session tokens (dashboard / Smart Connect). */
2
+ export declare function isPluginSessionToken(token: string | null | undefined): boolean;
3
+ //# sourceMappingURL=auth-token-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-token-kind.d.ts","sourceRoot":"","sources":["../../src/backend/auth-token-kind.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG9E"}
@@ -0,0 +1,6 @@
1
+ /** 64-hex plugin session tokens (dashboard / Smart Connect). */
2
+ export function isPluginSessionToken(token) {
3
+ const trimmed = token?.trim() ?? "";
4
+ return trimmed.length === 64 && /^[0-9a-f]{64}$/i.test(trimmed);
5
+ }
6
+ //# sourceMappingURL=auth-token-kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-token-kind.js","sourceRoot":"","sources":["../../src/backend/auth-token-kind.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,UAAU,oBAAoB,CAAC,KAAgC;IACnE,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACnC,OAAO,OAAO,CAAC,MAAM,KAAK,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/backend/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEnD,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAE3B;IAED,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAchC,WAAW,CAAC,SAAS,SAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;CA4B3D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/backend/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGzD,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEnD,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAE3B;IAED,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAkBhC,WAAW,CAAC,SAAS,SAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;CA4B3D"}
@@ -1,3 +1,4 @@
1
+ import { isPluginSessionToken } from "./auth-token-kind.js";
1
2
  export class PatzeBackendClient {
2
3
  config;
3
4
  constructor(config) {
@@ -12,7 +13,12 @@ export class PatzeBackendClient {
12
13
  "Content-Type": "application/json",
13
14
  };
14
15
  if (this.config.token) {
15
- headers["X-Internal-API-Key"] = this.config.token;
16
+ if (isPluginSessionToken(this.config.token)) {
17
+ headers["X-Plugin-Session"] = this.config.token;
18
+ }
19
+ else {
20
+ headers["X-Internal-API-Key"] = this.config.token;
21
+ }
16
22
  }
17
23
  if (this.config.userId) {
18
24
  headers["X-Internal-User-Id"] = this.config.userId;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/backend/client.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IACxB,CAAC;IAED,YAAY;QACV,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;SACnC,CAAA;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;QACnD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QACpD,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAA;QACvE,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAA;QAE7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBAChE,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,mBAAmB,QAAQ,CAAC,MAAM,EAAE;iBAC9C,CAAA;YACH,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAA;YAC9E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QAC7C,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/backend/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAQ3D,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IACxB,CAAC;IAED,YAAY;QACV,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;SACnC,CAAA;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;YACjD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;YACnD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QACpD,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAA;QACvE,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAA;QAE7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBAChE,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,mBAAmB,QAAQ,CAAC,MAAM,EAAE;iBAC9C,CAAA;YACH,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAA;YAC9E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QAC7C,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;CACF"}
@@ -40,7 +40,7 @@ export type ExecuteClientResult = {
40
40
  httpStatus: number;
41
41
  } | {
42
42
  ok: false;
43
- kind: "auth" | "network" | "server";
43
+ kind: "auth" | "blocked" | "network" | "server";
44
44
  message: string;
45
45
  httpStatus: number | null;
46
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"execute-client.d.ts","sourceRoot":"","sources":["../../src/backend/execute-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,EAAE,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AAElG,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA4E/B"}
1
+ {"version":3,"file":"execute-client.d.ts","sourceRoot":"","sources":["../../src/backend/execute-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,EAAE,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvF;IACE,EAAE,EAAE,KAAK,CAAA;IACT,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B,CAAA;AAEL,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAqF/B"}
@@ -46,6 +46,15 @@ export async function postUserTaskExecute(input) {
46
46
  return { ok: true, kind: "accepted", response: normalized, httpStatus: response.status };
47
47
  }
48
48
  if (response.status === 200 || response.status === 409) {
49
+ const blocked = normalizeBlocked(body);
50
+ if (blocked) {
51
+ return {
52
+ ok: false,
53
+ kind: "blocked",
54
+ message: blocked.message,
55
+ httpStatus: response.status,
56
+ };
57
+ }
49
58
  const normalized = normalizeCompleted(body);
50
59
  if (!normalized) {
51
60
  return {
@@ -86,6 +95,23 @@ function extractDetail(body) {
86
95
  }
87
96
  return null;
88
97
  }
98
+ function normalizeBlocked(body) {
99
+ if (!body || typeof body !== "object") {
100
+ return null;
101
+ }
102
+ const record = body;
103
+ const status = String(record.status ?? "").trim().toLowerCase();
104
+ const runId = String(record.run_id ?? "").trim();
105
+ const errorCode = String(record.error_code ?? "").trim();
106
+ const outcomeSummary = String(record.outcome_summary ?? "").trim();
107
+ const blocked = status === "blocked" || (!runId && Boolean(errorCode));
108
+ if (!blocked) {
109
+ return null;
110
+ }
111
+ return {
112
+ message: outcomeSummary || errorCode || "execute blocked",
113
+ };
114
+ }
89
115
  function normalizeAccepted(body) {
90
116
  if (!body || typeof body !== "object") {
91
117
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"execute-client.js","sourceRoot":"","sources":["../../src/backend/execute-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-client.js","sourceRoot":"","sources":["../../src/backend/execute-client.ts"],"names":[],"mappings":"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"}