@patze/code-cli 0.24.0 → 0.41.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 (177) hide show
  1. package/CHANGELOG.md +162 -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/execute-client.d.ts +2 -0
  8. package/dist/backend/execute-client.d.ts.map +1 -1
  9. package/dist/backend/execute-client.js +2 -0
  10. package/dist/backend/execute-client.js.map +1 -1
  11. package/dist/backend/run-record.d.ts +2 -0
  12. package/dist/backend/run-record.d.ts.map +1 -1
  13. package/dist/backend/run-record.js +21 -0
  14. package/dist/backend/run-record.js.map +1 -1
  15. package/dist/backend/run-stream-client.d.ts +6 -0
  16. package/dist/backend/run-stream-client.d.ts.map +1 -1
  17. package/dist/backend/run-stream-client.js +10 -0
  18. package/dist/backend/run-stream-client.js.map +1 -1
  19. package/dist/cli/commands/agent.d.ts.map +1 -1
  20. package/dist/cli/commands/agent.js +22 -25
  21. package/dist/cli/commands/agent.js.map +1 -1
  22. package/dist/cli/commands/exec.d.ts.map +1 -1
  23. package/dist/cli/commands/exec.js +46 -8
  24. package/dist/cli/commands/exec.js.map +1 -1
  25. package/dist/cli/commands/trust-loop-snapshot.d.ts.map +1 -1
  26. package/dist/cli/commands/trust-loop-snapshot.js +19 -0
  27. package/dist/cli/commands/trust-loop-snapshot.js.map +1 -1
  28. package/dist/cli/help.d.ts.map +1 -1
  29. package/dist/cli/help.js +9 -8
  30. package/dist/cli/help.js.map +1 -1
  31. package/dist/cli/interactive/agent-event-feed.d.ts +12 -2
  32. package/dist/cli/interactive/agent-event-feed.d.ts.map +1 -1
  33. package/dist/cli/interactive/agent-event-feed.js +182 -81
  34. package/dist/cli/interactive/agent-event-feed.js.map +1 -1
  35. package/dist/cli/interactive/agent-event-parse.d.ts +4 -0
  36. package/dist/cli/interactive/agent-event-parse.d.ts.map +1 -0
  37. package/dist/cli/interactive/agent-event-parse.js +92 -0
  38. package/dist/cli/interactive/agent-event-parse.js.map +1 -0
  39. package/dist/cli/interactive/agent-events.d.ts +6 -0
  40. package/dist/cli/interactive/agent-events.d.ts.map +1 -1
  41. package/dist/cli/interactive/agent-events.js +39 -2
  42. package/dist/cli/interactive/agent-events.js.map +1 -1
  43. package/dist/cli/interactive/agent-execute-turn.d.ts +3 -0
  44. package/dist/cli/interactive/agent-execute-turn.d.ts.map +1 -1
  45. package/dist/cli/interactive/agent-execute-turn.js +13 -0
  46. package/dist/cli/interactive/agent-execute-turn.js.map +1 -1
  47. package/dist/cli/interactive/agent-stream-format.d.ts +4 -0
  48. package/dist/cli/interactive/agent-stream-format.d.ts.map +1 -1
  49. package/dist/cli/interactive/agent-stream-format.js +44 -5
  50. package/dist/cli/interactive/agent-stream-format.js.map +1 -1
  51. package/dist/cli/interactive/agent-turn-classify.d.ts.map +1 -1
  52. package/dist/cli/interactive/agent-turn-classify.js +1 -3
  53. package/dist/cli/interactive/agent-turn-classify.js.map +1 -1
  54. package/dist/cli/interactive/agent-turn-context.d.ts.map +1 -1
  55. package/dist/cli/interactive/agent-turn-context.js +7 -1
  56. package/dist/cli/interactive/agent-turn-context.js.map +1 -1
  57. package/dist/cli/interactive/agent-turn-format.js +2 -2
  58. package/dist/cli/interactive/agent-turn-format.js.map +1 -1
  59. package/dist/cli/interactive/agent-turn.d.ts +1 -0
  60. package/dist/cli/interactive/agent-turn.d.ts.map +1 -1
  61. package/dist/cli/interactive/agent-turn.js +40 -28
  62. package/dist/cli/interactive/agent-turn.js.map +1 -1
  63. package/dist/cli/interactive/auth-gate.d.ts +6 -0
  64. package/dist/cli/interactive/auth-gate.d.ts.map +1 -0
  65. package/dist/cli/interactive/auth-gate.js +29 -0
  66. package/dist/cli/interactive/auth-gate.js.map +1 -0
  67. package/dist/cli/interactive/codex-diff-feed.d.ts +14 -0
  68. package/dist/cli/interactive/codex-diff-feed.d.ts.map +1 -0
  69. package/dist/cli/interactive/codex-diff-feed.js +76 -0
  70. package/dist/cli/interactive/codex-diff-feed.js.map +1 -0
  71. package/dist/cli/interactive/codex-feed-demo.d.ts +9 -0
  72. package/dist/cli/interactive/codex-feed-demo.d.ts.map +1 -0
  73. package/dist/cli/interactive/codex-feed-demo.js +72 -0
  74. package/dist/cli/interactive/codex-feed-demo.js.map +1 -0
  75. package/dist/cli/interactive/codex-feed-format.d.ts +35 -0
  76. package/dist/cli/interactive/codex-feed-format.d.ts.map +1 -0
  77. package/dist/cli/interactive/codex-feed-format.js +142 -0
  78. package/dist/cli/interactive/codex-feed-format.js.map +1 -0
  79. package/dist/cli/interactive/codex-feed-writer.d.ts +18 -0
  80. package/dist/cli/interactive/codex-feed-writer.d.ts.map +1 -0
  81. package/dist/cli/interactive/codex-feed-writer.js +144 -0
  82. package/dist/cli/interactive/codex-feed-writer.js.map +1 -0
  83. package/dist/cli/interactive/codex-preview-feed.d.ts +13 -0
  84. package/dist/cli/interactive/codex-preview-feed.d.ts.map +1 -0
  85. package/dist/cli/interactive/codex-preview-feed.js +130 -0
  86. package/dist/cli/interactive/codex-preview-feed.js.map +1 -0
  87. package/dist/cli/interactive/composer-chrome.d.ts +20 -0
  88. package/dist/cli/interactive/composer-chrome.d.ts.map +1 -0
  89. package/dist/cli/interactive/composer-chrome.js +77 -0
  90. package/dist/cli/interactive/composer-chrome.js.map +1 -0
  91. package/dist/cli/interactive/composer-keys.d.ts +2 -1
  92. package/dist/cli/interactive/composer-keys.d.ts.map +1 -1
  93. package/dist/cli/interactive/composer-keys.js +9 -2
  94. package/dist/cli/interactive/composer-keys.js.map +1 -1
  95. package/dist/cli/interactive/composer-session-chrome.d.ts +4 -0
  96. package/dist/cli/interactive/composer-session-chrome.d.ts.map +1 -0
  97. package/dist/cli/interactive/composer-session-chrome.js +22 -0
  98. package/dist/cli/interactive/composer-session-chrome.js.map +1 -0
  99. package/dist/cli/interactive/cookbook-feed-writer.d.ts +3 -0
  100. package/dist/cli/interactive/cookbook-feed-writer.d.ts.map +1 -0
  101. package/dist/cli/interactive/cookbook-feed-writer.js +3 -0
  102. package/dist/cli/interactive/cookbook-feed-writer.js.map +1 -0
  103. package/dist/cli/interactive/cookbook-tool-feed.d.ts +13 -0
  104. package/dist/cli/interactive/cookbook-tool-feed.d.ts.map +1 -0
  105. package/dist/cli/interactive/cookbook-tool-feed.js +67 -0
  106. package/dist/cli/interactive/cookbook-tool-feed.js.map +1 -0
  107. package/dist/cli/interactive/header.d.ts +4 -1
  108. package/dist/cli/interactive/header.d.ts.map +1 -1
  109. package/dist/cli/interactive/header.js +61 -1
  110. package/dist/cli/interactive/header.js.map +1 -1
  111. package/dist/cli/interactive/line-editor.d.ts +11 -0
  112. package/dist/cli/interactive/line-editor.d.ts.map +1 -1
  113. package/dist/cli/interactive/line-editor.js +83 -11
  114. package/dist/cli/interactive/line-editor.js.map +1 -1
  115. package/dist/cli/interactive/opentui-agent-event.d.ts +10 -0
  116. package/dist/cli/interactive/opentui-agent-event.d.ts.map +1 -0
  117. package/dist/cli/interactive/opentui-agent-event.js +12 -0
  118. package/dist/cli/interactive/opentui-agent-event.js.map +1 -0
  119. package/dist/cli/interactive/plain-agent-render.d.ts +5 -4
  120. package/dist/cli/interactive/plain-agent-render.d.ts.map +1 -1
  121. package/dist/cli/interactive/plain-agent-render.js +12 -44
  122. package/dist/cli/interactive/plain-agent-render.js.map +1 -1
  123. package/dist/cli/interactive/plain-codex-feed.d.ts +11 -0
  124. package/dist/cli/interactive/plain-codex-feed.d.ts.map +1 -0
  125. package/dist/cli/interactive/plain-codex-feed.js +37 -0
  126. package/dist/cli/interactive/plain-codex-feed.js.map +1 -0
  127. package/dist/cli/interactive/reset-agent.d.ts +8 -0
  128. package/dist/cli/interactive/reset-agent.d.ts.map +1 -0
  129. package/dist/cli/interactive/reset-agent.js +23 -0
  130. package/dist/cli/interactive/reset-agent.js.map +1 -0
  131. package/dist/cli/interactive/run-replay.d.ts.map +1 -1
  132. package/dist/cli/interactive/run-replay.js +3 -0
  133. package/dist/cli/interactive/run-replay.js.map +1 -1
  134. package/dist/cli/interactive/session-controller.d.ts +1 -0
  135. package/dist/cli/interactive/session-controller.d.ts.map +1 -1
  136. package/dist/cli/interactive/session-controller.js +24 -10
  137. package/dist/cli/interactive/session-controller.js.map +1 -1
  138. package/dist/cli/interactive/session-hints.d.ts +4 -0
  139. package/dist/cli/interactive/session-hints.d.ts.map +1 -0
  140. package/dist/cli/interactive/session-hints.js +28 -0
  141. package/dist/cli/interactive/session-hints.js.map +1 -0
  142. package/dist/cli/interactive/session.d.ts +3 -1
  143. package/dist/cli/interactive/session.d.ts.map +1 -1
  144. package/dist/cli/interactive/session.js +8 -2
  145. package/dist/cli/interactive/session.js.map +1 -1
  146. package/dist/cli/interactive/shell.d.ts.map +1 -1
  147. package/dist/cli/interactive/shell.js +61 -2
  148. package/dist/cli/interactive/shell.js.map +1 -1
  149. package/dist/cli/interactive/slash-dispatch.d.ts +6 -0
  150. package/dist/cli/interactive/slash-dispatch.d.ts.map +1 -1
  151. package/dist/cli/interactive/slash-dispatch.js +29 -5
  152. package/dist/cli/interactive/slash-dispatch.js.map +1 -1
  153. package/dist/cli/interactive/slash-menu-core.d.ts +10 -0
  154. package/dist/cli/interactive/slash-menu-core.d.ts.map +1 -0
  155. package/dist/cli/interactive/slash-menu-core.js +34 -0
  156. package/dist/cli/interactive/slash-menu-core.js.map +1 -0
  157. package/dist/cli/interactive/slash-menu.d.ts +3 -0
  158. package/dist/cli/interactive/slash-menu.d.ts.map +1 -1
  159. package/dist/cli/interactive/slash-menu.js +16 -4
  160. package/dist/cli/interactive/slash-menu.js.map +1 -1
  161. package/dist/cli/interactive/slash-registry.d.ts.map +1 -1
  162. package/dist/cli/interactive/slash-registry.js +4 -1
  163. package/dist/cli/interactive/slash-registry.js.map +1 -1
  164. package/dist/cli/interactive/trace-glyphs.d.ts +1 -0
  165. package/dist/cli/interactive/trace-glyphs.d.ts.map +1 -1
  166. package/dist/cli/interactive/trace-glyphs.js +47 -1
  167. package/dist/cli/interactive/trace-glyphs.js.map +1 -1
  168. package/dist/cli/interactive/transcript-upsert.d.ts.map +1 -1
  169. package/dist/cli/interactive/transcript-upsert.js +10 -6
  170. package/dist/cli/interactive/transcript-upsert.js.map +1 -1
  171. package/dist/cli/one-shot-args.d.ts +1 -0
  172. package/dist/cli/one-shot-args.d.ts.map +1 -1
  173. package/dist/cli/one-shot-args.js +3 -2
  174. package/dist/cli/one-shot-args.js.map +1 -1
  175. package/opentui/src/App.tsx +233 -85
  176. package/opentui/src/transcript-render.ts +144 -2
  177. package/package.json +1 -1
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Cookbook coding-agent-cli tool row formatting (tui/App.tsx).
3
+ * @see https://github.com/cursor/cookbook/tree/main/sdk/coding-agent-cli/src/tui/App.tsx
4
+ */
5
+ export function normalizeCookbookToolStatus(status) {
6
+ const normalized = status.trim().toLowerCase();
7
+ if (normalized === "done" || normalized === "completed") {
8
+ return "completed";
9
+ }
10
+ if (normalized === "error" || normalized === "failed") {
11
+ return "error";
12
+ }
13
+ if (normalized === "requested") {
14
+ return "requested";
15
+ }
16
+ if (normalized === "running" || normalized === "in_progress") {
17
+ return "running";
18
+ }
19
+ return normalized || "running";
20
+ }
21
+ export function formatCookbookToolStatus(status) {
22
+ switch (normalizeCookbookToolStatus(status)) {
23
+ case "requested":
24
+ return "[ ]";
25
+ case "running":
26
+ return "[~]";
27
+ case "completed":
28
+ return "[x]";
29
+ case "error":
30
+ return "[!]";
31
+ default:
32
+ return status.toLowerCase();
33
+ }
34
+ }
35
+ export function formatCookbookToolIcon(name) {
36
+ const key = name.toLowerCase();
37
+ if (key.includes("read")) {
38
+ return "[R]";
39
+ }
40
+ if (key.includes("glob") || key.includes("grep") || key.includes("search")) {
41
+ return "[S]";
42
+ }
43
+ if (key.includes("shell") || key.includes("terminal") || key.includes("command")) {
44
+ return "$";
45
+ }
46
+ if (key.includes("edit") ||
47
+ key.includes("write") ||
48
+ key.includes("patch") ||
49
+ key.includes("delete")) {
50
+ return "[E]";
51
+ }
52
+ if (key.includes("todo") || key.includes("task")) {
53
+ return "[T]";
54
+ }
55
+ return "[*]";
56
+ }
57
+ export function formatCookbookToolFeedLine(input) {
58
+ return [
59
+ formatCookbookToolStatus(input.status),
60
+ formatCookbookToolIcon(input.name),
61
+ input.name,
62
+ input.params?.trim(),
63
+ ]
64
+ .filter(Boolean)
65
+ .join(" ");
66
+ }
67
+ //# sourceMappingURL=cookbook-tool-feed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookbook-tool-feed.js","sourceRoot":"","sources":["../../../src/cli/interactive/cookbook-tool-feed.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,2BAA2B,CAAC,MAAc;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC9C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QACxD,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,UAAU,IAAI,SAAS,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACrD,QAAQ,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,KAAK,WAAW;YACd,OAAO,KAAK,CAAA;QACd,KAAK,SAAS;YACZ,OAAO,KAAK,CAAA;QACd,KAAK,WAAW;YACd,OAAO,KAAK,CAAA;QACd,KAAK,OAAO;YACV,OAAO,KAAK,CAAA;QACd;YACE,OAAO,MAAM,CAAC,WAAW,EAAE,CAAA;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAE9B,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IACE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACtB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAI1C;IACC,OAAO;QACL,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC;QACtC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;KACrB;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,CAAC"}
@@ -1,14 +1,17 @@
1
1
  import type { PermissionMode } from "../../runtime/permissions.js";
2
2
  import type { ExecutionMode } from "./session-store.js";
3
+ export type HeaderStyle = "compact" | "verbose";
3
4
  export type HeaderOptions = {
4
5
  width?: number;
5
6
  color?: boolean;
7
+ style?: HeaderStyle;
6
8
  };
7
9
  export type HeaderSmartState = {
8
10
  modelThinking?: boolean | null;
9
11
  modelFast?: boolean | null;
10
12
  cursorAgentId?: string | null;
11
13
  };
14
+ export declare function buildContextualStartupTip(authReady: boolean, executionMode: ExecutionMode): string;
12
15
  export declare function renderInteractiveHeader(cwd: string, permissionMode?: PermissionMode, modelOverride?: string | null, executionMode?: ExecutionMode, options?: HeaderOptions, smart?: HeaderSmartState): string[];
13
- export declare const INTERACTIVE_PROMPT = "\u203A ";
16
+ export declare const INTERACTIVE_PROMPT = "> ";
14
17
  //# sourceMappingURL=header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AASlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAQvD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAUD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9B,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,cAAc,CAAC,EAAE,cAAc,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,EAC7B,aAAa,GAAE,aAAuB,EACtC,OAAO,GAAE,aAAkB,EAC3B,KAAK,GAAE,gBAAqB,GAC3B,MAAM,EAAE,CAsDV;AAUD,eAAO,MAAM,kBAAkB,YAAO,CAAA"}
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAUlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAQvD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,CAAA;AAE/C,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB,CAAA;AAoBD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9B,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,aAAa,GAC3B,MAAM,CAQR;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,cAAc,CAAC,EAAE,cAAc,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,EAC7B,aAAa,GAAE,aAAuB,EACtC,OAAO,GAAE,aAAkB,EAC3B,KAAK,GAAE,gBAAqB,GAC3B,MAAM,EAAE,CAoBV;AA2HD,eAAO,MAAM,kBAAkB,OAAO,CAAA"}
@@ -6,6 +6,7 @@ import { resolveSandbox } from "../../runtime/sandbox.js";
6
6
  import { guessWorkspaceRoot } from "../../runtime/workspace.js";
7
7
  import { resolveEffectiveModel } from "../../config/models.js";
8
8
  import { formatModelDisplay } from "../../config/model-preferences.js";
9
+ import { shortenPathForComposer } from "./composer-chrome.js";
9
10
  import { CLI_VERSION } from "../../version.js";
10
11
  import { renderCard } from "../ui/box.js";
11
12
  const YELLOW = "\x1b[33m";
@@ -17,7 +18,66 @@ function detectColor() {
17
18
  function detectWidth() {
18
19
  return typeof process.stdout.columns === "number" ? process.stdout.columns : 0;
19
20
  }
21
+ function resolveHeaderStyle(options) {
22
+ if (options.style) {
23
+ return options.style;
24
+ }
25
+ if (process.env.PATZE_HEADER_VERBOSE === "1") {
26
+ return "verbose";
27
+ }
28
+ return "compact";
29
+ }
30
+ export function buildContextualStartupTip(authReady, executionMode) {
31
+ if (!authReady) {
32
+ return "Tip: run `patze login <api> <token> [userId]` then `/status --check`";
33
+ }
34
+ if (executionMode === "cloud") {
35
+ return "Tip: cloud mode · `/local` for pinned cwd · `/model` to switch";
36
+ }
37
+ return 'Tip: patze "<task>" one-shot · `/model` to switch · `/help` for commands';
38
+ }
20
39
  export function renderInteractiveHeader(cwd, permissionMode, modelOverride, executionMode = "local", options = {}, smart = {}) {
40
+ const style = resolveHeaderStyle(options);
41
+ if (style === "verbose") {
42
+ return renderVerboseInteractiveHeader(cwd, permissionMode, modelOverride, executionMode, options, smart);
43
+ }
44
+ return renderCompactInteractiveHeader(cwd, permissionMode, modelOverride, executionMode, options, smart);
45
+ }
46
+ function renderCompactInteractiveHeader(cwd, _permissionMode, modelOverride, executionMode, options, smart) {
47
+ const color = options.color ?? detectColor();
48
+ const width = options.width ?? detectWidth();
49
+ const config = loadConfig(cwd);
50
+ const authReady = isAuthConfigured(config);
51
+ const workspace = guessWorkspaceRoot(cwd) || cwd;
52
+ const model = formatModelDisplay(resolveEffectiveModel({
53
+ sessionOverride: modelOverride,
54
+ configModel: config.model,
55
+ }), {
56
+ thinking: smart.modelThinking ?? null,
57
+ fast: smart.modelFast ?? null,
58
+ }, smart.cursorAgentId);
59
+ const card = renderCard({
60
+ title: `>_ Patze Code (v${CLI_VERSION})`,
61
+ rows: [
62
+ { label: "model", value: `${model} /model to change` },
63
+ { label: "directory", value: shortenPathForComposer(workspace, 52) || workspace },
64
+ ],
65
+ width,
66
+ color,
67
+ minInnerWidth: 36,
68
+ });
69
+ const lines = [...card];
70
+ const tip = buildContextualStartupTip(authReady, executionMode);
71
+ lines.push(color ? `${DIM}${tip}${RESET}` : tip);
72
+ if (!authReady) {
73
+ const warn = "Heads up: auth incomplete — run `patze login` or set PATZE_CODE_* env";
74
+ lines.push(color ? `${YELLOW}${warn}${RESET}` : warn);
75
+ }
76
+ lines.push(color ? `${DIM}${STAGE_NOTICE}${RESET}` : STAGE_NOTICE);
77
+ lines.push("");
78
+ return lines;
79
+ }
80
+ function renderVerboseInteractiveHeader(cwd, permissionMode, modelOverride, executionMode, options, smart) {
21
81
  const color = options.color ?? detectColor();
22
82
  const width = options.width ?? detectWidth();
23
83
  const config = loadConfig(cwd);
@@ -68,5 +128,5 @@ const HEADER_TIPS = [
68
128
  "Cookbook feed: run · tool · agent stream (SSE) when logged in",
69
129
  "/login <api> <token> · /status --check to verify",
70
130
  ];
71
- export const INTERACTIVE_PROMPT = " ";
131
+ export const INTERACTIVE_PROMPT = "> ";
72
132
  //# sourceMappingURL=header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/cli/interactive/header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/cli/interactive/header.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import { isComposerNewlineKey, isComposerSubmitKey } from "./composer-keys.js";
2
+ import { type ComposerChrome } from "./composer-chrome.js";
2
3
  export type LineEditorOptions = {
3
4
  prompt: string;
4
5
  color: boolean;
5
6
  input?: NodeJS.ReadStream;
6
7
  output?: NodeJS.WriteStream;
8
+ getChrome?: ComposerChrome | (() => ComposerChrome);
9
+ getPlaceholder?: () => string;
7
10
  };
8
11
  export type SubmitResult = {
9
12
  type: "line";
@@ -23,6 +26,8 @@ export declare class SlashLineEditor {
23
26
  private readonly output;
24
27
  private readonly prompt;
25
28
  private readonly color;
29
+ private readonly getChrome?;
30
+ private readonly getPlaceholder?;
26
31
  private readonly history;
27
32
  private buffer;
28
33
  private cursor;
@@ -30,6 +35,8 @@ export declare class SlashLineEditor {
30
35
  private menuDismissed;
31
36
  private historyIndex;
32
37
  private stashedBuffer;
38
+ private pasteMode;
39
+ private pasteBuffer;
33
40
  /** Total lines in the last drawn composer frame (box + slash menu). */
34
41
  private renderedFrameRows;
35
42
  /** Cursor row within the last drawn frame (used for accurate rewind). */
@@ -45,6 +52,9 @@ export declare class SlashLineEditor {
45
52
  private historyNext;
46
53
  private pushHistory;
47
54
  private insertNewline;
55
+ private insertBulk;
56
+ private handleBracketedPasteChunk;
57
+ private finishBracketedPaste;
48
58
  private cursorLineCol;
49
59
  private render;
50
60
  private commitLine;
@@ -67,6 +77,7 @@ declare function buildComposerFrameLines(input: {
67
77
  buffer: string;
68
78
  color?: boolean;
69
79
  menuLines?: string[];
80
+ chrome?: ComposerChrome;
70
81
  }): string[];
71
82
  export { buildComposerFrameLines, formatComposerRow, isComposerNewlineKey, isComposerSubmitKey, padVisible, stripAnsi };
72
83
  //# sourceMappingURL=line-editor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"line-editor.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/line-editor.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAgB3B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAA;AAU5E;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAK;IAC1B,uEAAuE;IACvE,OAAO,CAAC,iBAAiB,CAAI;IAC7B,yEAAyE;IACzE,OAAO,CAAC,kBAAkB,CAAI;gBAElB,OAAO,EAAE,iBAAiB;IAOhC,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAmDvC,OAAO,CAAC,SAAS;IAmHjB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,MAAM;IAuEd,OAAO,CAAC,UAAU;CAUnB;AAeD,iBAAS,iBAAiB,CAAC,KAAK,EAAE;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,MAAM,CAaT;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMvD;AAqBD,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvC;AAED,gEAAgE;AAChE,iBAAS,uBAAuB,CAAC,KAAK,EAAE;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,GAAG,MAAM,EAAE,CAgCX;AAED,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"line-editor.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/line-editor.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,17 @@
1
1
  import { emitKeypressEvents } from "node:readline";
2
2
  import { isComposerNewlineKey, isComposerSubmitKey, } from "./composer-keys.js";
3
+ import { formatComposerFooterRow, resolveComposerChrome, } from "./composer-chrome.js";
3
4
  import { clampSelection, commandRequiresArg, computeSlashMenuItems, moveSelection, renderSlashMenu, } from "./slash-menu.js";
4
5
  import { isHistorySafe } from "./redact-input.js";
5
- const PLACEHOLDER = "Ask anything…";
6
+ const PLACEHOLDER = "Describe a task · / for commands";
6
7
  const DIM = "\x1b[2m";
7
8
  const RESET = "\x1b[0m";
8
9
  const BORDER = "\x1b[2m";
9
10
  const BORDER_ACTIVE = "\x1b[32m";
11
+ const HIDE_CURSOR = "\x1b[?25l";
12
+ const SHOW_CURSOR = "\x1b[?25h";
13
+ const BRACKETED_PASTE_START = "\x1b[200~";
14
+ const BRACKETED_PASTE_END = "\x1b[201~";
10
15
  /**
11
16
  * A minimal raw-mode line editor with a live slash-command menu.
12
17
  * TTY-only; the piped / scripted path keeps using readline elsewhere,
@@ -19,6 +24,8 @@ export class SlashLineEditor {
19
24
  output;
20
25
  prompt;
21
26
  color;
27
+ getChrome;
28
+ getPlaceholder;
22
29
  history = [];
23
30
  buffer = "";
24
31
  cursor = 0;
@@ -26,6 +33,8 @@ export class SlashLineEditor {
26
33
  menuDismissed = false;
27
34
  historyIndex = -1;
28
35
  stashedBuffer = "";
36
+ pasteMode = false;
37
+ pasteBuffer = "";
29
38
  /** Total lines in the last drawn composer frame (box + slash menu). */
30
39
  renderedFrameRows = 0;
31
40
  /** Cursor row within the last drawn frame (used for accurate rewind). */
@@ -35,6 +44,8 @@ export class SlashLineEditor {
35
44
  this.output = options.output ?? process.stdout;
36
45
  this.prompt = options.prompt;
37
46
  this.color = options.color;
47
+ this.getChrome = options.getChrome;
48
+ this.getPlaceholder = options.getPlaceholder;
38
49
  }
39
50
  async readLine() {
40
51
  this.buffer = "";
@@ -43,6 +54,8 @@ export class SlashLineEditor {
43
54
  this.menuDismissed = false;
44
55
  this.historyIndex = -1;
45
56
  this.stashedBuffer = "";
57
+ this.pasteMode = false;
58
+ this.pasteBuffer = "";
46
59
  this.renderedFrameRows = 0;
47
60
  this.lastCursorFrameRow = 0;
48
61
  emitKeypressEvents(this.input);
@@ -58,6 +71,7 @@ export class SlashLineEditor {
58
71
  this.input.setRawMode(wasRaw);
59
72
  }
60
73
  this.input.pause();
74
+ this.output.write(SHOW_CURSOR);
61
75
  resolvePromise(result);
62
76
  };
63
77
  const onKeypress = (str, key) => {
@@ -179,7 +193,24 @@ export class SlashLineEditor {
179
193
  }
180
194
  return "none";
181
195
  }
196
+ if (this.pasteMode && str) {
197
+ this.handleBracketedPasteChunk(str);
198
+ return "none";
199
+ }
200
+ if (str?.includes(BRACKETED_PASTE_START)) {
201
+ this.pasteMode = true;
202
+ const startIndex = str.indexOf(BRACKETED_PASTE_START);
203
+ this.pasteBuffer = str.slice(startIndex + BRACKETED_PASTE_START.length);
204
+ if (this.pasteBuffer.includes(BRACKETED_PASTE_END)) {
205
+ this.finishBracketedPaste();
206
+ }
207
+ return "none";
208
+ }
182
209
  if (str && !key.ctrl && !key.meta && isPrintable(str)) {
210
+ if (str.length > 1) {
211
+ this.insertBulk(str);
212
+ return "none";
213
+ }
183
214
  this.buffer = this.buffer.slice(0, this.cursor) + str + this.buffer.slice(this.cursor);
184
215
  this.cursor += str.length;
185
216
  this.afterEdit();
@@ -189,10 +220,9 @@ export class SlashLineEditor {
189
220
  }
190
221
  currentMenu() {
191
222
  if (this.menuDismissed) {
192
- return { open: false, items: [] };
223
+ return { open: false, query: "", items: [], advancedCount: 0 };
193
224
  }
194
- const menu = computeSlashMenuItems(this.buffer);
195
- return { open: menu.open, items: menu.items };
225
+ return computeSlashMenuItems(this.buffer);
196
226
  }
197
227
  afterEdit() {
198
228
  this.menuDismissed = false;
@@ -251,6 +281,28 @@ export class SlashLineEditor {
251
281
  this.cursor += 1;
252
282
  this.afterEdit();
253
283
  }
284
+ insertBulk(text) {
285
+ const normalized = text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
286
+ if (!normalized) {
287
+ return;
288
+ }
289
+ this.buffer = this.buffer.slice(0, this.cursor) + normalized + this.buffer.slice(this.cursor);
290
+ this.cursor += normalized.length;
291
+ this.afterEdit();
292
+ }
293
+ handleBracketedPasteChunk(str) {
294
+ this.pasteBuffer += str;
295
+ if (this.pasteBuffer.includes(BRACKETED_PASTE_END)) {
296
+ this.finishBracketedPaste();
297
+ }
298
+ }
299
+ finishBracketedPaste() {
300
+ const endIndex = this.pasteBuffer.indexOf(BRACKETED_PASTE_END);
301
+ const content = this.pasteBuffer.slice(0, endIndex);
302
+ this.pasteMode = false;
303
+ this.pasteBuffer = "";
304
+ this.insertBulk(content);
305
+ }
254
306
  cursorLineCol() {
255
307
  const before = this.buffer.slice(0, this.cursor);
256
308
  const line = before.split("\n").length - 1;
@@ -266,6 +318,7 @@ export class SlashLineEditor {
266
318
  selectedIndex: this.selectedIndex,
267
319
  color: this.color,
268
320
  width,
321
+ advancedCount: menu.advancedCount,
269
322
  })
270
323
  : [];
271
324
  const innerWidth = Math.max(20, width - 4);
@@ -283,7 +336,7 @@ export class SlashLineEditor {
283
336
  part,
284
337
  innerWidth,
285
338
  showPlaceholder,
286
- placeholder: PLACEHOLDER,
339
+ placeholder: this.getPlaceholder?.() ?? PLACEHOLDER,
287
340
  dim: DIM,
288
341
  reset: RESET,
289
342
  });
@@ -293,9 +346,18 @@ export class SlashLineEditor {
293
346
  const top = `${borderColor}╭${"─".repeat(Math.max(1, width - 2))}╮${borderReset}`;
294
347
  const mids = inputRows.map((rowText) => `${borderColor}│${borderReset} ${rowText} ${borderColor}│${borderReset}`);
295
348
  const bottom = `${borderColor}╰${"─".repeat(Math.max(1, width - 2))}╯${borderReset}`;
296
- const frameRows = 2 + inputRows.length + menuLines.length;
349
+ const chrome = resolveComposerChrome(this.getChrome);
350
+ const footerText = formatComposerFooterRow({
351
+ innerWidth,
352
+ left: chrome.left,
353
+ right: chrome.right,
354
+ dim: DIM,
355
+ reset: RESET,
356
+ });
357
+ const footer = `${borderColor}│${borderReset} ${footerText} ${borderColor}│${borderReset}`;
358
+ const frameRows = 3 + inputRows.length + menuLines.length;
297
359
  const previousFrameRows = this.renderedFrameRows;
298
- let out = "";
360
+ let out = HIDE_CURSOR;
299
361
  if (previousFrameRows > 0) {
300
362
  out += `\x1b[${this.lastCursorFrameRow}A`;
301
363
  out += "\r\x1b[J";
@@ -303,11 +365,11 @@ export class SlashLineEditor {
303
365
  else {
304
366
  out += "\r";
305
367
  }
306
- out += `${top}\n${mids.join("\n")}\n${bottom}`;
368
+ out += `${top}\n${mids.join("\n")}\n${footer}\n${bottom}`;
307
369
  for (const line of menuLines) {
308
370
  out += `\n${line}`;
309
371
  }
310
- const cursorUp = menuLines.length + 1 + (inputRows.length - 1 - cursorLine);
372
+ const cursorUp = menuLines.length + 2 + (inputRows.length - 1 - cursorLine);
311
373
  if (cursorUp > 0) {
312
374
  out += `\x1b[${cursorUp}A`;
313
375
  }
@@ -316,6 +378,7 @@ export class SlashLineEditor {
316
378
  if (col > 0) {
317
379
  out += `\x1b[${col}C`;
318
380
  }
381
+ out += SHOW_CURSOR;
319
382
  this.output.write(out);
320
383
  this.renderedFrameRows = frameRows;
321
384
  this.lastCursorFrameRow = 1 + cursorLine;
@@ -327,7 +390,7 @@ export class SlashLineEditor {
327
390
  else {
328
391
  this.output.write("\r\x1b[J");
329
392
  }
330
- this.output.write("\n");
393
+ this.output.write(`${SHOW_CURSOR}\n`);
331
394
  this.renderedFrameRows = 0;
332
395
  this.lastCursorFrameRow = 0;
333
396
  }
@@ -409,8 +472,17 @@ function buildComposerFrameLines(input) {
409
472
  const borderReset = color ? RESET : "";
410
473
  const top = `${borderColor}╭${"─".repeat(Math.max(1, width - 2))}╮${borderReset}`;
411
474
  const mids = inputRows.map((rowText) => `${borderColor}│${borderReset} ${rowText} ${borderColor}│${borderReset}`);
475
+ const chrome = resolveComposerChrome(input.chrome);
476
+ const footerText = formatComposerFooterRow({
477
+ innerWidth,
478
+ left: chrome.left,
479
+ right: chrome.right,
480
+ dim: DIM,
481
+ reset: RESET,
482
+ });
483
+ const footer = `${borderColor}│${borderReset} ${footerText} ${borderColor}│${borderReset}`;
412
484
  const bottom = `${borderColor}╰${"─".repeat(Math.max(1, width - 2))}╯${borderReset}`;
413
- return [top, ...mids, bottom, ...menuLines];
485
+ return [top, ...mids, footer, bottom, ...menuLines];
414
486
  }
415
487
  export { buildComposerFrameLines, formatComposerRow, isComposerNewlineKey, isComposerSubmitKey, padVisible, stripAnsi };
416
488
  //# sourceMappingURL=line-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"line-editor.js","sourceRoot":"","sources":["../../../src/cli/interactive/line-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"line-editor.js","sourceRoot":"","sources":["../../../src/cli/interactive/line-editor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type FeedTranscriptEntry } from "./agent-event-feed.js";
2
+ import type { AgentEvent } from "./agent-events.js";
3
+ export type OpenTuiStreamHandlers = {
4
+ onAssistantDelta: (text: string) => void;
5
+ onClearAssistantStream: () => void;
6
+ };
7
+ export type OpenTuiTranscriptEntry = FeedTranscriptEntry;
8
+ /** Cookbook-native OpenTUI routing: inline assistant deltas + incremental row patches. */
9
+ export declare function applyOpenTuiAgentEvent<T extends OpenTuiTranscriptEntry>(items: T[], event: AgentEvent, assistantId: string, handlers: OpenTuiStreamHandlers): T[];
10
+ //# sourceMappingURL=opentui-agent-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opentui-agent-event.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/opentui-agent-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,MAAM,qBAAqB,GAAG;IAClC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,sBAAsB,EAAE,MAAM,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAA;AAExD,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,sBAAsB,EACrE,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,qBAAqB,GAC9B,CAAC,EAAE,CAUL"}
@@ -0,0 +1,12 @@
1
+ import { applyAgentEventWithChanges, mergeFeedTranscriptPatch, } from "./agent-event-feed.js";
2
+ /** Cookbook-native OpenTUI routing: inline assistant deltas + incremental row patches. */
3
+ export function applyOpenTuiAgentEvent(items, event, assistantId, handlers) {
4
+ if (event.type === "assistant_delta") {
5
+ handlers.onAssistantDelta(event.text);
6
+ return items;
7
+ }
8
+ handlers.onClearAssistantStream();
9
+ const result = applyAgentEventWithChanges(items, event, assistantId);
10
+ return mergeFeedTranscriptPatch(items, result);
11
+ }
12
+ //# sourceMappingURL=opentui-agent-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opentui-agent-event.js","sourceRoot":"","sources":["../../../src/cli/interactive/opentui-agent-event.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GAEzB,MAAM,uBAAuB,CAAA;AAU9B,0FAA0F;AAC1F,MAAM,UAAU,sBAAsB,CACpC,KAAU,EACV,KAAiB,EACjB,WAAmB,EACnB,QAA+B;IAE/B,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,QAAQ,CAAC,sBAAsB,EAAE,CAAA;IAEjC,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IACpE,OAAO,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAQ,CAAA;AACvD,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Plain (non-TUI) agent output — adapted from Cursor cookbook coding-agent-cli (index.ts).
3
- * @see https://github.com/cursor/cookbook/tree/main/sdk/coding-agent-cli
2
+ * Plain (non-TUI) agent output — Codex feed on stderr, assistant on stdout.
3
+ * @see https://github.com/openai/codex
4
4
  */
5
- import { type AgentEvent } from "./agent-events.js";
5
+ import type { AgentEvent } from "./agent-events.js";
6
6
  export type PlainAnnotate = (message: string) => void;
7
7
  export type PlainWriteAssistant = (text: string) => void;
8
8
  export type PlainAgentHandlers = {
@@ -10,7 +10,8 @@ export type PlainAgentHandlers = {
10
10
  writeAssistant: PlainWriteAssistant;
11
11
  assistantEndedWithNewline: () => boolean;
12
12
  };
13
- /** Cookbook-style stderr annotations + stdout assistant stream. */
13
+ /** stderr annotations + stdout assistant stream. */
14
14
  export declare function createPlainAgentHandlers(stdout?: NodeJS.WriteStream, stderr?: NodeJS.WriteStream): PlainAgentHandlers;
15
15
  export declare function renderPlainAgentEvent(event: AgentEvent, handlers: PlainAgentHandlers): void;
16
+ export { createPlainCodexFeedRenderer } from "./plain-codex-feed.js";
16
17
  //# sourceMappingURL=plain-agent-render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plain-agent-render.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/plain-agent-render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAA;AAE1B,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;AACrD,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;AAExD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,aAAa,CAAA;IACvB,cAAc,EAAE,mBAAmB,CAAA;IACnC,yBAAyB,EAAE,MAAM,OAAO,CAAA;CACzC,CAAA;AAED,mEAAmE;AACnE,wBAAgB,wBAAwB,CACtC,MAAM,GAAE,MAAM,CAAC,WAA4B,EAC3C,MAAM,GAAE,MAAM,CAAC,WAA4B,GAC1C,kBAAkB,CAqBpB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,kBAAkB,GAC3B,IAAI,CA6CN"}
1
+ {"version":3,"file":"plain-agent-render.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/plain-agent-render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAMnD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;AACrD,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;AAExD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,aAAa,CAAA;IACvB,cAAc,EAAE,mBAAmB,CAAA;IACnC,yBAAyB,EAAE,MAAM,OAAO,CAAA;CACzC,CAAA;AAED,oDAAoD;AACpD,wBAAgB,wBAAwB,CACtC,MAAM,GAAE,MAAM,CAAC,WAA4B,EAC3C,MAAM,GAAE,MAAM,CAAC,WAA4B,GAC1C,kBAAkB,CAqBpB;AAKD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,kBAAkB,GAC3B,IAAI,CAON;AAED,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA"}