@patze/code-cli 0.11.0 → 0.15.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 (111) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/VERSION +1 -1
  3. package/dist/backend/agent-trace.d.ts +1 -0
  4. package/dist/backend/agent-trace.d.ts.map +1 -1
  5. package/dist/backend/agent-trace.js +1 -0
  6. package/dist/backend/agent-trace.js.map +1 -1
  7. package/dist/backend/preview-payload.d.ts +15 -3
  8. package/dist/backend/preview-payload.d.ts.map +1 -1
  9. package/dist/backend/preview-payload.js +38 -10
  10. package/dist/backend/preview-payload.js.map +1 -1
  11. package/dist/backend/run-stream-client.js +1 -1
  12. package/dist/backend/runs-client.d.ts +35 -0
  13. package/dist/backend/runs-client.d.ts.map +1 -0
  14. package/dist/backend/runs-client.js +87 -0
  15. package/dist/backend/runs-client.js.map +1 -0
  16. package/dist/cli/commands/agent.d.ts +8 -0
  17. package/dist/cli/commands/agent.d.ts.map +1 -0
  18. package/dist/cli/commands/agent.js +72 -0
  19. package/dist/cli/commands/agent.js.map +1 -0
  20. package/dist/cli/commands/plan.d.ts +3 -0
  21. package/dist/cli/commands/plan.d.ts.map +1 -1
  22. package/dist/cli/commands/plan.js +3 -0
  23. package/dist/cli/commands/plan.js.map +1 -1
  24. package/dist/cli/commands/runs-format.d.ts +4 -0
  25. package/dist/cli/commands/runs-format.d.ts.map +1 -0
  26. package/dist/cli/commands/runs-format.js +50 -0
  27. package/dist/cli/commands/runs-format.js.map +1 -0
  28. package/dist/cli/commands/runs.d.ts.map +1 -1
  29. package/dist/cli/commands/runs.js +78 -8
  30. package/dist/cli/commands/runs.js.map +1 -1
  31. package/dist/cli/help.d.ts.map +1 -1
  32. package/dist/cli/help.js +7 -3
  33. package/dist/cli/help.js.map +1 -1
  34. package/dist/cli/interactive/agent-execute-turn.d.ts +4 -0
  35. package/dist/cli/interactive/agent-execute-turn.d.ts.map +1 -1
  36. package/dist/cli/interactive/agent-execute-turn.js +14 -1
  37. package/dist/cli/interactive/agent-execute-turn.js.map +1 -1
  38. package/dist/cli/interactive/agent-stream-format.d.ts +8 -0
  39. package/dist/cli/interactive/agent-stream-format.d.ts.map +1 -1
  40. package/dist/cli/interactive/agent-stream-format.js +88 -5
  41. package/dist/cli/interactive/agent-stream-format.js.map +1 -1
  42. package/dist/cli/interactive/agent-turn.d.ts +1 -0
  43. package/dist/cli/interactive/agent-turn.d.ts.map +1 -1
  44. package/dist/cli/interactive/agent-turn.js +18 -1
  45. package/dist/cli/interactive/agent-turn.js.map +1 -1
  46. package/dist/cli/interactive/cloud-git.d.ts +13 -0
  47. package/dist/cli/interactive/cloud-git.d.ts.map +1 -0
  48. package/dist/cli/interactive/cloud-git.js +43 -0
  49. package/dist/cli/interactive/cloud-git.js.map +1 -0
  50. package/dist/cli/interactive/header.d.ts +2 -1
  51. package/dist/cli/interactive/header.d.ts.map +1 -1
  52. package/dist/cli/interactive/header.js +9 -1
  53. package/dist/cli/interactive/header.js.map +1 -1
  54. package/dist/cli/interactive/launcher.d.ts +3 -0
  55. package/dist/cli/interactive/launcher.d.ts.map +1 -0
  56. package/dist/cli/interactive/launcher.js +43 -0
  57. package/dist/cli/interactive/launcher.js.map +1 -0
  58. package/dist/cli/interactive/line-editor.d.ts.map +1 -1
  59. package/dist/cli/interactive/line-editor.js +3 -1
  60. package/dist/cli/interactive/line-editor.js.map +1 -1
  61. package/dist/cli/interactive/model-command.d.ts +6 -0
  62. package/dist/cli/interactive/model-command.d.ts.map +1 -0
  63. package/dist/cli/interactive/model-command.js +40 -0
  64. package/dist/cli/interactive/model-command.js.map +1 -0
  65. package/dist/cli/interactive/run-replay.d.ts +17 -0
  66. package/dist/cli/interactive/run-replay.d.ts.map +1 -0
  67. package/dist/cli/interactive/run-replay.js +114 -0
  68. package/dist/cli/interactive/run-replay.js.map +1 -0
  69. package/dist/cli/interactive/session-controller.d.ts +22 -0
  70. package/dist/cli/interactive/session-controller.d.ts.map +1 -0
  71. package/dist/cli/interactive/session-controller.js +103 -0
  72. package/dist/cli/interactive/session-controller.js.map +1 -0
  73. package/dist/cli/interactive/session-store.d.ts +20 -0
  74. package/dist/cli/interactive/session-store.d.ts.map +1 -0
  75. package/dist/cli/interactive/session-store.js +88 -0
  76. package/dist/cli/interactive/session-store.js.map +1 -0
  77. package/dist/cli/interactive/session.d.ts +27 -0
  78. package/dist/cli/interactive/session.d.ts.map +1 -1
  79. package/dist/cli/interactive/session.js +61 -0
  80. package/dist/cli/interactive/session.js.map +1 -1
  81. package/dist/cli/interactive/shell.d.ts.map +1 -1
  82. package/dist/cli/interactive/shell.js +14 -51
  83. package/dist/cli/interactive/shell.js.map +1 -1
  84. package/dist/cli/interactive/slash-dispatch.d.ts +3 -0
  85. package/dist/cli/interactive/slash-dispatch.d.ts.map +1 -1
  86. package/dist/cli/interactive/slash-dispatch.js +94 -1
  87. package/dist/cli/interactive/slash-dispatch.js.map +1 -1
  88. package/dist/cli/interactive/slash-registry.d.ts.map +1 -1
  89. package/dist/cli/interactive/slash-registry.js +6 -0
  90. package/dist/cli/interactive/slash-registry.js.map +1 -1
  91. package/dist/cli/main.d.ts.map +1 -1
  92. package/dist/cli/main.js +35 -3
  93. package/dist/cli/main.js.map +1 -1
  94. package/dist/cli/one-shot-args.d.ts +9 -0
  95. package/dist/cli/one-shot-args.d.ts.map +1 -0
  96. package/dist/cli/one-shot-args.js +35 -0
  97. package/dist/cli/one-shot-args.js.map +1 -0
  98. package/dist/cli/read-stdin.d.ts +2 -0
  99. package/dist/cli/read-stdin.d.ts.map +1 -0
  100. package/dist/cli/read-stdin.js +12 -0
  101. package/dist/cli/read-stdin.js.map +1 -0
  102. package/dist/config/config.d.ts +2 -0
  103. package/dist/config/config.d.ts.map +1 -1
  104. package/dist/config/config.js +8 -0
  105. package/dist/config/config.js.map +1 -1
  106. package/dist/config/models.d.ts +11 -0
  107. package/dist/config/models.d.ts.map +1 -0
  108. package/dist/config/models.js +51 -0
  109. package/dist/config/models.js.map +1 -0
  110. package/docs/known-limitations.md +12 -7
  111. package/package.json +4 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,66 @@ 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.15.0] - 2026-05-29
8
+
9
+ ### Added
10
+
11
+ - **`npm run e2e:cloud`** / **`e2e:cloud:interactive`** / **`e2e:cloud:all`** — dev-server cloud E2E (API + interactive `/cloud` flow).
12
+ - **Cloud execute (opt-in)** — `run-cloud.mjs` + server `FEATURE_PATZE_CODE_CLI_CLOUD_EXECUTE`; `/cloud` validates GitHub `origin`.
13
+ - **OpenTUI shell (optional)** — `PATZE_USE_OPENTUI=1` + Bun; falls back to Node readline shell.
14
+ - **`session-controller`** — shared interactive turn loop for Node shell and OpenTUI.
15
+
16
+ ### Changed
17
+
18
+ - Preview payload sends `metadata.execution_mode`, `cloud_repo_url`, `cloud_repo_ref`.
19
+ - Cloud no longer hard-blocked at CLI when server flag enables it.
20
+
21
+ ## [0.14.0] - 2026-05-29
22
+
23
+ ### Added
24
+
25
+ - **`patze runs list|open [--stream]`** — read-only sync with server run history.
26
+ - **Session persistence** — `~/.patze/sessions/<cwd-hash>.json` restores transcript, model, last run, execution mode.
27
+ - **Multi-turn context** — prior CLI turns forwarded as `metadata.conversation_context` to SDK prompt.
28
+ - **`/local`**, **`/cloud`**, **`/runs`** slash commands (cloud execute blocked honestly in beta).
29
+
30
+ ### Changed
31
+
32
+ - **`patze config`** shows resolved config paths (read-only).
33
+ - **`/reset`** starts a fresh conversation epoch without clearing model override.
34
+
35
+ ## [0.13.0] - 2026-05-29
36
+
37
+ ### Added
38
+
39
+ - **Cookbook one-shot mode:** `patze "task"`, `patze agent "task"`, piped stdin; flags `--model`, `--cwd`, `--dry-run`.
40
+ - **`/model`** session model picker + `metadata.model_hint` wired to server SDK execute.
41
+ - **`/run`** SSE replay (or stored trace fallback) and **`/last`** run summary.
42
+ - **Live tool/thinking upsert** during stream (`[~]`/`[x]`/`[…]` prefixes).
43
+
44
+ ### Changed
45
+
46
+ - Interactive header shows current model.
47
+
48
+ ## [0.12.0] - 2026-05-29
49
+
50
+ ### Added
51
+
52
+ - **Cookbook execute parity (local):** CLI pins `metadata.workspace_cwd` + `cookbook_cli_task` workflow; server runs Cursor SDK against the user's directory (not monorepo root).
53
+ - **Live assistant deltas** during SSE execute (`stream_delta` / partial transcript on TTY).
54
+ - **Streaming subprocess timeout** enforced while PATZE_TRACE lines are still arriving.
55
+
56
+ ### Changed
57
+
58
+ - Default SDK execute budget: **600s** (`PATZE_CODE_SDK_EXECUTE_TIMEOUT_SECONDS`).
59
+ - Run stream client default timeout: **600s**.
60
+
61
+ ## [0.11.1] - 2026-05-29
62
+
63
+ ### Fixed
64
+
65
+ - **Composer cursor** — TTY bordered input placed the cursor one line too high (on the top border). Cursor now aligns inside the input row.
66
+
7
67
  ## [0.11.0] - 2026-05-29
8
68
 
9
69
  ### Added
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.11.0
1
+ 0.15.0
@@ -7,6 +7,7 @@ export type AgentTraceEvent = {
7
7
  detail?: string;
8
8
  status?: AgentTraceStatus;
9
9
  toolName?: string;
10
+ streamDelta?: boolean;
10
11
  };
11
12
  export declare function parseAgentTraceItem(raw: unknown): AgentTraceEvent | null;
12
13
  export declare function isIgnorableStatusTrace(event: AgentTraceEvent): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-trace.d.ts","sourceRoot":"","sources":["../../src/backend/agent-trace.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAC7E,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAyBxE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAkBtE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAM,GAAG,MAAM,CAShE"}
1
+ {"version":3,"file":"agent-trace.d.ts","sourceRoot":"","sources":["../../src/backend/agent-trace.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AAC7E,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CA0BxE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAkBtE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAM,GAAG,MAAM,CAShE"}
@@ -20,6 +20,7 @@ export function parseAgentTraceItem(raw) {
20
20
  detail: typeof record.detail === "string" ? record.detail : undefined,
21
21
  status,
22
22
  toolName: typeof record.toolName === "string" ? record.toolName : undefined,
23
+ streamDelta: record.stream_delta === true,
23
24
  };
24
25
  }
25
26
  export function isIgnorableStatusTrace(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-trace.js","sourceRoot":"","sources":["../../src/backend/agent-trace.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,MAAM,GAAG,GAA8B,CAAA;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAoB,CAAA;IAC/D,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IACxD,MAAM,MAAM,GACV,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;IAEvE,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC9C,IAAI;QACJ,KAAK;QACL,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACrE,MAAM;QACN,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAsB;IAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC9C,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACxD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CACL,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,QAAQ;QAClB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzB,MAAM,KAAK,SAAS;QACpB,MAAM,KAAK,SAAS,CACrB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,GAAG,GAAG,GAAG;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;AAC3C,CAAC"}
1
+ {"version":3,"file":"agent-trace.js","sourceRoot":"","sources":["../../src/backend/agent-trace.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,MAAM,GAAG,GAA8B,CAAA;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAoB,CAAA;IAC/D,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IACxD,MAAM,MAAM,GACV,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;IAEvE,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC9C,IAAI;QACJ,KAAK;QACL,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACrE,MAAM;QACN,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC3E,WAAW,EAAE,MAAM,CAAC,YAAY,KAAK,IAAI;KAC1C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAsB;IAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC9C,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACxD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CACL,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,QAAQ;QAClB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzB,MAAM,KAAK,SAAS;QACpB,MAAM,KAAK,SAAS,CACrB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,GAAG,GAAG,GAAG;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;AAC3C,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import type { ResolvedConfig } from "../config/config.js";
2
+ export declare const CLI_PINNED_WORKSPACE_SCOPE = "cli-local";
3
+ export declare const CLI_WORKFLOW_MODE = "cookbook_cli_task";
2
4
  export type PreviewTaskPayload = {
3
5
  owner_user_id: string;
4
6
  task_input: {
@@ -23,6 +25,12 @@ export type PreviewTaskPayload = {
23
25
  canary_requested: false;
24
26
  metadata: {
25
27
  source: string;
28
+ workspace_cwd?: string;
29
+ model_hint?: string;
30
+ conversation_context?: string;
31
+ execution_mode?: "local" | "cloud";
32
+ cloud_repo_url?: string;
33
+ cloud_repo_ref?: string;
26
34
  };
27
35
  repo_metadata: {
28
36
  repo: string;
@@ -33,7 +41,7 @@ export type PreviewTaskPayload = {
33
41
  repo_allowlist: string[];
34
42
  no_auto_apply: true;
35
43
  auto_apply_requested: false;
36
- cloud_requested: false;
44
+ cloud_requested: boolean;
37
45
  pr_requested: false;
38
46
  public_route_requested: false;
39
47
  ui_requested: false;
@@ -42,9 +50,13 @@ export type PreviewTaskPayload = {
42
50
  require_review_artifact_for_canary: true;
43
51
  };
44
52
  };
45
- export declare function buildPreviewPayload(input: {
53
+ export type PreviewBuildOptions = {
46
54
  objective: string;
47
55
  cwd: string;
48
56
  config: ResolvedConfig;
49
- }): PreviewTaskPayload;
57
+ modelHint?: string | null;
58
+ conversationContext?: string | null;
59
+ executionMode?: "local" | "cloud";
60
+ };
61
+ export declare function buildPreviewPayload(input: PreviewBuildOptions): PreviewTaskPayload;
50
62
  //# sourceMappingURL=preview-payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview-payload.d.ts","sourceRoot":"","sources":["../../src/backend/preview-payload.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGzD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE;QACV,SAAS,EAAE,MAAM,CAAA;QACjB,aAAa,EAAE,MAAM,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;QACf,eAAe,EAAE,MAAM,CAAA;QACvB,aAAa,EAAE,MAAM,EAAE,CAAA;QACvB,YAAY,EAAE,MAAM,EAAE,CAAA;QACtB,OAAO,EAAE;YACP,MAAM,EAAE,SAAS,CAAA;YACjB,cAAc,EAAE,MAAM,CAAA;YACtB,iBAAiB,EAAE,MAAM,CAAA;SAC1B,CAAA;QACD,oBAAoB,EAAE;YACpB,QAAQ,EAAE,IAAI,CAAA;YACd,MAAM,EAAE,MAAM,CAAA;YACd,sBAAsB,EAAE,MAAM,CAAA;SAC/B,CAAA;QACD,kBAAkB,EAAE,MAAM,EAAE,CAAA;QAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;QACxB,gBAAgB,EAAE,KAAK,CAAA;QACvB,QAAQ,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QAC5B,aAAa,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAChC,CAAA;IACD,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAA;QACf,cAAc,EAAE,MAAM,EAAE,CAAA;QACxB,aAAa,EAAE,IAAI,CAAA;QACnB,oBAAoB,EAAE,KAAK,CAAA;QAC3B,eAAe,EAAE,KAAK,CAAA;QACtB,YAAY,EAAE,KAAK,CAAA;QACnB,sBAAsB,EAAE,KAAK,CAAA;QAC7B,YAAY,EAAE,KAAK,CAAA;QACnB,uBAAuB,EAAE,KAAK,CAAA;QAC9B,gCAAgC,EAAE,KAAK,CAAA;QACvC,kCAAkC,EAAE,IAAI,CAAA;KACzC,CAAA;CACF,CAAA;AA6CD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,cAAc,CAAA;CACvB,GAAG,kBAAkB,CAmDrB"}
1
+ {"version":3,"file":"preview-payload.d.ts","sourceRoot":"","sources":["../../src/backend/preview-payload.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIzD,eAAO,MAAM,0BAA0B,cAAc,CAAA;AACrD,eAAO,MAAM,iBAAiB,sBAAsB,CAAA;AAEpD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE;QACV,SAAS,EAAE,MAAM,CAAA;QACjB,aAAa,EAAE,MAAM,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;QACf,eAAe,EAAE,MAAM,CAAA;QACvB,aAAa,EAAE,MAAM,EAAE,CAAA;QACvB,YAAY,EAAE,MAAM,EAAE,CAAA;QACtB,OAAO,EAAE;YACP,MAAM,EAAE,SAAS,CAAA;YACjB,cAAc,EAAE,MAAM,CAAA;YACtB,iBAAiB,EAAE,MAAM,CAAA;SAC1B,CAAA;QACD,oBAAoB,EAAE;YACpB,QAAQ,EAAE,IAAI,CAAA;YACd,MAAM,EAAE,MAAM,CAAA;YACd,sBAAsB,EAAE,MAAM,CAAA;SAC/B,CAAA;QACD,kBAAkB,EAAE,MAAM,EAAE,CAAA;QAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;QACxB,gBAAgB,EAAE,KAAK,CAAA;QACvB,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM,CAAA;YACd,aAAa,CAAC,EAAE,MAAM,CAAA;YACtB,UAAU,CAAC,EAAE,MAAM,CAAA;YACnB,oBAAoB,CAAC,EAAE,MAAM,CAAA;YAC7B,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;YAClC,cAAc,CAAC,EAAE,MAAM,CAAA;YACvB,cAAc,CAAC,EAAE,MAAM,CAAA;SACxB,CAAA;QACD,aAAa,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAChC,CAAA;IACD,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAA;QACf,cAAc,EAAE,MAAM,EAAE,CAAA;QACxB,aAAa,EAAE,IAAI,CAAA;QACnB,oBAAoB,EAAE,KAAK,CAAA;QAC3B,eAAe,EAAE,OAAO,CAAA;QACxB,YAAY,EAAE,KAAK,CAAA;QACnB,sBAAsB,EAAE,KAAK,CAAA;QAC7B,YAAY,EAAE,KAAK,CAAA;QACnB,uBAAuB,EAAE,KAAK,CAAA;QAC9B,gCAAgC,EAAE,KAAK,CAAA;QACvC,kCAAkC,EAAE,IAAI,CAAA;KACzC,CAAA;CACF,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,cAAc,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAClC,CAAA;AA6CD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,kBAAkB,CA4ElF"}
@@ -2,6 +2,9 @@ import { createHash } from "node:crypto";
2
2
  import { existsSync, readFileSync } from "node:fs";
3
3
  import { basename, relative, resolve } from "node:path";
4
4
  import { guessWorkspaceRoot } from "../runtime/workspace.js";
5
+ import { detectCloudRepository } from "../cli/interactive/cloud-git.js";
6
+ export const CLI_PINNED_WORKSPACE_SCOPE = "cli-local";
7
+ export const CLI_WORKFLOW_MODE = "cookbook_cli_task";
5
8
  const BROAD_SCOPES = new Set(["", ".", "./", "/", "**", "*", "repo", "workspace", "all"]);
6
9
  function sha256Hex(value) {
7
10
  return createHash("sha256").update(value, "utf8").digest("hex");
@@ -39,23 +42,48 @@ function resolveAllowedPaths(config, scope) {
39
42
  if (!isBroadScope(scope)) {
40
43
  return [scope];
41
44
  }
42
- return ["packages/patze-code-cli"];
45
+ return ["."];
43
46
  }
44
47
  export function buildPreviewPayload(input) {
45
- const root = guessWorkspaceRoot(input.cwd);
46
- const scopeRaw = relative(root, input.cwd).replace(/\\/g, "/") || ".";
47
- const scope = isBroadScope(scopeRaw) ? "packages/patze-code-cli" : scopeRaw;
48
+ const absoluteCwd = resolve(input.cwd);
49
+ const root = guessWorkspaceRoot(absoluteCwd);
50
+ const scopeRaw = relative(root, absoluteCwd).replace(/\\/g, "/") || ".";
51
+ const pinnedWorkspace = isBroadScope(scopeRaw);
52
+ const workspaceScope = pinnedWorkspace ? CLI_PINNED_WORKSPACE_SCOPE : scopeRaw;
48
53
  const repoId = resolveRepoId(root);
49
- const allowedPaths = resolveAllowedPaths(input.config, scope);
54
+ const allowedPaths = pinnedWorkspace ? ["."] : resolveAllowedPaths(input.config, workspaceScope);
50
55
  const deniedPaths = input.config.defaultDeny.map((pattern) => pattern.replace(/^\*\*\//, "").replace(/\/\*\*$/, ""));
51
56
  const userDigest = sha256Hex(`patze-code-cli:user:${input.config.userId ?? "anonymous"}`);
57
+ const modelHint = input.modelHint?.trim();
58
+ const conversationContext = input.conversationContext?.trim() ?? "";
59
+ const executionMode = input.executionMode ?? "local";
60
+ const metadata = {
61
+ source: "patze_code_cli",
62
+ workspace_cwd: absoluteCwd,
63
+ };
64
+ if (modelHint) {
65
+ metadata.model_hint = modelHint;
66
+ }
67
+ if (conversationContext) {
68
+ metadata.conversation_context = conversationContext.slice(0, 4000);
69
+ }
70
+ metadata.execution_mode = executionMode;
71
+ if (executionMode === "cloud") {
72
+ const cloud = detectCloudRepository(absoluteCwd);
73
+ if (cloud.ok) {
74
+ metadata.cloud_repo_url = cloud.url;
75
+ if (cloud.startingRef) {
76
+ metadata.cloud_repo_ref = cloud.startingRef;
77
+ }
78
+ }
79
+ }
52
80
  return {
53
81
  owner_user_id: input.config.userId ?? "",
54
82
  task_input: {
55
83
  objective: input.objective,
56
- workflow_mode: "cookbook_quickstart_local",
84
+ workflow_mode: CLI_WORKFLOW_MODE,
57
85
  repo_id: repoId,
58
- workspace_scope: scope,
86
+ workspace_scope: workspaceScope,
59
87
  allowed_paths: allowedPaths,
60
88
  denied_paths: deniedPaths.length ? deniedPaths : [".env", "node_modules", ".git"],
61
89
  consent: {
@@ -69,9 +97,9 @@ export function buildPreviewPayload(input) {
69
97
  review_artifact_digest: "",
70
98
  },
71
99
  expected_artifacts: ["preview"],
72
- rollback_notes: ["Patze CLI preview only — no apply or execute."],
100
+ rollback_notes: ["Patze CLI preview + execute — no auto-apply."],
73
101
  canary_requested: false,
74
- metadata: { source: "patze_code_cli" },
102
+ metadata,
75
103
  repo_metadata: { repo: repoId },
76
104
  },
77
105
  policy: {
@@ -79,7 +107,7 @@ export function buildPreviewPayload(input) {
79
107
  repo_allowlist: [repoId],
80
108
  no_auto_apply: true,
81
109
  auto_apply_requested: false,
82
- cloud_requested: false,
110
+ cloud_requested: executionMode === "cloud",
83
111
  pr_requested: false,
84
112
  public_route_requested: false,
85
113
  ui_requested: false,
@@ -1 +1 @@
1
- {"version":3,"file":"preview-payload.js","sourceRoot":"","sources":["../../src/backend/preview-payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview-payload.js","sourceRoot":"","sources":["../../src/backend/preview-payload.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export async function streamPatzeCodeRun(input) {
5
5
  const fetchImpl = input.fetchImpl ?? fetch;
6
6
  const url = new URL(`/internal/patze-code/user-task-runs/${encodeURIComponent(input.runId)}/stream`, input.apiBase);
7
7
  const controller = new AbortController();
8
- const timer = setTimeout(() => controller.abort(), input.timeoutMs ?? 180_000);
8
+ const timer = setTimeout(() => controller.abort(), input.timeoutMs ?? 600_000);
9
9
  try {
10
10
  const response = await fetchImpl(url, {
11
11
  method: "GET",
@@ -0,0 +1,35 @@
1
+ import type { ResolvedConfig } from "../config/config.js";
2
+ import type { FetchLike } from "./preview-client.js";
3
+ import { type PatzeCodeRunRecord } from "./run-record.js";
4
+ export type PatzeCodeRunListItem = PatzeCodeRunRecord & {
5
+ created_at: string;
6
+ updated_at: string;
7
+ workflow_mode: string;
8
+ outcome_summary: string;
9
+ };
10
+ export type ListRunsResult = {
11
+ ok: true;
12
+ runs: PatzeCodeRunListItem[];
13
+ } | {
14
+ ok: false;
15
+ kind: "auth" | "network" | "blocked";
16
+ message: string;
17
+ };
18
+ export declare function fetchPatzeCodeRuns(input: {
19
+ apiBase: string;
20
+ headers: Record<string, string>;
21
+ limit?: number;
22
+ fetchImpl?: FetchLike;
23
+ }): Promise<ListRunsResult>;
24
+ export declare function fetchPatzeCodeRunDetail(input: {
25
+ apiBase: string;
26
+ headers: Record<string, string>;
27
+ runId: string;
28
+ fetchImpl?: FetchLike;
29
+ }): Promise<PatzeCodeRunListItem | null>;
30
+ export declare function listPatzeCodeRunsForConfig(input: {
31
+ config: ResolvedConfig;
32
+ limit?: number;
33
+ fetchImpl?: FetchLike;
34
+ }): Promise<ListRunsResult>;
35
+ //# sourceMappingURL=runs-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs-client.d.ts","sourceRoot":"","sources":["../../src/backend/runs-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,oBAAoB,EAAE,CAAA;CAAE,GAC1C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAiBxE,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyC1B;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAmBvC;AAED,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,MAAM,EAAE,cAAc,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,GAAG,OAAO,CAAC,cAAc,CAAC,CAY1B"}
@@ -0,0 +1,87 @@
1
+ import { PatzeBackendClient } from "./client.js";
2
+ import { normalizePatzeCodeRunRecord, } from "./run-record.js";
3
+ function normalizeRunListItem(raw) {
4
+ const base = normalizePatzeCodeRunRecord(raw);
5
+ if (!base) {
6
+ return null;
7
+ }
8
+ const row = raw;
9
+ return {
10
+ ...base,
11
+ created_at: String(row.created_at ?? ""),
12
+ updated_at: String(row.updated_at ?? ""),
13
+ workflow_mode: String(row.workflow_mode ?? ""),
14
+ outcome_summary: String(row.outcome_summary ?? base.outcome_summary ?? ""),
15
+ };
16
+ }
17
+ export async function fetchPatzeCodeRuns(input) {
18
+ const fetchImpl = input.fetchImpl ?? fetch;
19
+ const url = new URL("/internal/patze-code/user-task-runs", input.apiBase);
20
+ if (input.limit) {
21
+ url.searchParams.set("limit", String(input.limit));
22
+ }
23
+ try {
24
+ const response = await fetchImpl(url, {
25
+ method: "GET",
26
+ headers: { ...input.headers, Accept: "application/json" },
27
+ });
28
+ const body = (await response.json().catch(() => ({})));
29
+ if (response.status === 401 || response.status === 403) {
30
+ return {
31
+ ok: false,
32
+ kind: response.status === 401 ? "auth" : "blocked",
33
+ message: String(body.error_code ?? body.detail ?? `runs list failed (${response.status})`),
34
+ };
35
+ }
36
+ if (!response.ok) {
37
+ return {
38
+ ok: false,
39
+ kind: "network",
40
+ message: `runs list failed (${response.status})`,
41
+ };
42
+ }
43
+ const runsRaw = body.runs;
44
+ const runs = Array.isArray(runsRaw)
45
+ ? runsRaw
46
+ .map((row) => normalizeRunListItem(row))
47
+ .filter((row) => row !== null)
48
+ : [];
49
+ return { ok: true, runs };
50
+ }
51
+ catch (error) {
52
+ const message = error instanceof Error ? error.message : "runs list failed";
53
+ return { ok: false, kind: "network", message };
54
+ }
55
+ }
56
+ export async function fetchPatzeCodeRunDetail(input) {
57
+ const fetchImpl = input.fetchImpl ?? fetch;
58
+ const url = new URL(`/internal/patze-code/user-task-runs/${encodeURIComponent(input.runId)}`, input.apiBase);
59
+ try {
60
+ const response = await fetchImpl(url, {
61
+ method: "GET",
62
+ headers: { ...input.headers, Accept: "application/json" },
63
+ });
64
+ if (!response.ok) {
65
+ return null;
66
+ }
67
+ const body = (await response.json());
68
+ return normalizeRunListItem(body.run);
69
+ }
70
+ catch {
71
+ return null;
72
+ }
73
+ }
74
+ export async function listPatzeCodeRunsForConfig(input) {
75
+ const config = input.config;
76
+ if (!config.api || !config.token || !config.userId) {
77
+ return { ok: false, kind: "auth", message: "Auth incomplete — run patze login first." };
78
+ }
79
+ const client = new PatzeBackendClient(config);
80
+ return fetchPatzeCodeRuns({
81
+ apiBase: client.baseUrl,
82
+ headers: client.buildHeaders(),
83
+ limit: input.limit,
84
+ fetchImpl: input.fetchImpl,
85
+ });
86
+ }
87
+ //# sourceMappingURL=runs-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs-client.js","sourceRoot":"","sources":["../../src/backend/runs-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { FetchLike } from "../../backend/preview-client.js";
2
+ import type { OneShotAgentOptions } from "../one-shot-args.js";
3
+ import type { Printer } from "../ui/printer.js";
4
+ import type { ParsedArgv } from "../argv.js";
5
+ export declare function runOneShotAgent(options: OneShotAgentOptions, printer: Printer, fetchImpl?: FetchLike): Promise<number>;
6
+ export declare function resolveOneShotPrompt(options: OneShotAgentOptions | null, argv: ParsedArgv): Promise<OneShotAgentOptions | null>;
7
+ export declare function formatOneShotModelLine(cwd: string): string;
8
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAIhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAI/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAG5C,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,CAAC,CA4CjB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,mBAAmB,GAAG,IAAI,EACnC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAsBrC;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI1D"}
@@ -0,0 +1,72 @@
1
+ import { loadConfig } from "../../config/config.js";
2
+ import { resolveEffectiveModel } from "../../config/models.js";
3
+ import { readStdinPrompt } from "../read-stdin.js";
4
+ import { InteractiveSession } from "../interactive/session.js";
5
+ import { runAgentTurn } from "../interactive/agent-turn.js";
6
+ import { runGoal } from "./goal.js";
7
+ import { flagBoolean } from "../argv.js";
8
+ export async function runOneShotAgent(options, printer, fetchImpl) {
9
+ const session = new InteractiveSession(options.cwd);
10
+ if (options.model) {
11
+ session.setModelOverride(options.model);
12
+ }
13
+ if (options.dryRun) {
14
+ const parsed = {
15
+ command: ["goal"],
16
+ positional: [options.prompt],
17
+ flags: new Map([["dry-run", true]]),
18
+ raw: [],
19
+ };
20
+ return runGoal(parsed, printer);
21
+ }
22
+ let partialActive = false;
23
+ const canStreamPartials = Boolean(process.stdout.isTTY);
24
+ const result = await runAgentTurn(session, options.prompt, {
25
+ cwd: options.cwd,
26
+ fetchImpl,
27
+ onTranscriptLine: (line) => {
28
+ printer.line(line);
29
+ },
30
+ onTranscriptPartial: canStreamPartials
31
+ ? (chunk) => {
32
+ partialActive = true;
33
+ process.stdout.write(chunk);
34
+ }
35
+ : undefined,
36
+ });
37
+ if (partialActive) {
38
+ process.stdout.write("\n");
39
+ }
40
+ if (!result.streamed) {
41
+ for (const line of result.lines) {
42
+ printer.line(line);
43
+ }
44
+ }
45
+ return result.exitCode;
46
+ }
47
+ export async function resolveOneShotPrompt(options, argv) {
48
+ if (options?.prompt) {
49
+ return options;
50
+ }
51
+ if (argv.command.length > 0) {
52
+ return null;
53
+ }
54
+ const stdinPrompt = await readStdinPrompt();
55
+ if (!stdinPrompt) {
56
+ return null;
57
+ }
58
+ const cwdFlag = argv.flags.get("cwd") ?? argv.flags.get("C");
59
+ const modelFlag = argv.flags.get("model") ?? argv.flags.get("m");
60
+ return {
61
+ prompt: stdinPrompt,
62
+ cwd: typeof cwdFlag === "string" ? cwdFlag : process.cwd(),
63
+ model: typeof modelFlag === "string" ? modelFlag : null,
64
+ dryRun: flagBoolean(argv.flags, "dry-run"),
65
+ };
66
+ }
67
+ export function formatOneShotModelLine(cwd) {
68
+ const config = loadConfig(cwd);
69
+ const model = resolveEffectiveModel({ configModel: config.model ?? null });
70
+ return `model · ${model}`;
71
+ }
72
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ export type PlanPreviewResult = {
8
8
  export type PlanPreviewOptions = {
9
9
  cwd?: string;
10
10
  fetchImpl?: FetchLike;
11
+ modelHint?: string | null;
12
+ conversationContext?: string | null;
13
+ executionMode?: "local" | "cloud";
11
14
  };
12
15
  export declare function runPlanPreview(objective: string, options?: PlanPreviewOptions): Promise<PlanPreviewResult>;
13
16
  //# sourceMappingURL=plan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAA;AAKxC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACnC,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA;AASD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAsD5B"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAA;AAKxC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACnC,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAClC,CAAA;AASD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAyD5B"}
@@ -40,6 +40,9 @@ export async function runPlanPreview(objective, options = {}) {
40
40
  objective: objective.trim(),
41
41
  cwd,
42
42
  config,
43
+ modelHint: options.modelHint,
44
+ conversationContext: options.conversationContext,
45
+ executionMode: options.executionMode,
43
46
  });
44
47
  const result = await postUserTaskPreview({
45
48
  apiBase: client.baseUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EACL,mBAAmB,GAGpB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAuB,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAc1D,SAAS,kBAAkB,CAAC,MAAsB;IAChD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,IAAI,CAAC,MAAM,CAAC,GAAG;QAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxC,OAAO,6BAA6B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sDAAsD,CAAA;AAC9G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,UAA8B,EAAE;IAEhC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACxC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAE9B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACtB,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE;gBACN,6CAA6C;gBAC7C,qBAAqB;gBACrB,qDAAqD;aACtD,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,KAAK;SACnB,CAAA;IACH,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;YAClC,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,KAAK;SACnB,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,mBAAmB,CAAC;QAClC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE;QAC3B,GAAG;QACH,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;QACvC,OAAO,EAAE,MAAM,CAAC,OAAQ;QACxB,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE;QAC9B,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC;QACrC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE;QAC3B,MAAM;KACP,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;IACpE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AACpE,CAAC"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { PatzeCodeRunListItem } from "../../backend/runs-client.js";
2
+ export declare function formatRunsListLines(runs: PatzeCodeRunListItem[]): string[];
3
+ export declare function formatRunOpenLines(run: PatzeCodeRunListItem): string[];
4
+ //# sourceMappingURL=runs-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs-format.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runs-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAcxE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,CAkB1E;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAyBtE"}
@@ -0,0 +1,50 @@
1
+ import { pickRunReplyText } from "../../backend/run-record.js";
2
+ function formatTimestamp(value) {
3
+ if (!value) {
4
+ return "—";
5
+ }
6
+ const parsed = Date.parse(value);
7
+ if (Number.isNaN(parsed)) {
8
+ return value.slice(0, 19);
9
+ }
10
+ return new Date(parsed).toISOString().replace("T", " ").slice(0, 19);
11
+ }
12
+ export function formatRunsListLines(runs) {
13
+ if (!runs.length) {
14
+ return ["No runs yet.", "Complete a coding task to populate run history."];
15
+ }
16
+ const lines = [`Runs (${runs.length}):`, ""];
17
+ for (const run of runs) {
18
+ const summary = pickRunReplyText(run).replace(/\s+/g, " ").slice(0, 72);
19
+ lines.push(` ${run.run_id} ${run.phase || run.status} ${formatTimestamp(run.created_at)} ${run.agent_model || "model?"}`);
20
+ if (summary) {
21
+ lines.push(` ${summary}${summary.length >= 72 ? "…" : ""}`);
22
+ }
23
+ }
24
+ lines.push("");
25
+ lines.push("Open details: patze runs open <id> · Replay: /run <id>");
26
+ return lines;
27
+ }
28
+ export function formatRunOpenLines(run) {
29
+ const lines = [
30
+ `Run ${run.run_id}`,
31
+ ` phase: ${run.phase || run.status}`,
32
+ ` model: ${run.agent_model || "unknown"}`,
33
+ ` workflow: ${run.workflow_mode || "—"}`,
34
+ ` created: ${formatTimestamp(run.created_at)}`,
35
+ ];
36
+ const summary = run.outcome_summary.trim() || pickRunReplyText(run);
37
+ if (summary) {
38
+ lines.push(` summary: ${summary.replace(/\s+/g, " ").slice(0, 240)}`);
39
+ }
40
+ if (run.deliverable_paths.length) {
41
+ lines.push(` deliverables: ${run.deliverable_paths.slice(0, 5).join(", ")}`);
42
+ }
43
+ if (run.error_code) {
44
+ lines.push(` error: ${run.error_code}`);
45
+ }
46
+ lines.push("");
47
+ lines.push("Replay trace: patze runs open --stream <id> or /run " + run.run_id);
48
+ return lines;
49
+ }
50
+ //# sourceMappingURL=runs-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs-format.js","sourceRoot":"","sources":["../../../src/cli/commands/runs-format.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,wBAAsB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBjF;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAIpF"}
1
+ {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAM5C,wBAAsB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA4EjF;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAepF"}