@jx-grxf/patchpilot 1.0.0 → 1.2.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 (154) hide show
  1. package/README.md +51 -16
  2. package/dist/cli.js +46 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/core/agent.d.ts +44 -1
  5. package/dist/core/agent.js +617 -70
  6. package/dist/core/agent.js.map +1 -1
  7. package/dist/core/clipboard.d.ts +14 -0
  8. package/dist/core/clipboard.js +134 -0
  9. package/dist/core/clipboard.js.map +1 -0
  10. package/dist/core/codex.d.ts +8 -0
  11. package/dist/core/codex.js +28 -2
  12. package/dist/core/codex.js.map +1 -1
  13. package/dist/core/compaction.d.ts +23 -0
  14. package/dist/core/compaction.js +145 -0
  15. package/dist/core/compaction.js.map +1 -0
  16. package/dist/core/contextFormat.d.ts +21 -0
  17. package/dist/core/contextFormat.js +87 -0
  18. package/dist/core/contextFormat.js.map +1 -0
  19. package/dist/core/contextItem.d.ts +41 -0
  20. package/dist/core/contextItem.js +93 -0
  21. package/dist/core/contextItem.js.map +1 -0
  22. package/dist/core/contextStore.d.ts +48 -0
  23. package/dist/core/contextStore.js +306 -0
  24. package/dist/core/contextStore.js.map +1 -0
  25. package/dist/core/doctor.js +9 -8
  26. package/dist/core/doctor.js.map +1 -1
  27. package/dist/core/gemini.js +10 -4
  28. package/dist/core/gemini.js.map +1 -1
  29. package/dist/core/geminiWrapper.d.ts +43 -2
  30. package/dist/core/geminiWrapper.js +582 -42
  31. package/dist/core/geminiWrapper.js.map +1 -1
  32. package/dist/core/http.js +70 -6
  33. package/dist/core/http.js.map +1 -1
  34. package/dist/core/json.d.ts +1 -1
  35. package/dist/core/json.js +18 -20
  36. package/dist/core/json.js.map +1 -1
  37. package/dist/core/nvidia.d.ts +1 -1
  38. package/dist/core/nvidia.js +13 -4
  39. package/dist/core/nvidia.js.map +1 -1
  40. package/dist/core/ollama.js +13 -3
  41. package/dist/core/ollama.js.map +1 -1
  42. package/dist/core/openrouter.js +15 -6
  43. package/dist/core/openrouter.js.map +1 -1
  44. package/dist/core/reasoning.js +3 -0
  45. package/dist/core/reasoning.js.map +1 -1
  46. package/dist/core/session.js +9 -3
  47. package/dist/core/session.js.map +1 -1
  48. package/dist/core/tokenAccounting.d.ts +4 -0
  49. package/dist/core/tokenAccounting.js +75 -13
  50. package/dist/core/tokenAccounting.js.map +1 -1
  51. package/dist/core/types.d.ts +58 -3
  52. package/dist/core/types.js +30 -1
  53. package/dist/core/types.js.map +1 -1
  54. package/dist/core/updateCheck.d.ts +19 -0
  55. package/dist/core/updateCheck.js +103 -0
  56. package/dist/core/updateCheck.js.map +1 -0
  57. package/dist/core/workspace.d.ts +29 -0
  58. package/dist/core/workspace.js +1271 -92
  59. package/dist/core/workspace.js.map +1 -1
  60. package/dist/tui/App.d.ts +1 -0
  61. package/dist/tui/App.js +1346 -112
  62. package/dist/tui/App.js.map +1 -1
  63. package/dist/tui/commands.js +109 -6
  64. package/dist/tui/commands.js.map +1 -1
  65. package/dist/tui/components/ApprovalPanel.js +16 -1
  66. package/dist/tui/components/ApprovalPanel.js.map +1 -1
  67. package/dist/tui/components/CommandSuggestions.js +26 -3
  68. package/dist/tui/components/CommandSuggestions.js.map +1 -1
  69. package/dist/tui/components/Composer.d.ts +3 -0
  70. package/dist/tui/components/Composer.js +57 -5
  71. package/dist/tui/components/Composer.js.map +1 -1
  72. package/dist/tui/components/ExperimentalPanel.d.ts +1 -1
  73. package/dist/tui/components/ExperimentalPanel.js +5 -0
  74. package/dist/tui/components/ExperimentalPanel.js.map +1 -1
  75. package/dist/tui/components/OnboardingPanel.d.ts +12 -0
  76. package/dist/tui/components/OnboardingPanel.js +69 -21
  77. package/dist/tui/components/OnboardingPanel.js.map +1 -1
  78. package/dist/tui/components/StartupBanner.d.ts +4 -0
  79. package/dist/tui/components/StartupBanner.js +9 -0
  80. package/dist/tui/components/StartupBanner.js.map +1 -0
  81. package/dist/tui/components/Transcript.d.ts +7 -0
  82. package/dist/tui/components/Transcript.js +86 -16
  83. package/dist/tui/components/Transcript.js.map +1 -1
  84. package/dist/tui/contextCommands.d.ts +8 -0
  85. package/dist/tui/contextCommands.js +205 -0
  86. package/dist/tui/contextCommands.js.map +1 -0
  87. package/dist/tui/experimental/AnimatedText.d.ts +38 -0
  88. package/dist/tui/experimental/AnimatedText.js +55 -0
  89. package/dist/tui/experimental/AnimatedText.js.map +1 -0
  90. package/dist/tui/experimental/Banner.d.ts +10 -0
  91. package/dist/tui/experimental/Banner.js +33 -0
  92. package/dist/tui/experimental/Banner.js.map +1 -0
  93. package/dist/tui/experimental/CommandPalette.d.ts +11 -0
  94. package/dist/tui/experimental/CommandPalette.js +25 -0
  95. package/dist/tui/experimental/CommandPalette.js.map +1 -0
  96. package/dist/tui/experimental/ExperimentalShell.d.ts +58 -0
  97. package/dist/tui/experimental/ExperimentalShell.js +366 -0
  98. package/dist/tui/experimental/ExperimentalShell.js.map +1 -0
  99. package/dist/tui/experimental/ThemePicker.d.ts +13 -0
  100. package/dist/tui/experimental/ThemePicker.js +12 -0
  101. package/dist/tui/experimental/ThemePicker.js.map +1 -0
  102. package/dist/tui/experimental/attachments.d.ts +35 -0
  103. package/dist/tui/experimental/attachments.js +244 -0
  104. package/dist/tui/experimental/attachments.js.map +1 -0
  105. package/dist/tui/experimental/composer.d.ts +24 -0
  106. package/dist/tui/experimental/composer.js +84 -0
  107. package/dist/tui/experimental/composer.js.map +1 -0
  108. package/dist/tui/experimental/geminiPricing.d.ts +16 -0
  109. package/dist/tui/experimental/geminiPricing.js +39 -0
  110. package/dist/tui/experimental/geminiPricing.js.map +1 -0
  111. package/dist/tui/experimental/layout.d.ts +46 -0
  112. package/dist/tui/experimental/layout.js +112 -0
  113. package/dist/tui/experimental/layout.js.map +1 -0
  114. package/dist/tui/experimental/theme.d.ts +35 -0
  115. package/dist/tui/experimental/theme.js +86 -0
  116. package/dist/tui/experimental/theme.js.map +1 -0
  117. package/dist/tui/experimental/transcriptRows.d.ts +20 -0
  118. package/dist/tui/experimental/transcriptRows.js +169 -0
  119. package/dist/tui/experimental/transcriptRows.js.map +1 -0
  120. package/dist/tui/experimental/ultraModes.d.ts +46 -0
  121. package/dist/tui/experimental/ultraModes.js +95 -0
  122. package/dist/tui/experimental/ultraModes.js.map +1 -0
  123. package/dist/tui/experimental/ultramaxx.d.ts +19 -0
  124. package/dist/tui/experimental/ultramaxx.js +43 -0
  125. package/dist/tui/experimental/ultramaxx.js.map +1 -0
  126. package/dist/tui/format.d.ts +4 -2
  127. package/dist/tui/format.js +14 -0
  128. package/dist/tui/format.js.map +1 -1
  129. package/dist/tui/hosts.js +7 -1
  130. package/dist/tui/hosts.js.map +1 -1
  131. package/dist/tui/layout.d.ts +26 -0
  132. package/dist/tui/layout.js +66 -0
  133. package/dist/tui/layout.js.map +1 -0
  134. package/dist/tui/modelSelection.d.ts +1 -1
  135. package/dist/tui/modelSelection.js +8 -6
  136. package/dist/tui/modelSelection.js.map +1 -1
  137. package/dist/tui/modes.d.ts +7 -0
  138. package/dist/tui/modes.js +12 -0
  139. package/dist/tui/modes.js.map +1 -1
  140. package/dist/tui/onboardingPreferences.d.ts +37 -0
  141. package/dist/tui/onboardingPreferences.js +118 -0
  142. package/dist/tui/onboardingPreferences.js.map +1 -0
  143. package/dist/tui/runStatus.d.ts +50 -0
  144. package/dist/tui/runStatus.js +164 -0
  145. package/dist/tui/runStatus.js.map +1 -0
  146. package/dist/tui/types.d.ts +8 -0
  147. package/dist/tui/types.js.map +1 -1
  148. package/docs/architecture.md +115 -0
  149. package/docs/gemini-wrapper.md +23 -0
  150. package/docs/product-context.md +43 -0
  151. package/docs/releases/v1.0.1.md +25 -0
  152. package/docs/releases/v1.1.0.md +30 -0
  153. package/docs/releases/v1.2.0.md +28 -0
  154. package/package.json +4 -2
@@ -1,48 +1,61 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Box, Text } from "ink";
3
3
  import TextInput from "ink-text-input";
4
4
  import { selectableModels } from "../modelSelection.js";
5
+ import { symbols } from "../experimental/theme.js";
6
+ import { describePreferenceValue, preferenceRows, preferenceValueString, } from "../onboardingPreferences.js";
5
7
  const entryOptions = [
6
8
  {
7
9
  label: "This Device",
8
- description: "Run Ollama locally on this machine"
10
+ description: "Run Ollama locally fully offline, nothing leaves the machine"
9
11
  },
10
12
  {
11
13
  label: "Remote Host",
12
- description: "Use Ollama from another LAN or Tailscale machine"
14
+ description: "Reach Ollama on another LAN or Tailscale machine"
13
15
  },
14
16
  {
15
17
  label: "Gemini",
16
- description: "Use the Google Gemini API key from PatchPilot config"
18
+ description: "Google Gemini API fast hosted models with an API key"
17
19
  },
18
20
  {
19
21
  label: "Gemini-Wrapper",
20
- description: "Use the local Gemini-API Python bridge with pasted cookies"
22
+ description: "Local Gemini Web bridge driven by pasted browser cookies"
21
23
  },
22
24
  {
23
25
  label: "OpenRouter",
24
- description: "Use OpenRouter models, including auto and free variants"
26
+ description: "One key, many models including auto-routed and free tiers"
25
27
  },
26
28
  {
27
29
  label: "NVIDIA",
28
- description: "Use NVIDIA NIM OpenAI-compatible endpoints"
30
+ description: "NVIDIA NIM OpenAI-compatible inference endpoints"
29
31
  },
30
32
  {
31
33
  label: "Codex",
32
- description: "Use the ChatGPT login through Codex CLI"
34
+ description: "Sign in with your ChatGPT account through the Codex CLI"
33
35
  }
34
36
  ];
37
+ const stepFlow = ["workflow", "host", "auth", "model", "tune"];
35
38
  export function OnboardingPanel(props) {
36
- const currentStepIndex = props.state.step === "entry"
39
+ const currentStepIndex = props.state.step === "welcome" || props.state.step === "disclaimer" || props.state.step === "entry"
37
40
  ? 0
38
41
  : props.state.step === "host" || props.state.step === "host-input"
39
42
  ? 1
40
43
  : props.state.step === "api-key-choice" || props.state.step === "gemini-key" || props.state.step === "gemini-wrapper-url" || props.state.step === "gemini-wrapper-psid" || props.state.step === "gemini-wrapper-psidts" || props.state.step === "gemini-wrapper-model-mode" || props.state.step === "gemini-wrapper-key" || props.state.step === "openrouter-key" || props.state.step === "nvidia-key" || props.state.step === "codex-login"
41
44
  ? 2
42
- : 3;
43
- const visibleModels = props.state.step === "model" ? selectableModels(props.input, props.state.models) : [];
45
+ : props.state.step === "model"
46
+ ? 3
47
+ : 4;
48
+ const formatModelLabel = props.formatModelLabel ?? ((model) => model);
49
+ const formatModelDescription = props.formatModelDescription ?? (() => "");
50
+ const visibleModels = props.state.step === "model" ? selectableModels(props.input, props.state.models, formatModelLabel) : [];
44
51
  const selectedModel = props.state.step === "model" ? visibleModels[props.selectedIndex] ?? null : null;
45
- return (_jsxs(Box, { borderStyle: "round", borderColor: "cyan", flexDirection: "column", paddingX: 2, height: props.height, overflowY: "hidden", children: [_jsx(Text, { color: "cyan", bold: true, children: "PatchPilot Setup" }), _jsx(Text, { color: "gray", children: "Choose where inference runs before the workspace session starts." }), _jsx(Box, { marginTop: 1, children: ["mode", "host", "auth", "model"].map((step, index) => (_jsxs(Text, { color: index <= currentStepIndex ? "cyan" : "gray", children: [index > 0 ? " " : "", "[", index + 1, "] ", step] }, step))) }), props.busyMessage ? (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "yellow", children: props.busyMessage }) })) : null, props.notice ? (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: props.notice.tone === "success" ? "green" : props.notice.tone === "warning" ? "yellow" : "red", children: props.notice.text }), props.notice.detail ? _jsx(Text, { color: "gray", children: props.notice.detail }) : null] })) : null, props.state.step === "entry" ? (_jsx(SelectionList, { title: "Where should the model run?", subtitle: "Use up/down and Enter. Escape skips setup.", rows: entryOptions, selectedIndex: props.selectedIndex })) : null, props.state.step === "host" ? (_jsx(SelectionList, { title: "Choose a host", subtitle: "Top item lets you enter a host manually. Left arrow goes back.", rows: [
52
+ return (_jsxs(Box, { borderStyle: "round", borderColor: "cyan", flexDirection: "column", paddingX: 2, paddingY: 1, height: props.height, overflowY: "hidden", children: [_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: "cyan", bold: true, children: [symbols.assistant, " PatchPilot"] }), _jsx(Text, { color: "gray", children: " \u2014 first-run setup" })] }), _jsxs(Text, { color: "gray", children: ["A few quick choices, then you are ready to ship. ", symbols.bullet, " reopen anytime with /onboarding"] }), _jsx(Box, { marginTop: 1, flexDirection: "row", children: stepFlow.map((step, index) => {
53
+ const done = index < currentStepIndex;
54
+ const active = index === currentStepIndex;
55
+ const glyph = done ? symbols.todoDone : active ? symbols.todoActive : symbols.todoPending;
56
+ const color = done ? "green" : active ? "cyan" : "gray";
57
+ return (_jsxs(Text, { color: color, bold: active, children: [index > 0 ? " " : "", glyph, " ", step] }, step));
58
+ }) }), props.busyMessage ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "yellow", children: [symbols.status, " ", props.busyMessage] }) })) : null, props.notice ? (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { color: props.notice.tone === "success" ? "green" : props.notice.tone === "warning" ? "yellow" : "red", children: [props.notice.tone === "success" ? symbols.final : props.notice.tone === "warning" ? symbols.approval : symbols.error, " ", props.notice.text] }), props.notice.detail ? _jsxs(Text, { color: "gray", children: [" ", props.notice.detail] }) : null] })) : null, props.state.step === "welcome" ? (_jsx(WelcomeStep, {})) : null, props.state.step === "disclaimer" ? (_jsx(DisclaimerStep, {})) : null, props.state.step === "entry" ? (_jsx(SelectionList, { title: "Where should the model run?", subtitle: `${symbols.arrow} up/down to move ${symbols.bullet} enter to pick ${symbols.bullet} esc skips setup`, rows: entryOptions, selectedIndex: props.selectedIndex })) : null, props.state.step === "host" ? (_jsx(SelectionList, { title: "Choose a host", subtitle: `Top row enters a host by hand ${symbols.bullet} ${symbols.arrow} left goes back`, rows: [
46
59
  {
47
60
  label: "Enter Host Manually",
48
61
  description: "Type a LAN IP, Tailscale IP, MagicDNS name, or full URL"
@@ -51,7 +64,7 @@ export function OnboardingPanel(props) {
51
64
  label: host.deviceName,
52
65
  description: `${host.kind} ${host.url}${host.version ? ` Ollama ${host.version}` : ""}`
53
66
  }))
54
- ], selectedIndex: props.selectedIndex })) : null, props.state.step === "host-input" ? (_jsx(InputStep, { title: "Connect to a host", description: "Enter a LAN IP, Tailscale IP, MagicDNS name, or full URL.", prompt: "host > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit })) : null, props.state.step === "api-key-choice" ? (_jsx(SelectionList, { title: props.state.provider === "gemini-wrapper" ? "Gemini-Wrapper bridge auth" : `${providerLabel(props.state.provider)} API key`, subtitle: props.state.provider === "gemini-wrapper" ? "Use up/down and Enter. Saved cookies stay in PatchPilot config." : "Use up/down and Enter. Existing keys stay in PatchPilot config.", rows: [
67
+ ], selectedIndex: props.selectedIndex })) : null, props.state.step === "host-input" ? (_jsx(InputStep, { title: "Connect to a host", description: "Enter a LAN IP, Tailscale IP, MagicDNS name, or full URL.", prompt: "host > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit })) : null, props.state.step === "api-key-choice" ? (_jsx(SelectionList, { title: props.state.provider === "gemini-wrapper" ? "Gemini-Wrapper bridge auth" : `${providerLabel(props.state.provider)} API key`, subtitle: props.state.provider === "gemini-wrapper" ? "Saved cookies stay in PatchPilot config, never the repo." : "Existing keys stay in PatchPilot config, never the repo.", rows: [
55
68
  ...(props.state.hasExistingKey
56
69
  ? [
57
70
  {
@@ -60,38 +73,73 @@ export function OnboardingPanel(props) {
60
73
  }
61
74
  ]
62
75
  : []),
76
+ ...(props.state.provider === "gemini-wrapper"
77
+ ? [
78
+ {
79
+ label: "Import From Browser",
80
+ description: "Read Gemini Web cookies locally after this explicit choice"
81
+ }
82
+ ]
83
+ : []),
63
84
  {
64
85
  label: props.state.provider === "gemini-wrapper" ? "Paste Cookie" : "Enter New Key",
65
86
  description: props.state.provider === "gemini-wrapper" ? "Replace the Gemini Web cookie file in PatchPilot config" : "Replace or add the key in PatchPilot config"
66
87
  }
67
- ], selectedIndex: props.selectedIndex })) : null, props.state.step === "gemini-key" ? (_jsx(InputStep, { title: "Enter your Gemini API key", description: "It will be stored in PatchPilot's config directory, not in the repository.", prompt: "key > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "gemini-wrapper-url" ? (_jsx(InputStep, { title: "Connect Gemini-Wrapper HTTP", description: "Optional advanced mode: enter an explicit OpenAI-compatible wrapper URL.", prompt: "url > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit })) : null, props.state.step === "gemini-wrapper-psid" ? (_jsx(InputStep, { title: "Connect Gemini-API bridge", description: "Paste __Secure-1PSID. PatchPilot stores it in ~/.patchpilot/gemini-cookies.json with owner-only permissions.", prompt: "psid > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "gemini-wrapper-psidts" ? (_jsx(InputStep, { title: "Optional Gemini session timestamp", description: "Paste __Secure-1PSIDTS if you have it, or press Enter to skip.", prompt: "ts > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "gemini-wrapper-model-mode" ? (_jsx(SelectionList, { title: "Gemini-Wrapper model mode", subtitle: "Auto is fastest and most stable. Manual fetches models currently exposed by Gemini Web.", rows: [
88
+ ], selectedIndex: props.selectedIndex })) : null, props.state.step === "gemini-key" ? (_jsx(InputStep, { title: "Enter your Gemini API key", description: "Stored in PatchPilot's config directory, never in the repository.", prompt: "key > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "gemini-wrapper-url" ? (_jsx(InputStep, { title: "Connect Gemini-Wrapper HTTP", description: "Optional advanced mode: enter an explicit OpenAI-compatible wrapper URL.", prompt: "url > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit })) : null, props.state.step === "gemini-wrapper-psid" ? (_jsx(InputStep, { title: "Connect Gemini-API bridge", description: "Paste __Secure-1PSID. PatchPilot stores it in ~/.patchpilot/gemini-cookies.json with owner-only permissions.", prompt: "psid > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "gemini-wrapper-psidts" ? (_jsx(InputStep, { title: "Optional Gemini session timestamp", description: "Paste __Secure-1PSIDTS if you have it, or press Enter to skip.", prompt: "ts > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "gemini-wrapper-model-mode" ? (_jsx(SelectionList, { title: "Gemini-Wrapper model", subtitle: "Shortcuts resolve through live Gemini Web discovery; Denkaufwand is not a stable bridge control yet.", rows: [
68
89
  {
69
90
  label: "Auto",
70
91
  description: "Let Gemini Web pick the current default model"
71
92
  },
93
+ {
94
+ label: "Flash-Lite",
95
+ description: "Resolve the live Gemini Web Flash-Lite model"
96
+ },
97
+ {
98
+ label: "Flash",
99
+ description: "Resolve the live Flash model, preferring 3.5 Flash when the bridge lists it"
100
+ },
101
+ {
102
+ label: "Pro",
103
+ description: "Resolve the live Gemini Web Pro model"
104
+ },
72
105
  {
73
106
  label: "Manual",
74
107
  description: "Fetch available Gemini Web models and choose one"
75
108
  }
76
- ], selectedIndex: props.selectedIndex })) : null, props.state.step === "gemini-wrapper-key" ? (_jsx(InputStep, { title: "Enter Gemini-Wrapper API key", description: "Required for remote wrapper URLs. Local wrapper URLs may leave this empty.", prompt: "key > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "openrouter-key" ? (_jsx(InputStep, { title: "Enter your OpenRouter API key", description: "It will be stored in PatchPilot's config directory, not in the repository.", prompt: "key > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "nvidia-key" ? (_jsx(InputStep, { title: "Enter your NVIDIA API key", description: "It will be stored in PatchPilot's config directory, not in the repository.", prompt: "key > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "codex-login" ? (_jsxs(Box, { flexDirection: "column", marginTop: 2, children: [_jsx(Text, { color: "white", bold: true, children: "Connect Codex CLI" }), _jsx(Text, { color: "gray", children: "Run `codex login` in another terminal, then press Enter here to continue." }), _jsx(Text, { color: "gray", children: "Escape or left arrow goes back." })] })) : null, props.state.step === "model" ? (_jsxs(_Fragment, { children: [_jsx(InputStep, { title: `Choose a ${props.state.provider} model${props.state.deviceName ? ` on ${props.state.deviceName}` : ""}`, description: "Type to search. Use up/down and Enter. Left arrow goes back.", prompt: "find > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit }), _jsx(SelectionList, { title: "", subtitle: `${visibleModels.length} matching model${visibleModels.length === 1 ? "" : "s"}`, rows: visibleModels.map((model) => ({
77
- label: model,
78
- description: model === selectedModel ? "selected" : "available"
79
- })), selectedIndex: props.selectedIndex })] })) : null, _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "Remote host mode keeps file reads, writes, shell, Git, and tests on this device. Only inference moves." }) })] }));
109
+ ], selectedIndex: props.selectedIndex })) : null, props.state.step === "gemini-wrapper-key" ? (_jsx(InputStep, { title: "Enter Gemini-Wrapper API key", description: "Required for remote wrapper URLs. Local wrapper URLs may leave this empty.", prompt: "key > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "openrouter-key" ? (_jsx(InputStep, { title: "Enter your OpenRouter API key", description: "Stored in PatchPilot's config directory, never in the repository.", prompt: "key > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "nvidia-key" ? (_jsx(InputStep, { title: "Enter your NVIDIA API key", description: "Stored in PatchPilot's config directory, never in the repository.", prompt: "key > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit, mask: "*" })) : null, props.state.step === "codex-login" ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: "white", bold: true, children: [symbols.arrow, " Connect Codex CLI"] }), _jsx(Text, { color: "gray", children: "Run `codex login` in another terminal, then press Enter here to continue." }), _jsxs(Text, { color: "gray", children: [symbols.bullet, " esc or left arrow goes back"] })] })) : null, props.state.step === "model" ? (_jsxs(_Fragment, { children: [_jsx(InputStep, { title: `Choose a ${props.state.provider} model${props.state.deviceName ? ` on ${props.state.deviceName}` : ""}`, description: "Type to filter. Up/down to move, enter to pick. Left arrow goes back.", prompt: "find > ", value: props.input, onChange: props.onInputChange, onSubmit: props.onInputSubmit }), _jsx(SelectionList, { title: "", subtitle: `${visibleModels.length} matching model${visibleModels.length === 1 ? "" : "s"}`, rows: visibleModels.map((model) => ({
110
+ label: formatModelLabel(model),
111
+ description: `${model === selectedModel ? "selected" : "available"}${formatModelDescription(model)}`
112
+ })), selectedIndex: props.selectedIndex })] })) : null, props.state.step === "preferences" ? (_jsx(PreferencesStep, { provider: props.state.provider, model: props.state.model, preferences: props.state.preferences, selectedIndex: props.selectedIndex })) : null, _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "gray", children: [symbols.info, " Remote inference keeps file reads, writes, shell, Git, and tests on this device \u2014 only the model call moves."] }) })] }));
113
+ }
114
+ function WelcomeStep() {
115
+ return (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { color: "cyan", bold: true, children: [symbols.assistant, " A coding agent you can watch work"] }), _jsx(Text, { color: "gray", children: "Local-first. Every read, write, command, and model route stays visible and inspectable." }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { color: "white", children: [symbols.todoActive, " Plan ", symbols.bullet, " read files, map the architecture, keep a live todo list"] }), _jsxs(Text, { color: "white", children: [symbols.todoActive, " Build ", symbols.bullet, " scoped approvals for edits, scripts, tests, and shell"] }), _jsxs(Text, { color: "white", children: [symbols.todoActive, " Review ", symbols.bullet, " show diffs, run checks, leave Git history ready for you"] })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { color: "yellow", children: [symbols.pin, " First task to try: \"summarize this repo and list the safest next fixes\""] }), _jsxs(Text, { color: "gray", children: [symbols.arrow, " enter continues ", symbols.bullet, " esc skips ", symbols.bullet, " reopen later with /onboarding"] })] })] }));
116
+ }
117
+ function DisclaimerStep() {
118
+ return (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { color: "yellow", bold: true, children: [symbols.approval, " Use at your own risk"] }), _jsx(Text, { color: "gray", children: "PatchPilot can read files, edit files, and run shell commands when you enable those capabilities." }), _jsx(Text, { color: "gray", children: "You remain responsible for reviewing actions, diffs, commands, provider terms, and generated output." }), _jsx(Text, { color: "gray", children: "The software is provided as-is, without warranty or liability from the maintainer." }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "cyan", bold: true, children: "Press [y] to accept and continue" }), _jsxs(Text, { color: "gray", children: [" ", symbols.bullet, " Esc goes back"] })] })] }));
80
119
  }
81
120
  function providerLabel(provider) {
82
121
  return provider === "openrouter" ? "OpenRouter" : provider === "nvidia" ? "NVIDIA" : provider === "gemini-wrapper" ? "Gemini-Wrapper" : "Gemini";
83
122
  }
123
+ function PreferencesStep(props) {
124
+ const rows = preferenceRows;
125
+ const confirmIndex = rows.length;
126
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "white", bold: true, children: "Tune your defaults" }), _jsxs(Text, { color: "gray", children: [symbols.final, " ", props.provider, " ", symbols.bullet, " ", props.model] }), _jsxs(Text, { color: "gray", children: [symbols.arrow, " up/down to move ", symbols.bullet, " left/right to change ", symbols.bullet, " enter to finish"] }), rows.map((row, index) => {
127
+ const isSelected = index === props.selectedIndex;
128
+ const value = preferenceValueString(props.preferences, row.key);
129
+ return (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: 3, children: _jsx(Text, { color: isSelected ? "cyan" : "gray", children: isSelected ? symbols.todoActive : " " }) }), _jsx(Box, { width: 30, children: _jsx(Text, { color: isSelected ? "white" : "gray", bold: isSelected, children: row.label }) }), _jsxs(Text, { color: isSelected ? "cyan" : "gray", bold: true, children: [isSelected ? `${symbols.arrow} ` : " ", value] })] }), isSelected ? (_jsx(Box, { marginLeft: 3, children: _jsx(Text, { color: "gray", children: describePreferenceValue(row.key, value) }) })) : null] }, row.key));
130
+ }), _jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsx(Box, { width: 3, children: _jsx(Text, { color: props.selectedIndex === confirmIndex ? "green" : "gray", children: props.selectedIndex === confirmIndex ? symbols.todoActive : " " }) }), _jsxs(Text, { color: props.selectedIndex === confirmIndex ? "green" : "gray", bold: props.selectedIndex === confirmIndex, children: [symbols.final, " Finish setup and start session"] })] })] }));
131
+ }
84
132
  function InputStep(props) {
85
- return (_jsxs(Box, { flexDirection: "column", marginTop: 2, children: [_jsx(Text, { color: "white", bold: true, children: props.title }), _jsx(Text, { color: "gray", children: props.description }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "cyan", children: props.prompt }), _jsx(TextInput, { value: props.value, onChange: props.onChange, onSubmit: props.onSubmit, mask: props.mask })] })] }));
133
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "white", bold: true, children: props.title }), _jsx(Text, { color: "gray", children: props.description }), _jsxs(Box, { marginTop: 1, children: [_jsxs(Text, { color: "cyan", children: [symbols.user, " ", props.prompt] }), _jsx(TextInput, { value: props.value, onChange: props.onChange, onSubmit: props.onSubmit, mask: props.mask })] })] }));
86
134
  }
87
135
  function SelectionList(props) {
88
136
  const startIndex = Math.max(0, Math.min(props.selectedIndex - 4, Math.max(0, props.rows.length - 8)));
89
137
  const visibleRows = props.rows.slice(startIndex, startIndex + 8);
90
138
  const endIndex = startIndex + visibleRows.length;
91
- return (_jsxs(Box, { flexDirection: "column", marginTop: 2, children: [_jsx(Text, { color: "white", bold: true, children: props.title }), _jsxs(Text, { color: "gray", children: [props.subtitle, " ", props.rows.length > 0 ? `${startIndex + 1}-${endIndex}/${props.rows.length}` : "0/0"] }), visibleRows.map((row, index) => {
139
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [props.title ? (_jsx(Text, { color: "white", bold: true, children: props.title })) : null, _jsxs(Text, { color: "gray", children: [props.subtitle, " ", props.rows.length > 0 ? `${startIndex + 1}-${endIndex}/${props.rows.length}` : "0/0"] }), visibleRows.map((row, index) => {
92
140
  const absoluteIndex = startIndex + index;
93
141
  const isSelected = absoluteIndex === props.selectedIndex;
94
- return (_jsxs(Box, { marginTop: 1, children: [_jsx(Box, { width: 3, children: _jsx(Text, { color: isSelected ? "cyan" : "gray", children: isSelected ? ">" : " " }) }), _jsx(Box, { width: 28, children: _jsx(Text, { color: isSelected ? "white" : "cyan", bold: isSelected, wrap: "truncate", children: row.label }) }), _jsx(Text, { color: isSelected ? "white" : "gray", wrap: "truncate", children: row.description })] }, `${absoluteIndex}-${row.label}`));
142
+ return (_jsxs(Box, { marginTop: 1, children: [_jsx(Box, { width: 3, children: _jsx(Text, { color: isSelected ? "cyan" : "gray", children: isSelected ? symbols.todoActive : " " }) }), _jsx(Box, { width: 28, children: _jsx(Text, { color: isSelected ? "white" : "cyan", bold: isSelected, wrap: "truncate", children: row.label }) }), _jsx(Text, { color: isSelected ? "white" : "gray", wrap: "truncate", children: row.description })] }, `${absoluteIndex}-${row.label}`));
95
143
  })] }));
96
144
  }
97
145
  //# sourceMappingURL=OnboardingPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingPanel.js","sourceRoot":"","sources":["../../../src/tui/components/OnboardingPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAwDxD,MAAM,YAAY,GAAG;IACnB;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,oCAAoC;KAClD;IACD;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,sDAAsD;KACpE;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,4DAA4D;KAC1E;IACD;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,yCAAyC;KACvD;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,KAa/B;IACC,MAAM,gBAAgB,GACpB,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;QAC1B,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;YAChE,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,2BAA2B,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa;gBAC1a,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,CAAC,CAAC;IACZ,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5G,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvG,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAC,QAAQ,aACtH,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,uCAEhB,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,iFAAwE,EAC1F,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACd,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACtD,MAAC,IAAI,IAAY,KAAK,EAAE,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,aAChE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OACpB,KAAK,GAAG,CAAC,QAAI,IAAI,KAFV,IAAI,CAGR,CACR,CAAC,GACE,EACL,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CACnB,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,KAAK,CAAC,WAAW,GAAQ,GAC3C,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACd,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,YAAG,KAAK,CAAC,MAAM,CAAC,IAAI,GAAQ,EACtI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,KAAK,CAAC,MAAM,CAAC,MAAM,GAAQ,CAAC,CAAC,CAAC,IAAI,IACzE,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAC9B,KAAC,aAAa,IACZ,KAAK,EAAC,6BAA6B,EACnC,QAAQ,EAAC,4CAA4C,EACrD,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,KAAK,CAAC,aAAa,GAClC,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAC7B,KAAC,aAAa,IACZ,KAAK,EAAC,eAAe,EACrB,QAAQ,EAAC,gEAAgE,EACzE,IAAI,EAAE;oBACJ;wBACE,KAAK,EAAE,qBAAqB;wBAC5B,WAAW,EAAE,yDAAyD;qBACvE;oBACD,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAClC,KAAK,EAAE,IAAI,CAAC,UAAU;wBACtB,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;qBAC1F,CAAC,CAAC;iBACJ,EACD,aAAa,EAAE,KAAK,CAAC,aAAa,GAClC,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CACnC,KAAC,SAAS,IACR,KAAK,EAAC,mBAAmB,EACzB,WAAW,EAAC,2DAA2D,EACvE,MAAM,EAAC,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,GAC7B,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,CACvC,KAAC,aAAa,IACZ,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAClI,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,iEAAiE,EAC3L,IAAI,EAAE;oBACJ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc;wBAC5B,CAAC,CAAC;4BACE;gCACE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB;gCAC1F,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,6BAA6B;6BAC/H;yBACF;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP;wBACE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;wBACnF,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC,CAAC,6CAA6C;qBACnK;iBACF,EACD,aAAa,EAAE,KAAK,CAAC,aAAa,GAClC,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CACnC,KAAC,SAAS,IACR,KAAK,EAAC,2BAA2B,EACjC,WAAW,EAAC,4EAA4E,EACxF,MAAM,EAAC,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,IAAI,EAAC,GAAG,GACR,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAC3C,KAAC,SAAS,IACR,KAAK,EAAC,6BAA6B,EACnC,WAAW,EAAC,0EAA0E,EACtF,MAAM,EAAC,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,GAC7B,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAC5C,KAAC,SAAS,IACR,KAAK,EAAC,2BAA2B,EACjC,WAAW,EAAC,8GAA8G,EAC1H,MAAM,EAAC,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,IAAI,EAAC,GAAG,GACR,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC,CAAC,CAC9C,KAAC,SAAS,IACR,KAAK,EAAC,mCAAmC,EACzC,WAAW,EAAC,gEAAgE,EAC5E,MAAM,EAAC,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,IAAI,EAAC,GAAG,GACR,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,2BAA2B,CAAC,CAAC,CAAC,CAClD,KAAC,aAAa,IACZ,KAAK,EAAC,2BAA2B,EACjC,QAAQ,EAAC,yFAAyF,EAClG,IAAI,EAAE;oBACJ;wBACE,KAAK,EAAE,MAAM;wBACb,WAAW,EAAE,+CAA+C;qBAC7D;oBACD;wBACE,KAAK,EAAE,QAAQ;wBACf,WAAW,EAAE,kDAAkD;qBAChE;iBACF,EACD,aAAa,EAAE,KAAK,CAAC,aAAa,GAClC,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAC3C,KAAC,SAAS,IACR,KAAK,EAAC,8BAA8B,EACpC,WAAW,EAAC,4EAA4E,EACxF,MAAM,EAAC,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,IAAI,EAAC,GAAG,GACR,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,CACvC,KAAC,SAAS,IACR,KAAK,EAAC,+BAA+B,EACrC,WAAW,EAAC,4EAA4E,EACxF,MAAM,EAAC,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,IAAI,EAAC,GAAG,GACR,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CACnC,KAAC,SAAS,IACR,KAAK,EAAC,2BAA2B,EACjC,WAAW,EAAC,4EAA4E,EACxF,MAAM,EAAC,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,IAAI,EAAC,GAAG,GACR,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CACpC,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,wCAEjB,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,0FAAiF,EACnG,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,gDAAuC,IACrD,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAC9B,8BACE,KAAC,SAAS,IACR,KAAK,EAAE,YAAY,KAAK,CAAC,KAAK,CAAC,QAAQ,SAAS,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAC/G,WAAW,EAAC,8DAA8D,EAC1E,MAAM,EAAC,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,GAC7B,EACF,KAAC,aAAa,IACZ,KAAK,EAAC,EAAE,EACR,QAAQ,EAAE,GAAG,aAAa,CAAC,MAAM,kBAAkB,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAC1F,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAClC,KAAK,EAAE,KAAK;4BACZ,WAAW,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;yBAChE,CAAC,CAAC,EACH,aAAa,EAAE,KAAK,CAAC,aAAa,GAClC,IACD,CACJ,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uHAA8G,GAC5H,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAwB;IAC7C,OAAO,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnJ,CAAC;AAED,SAAS,SAAS,CAAC,KAQlB;IACC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,kBACrB,KAAK,CAAC,KAAK,GACP,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,KAAK,CAAC,WAAW,GAAQ,EAC7C,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,KAAK,CAAC,MAAM,GAAQ,EACxC,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,IACnG,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAKtB;IACC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;IAEjD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,kBACrB,KAAK,CAAC,KAAK,GACP,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aACf,KAAK,CAAC,QAAQ,OAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,IACjG,EACN,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC9B,MAAM,aAAa,GAAG,UAAU,GAAG,KAAK,CAAC;gBACzC,MAAM,UAAU,GAAG,aAAa,KAAK,KAAK,CAAC,aAAa,CAAC;gBACzD,OAAO,CACL,MAAC,GAAG,IAAuC,SAAS,EAAE,CAAC,aACrD,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YACX,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,YAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAQ,GACtE,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAC,UAAU,YAC1E,GAAG,CAAC,KAAK,GACL,GACH,EACN,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAC,UAAU,YACxD,GAAG,CAAC,WAAW,GACX,KAXC,GAAG,aAAa,IAAI,GAAG,CAAC,KAAK,EAAE,CAYnC,CACP,CAAC;YACJ,CAAC,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"OnboardingPanel.js","sourceRoot":"","sources":["../../../src/tui/components/OnboardingPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export declare function StartupBanner(props: {
3
+ compact?: boolean;
4
+ }): React.ReactElement;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ export function StartupBanner(props) {
4
+ if (props.compact) {
5
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "cyan", bold: true, children: "PatchPilot" }), _jsx(Text, { color: "gray", children: "Local-first. Permissioned. Easy to review." })] }));
6
+ }
7
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "cyan", children: " ____ _ _ ____ _ _ _ " }), _jsx(Text, { color: "cyan", children: " | _ \\ __ _| |_ ___| |__ | _ \\(_) | ___ | |_ " }), _jsx(Text, { color: "cyan", children: " | |_) / _` | __/ __| '_ \\| |_) | | |/ _ \\| __|" }), _jsx(Text, { color: "cyan", children: " | __/ (_| | || (__| | | | __/| | | (_) | |_ " }), _jsx(Text, { color: "cyan", children: " |_| \\__,_|\\__\\___|_| |_|_| |_|_|\\___/ \\__|" }), _jsx(Text, { color: "gray", children: " " }), _jsx(Text, { color: "cyan", children: " .------. Local-first coding agent" }), _jsx(Text, { color: "cyan", children: " / o o \\ Permissioned tools" }), _jsx(Text, { color: "cyan", children: " | __ | Visible diffs and approvals" }), _jsx(Text, { color: "cyan", children: " | _| |_ |" }), _jsx(Text, { color: "cyan", children: " '._\\____/_.'' [wrench-ready]" }), _jsx(Text, { color: "gray", children: " " }), _jsx(Text, { color: "gray", children: "Start with a task, type /onboarding, or ask what PatchPilot can do." })] }));
8
+ }
9
+ //# sourceMappingURL=StartupBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StartupBanner.js","sourceRoot":"","sources":["../../../src/tui/components/StartupBanner.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,UAAU,aAAa,CAAC,KAE7B;IACC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,iCAAkB,EACzC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2DAAkD,IAChE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,sEAA6D,EAC/E,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wEAA6D,EAC/E,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wEAA6D,EAC/E,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,sEAA6D,EAC/E,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2EAA6D,EAC/E,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kBAAS,EAC3B,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,qEAA4D,EAC9E,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,gEAAsD,EACxE,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wEAA+D,EACjF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wCAA+B,EACjD,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,4DAAkD,EACpE,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kBAAS,EAC3B,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,oFAA2E,IACzF,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import type { LogLine } from "../types.js";
3
+ import type { AgentTodoItem, AgentWorkState } from "../../core/types.js";
3
4
  export declare function Transcript(props: {
4
5
  lines: LogLine[];
5
6
  isRunning: boolean;
@@ -7,4 +8,10 @@ export declare function Transcript(props: {
7
8
  height: number;
8
9
  width: number;
9
10
  scrollOffset: number;
11
+ todos?: AgentTodoItem[];
12
+ todoFrame?: number;
13
+ verbIndex?: number;
14
+ status: string;
15
+ workState: AgentWorkState;
16
+ isApprovalWaiting?: boolean;
10
17
  }): React.ReactElement;
@@ -1,14 +1,34 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from "ink";
3
3
  import { toneToColor, toneToMarker } from "../format.js";
4
+ import { formatWorkingStatus } from "../layout.js";
5
+ import { StartupBanner } from "./StartupBanner.js";
4
6
  export function Transcript(props) {
5
- const rows = props.lines.length === 0 ? emptyRows() : buildTranscriptRows(props.lines, props.width);
7
+ const rows = buildTranscriptRows(props.lines, props.width);
6
8
  const visibleRowCount = Math.max(1, props.height - 2);
7
- const hasOverflow = rows.length > visibleRowCount;
8
- const contentRowCount = hasOverflow ? Math.max(1, visibleRowCount - 1) : visibleRowCount;
9
- const clampedOffset = clampScrollOffset(props.scrollOffset, rows.length, contentRowCount);
10
- const visibleRows = rows.slice(Math.max(0, rows.length - contentRowCount - clampedOffset), rows.length - clampedOffset);
11
- return (_jsxs(Box, { borderStyle: "round", borderColor: props.isActive ? "cyan" : props.isRunning ? "yellow" : "gray", flexDirection: "column", paddingX: 1, height: props.height, overflowY: "hidden", flexGrow: 1, children: [Array.from({ length: Math.max(0, contentRowCount - visibleRows.length) }).map((_, index) => (_jsx(Text, { children: " " }, `pad-${index}`))), visibleRows.map((row, index) => (_jsx(TranscriptRowView, { row: row }, `${index}-${row.marker}-${row.label}-${row.text}`))), hasOverflow ? _jsx(ScrollHint, { offset: clampedOffset, total: rows.length, visible: contentRowCount }) : null] }));
9
+ const todoRows = buildTodoRows(props.todos ?? [], props.width, props.todoFrame ?? 0);
10
+ const dockRows = buildDockRows({
11
+ isRunning: props.isRunning,
12
+ isApprovalWaiting: Boolean(props.isApprovalWaiting),
13
+ status: props.status,
14
+ workState: props.workState,
15
+ todos: props.todos ?? [],
16
+ width: props.width,
17
+ verbIndex: props.verbIndex ?? 0
18
+ });
19
+ // The todo block and the run/approval dock stay pinned at the bottom; the
20
+ // content region above them flexes to fill whatever is left. The dock is
21
+ // capped so it can never crowd out the transcript on a tiny terminal.
22
+ const auxRows = [...todoRows, ...dockRows];
23
+ const reservedAuxRows = Math.min(auxRows.length, Math.max(0, visibleRowCount - 1));
24
+ const visibleAuxRows = auxRows.slice(0, reservedAuxRows);
25
+ const contentRowCount = Math.max(1, visibleRowCount - reservedAuxRows);
26
+ const hasOverflow = rows.length > contentRowCount;
27
+ const clampedOffset = clampScrollOffset(props.scrollOffset, rows.length, hasOverflow ? contentRowCount - 1 : contentRowCount);
28
+ const contentCapacity = hasOverflow ? Math.max(1, contentRowCount - 1) : contentRowCount;
29
+ const visibleRows = rows.slice(Math.max(0, rows.length - contentCapacity - clampedOffset), rows.length - clampedOffset);
30
+ const showBanner = props.lines.length === 0 && visibleRows.length === 0;
31
+ return (_jsxs(Box, { borderStyle: "round", borderColor: props.isActive ? "cyan" : props.isRunning ? "yellow" : "gray", flexDirection: "column", paddingX: 1, height: props.height, overflowY: "hidden", children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, overflowY: "hidden", children: [showBanner ? (_jsx(StartupBanner, { compact: props.height < 22 || props.width < 92 })) : (visibleRows.map((row, index) => _jsx(TranscriptRowView, { row: row }, `row-${index}`))), hasOverflow ? _jsx(ScrollHint, { offset: clampedOffset, total: rows.length, visible: contentCapacity }) : null] }), visibleAuxRows.length > 0 ? (_jsx(Box, { flexDirection: "column", children: visibleAuxRows.map((row, index) => (_jsx(TranscriptRowView, { row: row }, `aux-${index}`))) })) : null] }));
12
32
  }
13
33
  function TranscriptRowView(props) {
14
34
  return (_jsxs(Box, { children: [_jsx(Box, { width: 3, children: _jsx(Text, { color: props.row.color, dimColor: props.row.dim, children: props.row.marker }) }), _jsx(Box, { width: 14, children: _jsx(Text, { color: props.row.color, bold: props.row.bold, dimColor: props.row.dim, children: props.row.label }) }), _jsx(Text, { color: props.row.color, wrap: "truncate", dimColor: props.row.dim, children: props.row.text })] }));
@@ -53,21 +73,65 @@ function buildTranscriptRows(lines, width) {
53
73
  return rows;
54
74
  });
55
75
  }
56
- function emptyRows() {
57
- return [
76
+ function buildTodoRows(todos, width, frame) {
77
+ if (todos.length === 0) {
78
+ return [];
79
+ }
80
+ const textWidth = Math.max(18, width - 19);
81
+ const spinner = ["-", "\\", "|", "/"][frame % 4] ?? "-";
82
+ const rows = [
58
83
  {
59
84
  marker: "",
60
- label: "",
61
- text: "No session activity yet.",
62
- color: "gray"
63
- },
64
- {
85
+ label: "todos",
86
+ text: `${todos.filter((todo) => todo.status === "completed").length}/${todos.length} complete`,
87
+ color: "cyan",
88
+ bold: true
89
+ }
90
+ ];
91
+ for (const todo of todos.slice(0, 8)) {
92
+ const marker = todo.status === "completed" ? "[x]" : todo.status === "in_progress" ? `[${spinner}]` : "[ ]";
93
+ const color = todo.status === "completed" ? "green" : todo.status === "in_progress" ? "yellow" : "gray";
94
+ rows.push({
65
95
  marker: "",
66
- label: "",
96
+ label: marker,
97
+ text: truncate(todo.content, textWidth),
98
+ color,
99
+ bold: todo.status === "in_progress",
100
+ dim: todo.status === "pending"
101
+ });
102
+ }
103
+ return rows;
104
+ }
105
+ function buildDockRows(options) {
106
+ const textWidth = Math.max(18, options.width - 19);
107
+ const rows = [];
108
+ if (options.isApprovalWaiting) {
109
+ rows.push({
110
+ marker: "?",
111
+ label: "approval",
112
+ text: "Review the request below. Session approvals are scoped to the concrete target.",
113
+ color: "yellow",
114
+ bold: true
115
+ });
116
+ }
117
+ if (options.isRunning) {
118
+ rows.push({
119
+ marker: "#",
120
+ label: "run",
121
+ text: truncate(formatWorkingStatus(options.workState, options.verbIndex, options.status), textWidth),
122
+ color: "cyan",
123
+ bold: true
124
+ });
125
+ }
126
+ if (options.todos.length === 0 && !options.isRunning && !options.isApprovalWaiting) {
127
+ rows.push({
128
+ marker: "",
129
+ label: "ready",
67
130
  text: "Ask for a repo summary, a focused patch, or type /help.",
68
131
  color: "gray"
69
- }
70
- ];
132
+ });
133
+ }
134
+ return rows;
71
135
  }
72
136
  function markerForBlock(line) {
73
137
  switch (line.kind) {
@@ -118,6 +182,12 @@ function colorForBlock(line) {
118
182
  function clampScrollOffset(offset, rowCount, visibleRowCount) {
119
183
  return Math.max(0, Math.min(offset, Math.max(0, rowCount - visibleRowCount)));
120
184
  }
185
+ function truncate(value, width) {
186
+ if (value.length <= width) {
187
+ return value;
188
+ }
189
+ return `${value.slice(0, Math.max(0, width - 3))}...`;
190
+ }
121
191
  function wrapText(value, width) {
122
192
  const rows = value
123
193
  .split(/\r?\n/)
@@ -1 +1 @@
1
- {"version":3,"file":"Transcript.js","sourceRoot":"","sources":["../../../src/tui/components/Transcript.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transcript.js","sourceRoot":"","sources":["../../../src/tui/components/Transcript.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAiB,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWnD,MAAM,UAAU,UAAU,CAAC,KAa1B;IACC,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC7B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACnD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC;KAChC,CAAC,CAAC;IACH,0EAA0E;IAC1E,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,eAAe,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;IAClD,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC9H,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IACzF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,eAAe,GAAG,aAAa,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;IACxH,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;IAExE,OAAO,CACL,MAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAC1E,aAAa,EAAC,QAAQ,EACtB,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,SAAS,EAAC,QAAQ,aAIlB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAC,QAAQ,aACxD,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,aAAa,IAAC,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,GAAI,CAClE,CAAC,CAAC,CAAC,CACF,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAC,iBAAiB,IAAsB,GAAG,EAAE,GAAG,IAAxB,OAAO,KAAK,EAAE,CAAc,CAAC,CACtF,EACA,WAAW,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,GAAI,CAAC,CAAC,CAAC,IAAI,IACrG,EACL,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3B,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,KAAC,iBAAiB,IAAsB,GAAG,EAAE,GAAG,IAAxB,OAAO,KAAK,EAAE,CAAc,CACrD,CAAC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA6B;IACtD,OAAO,CACL,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YACX,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,YAAG,KAAK,CAAC,GAAG,CAAC,MAAM,GAAQ,GAC5E,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,YACxE,KAAK,CAAC,GAAG,CAAC,KAAK,GACX,GACH,EACN,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAC,UAAU,EAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,YAClE,KAAK,CAAC,GAAG,CAAC,IAAI,GACV,IACH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAyD;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,CACL,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAc,GAC5B,EACN,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aACf,KAAK,OAAG,GAAG,OAAG,KAAK,CAAC,KAAK,kBACrB,IACH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAgB,EAAE,KAAa;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAmB,EAAE;QAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5J,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;QACtH,MAAM,IAAI,GAAoB,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACjC,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC/B,IAAI;YACJ,KAAK;YACL,IAAI,EAAE,KAAK,KAAK,CAAC;YACjB,GAAG,EAAE,KAAK;SACX,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3B,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;YACT,IAAI;YACJ,KAAK,EAAE,MAAe;YACtB,GAAG,EAAE,KAAK;SACX,CAAC,CAAC,CACJ,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB,EAAE,KAAa,EAAE,KAAa;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;IACxD,MAAM,IAAI,GAAoB;QAC5B;YACE,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,WAAW;YAC9F,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI;SACX;KACF,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5G,MAAM,KAAK,GAAa,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAClH,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;YACvC,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,aAAa;YACnC,GAAG,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,OAQtB;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAAoB,EAAE,CAAC;IAEjC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,gFAAgF;YACtF,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;YACpG,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnF,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,yDAAyD;YAC/D,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,WAAW;YACd,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,UAAU;YACb,OAAO,GAAG,CAAC;QACb,KAAK,OAAO;YACV,OAAO,GAAG,CAAC;QACb,KAAK,OAAO;YACV,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9F,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,QAAgB,EAAE,eAAuB;IAClF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa;IAC5C,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACxD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa;IAC5C,MAAM,IAAI,GAAG,KAAK;SACf,KAAK,CAAC,OAAO,CAAC;SACd,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9D,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC5B,UAAU,GAAG,OAAO,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { LogLineInput } from "./types.js";
2
+ export type ContextSlashCommand = "context" | "compact";
3
+ export declare function runContextSlashCommand(options: {
4
+ workspace: string;
5
+ sessionId: string;
6
+ command: ContextSlashCommand;
7
+ args: string[];
8
+ }): Promise<LogLineInput>;