@ai-zen/cli 1.0.0-alpha.27 → 1.0.0-alpha.30

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 (171) hide show
  1. package/CHANGELOG.md +158 -0
  2. package/README.md +9 -6
  3. package/README.zh.md +9 -6
  4. package/dist/clipboard.d.ts +68 -0
  5. package/dist/clipboard.d.ts.map +1 -0
  6. package/dist/clipboard.js +177 -0
  7. package/dist/clipboard.js.map +1 -0
  8. package/dist/config-editor.d.ts +17 -0
  9. package/dist/config-editor.d.ts.map +1 -1
  10. package/dist/config-editor.js +31 -0
  11. package/dist/config-editor.js.map +1 -1
  12. package/dist/config.d.ts +53 -15
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +90 -26
  15. package/dist/config.js.map +1 -1
  16. package/dist/conversation-commands/registry.d.ts.map +1 -1
  17. package/dist/conversation-persist-plugin.d.ts.map +1 -1
  18. package/dist/conversation-persist-plugin.js.map +1 -1
  19. package/dist/conversation-repository.d.ts +23 -20
  20. package/dist/conversation-repository.d.ts.map +1 -1
  21. package/dist/conversation-repository.js +46 -37
  22. package/dist/conversation-repository.js.map +1 -1
  23. package/dist/cwd-tracker-plugin.d.ts.map +1 -1
  24. package/dist/cwd-tracker-plugin.js +17 -6
  25. package/dist/cwd-tracker-plugin.js.map +1 -1
  26. package/dist/handoff-service.js.map +1 -1
  27. package/dist/i18n/en-wizard.d.ts.map +1 -1
  28. package/dist/i18n/en-wizard.js +9 -6
  29. package/dist/i18n/en-wizard.js.map +1 -1
  30. package/dist/i18n/en.d.ts.map +1 -1
  31. package/dist/i18n/en.js +13 -2
  32. package/dist/i18n/en.js.map +1 -1
  33. package/dist/i18n/index.js.map +1 -1
  34. package/dist/i18n/preferences.d.ts +7 -4
  35. package/dist/i18n/preferences.d.ts.map +1 -1
  36. package/dist/i18n/preferences.js +15 -11
  37. package/dist/i18n/preferences.js.map +1 -1
  38. package/dist/i18n/zh-wizard.d.ts.map +1 -1
  39. package/dist/i18n/zh-wizard.js +9 -6
  40. package/dist/i18n/zh-wizard.js.map +1 -1
  41. package/dist/i18n/zh.d.ts.map +1 -1
  42. package/dist/i18n/zh.js +13 -2
  43. package/dist/i18n/zh.js.map +1 -1
  44. package/dist/index.js +11 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/sdk-log.d.ts +15 -3
  47. package/dist/sdk-log.d.ts.map +1 -1
  48. package/dist/sdk-log.js +29 -9
  49. package/dist/sdk-log.js.map +1 -1
  50. package/dist/session-pointer.d.ts.map +1 -1
  51. package/dist/session-pointer.js +10 -4
  52. package/dist/session-pointer.js.map +1 -1
  53. package/dist/sub-agent-guard-plugin.d.ts.map +1 -1
  54. package/dist/tui/chat-history.d.ts +29 -0
  55. package/dist/tui/chat-history.d.ts.map +1 -0
  56. package/dist/tui/chat-history.js +55 -0
  57. package/dist/tui/chat-history.js.map +1 -0
  58. package/dist/tui/chat-session.d.ts +31 -2
  59. package/dist/tui/chat-session.d.ts.map +1 -1
  60. package/dist/tui/chat-session.js +64 -9
  61. package/dist/tui/chat-session.js.map +1 -1
  62. package/dist/tui/components.d.ts +65 -5
  63. package/dist/tui/components.d.ts.map +1 -1
  64. package/dist/tui/components.js +85 -13
  65. package/dist/tui/components.js.map +1 -1
  66. package/dist/tui/config-wizard/detail.d.ts +6 -4
  67. package/dist/tui/config-wizard/detail.d.ts.map +1 -1
  68. package/dist/tui/config-wizard/detail.js +20 -14
  69. package/dist/tui/config-wizard/detail.js.map +1 -1
  70. package/dist/tui/config-wizard/engine.d.ts +1 -1
  71. package/dist/tui/config-wizard/engine.d.ts.map +1 -1
  72. package/dist/tui/config-wizard/engine.js +18 -6
  73. package/dist/tui/config-wizard/engine.js.map +1 -1
  74. package/dist/tui/config-wizard/fields.d.ts.map +1 -1
  75. package/dist/tui/config-wizard/fields.js +1 -30
  76. package/dist/tui/config-wizard/fields.js.map +1 -1
  77. package/dist/tui/config-wizard/frame.js +1 -1
  78. package/dist/tui/config-wizard/kv-editor.d.ts.map +1 -1
  79. package/dist/tui/config-wizard/kv-editor.js +4 -0
  80. package/dist/tui/config-wizard/kv-editor.js.map +1 -1
  81. package/dist/tui/config-wizard/list.d.ts +3 -1
  82. package/dist/tui/config-wizard/list.d.ts.map +1 -1
  83. package/dist/tui/config-wizard/list.js +3 -4
  84. package/dist/tui/config-wizard/list.js.map +1 -1
  85. package/dist/tui/config-wizard/prompt-editor.d.ts +8 -1
  86. package/dist/tui/config-wizard/prompt-editor.d.ts.map +1 -1
  87. package/dist/tui/config-wizard/prompt-editor.js +7 -4
  88. package/dist/tui/config-wizard/prompt-editor.js.map +1 -1
  89. package/dist/tui/config-wizard/step-agents.d.ts.map +1 -1
  90. package/dist/tui/config-wizard/step-agents.js +25 -13
  91. package/dist/tui/config-wizard/step-agents.js.map +1 -1
  92. package/dist/tui/config-wizard/step-endpoints.d.ts.map +1 -1
  93. package/dist/tui/config-wizard/step-endpoints.js +18 -15
  94. package/dist/tui/config-wizard/step-endpoints.js.map +1 -1
  95. package/dist/tui/config-wizard/step-mcp.d.ts.map +1 -1
  96. package/dist/tui/config-wizard/step-mcp.js +15 -9
  97. package/dist/tui/config-wizard/step-mcp.js.map +1 -1
  98. package/dist/tui/config-wizard/step-models.d.ts.map +1 -1
  99. package/dist/tui/config-wizard/step-models.js +67 -27
  100. package/dist/tui/config-wizard/step-models.js.map +1 -1
  101. package/dist/tui/config-wizard/types.d.ts +12 -0
  102. package/dist/tui/config-wizard/types.d.ts.map +1 -1
  103. package/dist/tui/file-index.d.ts +38 -0
  104. package/dist/tui/file-index.d.ts.map +1 -0
  105. package/dist/tui/file-index.js +117 -0
  106. package/dist/tui/file-index.js.map +1 -0
  107. package/dist/tui/index.d.ts.map +1 -1
  108. package/dist/tui/index.js +1 -1
  109. package/dist/tui/index.js.map +1 -1
  110. package/dist/tui/key-debug.js.map +1 -1
  111. package/dist/tui/mention.d.ts +47 -0
  112. package/dist/tui/mention.d.ts.map +1 -0
  113. package/dist/tui/mention.js +152 -0
  114. package/dist/tui/mention.js.map +1 -0
  115. package/dist/tui/mouse.js.map +1 -1
  116. package/dist/tui/phase.d.ts.map +1 -1
  117. package/dist/tui/screens/chat-commands.d.ts +8 -0
  118. package/dist/tui/screens/chat-commands.d.ts.map +1 -1
  119. package/dist/tui/screens/chat-commands.js +60 -34
  120. package/dist/tui/screens/chat-commands.js.map +1 -1
  121. package/dist/tui/screens/chat.d.ts +37 -0
  122. package/dist/tui/screens/chat.d.ts.map +1 -1
  123. package/dist/tui/screens/chat.js +238 -31
  124. package/dist/tui/screens/chat.js.map +1 -1
  125. package/dist/tui/screens/common-keys.js.map +1 -1
  126. package/dist/tui/screens/frame-buffer.d.ts.map +1 -1
  127. package/dist/tui/screens/frame-buffer.js.map +1 -1
  128. package/dist/tui/screens/index.d.ts +1 -1
  129. package/dist/tui/screens/index.d.ts.map +1 -1
  130. package/dist/tui/screens/index.js +1 -1
  131. package/dist/tui/screens/index.js.map +1 -1
  132. package/dist/tui/screens/input.d.ts +30 -1
  133. package/dist/tui/screens/input.d.ts.map +1 -1
  134. package/dist/tui/screens/input.js +39 -2
  135. package/dist/tui/screens/input.js.map +1 -1
  136. package/dist/tui/screens/layout.d.ts +14 -0
  137. package/dist/tui/screens/layout.d.ts.map +1 -1
  138. package/dist/tui/screens/layout.js +22 -11
  139. package/dist/tui/screens/layout.js.map +1 -1
  140. package/dist/tui/screens/messages-view.d.ts.map +1 -1
  141. package/dist/tui/screens/messages-view.js +6 -2
  142. package/dist/tui/screens/messages-view.js.map +1 -1
  143. package/dist/tui/screens/notice.d.ts.map +1 -1
  144. package/dist/tui/screens/notice.js.map +1 -1
  145. package/dist/tui/screens/overlays.js +1 -1
  146. package/dist/tui/screens/render.d.ts +1 -1
  147. package/dist/tui/screens/render.d.ts.map +1 -1
  148. package/dist/tui/screens/render.js +6 -2
  149. package/dist/tui/screens/render.js.map +1 -1
  150. package/dist/tui/screens/use-input-editing.d.ts +29 -4
  151. package/dist/tui/screens/use-input-editing.d.ts.map +1 -1
  152. package/dist/tui/screens/use-input-editing.js +42 -14
  153. package/dist/tui/screens/use-input-editing.js.map +1 -1
  154. package/dist/tui/screens/use-wizard-host.d.ts +12 -1
  155. package/dist/tui/screens/use-wizard-host.d.ts.map +1 -1
  156. package/dist/tui/screens/use-wizard-host.js +26 -7
  157. package/dist/tui/screens/use-wizard-host.js.map +1 -1
  158. package/dist/tui/status-segments.js.map +1 -1
  159. package/dist/tui/text.d.ts +7 -0
  160. package/dist/tui/text.d.ts.map +1 -1
  161. package/dist/tui/text.js +5 -1
  162. package/dist/tui/text.js.map +1 -1
  163. package/dist/tui/theme.d.ts.map +1 -1
  164. package/dist/tui/token-rate.d.ts.map +1 -1
  165. package/dist/tui/token-rate.js.map +1 -1
  166. package/dist/user-content.d.ts +41 -0
  167. package/dist/user-content.d.ts.map +1 -0
  168. package/dist/user-content.js +37 -0
  169. package/dist/user-content.js.map +1 -0
  170. package/dist/version.js.map +1 -1
  171. package/package.json +3 -3
@@ -9,14 +9,14 @@ import { keyDebug } from "../key-debug.js";
9
9
  import { phaseLabel } from "../phase.js";
10
10
  import { AgentNS } from "@ai-zen/agents-core";
11
11
  import { theme } from "../theme.js";
12
- import { Spinner, StatusBar, statusBarRows, SlashMenu } from "../components.js";
12
+ import { Spinner, StatusBar, statusBarRows, BottomMenu, PastedImagesBar } from "../components.js";
13
13
  import { graphemes, layoutInput, usableFrameRows } from "../text.js";
14
14
  import { ChatSession } from "../chat-session.js";
15
15
  import { commandBlocksInput, matchCommandHints, parseCommandInput, } from "../../conversation-commands/registry.js";
16
- import { readConfig, readReasoningPresets, saveConfig, writeMcpConfig } from "../../config.js";
16
+ import { readConfig, readMcpConfig, readReasoningPresets, saveConfig, writeMcpConfig } from "../../config.js";
17
17
  import { readAgentStore } from "../../agents-store.js";
18
18
  import { ConfigWizard } from "../config-wizard/index.js";
19
- import { computeInputCursorPosition } from "./input.js";
19
+ import { computeInputCursorPosition, inputWindow } from "./input.js";
20
20
  import { AGENT_TABS_LINES, computeChatLayout } from "./layout.js";
21
21
  import { FrameBuffer } from "./frame-buffer.js";
22
22
  import { LineView } from "./render.js";
@@ -34,7 +34,22 @@ import { useChatViewport } from "./use-chat-viewport.js";
34
34
  import { useChatOverlays } from "./use-overlays.js";
35
35
  import { useWizardHost } from "./use-wizard-host.js";
36
36
  import { useInputEditing } from "./use-input-editing.js";
37
+ import { extractMention, mentionInsertText, rankPaths } from "../mention.js";
38
+ import { userDrafts } from "../chat-history.js";
39
+ import { listProjectPaths } from "../file-index.js";
40
+ import { MAX_CLIPBOARD_TEXT_BYTES, readClipboardImage, readClipboardText } from "../../clipboard.js";
37
41
  import { handleCtrlDExit, handleScrollKey } from "./common-keys.js";
42
+ /**
43
+ * 单条消息最多附几张粘贴图片。
44
+ *
45
+ * 顶在 4 张:一张手机截图内联后 base64 常在 1~3MB,再多一次请求就是几十 MB,
46
+ * 既扫 token 也容易撞端点的请求体上限。
47
+ */
48
+ export const MAX_PASTED_IMAGES = 4;
49
+ /** 字节数 → 一位小数的 MB(提示文案用) */
50
+ export function formatMegabytes(bytes) {
51
+ return (bytes / 1024 / 1024).toFixed(1);
52
+ }
38
53
  /**
39
54
  * 计算回车时应提交的文本。
40
55
  *
@@ -64,6 +79,24 @@ export function busySpinnerLabel(phase, command) {
64
79
  return command ? t("cmd.running", { name: command }) : phaseLabel(null);
65
80
  }
66
81
  export function Chat(props) {
82
+ const deps = {
83
+ readConfig,
84
+ readReasoningPresets,
85
+ readAgentStore,
86
+ createSession: ChatSession.create,
87
+ listProjectPaths,
88
+ readClipboardImage,
89
+ readClipboardText,
90
+ wizardReaders: {
91
+ readConfig,
92
+ readMcpConfig,
93
+ readReasoningPresets,
94
+ readAgentStore,
95
+ },
96
+ saveConfig,
97
+ writeMcpConfig,
98
+ ...props.deps,
99
+ };
67
100
  const { exit, suspendTerminal } = useApp();
68
101
  const { setCursorPosition } = useCursor();
69
102
  const { columns, rows } = useWindowSize();
@@ -106,6 +139,13 @@ export function Chat(props) {
106
139
  const [imePosition, setImePosition] = useState(null);
107
140
  /** 乐观回显:提交后、真实 user 消息落进 messages 之前,先显示用户提问 */
108
141
  const [pendingUser, setPendingUser] = useState(null);
142
+ /**
143
+ * 待发送的粘贴图片(`Ctrl+V` 累积)。
144
+ *
145
+ * 存 base64 而不是落盘:SDK 的 `fileToContentSection()` 正好接受 `{ base64, mime }`,
146
+ * 于是粘贴全程不碰磁盘 —— 也就不会在 `$TMPDIR` 里留下一堆无人清理的 png。
147
+ */
148
+ const [pastedImages, setPastedImages] = useState([]);
109
149
  /** 转录显示起点(/clear 清屏用:隐藏此索引之前的消息,但不改上下文) */
110
150
  const [transcriptFrom, setTranscriptFrom] = useState(0);
111
151
  /**
@@ -159,6 +199,8 @@ export function Chat(props) {
159
199
  .then(() => noticeChannel.push(t("notice.reloaded")))
160
200
  .catch((error) => noticeChannel.push(t("chat.sessionReloadFailed", { error: error?.message ?? error }), "error"));
161
201
  },
202
+ // 向导读快照 / 落盘也走注入:集成测试不该碰真实配置目录
203
+ readers: deps.wizardReaders,
162
204
  });
163
205
  /**
164
206
  * 重挂载附带的系统提示(如 `/model` 的切换结果)。
@@ -185,7 +227,7 @@ export function Chat(props) {
185
227
  return;
186
228
  let alive = true;
187
229
  // 档位存在 Agent 定义上(`modelParams`),可选档位在策略表里(`reasoningPreset` 指向),两者都要读
188
- Promise.all([readConfig(), readAgentStore(), readReasoningPresets()])
230
+ Promise.all([deps.readConfig(), deps.readAgentStore(), deps.readReasoningPresets()])
189
231
  .then(([config, store, presets]) => {
190
232
  const model = config.models?.find((item) => item.id === modelId);
191
233
  const agentId = props.agentId ?? "default";
@@ -216,7 +258,7 @@ export function Chat(props) {
216
258
  noticeChannel.push(text, tone);
217
259
  },
218
260
  };
219
- ChatSession.create({
261
+ deps.createSession({
220
262
  agentId: props.agentId,
221
263
  messages: props.messages,
222
264
  conversationId: props.conversationId,
@@ -278,18 +320,133 @@ export function Chat(props) {
278
320
  * 输入编辑(文本 / 光标 / 历史 / kill ring / undo / stash):
279
321
  * 全部语义在 use-input-editing.ts,这里只把通知出口接上。
280
322
  */
281
- const { input, cursor, setInputText, insertAtCursor, deleteBeforeCursor, deleteAfterCursor, deleteWordBeforeCursor, deleteWordAfterCursor, deleteToStartOfLine, deleteToEndOfLine, deletePrevWhitespace, yank, undoEdit, toggleStash, moveCursor, moveCursorToLineStart, moveCursorToLineEnd, moveCursorByWord, historyPrev, historyNext, clearDraft, rememberSubmitted, } = useInputEditing({
323
+ const { input, cursor, setInputText, insertAtCursor, replaceRange, deleteBeforeCursor, deleteAfterCursor, deleteWordBeforeCursor, deleteWordAfterCursor, deleteToStartOfLine, deleteToEndOfLine, deletePrevWhitespace, yank, undoEdit, toggleStash, moveCursor, moveCursorToLineStart, moveCursorToLineEnd, moveCursorUpRow, moveCursorDownRow, moveCursorByWord, historyPrev, historyNext, clearDraft, } = useInputEditing({
282
324
  initialText: props.initialInput,
283
325
  notify: (text, tone) => noticeChannel.push(text, tone),
326
+ // 历史来自 messages(唯一真相源):自带图片,`↑` 回到带图消息时附件也一并回来
327
+ historySource: () => userDrafts(sessionRef.current?.messages ?? []),
328
+ restoreImages: (images) => setPastedImages(images),
284
329
  });
285
330
  /** 斜杠候选菜单的高亮索引;输入一变就回到第一个候选 */
286
331
  const [menuIndex, setMenuIndex] = useState(0);
287
332
  useEffect(() => {
288
333
  setMenuIndex(0);
289
334
  }, [input]);
335
+ /** 项目文件索引(`@` 补全的候选源);null = 还没扫过 */
336
+ const [fileIndex, setFileIndex] = useState(null);
337
+ /** 用户按 Esc 主动关掉了 `@` 菜单:输入 / 光标一变就重新允许弹出 */
338
+ const [mentionOff, setMentionOff] = useState(false);
339
+ useEffect(() => {
340
+ setMentionOff(false);
341
+ }, [input, cursor]);
290
342
  // 命令候选人
291
343
  const slash = input.startsWith("/") && !input.includes("\n") && !input.includes(" ");
292
344
  const hints = slash ? matchCommandHints(input.slice(1)) : [];
345
+ /**
346
+ * `@` 文件补全的上下文:光标是否停在一个 `@token` 里(判据见 `mention.ts`)。
347
+ *
348
+ * 与斜杠命令**互斥**:`/` 开头就是在写命令,此时不弹文件菜单。
349
+ */
350
+ const mention = slash || mentionOff ? null : extractMention(input, cursor);
351
+ const fileMatches = mention && fileIndex ? rankPaths(mention.query, fileIndex) : [];
352
+ /** 索引还没就绪:菜单先占一行「扫描中…」,否则敲下 `@` 后一片空白像没反应 */
353
+ const scanningFiles = mention != null && fileIndex == null;
354
+ /** 当前菜单条数(两种菜单互斥,非零的那个说了算) */
355
+ const menuCount = slash ? hints.length : fileMatches.length;
356
+ /**
357
+ * 菜单**想吃**的行数:候选条数 + 「扫描中…」占位。
358
+ *
359
+ * 实际能拿多少由布局决定(`computeChatLayout` 按输入框上方的剩余空间放行,
360
+ * 不设固定上限)—— 这里交上去的是「想要多少」,渲染与 IME 光标一律读回
361
+ * `layout.hintRows`,三处同源。
362
+ */
363
+ const menuWant = slash ? hints.length : fileMatches.length + (scanningFiles ? 1 : 0);
364
+ /** 菜单条目:斜杠命令带说明,`@` 路径目录带尾斜杠(提示「选中后继续下钻」) */
365
+ const menuItems = slash
366
+ ? hints.map((hint) => ({ key: hint.names[0], label: hint.label, hint: hint.description }))
367
+ : fileMatches.map((entry) => ({
368
+ key: entry.path,
369
+ label: entry.dir ? `${entry.path}/` : entry.path,
370
+ }));
371
+ /** 每次「重新唤起 `@`」都问一次索引:`listProjectPaths` 内部有 15s 缓存,未过期时几乎零成本,
372
+ * 过期则顺手重扫 —— 于是会话里新建的文件不会因为「只扫过一次」而永远看不到。 */
373
+ useEffect(() => {
374
+ if (mention == null)
375
+ return;
376
+ let alive = true;
377
+ void deps.listProjectPaths(process.cwd())
378
+ .then((paths) => {
379
+ if (alive)
380
+ setFileIndex(paths);
381
+ })
382
+ .catch(() => {
383
+ if (alive)
384
+ setFileIndex([]);
385
+ });
386
+ return () => {
387
+ alive = false;
388
+ };
389
+ // 只在「从无菜单到有菜单」时触发:同一 token 内每敲一个键都重扫毫无意义
390
+ }, [mention == null]);
391
+ /**
392
+ * 把 `@` 菜单里高亮的那条补进草稿。
393
+ *
394
+ * 落字走 `replaceRange`:替换的是**整个 token**(`@src/tu` 这种半截路径、或光标停在
395
+ * 中间时右半边残留),并且会记一条撤销快照 —— 补错了 `Ctrl+_` 能退回。
396
+ * 目录带尾斜杠,补完菜单会重新过滤出该目录下的内容,于是可以一路钻下去。
397
+ */
398
+ const completeMentionSelection = () => {
399
+ if (!mention || fileMatches.length === 0)
400
+ return;
401
+ const entry = fileMatches[Math.max(0, Math.min(menuIndex, fileMatches.length - 1))];
402
+ if (!entry)
403
+ return;
404
+ replaceRange(mention.start, mention.end, mentionInsertText(entry.path, entry.dir));
405
+ };
406
+ /**
407
+ * `Ctrl+V`:**先问剪贴板要图片,没有图片就退回粘贴文本**。
408
+ *
409
+ * 顺序不能反 —— 文本一旦先粘进去,再发现「其实剪贴板里是图片」就晚了(草稿里已经
410
+ * 多了一坨东西)。所以永远是「图片优先、文本兑底」,这也就是用户按 Ctrl+V 的默认期待。
411
+ *
412
+ * 异步不阻塞输入:`readClipboardImage()` 要 spawn 一个子进程(几十 ms),期间用户
413
+ * 还能继续打字;回到结果时只做一次 setState / 插字。
414
+ */
415
+ const pasteClipboard = async () => {
416
+ const result = await deps.readClipboardImage();
417
+ if (result.kind === "image") {
418
+ if (pastedImages.length >= MAX_PASTED_IMAGES) {
419
+ noticeChannel.push(t("notice.imageLimit", { n: MAX_PASTED_IMAGES }), "error");
420
+ return;
421
+ }
422
+ setPastedImages((list) => [...list, result.image]);
423
+ noticeChannel.push(t("notice.imagePasted", { n: pastedImages.length + 1 }));
424
+ return;
425
+ }
426
+ if (result.kind === "too-large") {
427
+ noticeChannel.push(t("notice.imageTooLarge", { size: formatMegabytes(result.bytes) }), "error");
428
+ return;
429
+ }
430
+ // 没有图片 → 当成普通粘贴:把剪贴板文本插到光标处
431
+ const pasted = await deps.readClipboardText();
432
+ if (pasted.kind === "unavailable") {
433
+ noticeChannel.push(t("notice.clipboardUnavailable"), "error");
434
+ return;
435
+ }
436
+ if (pasted.kind === "too-large") {
437
+ noticeChannel.push(t("notice.textTooLarge", {
438
+ size: Math.round(pasted.bytes / 1024),
439
+ limit: MAX_CLIPBOARD_TEXT_BYTES / 1024,
440
+ }), "error");
441
+ return;
442
+ }
443
+ if (pasted.text.length === 0) {
444
+ noticeChannel.push(t("notice.clipboardEmpty"));
445
+ return;
446
+ }
447
+ // 去掉末尾单个换行:剪贴板文本几乎总带一个尾换行,粘完光标原地跳行很莫妙
448
+ insertAtCursor(pasted.text.replace(/\n$/, ""));
449
+ };
293
450
  const runSubmit = async (text, options = {}) => {
294
451
  const trimmed = text.trim();
295
452
  if (!trimmed || !sessionRef.current || busy)
@@ -335,12 +492,14 @@ export function Chat(props) {
335
492
  }
336
493
  return;
337
494
  }
338
- rememberSubmitted(trimmed);
339
495
  const base = sessionRef.current.messages.filter((m) => m.role === AgentNS.Role.User).length;
340
- setPendingUser({ text: trimmed, base });
496
+ // 先取快照再清空:`send` 要用同一个数组,而输入区要立刻回到「没有附件」的状态
497
+ const images = pastedImages;
498
+ setPastedImages([]);
499
+ setPendingUser({ text: trimmed, base, images });
341
500
  setBusy(true);
342
501
  try {
343
- await sessionRef.current.send(trimmed);
502
+ await sessionRef.current.send(trimmed, images);
344
503
  }
345
504
  finally {
346
505
  setBusy(false);
@@ -484,8 +643,8 @@ export function Chat(props) {
484
643
  return;
485
644
  }
486
645
  if ((char === "v" && key.ctrl) || (key.super && (char === "v" || char === "V"))) {
487
- // 图片粘贴暂未支持:需要先做「文件 → 内容块」的能力探测(见后续迭代)
488
- noticeChannel.push(t("notice.pasteImageUnsupported"), "error");
646
+ // 剪贴板里有图片就附在消息上(发送时转成内容块),没有就退回粘贴文本
647
+ void pasteClipboard();
489
648
  return;
490
649
  }
491
650
  // readline 的行首 / 行尾(macOS 上部分终端把 ⌘← / ⌘→ 发成 ^A / ^E)
@@ -504,8 +663,9 @@ export function Chat(props) {
504
663
  // Ctrl+P / Ctrl+N:历史上下(Claude Code 语义;换行改用 Ctrl+J / Alt+Enter)
505
664
  if ((char === "p" && key.ctrl) || (char === "n" && key.ctrl)) {
506
665
  const up = char === "p";
507
- if (hints.length > 0) {
508
- setMenuIndex((i) => (up ? (i - 1 + hints.length) % hints.length : (i + 1) % hints.length));
666
+ if (menuCount > 0) {
667
+ // 同上:视觉「上」(Ctrl+P)是 +1
668
+ setMenuIndex((i) => (up ? (i + 1) % menuCount : (i - 1 + menuCount) % menuCount));
509
669
  return;
510
670
  }
511
671
  if (up)
@@ -529,10 +689,20 @@ export function Chat(props) {
529
689
  return;
530
690
  }
531
691
  if (key.return) {
692
+ // `@` 菜单开着时回车 = 补全(不发送):让「选完继续接着写」成为默认动作,
693
+ // 否则选完就得再敲一个空格才能换行/继续,很容易误发半截消息。
694
+ if (mention && fileMatches.length > 0) {
695
+ completeMentionSelection();
696
+ return;
697
+ }
532
698
  void runSubmit(resolveSubmitText(input, hints, menuIndex));
533
699
  return;
534
700
  }
535
- if (key.tab && hints.length > 0) {
701
+ if (key.tab && menuCount > 0) {
702
+ if (mention) {
703
+ completeMentionSelection();
704
+ return;
705
+ }
536
706
  setInputText(`/${hints[menuIndex]?.names[0] ?? ""} `);
537
707
  return;
538
708
  }
@@ -541,10 +711,17 @@ export function Chat(props) {
541
711
  scrollByLine(key.upArrow ? -1 : 1);
542
712
  return;
543
713
  }
544
- if (hints.length > 0) {
545
- setMenuIndex((i) => key.upArrow ? (i - 1 + hints.length) % hints.length : (i + 1) % hints.length);
714
+ if (menuCount > 0) {
715
+ // 底部锚定菜单里**下标大 = 视觉靠上**(`items[0]` 贴着输入框,越往后越往上),
716
+ // 所以视觉「上」是 +1、视觉「下」是 −1;取模环绕:到顶溢出回到底部、到底溢出回到顶部。
717
+ // 写反了方向就与视觉相反 —— 只有 ≥ 3 条候选时才能从测试里看出来。
718
+ setMenuIndex((i) => key.upArrow ? (i + 1) % menuCount : (i - 1 + menuCount) % menuCount);
546
719
  return;
547
720
  }
721
+ // 多行输入:先按**视觉行**走光标(含软折行,宽度与渲染一致),走到首/末行才翻历史
722
+ const wrapWidth = Math.max(4, (columns ?? 80) - 4);
723
+ if (key.upArrow ? moveCursorUpRow(wrapWidth) : moveCursorDownRow(wrapWidth))
724
+ return;
548
725
  if (key.upArrow)
549
726
  historyPrev();
550
727
  else
@@ -590,6 +767,18 @@ export function Chat(props) {
590
767
  return;
591
768
  }
592
769
  if (key.escape) {
770
+ // `@` 菜单开着时,Esc 只关菜单:清草稿太粗暴(`@` 打一半按 Esc 会连正文一起没)
771
+ if (mention && menuWant > 0) {
772
+ setMentionOff(true);
773
+ return;
774
+ }
775
+ // 有附件时先清附件(草稿保留)——误粘一张图后总得有个退路,
776
+ // 而又不能为了这个把 ESC 变成「清空一切」的随机键
777
+ if (!busy && pastedImages.length > 0) {
778
+ setPastedImages([]);
779
+ noticeChannel.push(t("notice.imagesCleared"));
780
+ return;
781
+ }
593
782
  // Claude Code:生成中 Esc = 中断本轮;否则清空草稿并回到底部
594
783
  if (busy)
595
784
  sessionRef.current?.abort();
@@ -648,8 +837,8 @@ export function Chat(props) {
648
837
  }, { isActive: busy && !confirmState && !pickerState && !wizardStep });
649
838
  // 配置向导:整屏接管(凭据设置 / 配置中心),关闭后回到对话屏
650
839
  if (wizardStep && wizardConfig) {
651
- return (_jsx(ConfigWizard, { config: wizardConfig, reasoningPresets: wizardPresets, initialStep: wizardStep, closeOnSave: wizardStep.kind !== "menu", agents: wizardAgents, mcp: wizardMcp ?? undefined, agentStore: wizardAgentStore ?? undefined, onSave: saveConfig, onSaveMcp: async (scope, cfg) => {
652
- await writeMcpConfig(cfg, scope);
840
+ return (_jsx(ConfigWizard, { config: wizardConfig, reasoningPresets: wizardPresets, initialStep: wizardStep, closeOnSave: wizardStep.kind !== "menu", agents: wizardAgents, mcp: wizardMcp ?? undefined, agentStore: wizardAgentStore ?? undefined, onSave: deps.saveConfig, onSaveMcp: async (scope, cfg) => {
841
+ await deps.writeMcpConfig(cfg, scope);
653
842
  }, onClose: closeWizard }));
654
843
  }
655
844
  if (bootError) {
@@ -670,7 +859,19 @@ export function Chat(props) {
670
859
  // 子 Agent 视图读它**自己**的 messages(从第 0 条起,不受主会话 /clear 的显示起点影响)
671
860
  const transcript = transcriptLines(activeSub ? activeSub.agent.messages : messages.slice(transcriptFrom), cols);
672
861
  if (showPending) {
673
- transcript.push(...messageToLines({ id: "__pending_user", role: AgentNS.Role.User, content: pendingUser.text }, cols));
862
+ // 带粘贴图片的消息:乐观回显要与实际发送的结构一致(文本段 + 图片占位块),
863
+ // 否则图片那几条会在真实消息落地前「消失」一下。
864
+ const images = pendingUser.images ?? [];
865
+ transcript.push(...messageToLines({
866
+ id: "__pending_user",
867
+ role: AgentNS.Role.User,
868
+ content: images.length > 0
869
+ ? [
870
+ { type: "text", text: pendingUser.text },
871
+ ...images.map(() => ({ type: "image_url", image_url: { url: "" } })),
872
+ ]
873
+ : pendingUser.text,
874
+ }, cols));
674
875
  }
675
876
  const noticeTextLines = noticeLines(notices, cols);
676
877
  /** Agent 栏目条目:无子 Agent 时整条栏目不存在(不占高度、也不接管左右键) */
@@ -706,14 +907,17 @@ export function Chat(props) {
706
907
  columns: cols,
707
908
  };
708
909
  const statusRows = statusBarRows(statusProps, cols);
910
+ /** 附件提示行:有粘贴图片时占 1 行(与 `computeChatLayout` 的 `attachmentLines` 同一个判据) */
911
+ const attachmentLines = pastedImages.length > 0 ? 1 : 0;
709
912
  const layout = computeChatLayout({
710
913
  columns: cols,
711
914
  rows: usableFrameRows(rows ?? 24),
712
915
  transcript,
713
916
  input,
714
917
  busy,
715
- hintCount: hints.length,
918
+ hintCount: menuWant,
716
919
  noticeCount: noticeTextLines.length,
920
+ attachmentLines,
717
921
  agentTabLines,
718
922
  overlay: confirmState ? "confirm" : pickerState ? "picker" : "none",
719
923
  pickerItems: pickerState?.items.length ?? 0,
@@ -724,9 +928,16 @@ export function Chat(props) {
724
928
  const isPlaceholder = input.length === 0;
725
929
  const inputLayout = layoutInput(isPlaceholder ? t("input.placeholder") : input, isPlaceholder ? 0 : cursor, Math.max(4, cols - 4));
726
930
  const bodyLines = inputLayout.lines;
931
+ /**
932
+ * 输入区可见窗口:最多 `INPUT_MAX_ROWS` 行,且**跟随光标**(与 `computeChatLayout`
933
+ * 的 `inputHeight` 同源)。`cursorRowIndex` 是**窗口内**的行号 —— 渲染用哪一行、
934
+ * 硬件光标 y 都基于它;用全文本的行号会让 IME 候选框跑到屏外。
935
+ */
936
+ const inputWin = inputWindow(bodyLines.length, inputLayout.cursorRow);
937
+ const shownLines = bodyLines.slice(inputWin.from, inputWin.to);
727
938
  // 光标所在行的三段拆分(与 `CursorInputRow` 的渲染一一对应)
728
- const cursorRowIndex = inputLayout.cursorRow;
729
- const cursorRowChars = graphemes(bodyLines[cursorRowIndex] ?? "");
939
+ const cursorRowIndex = inputLayout.cursorRow - inputWin.from;
940
+ const cursorRowChars = graphemes(shownLines[cursorRowIndex] ?? "");
730
941
  const cursorColInRow = Math.min(inputLayout.cursorCol, cursorRowChars.length);
731
942
  const cursorBefore = cursorRowChars.slice(0, cursorColInRow).join("");
732
943
  const cursorAt = cursorRowChars[cursorColInRow] ?? " ";
@@ -750,8 +961,9 @@ export function Chat(props) {
750
961
  // Agent 栏目与通知栏都夹在对话区与输入行之间:漏算会让硬件光标整体偏上
751
962
  agentTabCount: agentTabLines,
752
963
  noticeCount: noticeTextLines.length,
753
- hintCount: hints.length,
754
- cursorRow: inputLayout.cursorRow,
964
+ attachmentCount: attachmentLines,
965
+ hintCount: layout.hintRows,
966
+ cursorRow: cursorRowIndex,
755
967
  cursorCol: inputLayout.cursorCol,
756
968
  lineText: bodyLines[inputLayout.cursorRow] ?? "",
757
969
  placeholder: isPlaceholder,
@@ -760,13 +972,8 @@ export function Chat(props) {
760
972
  else {
761
973
  setCursorPosition(undefined);
762
974
  }
763
- return (_jsxs(Box, { flexDirection: "column", width: cols, children: [layout.lines.map((line) => (_jsx(LineView, { line: line }, line.key))), confirmState ? (_jsx(Confirm, { question: confirmState.question, onAnswer: resolveConfirm })) : pickerState ? (_jsx(PickerOverlay, { title: pickerState.title, items: pickerState.items, columns: cols, onPick: resolvePicker })) : (_jsxs(Box, { flexDirection: "column", children: [agentTabs.length > 0 ? _jsx(AgentTabs, { tabs: agentTabs, activeId: activeTabId }) : null, _jsx(NoticeBar, { lines: noticeTextLines }), hints.length > 0 ? _jsx(SlashMenu, { hints: hints, selected: menuIndex }) : null, _jsx(Box, { paddingX: 1, children: _jsx(Text, { color: theme.border, wrap: "truncate", children: "─".repeat(Math.max(1, cols - 2)) }) }), _jsx(Box, { flexDirection: "column", paddingX: 1, children: busy ? (
764
- // 阶段随 SDK 事件推进:连接中 → 排队中 → 思考 / 输出 / 调用工具 → 等工具返回。
765
- // 渲染期现取(不另存 state):chunk 与轮次边界都会触发重渲染,
766
- // 而 `busy` 置 true 本身也会重渲一次,捕得到首轮的「连接中」。
767
- // 阻塞型命令(`/update` 等)没有生成轮次,故回落到命令名,见 `busySpinnerLabel`。
768
- _jsx(Spinner, { label: busySpinnerLabel(sessionRef.current?.phase ?? null, busyCommand) })) : (bodyLines.map((line, i) => {
769
- const prompt = i === 0 ? (_jsx(Text, { color: theme.brand[0], bold: true, children: "❯ " })) : (_jsx(Text, { children: " " }));
975
+ return (_jsxs(Box, { flexDirection: "column", width: cols, children: [layout.lines.map((line) => (_jsx(LineView, { line: line }, line.key))), confirmState ? (_jsx(Confirm, { question: confirmState.question, onAnswer: resolveConfirm })) : pickerState ? (_jsx(PickerOverlay, { title: pickerState.title, items: pickerState.items, columns: cols, onPick: resolvePicker })) : (_jsxs(Box, { flexDirection: "column", children: [agentTabs.length > 0 ? _jsx(AgentTabs, { tabs: agentTabs, activeId: activeTabId }) : null, _jsx(NoticeBar, { lines: noticeTextLines }), attachmentLines > 0 ? _jsx(PastedImagesBar, { count: pastedImages.length }) : null, menuWant > 0 ? (_jsx(BottomMenu, { items: menuItems, selected: menuIndex, maxRows: layout.hintRows, columns: cols, topLine: scanningFiles ? t("mention.scanning") : undefined })) : null, _jsx(Box, { paddingX: 1, children: _jsx(Text, { color: theme.border, wrap: "truncate", children: "─".repeat(Math.max(1, cols - 2)) }) }), _jsx(Box, { flexDirection: "column", paddingX: 1, children: busy ? (_jsx(Spinner, { label: busySpinnerLabel(sessionRef.current?.phase ?? null, busyCommand) })) : (shownLines.map((line, i) => {
976
+ const prompt = i === 0 && inputWin.from === 0 ? (_jsx(Text, { color: theme.brand[0], bold: true, children: "❯ " })) : (_jsx(Text, { children: " " }));
770
977
  if (isPlaceholder) {
771
978
  // 占位态不画「假光标」(那个行尾的 ▏):硬件光标这时就停在提示语开头
772
979
  // (x = 前缀宽),终端自己会把它显示出来;再画一个方块等于屏幕上两个光标,
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/tui/screens/chat.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/tui/screens/chat.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"common-keys.js","sourceRoot":"","sources":["../../../src/tui/screens/common-keys.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAS7C;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,GAAQ,EAAE,GAAqB;IAC3E,oDAAoD;IACpD,kBAAkB;IAClB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,EAAE,CAAC;QACV,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,4CAA4C;IAC5C,IAAI,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,iDAAiD;IACjD,qCAAqC;IACrC,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sDAAsD;IACtD,uCAAuC;IACvC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0BAA0B;AAC1B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAWjC;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,GAAQ,EACR,GAAqB,EACrB,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC;QAC7C,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,GAAG,CAAC,MAAM,EAAE,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"common-keys.js","sourceRoot":"","sources":["../../../src/tui/screens/common-keys.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAS7C;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,GAAQ,EAAE,GAAqB;IAC3E,oDAAoD;IACpD,kBAAkB;IAClB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,EAAE,CAAC;QACV,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,4CAA4C;IAC5C,IAAI,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,iDAAiD;IACjD,qCAAqC;IACrC,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sDAAsD;IACtD,uCAAuC;IACvC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0BAA0B;AAC1B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAWjC;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,GAAQ,EACR,GAAqB,EACrB,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;IAExB,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC;QAC7C,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,GAAG,CAAC,MAAM,EAAE,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"frame-buffer.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/frame-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;GAIG;AACH,qBAAa,WAAW,CAAC,CAAC;IAKtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,KAAK,CAA+B;gBAGzB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,EAC7B,OAAO,GAAE,MAAwB;IAGpD,yCAAyC;IACzC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,UAAQ,GAAG,IAAI;IAatC,oCAAoC;IACpC,QAAQ,IAAI,IAAI;IAUhB,gCAAgC;IAChC,OAAO,IAAI,IAAI;CAOhB"}
1
+ {"version":3,"file":"frame-buffer.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/frame-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;GAIG;AACH,qBAAa,WAAW,CAAC,CAAC;IAKtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,KAAK,CAA+B;IAE5C,YACmB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,EAC7B,OAAO,GAAE,MAAwB,EAChD;IAEJ,yCAAyC;IACzC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,UAAQ,GAAG,IAAI,CAWrC;IAED,oCAAoC;IACpC,QAAQ,IAAI,IAAI,CAQf;IAED,gCAAgC;IAChC,OAAO,IAAI,IAAI,CAMd;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"frame-buffer.js","sourceRoot":"","sources":["../../../src/tui/screens/frame-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,WAAW;IAKH;IACA;IALX,OAAO,GAAQ,EAAE,CAAC;IAClB,KAAK,GAA0B,IAAI,CAAC;IAE5C,YACmB,OAA6B,EAC7B,UAAkB,eAAe;QADjC,YAAO,GAAP,OAAO,CAAsB;QAC7B,YAAO,GAAP,OAAO,CAA0B;IACjD,CAAC;IAEJ,yCAAyC;IACzC,IAAI,CAAC,IAAO,EAAE,SAAS,GAAG,KAAK;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7D,2CAA2C;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,gCAAgC;IAChC,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"frame-buffer.js","sourceRoot":"","sources":["../../../src/tui/screens/frame-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,WAAW;IAKH,OAAO;IACP,OAAO;IALlB,OAAO,GAAQ,EAAE,CAAC;IAClB,KAAK,GAA0B,IAAI,CAAC;IAE5C,YACmB,OAA6B,EAC7B,OAAO,GAAW,eAAe;uBADjC,OAAO;uBACP,OAAO;IACvB,CAAC;IAEJ,yCAAyC;IACzC,IAAI,CAAC,IAAO,EAAE,SAAS,GAAG,KAAK;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7D,2CAA2C;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,gCAAgC;IAChC,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -2,7 +2,7 @@ export { displayWidth, wrapText, layoutInput, INPUT_PREFIX_WIDTH, usableFrameRow
2
2
  export { contentLines, toolSpans, clipSpans, spanLine, innerWidth } from "./lines.js";
3
3
  export type { LineKind, RLine, Span } from "./lines.js";
4
4
  export { messageToLines, cachedMessageToLines, transcriptLines, messageText, entersContext, } from "./messages-view.js";
5
- export { inputLines, computeInputCursorPosition, isWordChar, wordLeft, wordRight, deleteWordLeft, deleteWordRight, deleteToLineEnd, deleteToLineStart, } from "./input.js";
5
+ export { inputLines, inputWindow, INPUT_MAX_ROWS, computeInputCursorPosition, moveCursorRow, isWordChar, wordLeft, wordRight, deleteWordLeft, deleteWordRight, deleteToLineEnd, deleteToLineStart, } from "./input.js";
6
6
  export { CONFIRM_LINES, STATUS_BAR_LINES, AGENT_TABS_LINES, pickerLines, computeChatLayout, clampViewTop } from "./layout.js";
7
7
  export type { ChatLayoutInput, ChatLayout } from "./layout.js";
8
8
  export { Splash } from "./splash.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACtF,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9H,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACtE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACtF,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,0BAA0B,EAC1B,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9H,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACtE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC"}