@marifold/tui 0.60.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 (104) hide show
  1. package/LICENSE +674 -0
  2. package/dist/core/appState.d.ts +158 -0
  3. package/dist/core/appState.d.ts.map +1 -0
  4. package/dist/core/appState.js +167 -0
  5. package/dist/core/appState.js.map +1 -0
  6. package/dist/core/commands.d.ts +70 -0
  7. package/dist/core/commands.d.ts.map +1 -0
  8. package/dist/core/commands.js +227 -0
  9. package/dist/core/commands.js.map +1 -0
  10. package/dist/core/displayPaths.d.ts +5 -0
  11. package/dist/core/displayPaths.d.ts.map +1 -0
  12. package/dist/core/displayPaths.js +14 -0
  13. package/dist/core/displayPaths.js.map +1 -0
  14. package/dist/core/eventView.d.ts +10 -0
  15. package/dist/core/eventView.d.ts.map +1 -0
  16. package/dist/core/eventView.js +77 -0
  17. package/dist/core/eventView.js.map +1 -0
  18. package/dist/core/inputGrammar.d.ts +29 -0
  19. package/dist/core/inputGrammar.d.ts.map +1 -0
  20. package/dist/core/inputGrammar.js +30 -0
  21. package/dist/core/inputGrammar.js.map +1 -0
  22. package/dist/core/skills.d.ts +2 -0
  23. package/dist/core/skills.d.ts.map +1 -0
  24. package/dist/core/skills.js +2 -0
  25. package/dist/core/skills.js.map +1 -0
  26. package/dist/core/transcriptWindow.d.ts.map +1 -0
  27. package/dist/core/transcriptWindow.js.map +1 -0
  28. package/dist/index.d.ts +3 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/runTui.d.ts +18 -0
  33. package/dist/runTui.d.ts.map +1 -0
  34. package/dist/runTui.js +146 -0
  35. package/dist/runTui.js.map +1 -0
  36. package/dist/ui/App.d.ts +23 -0
  37. package/dist/ui/App.d.ts.map +1 -0
  38. package/dist/ui/App.js +991 -0
  39. package/dist/ui/App.js.map +1 -0
  40. package/dist/ui/ApprovalModal.d.ts +12 -0
  41. package/dist/ui/ApprovalModal.d.ts.map +1 -0
  42. package/dist/ui/ApprovalModal.js +62 -0
  43. package/dist/ui/ApprovalModal.js.map +1 -0
  44. package/dist/ui/Header.d.ts +12 -0
  45. package/dist/ui/Header.d.ts.map +1 -0
  46. package/dist/ui/Header.js +15 -0
  47. package/dist/ui/Header.js.map +1 -0
  48. package/dist/ui/InfoPanel.d.ts +11 -0
  49. package/dist/ui/InfoPanel.d.ts.map +1 -0
  50. package/dist/ui/InfoPanel.js +16 -0
  51. package/dist/ui/InfoPanel.js.map +1 -0
  52. package/dist/ui/InputBox.d.ts +31 -0
  53. package/dist/ui/InputBox.d.ts.map +1 -0
  54. package/dist/ui/InputBox.js +410 -0
  55. package/dist/ui/InputBox.js.map +1 -0
  56. package/dist/ui/Markdown.d.ts +12 -0
  57. package/dist/ui/Markdown.d.ts.map +1 -0
  58. package/dist/ui/Markdown.js +111 -0
  59. package/dist/ui/Markdown.js.map +1 -0
  60. package/dist/ui/QuestionModal.d.ts +11 -0
  61. package/dist/ui/QuestionModal.d.ts.map +1 -0
  62. package/dist/ui/QuestionModal.js +211 -0
  63. package/dist/ui/QuestionModal.js.map +1 -0
  64. package/dist/ui/RunStatus.d.ts +17 -0
  65. package/dist/ui/RunStatus.d.ts.map +1 -0
  66. package/dist/ui/RunStatus.js +46 -0
  67. package/dist/ui/RunStatus.js.map +1 -0
  68. package/dist/ui/SelectList.d.ts +18 -0
  69. package/dist/ui/SelectList.d.ts.map +1 -0
  70. package/dist/ui/SelectList.js +54 -0
  71. package/dist/ui/SelectList.js.map +1 -0
  72. package/dist/ui/Spinner.d.ts +6 -0
  73. package/dist/ui/Spinner.d.ts.map +1 -0
  74. package/dist/ui/Spinner.js +14 -0
  75. package/dist/ui/Spinner.js.map +1 -0
  76. package/dist/ui/StatusLine.d.ts +6 -0
  77. package/dist/ui/StatusLine.d.ts.map +1 -0
  78. package/dist/ui/StatusLine.js +32 -0
  79. package/dist/ui/StatusLine.js.map +1 -0
  80. package/dist/ui/Transcript.d.ts +17 -0
  81. package/dist/ui/Transcript.d.ts.map +1 -0
  82. package/dist/ui/Transcript.js +58 -0
  83. package/dist/ui/Transcript.js.map +1 -0
  84. package/dist/ui/appHelpers.d.ts +16 -0
  85. package/dist/ui/appHelpers.d.ts.map +1 -0
  86. package/dist/ui/appHelpers.js +59 -0
  87. package/dist/ui/appHelpers.js.map +1 -0
  88. package/dist/ui/text.d.ts +7 -0
  89. package/dist/ui/text.d.ts.map +1 -0
  90. package/dist/ui/text.js +16 -0
  91. package/dist/ui/text.js.map +1 -0
  92. package/dist/ui/theme.d.ts +12 -0
  93. package/dist/ui/theme.d.ts.map +1 -0
  94. package/dist/ui/theme.js +12 -0
  95. package/dist/ui/theme.js.map +1 -0
  96. package/dist/ui/useResizing.d.ts +14 -0
  97. package/dist/ui/useResizing.d.ts.map +1 -0
  98. package/dist/ui/useResizing.js +37 -0
  99. package/dist/ui/useResizing.js.map +1 -0
  100. package/dist/ui/useTerminalSize.d.ts +8 -0
  101. package/dist/ui/useTerminalSize.d.ts.map +1 -0
  102. package/dist/ui/useTerminalSize.js +23 -0
  103. package/dist/ui/useTerminalSize.js.map +1 -0
  104. package/package.json +32 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { ApprovalRequest } from '@marifold/core';
3
+ /** The folder a "trust" action would add, for an escalated file write. */
4
+ export declare function trustTargetFolder(request: ApprovalRequest): string | undefined;
5
+ /** What the user chose in the approval modal. The App maps this to an
6
+ * ApprovalDecision plus the "Always" side effect (persist allow / trust folder). */
7
+ export type ApprovalChoice = 'once' | 'always' | 'no';
8
+ export declare function ApprovalModal({ request, onResolve, }: {
9
+ request: ApprovalRequest;
10
+ onResolve: (choice: ApprovalChoice) => void;
11
+ }): React.ReactElement;
12
+ //# sourceMappingURL=ApprovalModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApprovalModal.d.ts","sourceRoot":"","sources":["../../src/ui/ApprovalModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,gBAAgB,CAAC;AAGvE,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAI9E;AAkCD;oFACoF;AACpF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;AAEtD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,SAAS,GACV,EAAE;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC7C,GAAG,KAAK,CAAC,YAAY,CA4CrB"}
@@ -0,0 +1,62 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as os from 'os';
3
+ import * as path from 'path';
4
+ import { Box, Text, useInput } from 'ink';
5
+ import { ACCENT, ATTACHMENT, DIM } from './theme.js';
6
+ /** The folder a "trust" action would add, for an escalated file write. */
7
+ export function trustTargetFolder(request) {
8
+ return request.persistable !== false && request.escalated && request.escalatedPath
9
+ ? path.dirname(request.escalatedPath)
10
+ : undefined;
11
+ }
12
+ function tildify(p) {
13
+ const home = os.homedir();
14
+ return p === home || p.startsWith(`${home}${path.sep}`) ? `~${p.slice(home.length)}` : p;
15
+ }
16
+ const PREVIEW_MAX_LINES = 12;
17
+ const PREVIEW_MAX_BODY_LINES = 8;
18
+ const PREVIEW_MAX_LINE_CHARS = 120;
19
+ /** A compact, dim preview of the tool's arguments so the user approves with
20
+ * sight of the actual content (file body, shell command) — not just the kind. */
21
+ function previewLines(input) {
22
+ const lines = [];
23
+ for (const [key, raw] of Object.entries(input)) {
24
+ if (typeof raw === 'string') {
25
+ if (raw.includes('\n') || raw.length > 60) {
26
+ const body = raw.split('\n');
27
+ lines.push(`${key}:`);
28
+ for (const line of body.slice(0, PREVIEW_MAX_BODY_LINES)) {
29
+ lines.push(` ${line.length > PREVIEW_MAX_LINE_CHARS ? `${line.slice(0, PREVIEW_MAX_LINE_CHARS)}…` : line}`);
30
+ }
31
+ if (body.length > PREVIEW_MAX_BODY_LINES)
32
+ lines.push(' …');
33
+ }
34
+ else {
35
+ lines.push(`${key}: ${raw}`);
36
+ }
37
+ }
38
+ else {
39
+ lines.push(`${key}: ${JSON.stringify(raw)}`);
40
+ }
41
+ }
42
+ return lines.slice(0, PREVIEW_MAX_LINES);
43
+ }
44
+ export function ApprovalModal({ request, onResolve, }) {
45
+ useInput((input, key) => {
46
+ const ch = input.toLowerCase();
47
+ // Enter = allow once (safe default) — never persists/trusts on a stray keypress.
48
+ if (key.escape || ch === 'd')
49
+ onResolve('no');
50
+ else if (key.return || ch === 'a' || ch === 'y')
51
+ onResolve('once');
52
+ else if (ch === 't' && request.persistable !== false)
53
+ onResolve('always');
54
+ });
55
+ // The "always" action: trust this folder (escalated write), else allow this kind.
56
+ const trustFolder = trustTargetFolder(request);
57
+ const alwaysLabel = trustFolder
58
+ ? `rust (${tildify(trustFolder)}) and allow always`
59
+ : `rust ${request.kind} (allow always)`;
60
+ return (_jsxs(Box, { borderStyle: "round", borderColor: "yellow", flexDirection: "column", paddingX: 1, children: [_jsxs(Text, { bold: true, color: "yellow", children: ["Approve ", request.kind, " action?"] }), _jsx(Text, { children: request.summary }), request.escalated && request.escalationReason ? (_jsxs(Text, { color: "red", children: ["! ", request.escalationReason] })) : null, previewLines(request.input).length > 0 ? (_jsx(Box, { flexDirection: "column", marginTop: 1, paddingLeft: 1, borderStyle: "single", borderColor: "gray", children: previewLines(request.input).map((line, i) => (_jsx(Text, { dimColor: true, children: line }, i))) })) : null, _jsx(Box, { marginTop: 1, children: _jsxs(Text, { children: [_jsx(Text, { color: ATTACHMENT, bold: true, children: "[a]" }), _jsx(Text, { color: DIM, children: "llow once" }), request.persistable !== false ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: DIM, children: " \u00B7 " }), _jsx(Text, { color: ACCENT, bold: true, children: "[t]" }), _jsx(Text, { color: DIM, children: alwaysLabel })] })) : null, _jsx(Text, { color: DIM, children: " \u00B7 " }), _jsx(Text, { color: "red", bold: true, children: "[d]" }), _jsx(Text, { color: DIM, children: "eny (this time)" })] }) })] }));
61
+ }
62
+ //# sourceMappingURL=ApprovalModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApprovalModal.js","sourceRoot":"","sources":["../../src/ui/ApprovalModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { AppState } from '../core/appState.js';
3
+ /**
4
+ * Startup banner. Printed once into the terminal scrollback (above the live
5
+ * transcript), so it scrolls away as the conversation grows while the input
6
+ * and status line stay pinned at the bottom. Three rows, each pairing a
7
+ * left-aligned identity segment with a right-aligned hint.
8
+ */
9
+ export declare function Header({ state }: {
10
+ state: AppState;
11
+ }): React.ReactElement;
12
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/ui/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAyBzE"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { marifoldHome } from '@marifold/core';
4
+ import { tildify } from '../core/displayPaths.js';
5
+ import { ACCENT, DIM } from './theme.js';
6
+ /**
7
+ * Startup banner. Printed once into the terminal scrollback (above the live
8
+ * transcript), so it scrolls away as the conversation grows while the input
9
+ * and status line stay pinned at the bottom. Three rows, each pairing a
10
+ * left-aligned identity segment with a right-aligned hint.
11
+ */
12
+ export function Header({ state }) {
13
+ return (_jsxs(Box, { borderStyle: "round", borderColor: ACCENT, width: "100%", paddingX: 1, flexDirection: "column", children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Text, { children: [_jsx(Text, { color: ACCENT, bold: true, children: "marifold" }), _jsxs(Text, { color: DIM, children: [" v", state.version] })] }), state.latestVersion ? (_jsxs(Text, { color: DIM, children: ["new version (v", state.latestVersion, ") available"] })) : null] }), _jsxs(Box, { justifyContent: "space-between", children: [_jsx(Text, { bold: true, children: tildify(state.cwd) }), _jsx(Text, { color: DIM, children: tildify(marifoldHome()) })] }), _jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, children: [state.displayName, " (", state.profile, ")"] }), _jsxs(Text, { color: DIM, children: [" \u00B7 ", state.mode, " \u00B7 ", state.provider, "/", state.model] })] }), _jsx(Text, { color: DIM, children: "/help for usage" })] })] }));
14
+ }
15
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/ui/Header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAuB;IACnD,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aAC5F,MAAC,GAAG,IAAC,cAAc,EAAC,eAAe,aACjC,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,EAAE,IAAI,+BAAgB,EACzC,MAAC,IAAI,IAAC,KAAK,EAAE,GAAG,oBAAM,KAAK,CAAC,OAAO,IAAQ,IACtC,EACN,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CACrB,MAAC,IAAI,IAAC,KAAK,EAAE,GAAG,+BAAiB,KAAK,CAAC,aAAa,mBAAmB,CACxE,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,MAAC,GAAG,IAAC,cAAc,EAAC,eAAe,aACjC,KAAC,IAAI,IAAC,IAAI,kBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EACtC,KAAC,IAAI,IAAC,KAAK,EAAE,GAAG,YAAG,OAAO,CAAC,YAAY,EAAE,CAAC,GAAQ,IAC9C,EACN,MAAC,GAAG,IAAC,cAAc,EAAC,eAAe,aACjC,MAAC,IAAI,eACH,MAAC,IAAI,IAAC,IAAI,mBAAE,KAAK,CAAC,WAAW,QAAI,KAAK,CAAC,OAAO,SAAS,EACvD,MAAC,IAAI,IAAC,KAAK,EAAE,GAAG,yBAAM,KAAK,CAAC,IAAI,cAAK,KAAK,CAAC,QAAQ,OAAG,KAAK,CAAC,KAAK,IAAQ,IACpE,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,GAAG,gCAAwB,IACpC,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ /** Read-only panel (help, permissions). Any key or Esc closes it. When
3
+ * `maxRows` is set (fullscreen layout), content is capped to fit and the
4
+ * remainder is summarized so the panel never overflows the frame. */
5
+ export declare function InfoPanel({ title, lines, onClose, maxRows, }: {
6
+ title: string;
7
+ lines: string[];
8
+ onClose: () => void;
9
+ maxRows?: number;
10
+ }): React.ReactElement;
11
+ //# sourceMappingURL=InfoPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoPanel.d.ts","sourceRoot":"","sources":["../../src/ui/InfoPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;qEAEqE;AACrE,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,KAAK,CAAC,YAAY,CAmBrB"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text, useInput } from 'ink';
3
+ import { ACCENT } from './theme.js';
4
+ /** Read-only panel (help, permissions). Any key or Esc closes it. When
5
+ * `maxRows` is set (fullscreen layout), content is capped to fit and the
6
+ * remainder is summarized so the panel never overflows the frame. */
7
+ export function InfoPanel({ title, lines, onClose, maxRows, }) {
8
+ useInput(() => onClose());
9
+ // Reserve rows for the border (2), title (1), close hint (1), and the
10
+ // overflow summary (1) before deciding how many lines fit.
11
+ const cap = maxRows ? Math.max(1, maxRows - 5) : lines.length;
12
+ const shown = lines.slice(0, cap);
13
+ const overflow = lines.length - shown.length;
14
+ return (_jsxs(Box, { borderStyle: "round", borderColor: ACCENT, flexDirection: "column", paddingX: 1, children: [_jsx(Text, { bold: true, color: ACCENT, children: title }), shown.map((line, i) => (_jsx(Text, { children: line }, i))), overflow > 0 ? _jsxs(Text, { dimColor: true, children: ["\u2026 ", overflow, " more"] }) : null, _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "(any key to close)" }) })] }));
15
+ }
16
+ //# sourceMappingURL=InfoPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoPanel.js","sourceRoot":"","sources":["../../src/ui/InfoPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC;;qEAEqE;AACrE,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,GAMR;IACC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1B,sEAAsE;IACtE,2DAA2D;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7C,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aAC9E,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,MAAM,YAAG,KAAK,GAAQ,EACvC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,KAAC,IAAI,cAAU,IAAI,IAAR,CAAC,CAAe,CAC5B,CAAC,EACD,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAC,IAAI,IAAC,QAAQ,8BAAI,QAAQ,aAAa,CAAC,CAAC,CAAC,IAAI,EAC9D,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,QAAQ,yCAA0B,GACpC,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ export interface CompletionItem {
3
+ name: string;
4
+ hint?: string;
5
+ }
6
+ /**
7
+ * Multi-line input with a blinking block cursor, history, readline shortcuts,
8
+ * a live completion menu for `/commands` and `$skills`, and image-drop tokens.
9
+ *
10
+ * - Typing `/` or `$` opens a menu of matching commands/skills with their
11
+ * descriptions: ↑/↓ move, Tab/Enter accept, Esc dismisses.
12
+ * - Dropping an image path inserts a green `[image #n]` token (indices reset
13
+ * each submitted message) and attaches the file to the next message.
14
+ * - Ctrl+J, Ctrl+Enter, Shift+Enter, and Option/Alt+Enter insert a newline; a
15
+ * trailing `\` on Enter also continues. Plain Enter submits.
16
+ * - Ctrl+A/Home & Ctrl+E/End jump to start/end, Ctrl+U deletes to start, Ctrl+K
17
+ * deletes to end, Ctrl+W deletes a word.
18
+ * - Esc and Ctrl+C forward to onInterrupt so the App can cancel a run.
19
+ */
20
+ export declare function InputBox({ onSubmit, onInterrupt, placeholder, history, commands, skills, resizing, }: {
21
+ onSubmit: (value: string, images: string[]) => void;
22
+ onInterrupt: (reason: 'ctrl-c' | 'escape') => void;
23
+ placeholder?: string;
24
+ history: string[];
25
+ commands: CompletionItem[];
26
+ skills: CompletionItem[];
27
+ /** While the terminal is resizing, collapse to a single line and ignore
28
+ * typing so Ink's erase math can't desync and duplicate the input box. */
29
+ resizing?: boolean;
30
+ }): React.ReactElement;
31
+ //# sourceMappingURL=InputBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputBox.d.ts","sourceRoot":"","sources":["../../src/ui/InputBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgCnD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,WAAW,EACX,WAAW,EACX,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAgB,GACjB,EAAE;IACD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB;8EAC0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,KAAK,CAAC,YAAY,CAqUrB"}