@pentoshi/clai 3.10.0 → 3.11.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 (62) hide show
  1. package/dist/agent/runner.js +145 -49
  2. package/dist/agent/runner.js.map +1 -1
  3. package/dist/llm/http.d.ts +3 -15
  4. package/dist/llm/http.js +14 -22
  5. package/dist/llm/http.js.map +1 -1
  6. package/dist/llm/router.js +17 -3
  7. package/dist/llm/router.js.map +1 -1
  8. package/dist/prompts/embedded.js +1 -1
  9. package/dist/prompts/embedded.js.map +1 -1
  10. package/dist/prompts/system.agent.md +5 -5
  11. package/dist/tools/command-intent.js +2 -3
  12. package/dist/tools/command-intent.js.map +1 -1
  13. package/dist/tools/definitions.js +14 -6
  14. package/dist/tools/definitions.js.map +1 -1
  15. package/dist/tools/registry.js +6 -12
  16. package/dist/tools/registry.js.map +1 -1
  17. package/dist/tui-v2/actions/action-id.d.ts +1 -1
  18. package/dist/tui-v2/actions/action-id.js +1 -0
  19. package/dist/tui-v2/actions/action-id.js.map +1 -1
  20. package/dist/tui-v2/actions/format-shortcuts.js +1 -0
  21. package/dist/tui-v2/actions/format-shortcuts.js.map +1 -1
  22. package/dist/tui-v2/actions/keymap.js +2 -0
  23. package/dist/tui-v2/actions/keymap.js.map +1 -1
  24. package/dist/tui-v2/app/App.js +3 -1
  25. package/dist/tui-v2/app/App.js.map +1 -1
  26. package/dist/tui-v2/bootstrap/console-guard.d.ts +20 -0
  27. package/dist/tui-v2/bootstrap/console-guard.js +73 -0
  28. package/dist/tui-v2/bootstrap/console-guard.js.map +1 -0
  29. package/dist/tui-v2/bootstrap/start-tui-v2.js +14 -0
  30. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  31. package/dist/tui-v2/components/composer/composer-input-box.js +5 -1
  32. package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
  33. package/dist/tui-v2/components/status/status-line.d.ts +8 -2
  34. package/dist/tui-v2/components/status/status-line.js +12 -8
  35. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  36. package/dist/tui-v2/components/transcript/thinking-block.d.ts +3 -1
  37. package/dist/tui-v2/components/transcript/thinking-block.js +49 -5
  38. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  39. package/dist/tui-v2/components/transcript/transcript-row.js +1 -1
  40. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  41. package/dist/tui-v2/composer/composer-action-port.d.ts +15 -3
  42. package/dist/tui-v2/composer/composer-action-port.js +49 -6
  43. package/dist/tui-v2/composer/composer-action-port.js.map +1 -1
  44. package/dist/tui-v2/composer/composer-editor.js +37 -44
  45. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  46. package/dist/tui-v2/composer/draft-actions.d.ts +31 -0
  47. package/dist/tui-v2/composer/draft-actions.js +45 -0
  48. package/dist/tui-v2/composer/draft-actions.js.map +1 -0
  49. package/dist/tui-v2/composer/textarea-keybindings.d.ts +1 -1
  50. package/dist/tui-v2/composer/textarea-keybindings.js +33 -0
  51. package/dist/tui-v2/composer/textarea-keybindings.js.map +1 -1
  52. package/dist/tui-v2/composer/use-draft-actions.d.ts +32 -0
  53. package/dist/tui-v2/composer/use-draft-actions.js +59 -0
  54. package/dist/tui-v2/composer/use-draft-actions.js.map +1 -0
  55. package/dist/tui-v2/state/transcript-reducer.js +15 -0
  56. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  57. package/dist/tui-v2/state/use-has-draft.d.ts +6 -0
  58. package/dist/tui-v2/state/use-has-draft.js +13 -0
  59. package/dist/tui-v2/state/use-has-draft.js.map +1 -0
  60. package/dist/version.generated.d.ts +2 -2
  61. package/dist/version.generated.js +2 -2
  62. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ /**
2
+ * While OpenTUI owns the screen it repaints only its own framebuffer region.
3
+ * Anything printed straight to the tty lands in cells the renderer never
4
+ * repaints, so the fragment sticks there for the rest of the session — that is
5
+ * the stray column of leftover text along the right edge.
6
+ *
7
+ * Core modules still reach for `console.*` on rare paths (a permission error, a
8
+ * provider capability warning, a plan dump), and any of them can fire mid-turn.
9
+ * This guard routes those calls to a log file instead of the terminal.
10
+ *
11
+ * Only `console.*` is intercepted, never the std stream writers themselves: the
12
+ * renderer emits frames straight through the stream, so patching that would
13
+ * blank the UI.
14
+ */
15
+ export interface ConsoleGuardOptions {
16
+ readonly logDir: string;
17
+ /** Receives every captured message, for optional in-app surfacing. */
18
+ readonly onCapture?: ((level: string, message: string) => void) | undefined;
19
+ }
20
+ export declare function installConsoleGuard(options: ConsoleGuardOptions): () => void;
@@ -0,0 +1,73 @@
1
+ import { appendFileSync, mkdirSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ const GUARDED_METHODS = [
4
+ "log",
5
+ "warn",
6
+ "error",
7
+ "info",
8
+ "debug",
9
+ "trace",
10
+ "dir",
11
+ "table",
12
+ ];
13
+ const MAX_CAPTURE_BYTES = 1024 * 1024;
14
+ function format(args) {
15
+ return args
16
+ .map((value) => {
17
+ if (typeof value === "string")
18
+ return value;
19
+ if (value instanceof Error)
20
+ return value.stack ?? value.message;
21
+ try {
22
+ return JSON.stringify(value);
23
+ }
24
+ catch {
25
+ return String(value);
26
+ }
27
+ })
28
+ .join(" ");
29
+ }
30
+ export function installConsoleGuard(options) {
31
+ let logPath;
32
+ let written = 0;
33
+ try {
34
+ mkdirSync(options.logDir, { recursive: true });
35
+ logPath = join(options.logDir, "tui-console.log");
36
+ }
37
+ catch {
38
+ logPath = undefined;
39
+ }
40
+ const target = console;
41
+ const originals = new Map();
42
+ const capture = (level, message) => {
43
+ if (!message)
44
+ return;
45
+ options.onCapture?.(level, message);
46
+ if (!logPath || written >= MAX_CAPTURE_BYTES)
47
+ return;
48
+ const line = `[${new Date().toISOString()}] ${level}: ${message}\n`;
49
+ written += Buffer.byteLength(line);
50
+ try {
51
+ appendFileSync(logPath, line, { mode: 0o600 });
52
+ }
53
+ catch {
54
+ logPath = undefined;
55
+ }
56
+ };
57
+ for (const method of GUARDED_METHODS) {
58
+ const original = target[method];
59
+ if (typeof original !== "function")
60
+ continue;
61
+ originals.set(method, original);
62
+ target[method] = (...args) => {
63
+ capture(method, format(args));
64
+ };
65
+ }
66
+ return () => {
67
+ for (const [method, original] of originals) {
68
+ target[method] = original;
69
+ }
70
+ originals.clear();
71
+ };
72
+ }
73
+ //# sourceMappingURL=console-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-guard.js","sourceRoot":"","sources":["../../../src/tui-v2/bootstrap/console-guard.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ import { attachCommandHandlers } from "../app/command-handlers.js";
15
15
  import { readCapabilitiesFromProcess } from "./capabilities.js";
16
16
  import { createCompositionRoot } from "./composition-root.js";
17
17
  import { RendererLifecycle } from "./lifecycle.js";
18
+ import { installConsoleGuard } from "./console-guard.js";
19
+ import { getLogsDirRoot } from "../../store/paths.js";
18
20
  import { createOsc52ClipboardPort } from "./osc52-clipboard.js";
19
21
  import { createPagerExportPort } from "./pager-export.js";
20
22
  import { patchOpenTuiTextContent } from "./patch-opentui-text.js";
@@ -74,6 +76,17 @@ export async function startTuiV2(options = {}) {
74
76
  resolveDone();
75
77
  },
76
78
  };
79
+ // Stray console output would land in cells the renderer never repaints and
80
+ // stick there for the rest of the session. Route it to a log while the TUI
81
+ // owns the screen; restored during teardown so errors print normally again.
82
+ const restoreConsole = installConsoleGuard({
83
+ logDir: getLogsDirRoot(),
84
+ onCapture: (level, message) => {
85
+ if (level === "error" || level === "warn") {
86
+ services.session.notice("warn", message.split("\n")[0].slice(0, 200));
87
+ }
88
+ },
89
+ });
77
90
  const lifecycle = new RendererLifecycle({
78
91
  handle,
79
92
  // Flush chat + visual transcript before the renderer is destroyed so an
@@ -82,6 +95,7 @@ export async function startTuiV2(options = {}) {
82
95
  async () => {
83
96
  await services.session.persistNow().catch(() => undefined);
84
97
  },
98
+ restoreConsole,
85
99
  ],
86
100
  // Ctrl+C / SIGINT: first signal aborts a live turn (or arms quit via the
87
101
  // App handler path when the key event arrives). A second SIGINT within
@@ -1 +1 @@
1
- {"version":3,"file":"start-tui-v2.js","sourceRoot":"","sources":["../../../src/tui-v2/bootstrap/start-tui-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start-tui-v2.js","sourceRoot":"","sources":["../../../src/tui-v2/bootstrap/start-tui-v2.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAEhG,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAuB,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AASvE,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAA6B,EAAE;IAE/B,8EAA8E;IAC9E,uBAAuB,EAAE,CAAC;IAC1B,yEAAyE;IACzE,2EAA2E;IAC3E,+BAA+B,CAAC,KAAK,CAAC,CAAC;IACvC,4EAA4E;IAC5E,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,YAAY,GAAG,2BAA2B,EAAE,CAAC;IACnD,MAAM,iBAAiB,GAAG,2BAA2B,EAAE,CAAC;IACxD,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;QACvC,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IACH,qEAAqE;IACrE,qDAAqD;IACrD,MAAM,YAAY,GAA+C;QAC/D,OAAO,EAAE,SAAS;KACnB,CAAC;IACF,MAAM,QAAQ,GAAG,qBAAqB,CAAC;QACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY;QACZ,SAAS,EAAE,wBAAwB,CAAC;YAClC,QAAQ;YACR,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE,YAAY,CAAC,KAAK;SAC5B,CAAC;QACF,WAAW,EAAE,qBAAqB,CAAC,QAAQ,CAAC;QAC5C,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;KACjE,CAAC,CAAC;IACH,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElC,IAAI,WAAW,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACzC,WAAW,GAAG,OAAO,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAmB;QAC7B,KAAK;YACH,IAAI,CAAC,MAAM,CACT,aAAa,CACX,gBAAgB,EAChB,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAC3C,CACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,WAAW,EAAE,CAAC;QAChB,CAAC;KACF,CAAC;IAEF,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,cAAc,GAAG,mBAAmB,CAAC;QACzC,MAAM,EAAE,cAAc,EAAE;QACxB,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC5B,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC1C,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC;QACtC,MAAM;QACN,wEAAwE;QACxE,oEAAoE;QACpE,SAAS,EAAE;YACT,KAAK,IAAI,EAAE;gBACT,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7D,CAAC;YACD,cAAc;SACf;QACD,yEAAyE;QACzE,uEAAuE;QACvE,sEAAsE;QACtE,QAAQ,EAAE,GAAG,EAAE;YACb,uEAAuE;YACvE,uEAAuE;YACvE,oDAAoD;YACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAC1D,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;gBACxC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACzB,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,MAAM,EACN,SAAS;oBACP,CAAC,CAAC,yCAAyC;oBAC3C,CAAC,CAAC,qCAAqC,CAC1C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,MAAM,EACN,SAAS;oBACP,CAAC,CAAC,yCAAyC;oBAC3C,CAAC,CAAC,sBAAsB,CAC3B,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,oEAAoE;YACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC7E,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IACH,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IAEjC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IACxB,MAAM,IAAI,CAAC;AACb,CAAC"}
@@ -26,7 +26,11 @@ export function ComposerInputBox(props) {
26
26
  } }), _jsx("textarea", { ref: editorRef, focused: focused,
27
27
  // OpenTUI places the caret via selection (updateCursor on mouse
28
28
  // down). selectable={false} kills click-to-position entirely.
29
- selectable: true, placeholder: running
29
+ selectable: true,
30
+ // Without explicit selection colours OpenTUI tracks the selection but
31
+ // paints no highlight, so dragging or shift+arrow looked like nothing
32
+ // happened. These make both visible.
33
+ selectionBg: theme.selection, selectionFg: theme.white, placeholder: running
30
34
  ? "type to queue a message…"
31
35
  : `ask anything · @ file or folder · Shift+Enter newline · ⇧⇥ mode`, placeholderColor: theme.muted, textColor: theme.foreground, backgroundColor: theme.statusBackground, cursorColor: chromeFg, keyBindings: keyBindings, wrapMode: "word", onSubmit: onSubmit, onContentChange: onContentChange, onCursorChange: onCursorChange, onKeyDown: onKeyDown, onMouseDown: onMouseDown, style: {
32
36
  flexGrow: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"composer-input-box.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/composer/composer-input-box.tsx"],"names":[],"mappings":";AAOA,OAAO,EACL,cAAc,GAIf,MAAM,eAAe,CAAC;AAGvB,MAAM,UAAU,gBAAgB,CAAC,KAgBhC;IACC,MAAM,EACJ,KAAK,EACL,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,EACf,cAAc,EACd,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,eACE,MAAM,QACN,WAAW,EAAC,OAAO,KACf,CAAC,SAAS;YACZ,CAAC,CAAC;gBACE,KAAK,EAAE,IAAI,SAAS,GAAG;gBACvB,cAAc,EAAE,OAAgB;gBAChC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;aAC/C;YACH,CAAC,CAAC,EAAE,CAAC,EACP,KAAK,EAAE;YACL,MAAM,EAAE,SAAS;YACjB,KAAK;YACL,WAAW,EAAE,QAAQ;YACrB,eAAe,EAAE,KAAK,CAAC,gBAAgB;YACvC,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,QAAQ;SACnB,EACD,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,aAE5B,eACE,OAAO,EAAC,SAAI,EACZ,KAAK,EAAE;oBACL,EAAE,EAAE,QAAQ;oBACZ,KAAK,EAAE,CAAC;oBACR,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG;iBAC/D,GACD,EACF,mBACE,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,OAAO;gBAChB,gEAAgE;gBAChE,8DAA8D;gBAC9D,UAAU,QACV,WAAW,EACT,OAAO;oBACL,CAAC,CAAC,0BAA0B;oBAC5B,CAAC,CAAC,iEAAiE,EAEvE,gBAAgB,EAAE,KAAK,CAAC,KAAK,EAC7B,SAAS,EAAE,KAAK,CAAC,UAAU,EAC3B,eAAe,EAAE,KAAK,CAAC,gBAAgB,EACvC,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAC,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;oBACL,QAAQ,EAAE,CAAC;oBACX,UAAU,EAAE,CAAC;oBACb,QAAQ,EAAE,CAAC;oBACX,SAAS,EAAE,CAAC;oBACZ,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,MAAM;iBACf,GACD,IACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"composer-input-box.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/composer/composer-input-box.tsx"],"names":[],"mappings":";AAOA,OAAO,EACL,cAAc,GAIf,MAAM,eAAe,CAAC;AAGvB,MAAM,UAAU,gBAAgB,CAAC,KAgBhC;IACC,MAAM,EACJ,KAAK,EACL,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,EACf,cAAc,EACd,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,eACE,MAAM,QACN,WAAW,EAAC,OAAO,KACf,CAAC,SAAS;YACZ,CAAC,CAAC;gBACE,KAAK,EAAE,IAAI,SAAS,GAAG;gBACvB,cAAc,EAAE,OAAgB;gBAChC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;aAC/C;YACH,CAAC,CAAC,EAAE,CAAC,EACP,KAAK,EAAE;YACL,MAAM,EAAE,SAAS;YACjB,KAAK;YACL,WAAW,EAAE,QAAQ;YACrB,eAAe,EAAE,KAAK,CAAC,gBAAgB;YACvC,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,QAAQ;SACnB,EACD,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,aAE5B,eACE,OAAO,EAAC,SAAI,EACZ,KAAK,EAAE;oBACL,EAAE,EAAE,QAAQ;oBACZ,KAAK,EAAE,CAAC;oBACR,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG;iBAC/D,GACD,EACF,mBACE,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,OAAO;gBAChB,gEAAgE;gBAChE,8DAA8D;gBAC9D,UAAU;gBACV,sEAAsE;gBACtE,sEAAsE;gBACtE,qCAAqC;gBACrC,WAAW,EAAE,KAAK,CAAC,SAAS,EAC5B,WAAW,EAAE,KAAK,CAAC,KAAK,EACxB,WAAW,EACT,OAAO;oBACL,CAAC,CAAC,0BAA0B;oBAC5B,CAAC,CAAC,iEAAiE,EAEvE,gBAAgB,EAAE,KAAK,CAAC,KAAK,EAC7B,SAAS,EAAE,KAAK,CAAC,UAAU,EAC3B,eAAe,EAAE,KAAK,CAAC,gBAAgB,EACvC,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAC,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;oBACL,QAAQ,EAAE,CAAC;oBACX,UAAU,EAAE,CAAC;oBACb,QAAQ,EAAE,CAAC;oBACX,SAAS,EAAE,CAAC;oBACZ,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,MAAM;iBACf,GACD,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -31,6 +31,12 @@ export interface StatusLineProps {
31
31
  readonly onJumpTop?: (() => void) | undefined;
32
32
  readonly onJumpBottom?: (() => void) | undefined;
33
33
  readonly onClearDraft?: (() => void) | undefined;
34
+ /** Copy the draft to the clipboard, then clear it (Ctrl+Shift+X). */
35
+ readonly onCutDraft?: (() => void) | undefined;
36
+ /** Open the slash-command list (same source as typing "/" in the composer). */
37
+ readonly onOpenCommands?: (() => void) | undefined;
38
+ /** Draft is non-empty — gates the ^X / ⇧^X hints. */
39
+ readonly hasDraft?: boolean | undefined;
34
40
  readonly onOpenShortcuts?: (() => void) | undefined;
35
41
  readonly onCycleMode?: (() => void) | undefined;
36
42
  /** Whether the first Esc has armed cancellation for 1.5 seconds. */
@@ -44,8 +50,8 @@ export interface StatusHint {
44
50
  }
45
51
  export declare function busyCancelHint(_density: StatusDensity): StatusHint;
46
52
  export declare function armedCancelHint(): string;
47
- export type IdleHintId = "commands" | "thinking" | "output" | "shortcuts";
48
- export declare function idleHintIds(density: StatusDensity): readonly IdleHintId[];
53
+ export type IdleHintId = "commands" | "thinking" | "output" | "shortcuts" | "clear-draft" | "cut-draft";
54
+ export declare function idleHintIds(density: StatusDensity, hasDraft?: boolean): readonly IdleHintId[];
49
55
  export type StatusDensity = "xs" | "sm" | "md" | "lg";
50
56
  /** Map content width → chrome density. */
51
57
  export declare function statusDensityForWidth(width: number): StatusDensity;
@@ -26,13 +26,17 @@ export function armedCancelHint() {
26
26
  return "esc again to cancel";
27
27
  }
28
28
  // Thin idle row: the chords users reach for, not every binding. The full list
29
- // lives behind /shortcuts.
30
- export function idleHintIds(density) {
31
- if (density === "xs" || density === "sm")
29
+ // lives behind /shortcuts. Draft hints only appear while a draft exists, so the
30
+ // row does not carry chords that would currently do nothing.
31
+ export function idleHintIds(density, hasDraft = false) {
32
+ const draft = hasDraft ? ["clear-draft", "cut-draft"] : [];
33
+ if (density === "xs")
32
34
  return [];
35
+ if (density === "sm")
36
+ return hasDraft ? ["clear-draft"] : [];
33
37
  if (density === "md")
34
- return ["commands", "thinking", "output"];
35
- return ["commands", "thinking", "output", "shortcuts"];
38
+ return ["commands", ...draft, "thinking", "output"];
39
+ return ["commands", ...draft, "thinking", "output", "shortcuts"];
36
40
  }
37
41
  /** Map content width → chrome density. */
38
42
  export function statusDensityForWidth(width) {
@@ -182,7 +186,7 @@ function ModeBadge(props) {
182
186
  } }));
183
187
  }
184
188
  export function StatusLine(props) {
185
- const { session, mode, theme, activity, width, hasActivePlan, planVisible, thinkingExpanded = false, outputExpanded = false, onToggleThinking, onToggleOutput, onTogglePlan, onJumpTop, onJumpBottom, onClearDraft, onOpenShortcuts, onCycleMode, cancelArmed = false, onRequestCancel, } = props;
189
+ const { session, mode, theme, activity, width, hasActivePlan, planVisible, thinkingExpanded = false, outputExpanded = false, onToggleThinking, onToggleOutput, onTogglePlan, onJumpTop, onJumpBottom, onClearDraft, onCutDraft, onOpenCommands, hasDraft = false, onOpenShortcuts, onCycleMode, cancelArmed = false, onRequestCancel, } = props;
186
190
  const state = useSessionState(session);
187
191
  const [frame, setFrame] = useState(0);
188
192
  const [elapsed, setElapsed] = useState(0);
@@ -220,7 +224,7 @@ export function StatusLine(props) {
220
224
  }, [busy, startedAt, activity]);
221
225
  const ctxChip = contextChipForDensity(state.contextUsage, density);
222
226
  const scrollCompact = density === "xs" || density === "sm";
223
- const idleHints = idleHintIds(density);
227
+ const idleHints = idleHintIds(density, hasDraft);
224
228
  // ── Running / compacting ──────────────────────────────────────────────
225
229
  if (busy) {
226
230
  // Left: MODE · spinner · activity·timer · Esc:cancel · ^H · queue
@@ -277,7 +281,7 @@ export function StatusLine(props) {
277
281
  flexShrink: 1,
278
282
  minWidth: 0,
279
283
  overflow: "hidden",
280
- }, children: [_jsx(ModeBadge, { mode: mode, theme: theme, short: shortMode }), cancelArmed ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: armedCancelHint(), expand: armedCancelHint(), active: true, theme: theme, accent: true, onClick: onRequestCancel })] })) : null, density !== "xs" ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "\u21E7\u21E5", expand: "cycle mode", active: false, theme: theme, onClick: onCycleMode })] })) : null, idleHints.includes("commands") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx("text", { selectable: false, content: density === "lg" ? "/:commands" : "/", style: { fg: theme.muted, flexShrink: 0 } })] })) : null, idleHints.includes("thinking") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^T", expand: thinkingExpanded ? "hide thinking" : "show thinking", active: thinkingExpanded, theme: theme, onClick: onToggleThinking })] })) : null, idleHints.includes("output") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^O", expand: outputExpanded ? "hide output" : "show output", active: outputExpanded, theme: theme, onClick: onToggleOutput })] })) : null, idleHints.includes("shortcuts") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "/shortcuts", expand: "keyboard shortcuts", active: false, theme: theme, onClick: onOpenShortcuts })] })) : null, showTasks ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: tasksToggleLabel(planVisible, density), expand: planVisible ? "hide tasks" : "show tasks", active: planVisible, theme: theme, onClick: onTogglePlan })] })) : null, queued > 0 && density !== "xs" ? (_jsxs(_Fragment, { children: [sep(theme), _jsx("text", { selectable: false, content: density === "sm" ? `${queued}q` : `${queued} queued`, style: { fg: theme.mode, flexShrink: 0 } })] })) : null] }), _jsxs("box", { style: {
284
+ }, children: [_jsx(ModeBadge, { mode: mode, theme: theme, short: shortMode }), cancelArmed ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: armedCancelHint(), expand: armedCancelHint(), active: true, theme: theme, accent: true, onClick: onRequestCancel })] })) : null, density !== "xs" ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "\u21E7\u21E5", expand: "cycle mode", active: false, theme: theme, onClick: onCycleMode })] })) : null, idleHints.includes("commands") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "/", expand: "/ commands", active: false, theme: theme, onClick: onOpenCommands })] })) : null, idleHints.includes("clear-draft") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^X", expand: "clear draft", active: false, theme: theme, onClick: onClearDraft })] })) : null, idleHints.includes("cut-draft") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "\u21E7^X", expand: "cut draft (copy + clear)", active: false, theme: theme, onClick: onCutDraft })] })) : null, idleHints.includes("thinking") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^T", expand: thinkingExpanded ? "hide thinking" : "show thinking", active: thinkingExpanded, theme: theme, onClick: onToggleThinking })] })) : null, idleHints.includes("output") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^O", expand: outputExpanded ? "hide output" : "show output", active: outputExpanded, theme: theme, onClick: onToggleOutput })] })) : null, idleHints.includes("shortcuts") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "/shortcuts", expand: "keyboard shortcuts", active: false, theme: theme, onClick: onOpenShortcuts })] })) : null, showTasks ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: tasksToggleLabel(planVisible, density), expand: planVisible ? "hide tasks" : "show tasks", active: planVisible, theme: theme, onClick: onTogglePlan })] })) : null, queued > 0 && density !== "xs" ? (_jsxs(_Fragment, { children: [sep(theme), _jsx("text", { selectable: false, content: density === "sm" ? `${queued}q` : `${queued} queued`, style: { fg: theme.mode, flexShrink: 0 } })] })) : null] }), _jsxs("box", { style: {
281
285
  flexDirection: "row",
282
286
  alignItems: "center",
283
287
  flexShrink: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"status-line.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/status/status-line.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-line.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/status/status-line.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  * the same model step (agent emits thinking-block before assistant-message
15
15
  * and tool-call). Violet accent distinguishes reasoning from green replies.
16
16
  */
17
- import type { ReactNode } from "react";
17
+ import { type ReactNode } from "react";
18
18
  import type { ThinkingItem } from "../../state/transcript-types.js";
19
19
  import type { Theme } from "../../rendering/theme.js";
20
20
  export declare function ThinkingBlock(props: {
@@ -26,5 +26,7 @@ export declare function ThinkingBlock(props: {
26
26
  * an always-reasoning model does not paint its chain of thought anyway.
27
27
  */
28
28
  liveBody?: boolean | undefined;
29
+ /** Chat-pane columns (plan split/overlay already subtracted). */
30
+ contentWidth?: number | undefined;
29
31
  onToggle: () => void;
30
32
  }): ReactNode;
@@ -1,8 +1,31 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
+ /** @jsxImportSource @opentui/react */
3
+ /**
4
+ * Renders a `ThinkingItem` (CHAT-006, V2-053).
5
+ *
6
+ * Live stream: while the model is still reasoning (`item.streaming`), the body
7
+ * is shown only when the user asked for reasoning — thinking enabled
8
+ * (`/variants`) or expanded with Ctrl+T. Models like MiniMax M3, GLM and Kimi
9
+ * reason by default no matter what we request, and printing that chain
10
+ * verbatim contradicts an explicit `/variants off`. After the block is
11
+ * finalized, the body follows the global Ctrl+T toggle (or a per-block
12
+ * override from clicking the header).
13
+ *
14
+ * Placement: thinking rows always precede the ◆ Response / tool cards for
15
+ * the same model step (agent emits thinking-block before assistant-message
16
+ * and tool-call). Violet accent distinguishes reasoning from green replies.
17
+ */
18
+ import { useMemo } from "react";
2
19
  import { TextAttributes } from "@opentui/core";
20
+ import { useTerminalDimensions } from "@opentui/react";
21
+ import { SELECTABLE_LINE_STYLE } from "./selectable-line.js";
3
22
  import { liveThinkingTail } from "../../rendering/thinking-tail.js";
23
+ import { wrapPagerLine } from "../../rendering/pager-chrome.js";
24
+ /** Body indent inside the block (paddingLeft below). */
25
+ const BODY_INDENT = 2;
4
26
  export function ThinkingBlock(props) {
5
- const { item, theme, expanded, liveBody = true, onToggle } = props;
27
+ const { item, theme, expanded, liveBody = true, contentWidth, onToggle } = props;
28
+ const { width: termWidth } = useTerminalDimensions();
6
29
  const showBody = expanded || (item.streaming && liveBody);
7
30
  const onMouseUp = (event) => {
8
31
  event.preventDefault();
@@ -18,14 +41,35 @@ export function ThinkingBlock(props) {
18
41
  : showBody
19
42
  ? "▾ thinking"
20
43
  : "▸ thinking · ctrl+t or click to view";
44
+ const wrapWidth = Math.max(20, (contentWidth != null ? contentWidth : Math.max(40, termWidth - 8)) -
45
+ BODY_INDENT);
46
+ const bodyLines = useMemo(() => {
47
+ if (!showBody || !item.content)
48
+ return [];
49
+ const source = item.streaming
50
+ ? liveThinkingTail(item.content)
51
+ : item.content;
52
+ return source
53
+ .replace(/\r\n/g, "\n")
54
+ .split("\n")
55
+ .flatMap((line) => wrapPagerLine(line, wrapWidth));
56
+ }, [showBody, item.content, item.streaming, wrapWidth]);
21
57
  return (_jsxs("box", { id: item.id, style: { flexDirection: "column", marginBottom: 1, width: "100%" }, children: [_jsx("box", { onMouseUp: onMouseUp, style: { flexDirection: "row" }, children: _jsx("text", { selectable: true, style: {
22
58
  fg: theme.thinking,
23
59
  attributes: TextAttributes.ITALIC,
24
- }, children: header }) }), showBody && item.content ? (_jsx("box", { style: { flexDirection: "column", paddingLeft: 2, width: "100%" }, children: _jsx("text", { selectable: true, style: {
60
+ }, children: header }) }), showBody && bodyLines.length > 0 ? (_jsx("box", { style: {
61
+ flexDirection: "column",
62
+ paddingLeft: BODY_INDENT,
63
+ width: "100%",
64
+ // Reasoning is the only body whose source text is unbounded, so
65
+ // clip here as well as pre-wrapping: a stray overlong token must
66
+ // never paint into cells outside this pane, which the renderer
67
+ // does not repaint and would leave streaked with fragments.
68
+ overflow: "hidden",
69
+ }, children: bodyLines.map((content, index) => (_jsx("text", { content: content.length === 0 ? " " : content, selectable: true, wrapMode: "none", style: {
70
+ ...SELECTABLE_LINE_STYLE,
25
71
  fg: theme.thinking,
26
72
  attributes: TextAttributes.ITALIC,
27
- // Full pane width so drag-select does not require aiming at glyphs.
28
- width: "100%",
29
- }, children: item.streaming ? liveThinkingTail(item.content) : item.content }) })) : null] }));
73
+ } }, index))) })) : null] }));
30
74
  }
31
75
  //# sourceMappingURL=thinking-block.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thinking-block.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/thinking-block.tsx"],"names":[],"mappings":";AAkBA,OAAO,EAAE,cAAc,EAAmB,MAAM,eAAe,CAAC;AAIhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,UAAU,aAAa,CAAC,KAU7B;IACC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACnE,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,CAAC,KAAiB,EAAQ,EAAE;QAC5C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,yDAAyD;QACzD,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS;QAC3B,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,8BAA8B;QAClC,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,sCAAsC,CAAC;IAE7C,OAAO,CACL,eAAK,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,aAClF,cAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,YACxD,eACE,UAAU,QACV,KAAK,EAAE;wBACL,EAAE,EAAE,KAAK,CAAC,QAAQ;wBAClB,UAAU,EAAE,cAAc,CAAC,MAAM;qBAClC,YAEA,MAAM,GACF,GACH,EACL,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAC1B,cAAK,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YACpE,eACE,UAAU,QACV,KAAK,EAAE;wBACL,EAAE,EAAE,KAAK,CAAC,QAAQ;wBAClB,UAAU,EAAE,cAAc,CAAC,MAAM;wBACjC,oEAAoE;wBACpE,KAAK,EAAE,MAAM;qBACd,YAEA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAC1D,GACH,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"thinking-block.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/thinking-block.tsx"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export function TranscriptRowImpl(props) {
26
26
  body = (_jsx(AssistantMessage, { item: item, theme: theme, contentWidth: contentWidth }));
27
27
  break;
28
28
  case "thinking":
29
- body = (_jsx(ThinkingBlock, { item: item, theme: theme, expanded: expanded, liveBody: liveThinking, onToggle: () => store.toggleItemOverride(item.id, expandThinkingGlobal) }));
29
+ body = (_jsx(ThinkingBlock, { item: item, theme: theme, expanded: expanded, liveBody: liveThinking, contentWidth: contentWidth, onToggle: () => store.toggleItemOverride(item.id, expandThinkingGlobal) }));
30
30
  break;
31
31
  case "tool": {
32
32
  // plan.create / task.update success is Tasks-pane only — hide from chat
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-row.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/transcript-row.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript-row.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/transcript-row.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,24 @@
1
1
  /**
2
- * Bridge so chrome outside the composer (status chips) can clear the draft
2
+ * Bridge so chrome outside the composer (status chips) can act on the draft
3
3
  * without holding a React ref to the textarea.
4
4
  */
5
- type ClearHandler = () => void;
5
+ type Handler = () => void;
6
+ type DraftListener = (hasDraft: boolean) => void;
6
7
  export declare const composerActionPort: {
7
8
  /** Register the active composer's clear implementation. Returns unregister. */
8
- registerClear(handler: ClearHandler): () => void;
9
+ registerClear(handler: Handler): () => void;
9
10
  /** Clear the composer draft if a handler is registered. */
10
11
  clear(): void;
12
+ /** Register copy-then-clear (Ctrl+Shift+X). Returns unregister. */
13
+ registerCut(handler: Handler): () => void;
14
+ /** Copy the draft to the clipboard, then clear it. */
15
+ cut(): void;
16
+ /** Register "show the slash-command list inside the composer". */
17
+ registerOpenCommands(handler: Handler): () => void;
18
+ openCommands(): void;
19
+ /** Publish draft emptiness so status chrome can gate draft-only hints. */
20
+ setHasDraft(next: boolean): void;
21
+ hasDraft(): boolean;
22
+ subscribeDraft(listener: DraftListener): () => void;
11
23
  };
12
24
  export {};
@@ -1,20 +1,63 @@
1
1
  /**
2
- * Bridge so chrome outside the composer (status chips) can clear the draft
2
+ * Bridge so chrome outside the composer (status chips) can act on the draft
3
3
  * without holding a React ref to the textarea.
4
4
  */
5
5
  let clearHandler;
6
+ let cutHandler;
7
+ let openCommandsHandler;
8
+ let hasDraft = false;
9
+ const draftListeners = new Set();
10
+ function register(handler, assign, current) {
11
+ assign(handler);
12
+ return () => {
13
+ if (current() === handler)
14
+ assign(undefined);
15
+ };
16
+ }
6
17
  export const composerActionPort = {
7
18
  /** Register the active composer's clear implementation. Returns unregister. */
8
19
  registerClear(handler) {
9
- clearHandler = handler;
10
- return () => {
11
- if (clearHandler === handler)
12
- clearHandler = undefined;
13
- };
20
+ return register(handler, (next) => {
21
+ clearHandler = next;
22
+ }, () => clearHandler);
14
23
  },
15
24
  /** Clear the composer draft if a handler is registered. */
16
25
  clear() {
17
26
  clearHandler?.();
18
27
  },
28
+ /** Register copy-then-clear (Ctrl+Shift+X). Returns unregister. */
29
+ registerCut(handler) {
30
+ return register(handler, (next) => {
31
+ cutHandler = next;
32
+ }, () => cutHandler);
33
+ },
34
+ /** Copy the draft to the clipboard, then clear it. */
35
+ cut() {
36
+ cutHandler?.();
37
+ },
38
+ /** Register "show the slash-command list inside the composer". */
39
+ registerOpenCommands(handler) {
40
+ return register(handler, (next) => {
41
+ openCommandsHandler = next;
42
+ }, () => openCommandsHandler);
43
+ },
44
+ openCommands() {
45
+ openCommandsHandler?.();
46
+ },
47
+ /** Publish draft emptiness so status chrome can gate draft-only hints. */
48
+ setHasDraft(next) {
49
+ if (next === hasDraft)
50
+ return;
51
+ hasDraft = next;
52
+ for (const listener of draftListeners)
53
+ listener(next);
54
+ },
55
+ hasDraft() {
56
+ return hasDraft;
57
+ },
58
+ subscribeDraft(listener) {
59
+ draftListeners.add(listener);
60
+ return () => draftListeners.delete(listener);
61
+ },
19
62
  };
20
63
  //# sourceMappingURL=composer-action-port.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composer-action-port.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-action-port.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,IAAI,YAAsC,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,+EAA+E;IAC/E,aAAa,CAAC,OAAqB;QACjC,YAAY,GAAG,OAAO,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,IAAI,YAAY,KAAK,OAAO;gBAAE,YAAY,GAAG,SAAS,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,KAAK;QACH,YAAY,EAAE,EAAE,CAAC;IACnB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"composer-action-port.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-action-port.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,IAAI,YAAiC,CAAC;AACtC,IAAI,UAA+B,CAAC;AACpC,IAAI,mBAAwC,CAAC;AAC7C,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiB,CAAC;AAEhD,SAAS,QAAQ,CACf,OAAgB,EAChB,MAA2C,EAC3C,OAAkC;IAElC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChB,OAAO,GAAG,EAAE;QACV,IAAI,OAAO,EAAE,KAAK,OAAO;YAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,+EAA+E;IAC/E,aAAa,CAAC,OAAgB;QAC5B,OAAO,QAAQ,CACb,OAAO,EACP,CAAC,IAAI,EAAE,EAAE;YACP,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC,EACD,GAAG,EAAE,CAAC,YAAY,CACnB,CAAC;IACJ,CAAC;IACD,2DAA2D;IAC3D,KAAK;QACH,YAAY,EAAE,EAAE,CAAC;IACnB,CAAC;IACD,mEAAmE;IACnE,WAAW,CAAC,OAAgB;QAC1B,OAAO,QAAQ,CACb,OAAO,EACP,CAAC,IAAI,EAAE,EAAE;YACP,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC,EACD,GAAG,EAAE,CAAC,UAAU,CACjB,CAAC;IACJ,CAAC;IACD,sDAAsD;IACtD,GAAG;QACD,UAAU,EAAE,EAAE,CAAC;IACjB,CAAC;IACD,kEAAkE;IAClE,oBAAoB,CAAC,OAAgB;QACnC,OAAO,QAAQ,CACb,OAAO,EACP,CAAC,IAAI,EAAE,EAAE;YACP,mBAAmB,GAAG,IAAI,CAAC;QAC7B,CAAC,EACD,GAAG,EAAE,CAAC,mBAAmB,CAC1B,CAAC;IACJ,CAAC;IACD,YAAY;QACV,mBAAmB,EAAE,EAAE,CAAC;IAC1B,CAAC;IACD,0EAA0E;IAC1E,WAAW,CAAC,IAAa;QACvB,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC9B,QAAQ,GAAG,IAAI,CAAC;QAChB,KAAK,MAAM,QAAQ,IAAI,cAAc;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,QAAQ;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,cAAc,CAAC,QAAuB;QACpC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC"}