@agents-ensemble/cli 0.14.0 → 0.14.2

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 (69) hide show
  1. package/README.md +8 -2
  2. package/config.example.yaml +3 -3
  3. package/dist/index.js +5 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/session-log-lines.js +1 -1
  6. package/dist/session-log-lines.js.map +1 -1
  7. package/dist/tui/activity-log.d.ts +1 -1
  8. package/dist/tui/activity-log.d.ts.map +1 -1
  9. package/dist/tui/activity-log.js +16 -2
  10. package/dist/tui/activity-log.js.map +1 -1
  11. package/dist/tui/create-issue-session-tui-host.d.ts.map +1 -1
  12. package/dist/tui/create-issue-session-tui-host.js +1 -1
  13. package/dist/tui/create-issue-session-tui-host.js.map +1 -1
  14. package/dist/tui/ink-test-keys.d.ts +4 -0
  15. package/dist/tui/ink-test-keys.d.ts.map +1 -1
  16. package/dist/tui/ink-test-keys.js +4 -0
  17. package/dist/tui/ink-test-keys.js.map +1 -1
  18. package/dist/tui/issue-session-tui-stream.d.ts.map +1 -1
  19. package/dist/tui/issue-session-tui-stream.js +77 -8
  20. package/dist/tui/issue-session-tui-stream.js.map +1 -1
  21. package/dist/tui/issue-session-tui-stream.test.js +257 -3
  22. package/dist/tui/issue-session-tui-stream.test.js.map +1 -1
  23. package/dist/tui/issue-session-tui.d.ts +3 -2
  24. package/dist/tui/issue-session-tui.d.ts.map +1 -1
  25. package/dist/tui/issue-session-tui.js +145 -12
  26. package/dist/tui/issue-session-tui.js.map +1 -1
  27. package/dist/tui/issue-session-tui.test.js +390 -16
  28. package/dist/tui/issue-session-tui.test.js.map +1 -1
  29. package/dist/tui/open-questions-pane.d.ts +19 -0
  30. package/dist/tui/open-questions-pane.d.ts.map +1 -1
  31. package/dist/tui/open-questions-pane.js +35 -34
  32. package/dist/tui/open-questions-pane.js.map +1 -1
  33. package/dist/tui/operator-command-suggestions.d.ts +15 -0
  34. package/dist/tui/operator-command-suggestions.d.ts.map +1 -1
  35. package/dist/tui/operator-input-history.d.ts +13 -0
  36. package/dist/tui/operator-input-history.d.ts.map +1 -0
  37. package/dist/tui/operator-input-history.js +51 -0
  38. package/dist/tui/operator-input-history.js.map +1 -0
  39. package/dist/tui/operator-input-layout.d.ts +2 -0
  40. package/dist/tui/operator-input-layout.d.ts.map +1 -1
  41. package/dist/tui/operator-input-layout.js +73 -0
  42. package/dist/tui/operator-input-layout.js.map +1 -1
  43. package/dist/tui/operator-text-area.d.ts +2 -0
  44. package/dist/tui/operator-text-area.d.ts.map +1 -1
  45. package/dist/tui/operator-text-area.js +16 -4
  46. package/dist/tui/operator-text-area.js.map +1 -1
  47. package/dist/tui/operator-text-area.test-double.d.ts.map +1 -1
  48. package/dist/tui/operator-text-area.test-double.js +13 -12
  49. package/dist/tui/operator-text-area.test-double.js.map +1 -1
  50. package/dist/tui/operator-text-area.test.js +16 -2
  51. package/dist/tui/operator-text-area.test.js.map +1 -1
  52. package/dist/tui/pane-layout.d.ts +2 -0
  53. package/dist/tui/pane-layout.d.ts.map +1 -1
  54. package/dist/tui/pane-layout.js +7 -3
  55. package/dist/tui/pane-layout.js.map +1 -1
  56. package/dist/tui/stream-layout.d.ts +3 -3
  57. package/dist/tui/stream-layout.d.ts.map +1 -1
  58. package/dist/tui/stream-layout.js +6 -6
  59. package/dist/tui/stream-layout.js.map +1 -1
  60. package/dist/tui/tui-layout-constants.d.ts +1 -1
  61. package/dist/tui/tui-layout-constants.d.ts.map +1 -1
  62. package/dist/tui/tui-layout-constants.js +1 -1
  63. package/dist/tui/tui-layout-constants.js.map +1 -1
  64. package/dist/tui/tui-view-model.d.ts.map +1 -1
  65. package/dist/tui/tui-view-model.js +2 -8
  66. package/dist/tui/tui-view-model.js.map +1 -1
  67. package/docs/config.md +92 -16
  68. package/docs/settings.md +3 -3
  69. package/package.json +3 -3
@@ -1,21 +1,25 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text, useBoxMetrics, useInput } from 'ink';
3
3
  import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from 'react';
4
+ import stringWidth from 'string-width';
4
5
  import { getTuiOpenQuestions, } from './tui-view-model.js';
5
6
  import { formatWorkerDisplayName } from './worker-display-name.js';
6
7
  import { formatIssueLabel, formatOsc8Link, formatIssueReference, resolveOperatorInputDisplayMode, } from './format-operator-context.js';
7
8
  import { ACTIVITY_LOG_LABEL_COLORS, advanceActivityLogScrollOffset, buildActivityLogDisplayLines, preserveActivityLogScrollOffset, sliceActivityLogDisplayLines, } from './activity-log.js';
8
- import { advanceOpenQuestionSelection, clampOpenQuestionSelectionIndex, resolveOpenQuestionsPaneLayout, } from './open-questions-pane.js';
9
- import { INPUT_PANE_TITLE, INPUT_PANE_BORDER_COLOR, INPUT_PANE_HINT_COLOR, MAIN_PANE_TITLE, OPERATOR_INPUT_PROMPT, PANE_PADDING_X, ROUND_BORDER_WIDTH, WORKER_PANE_HEIGHT, WORKER_PANE_TITLE, } from './tui-layout-constants.js';
9
+ import { advanceOpenQuestionSelection, advanceOpenQuestionsScrollOffset, clampOpenQuestionSelectionIndex, resolveOpenQuestionsPaneViewport, resolveOpenQuestionsPaneLayout, } from './open-questions-pane.js';
10
+ import { INPUT_PANE_TITLE, INPUT_PANE_BORDER_COLOR, INPUT_PANE_HINT_COLOR, MAIN_PANE_TITLE, OPERATOR_INPUT_PROMPT, PANE_BORDER_ROWS, PANE_PADDING_X, ROUND_BORDER_WIDTH, WORKER_PANE_TITLE, } from './tui-layout-constants.js';
10
11
  import { OperatorTextArea } from './operator-text-area.js';
11
12
  import { advanceOperatorCommandSelection, getOperatorCommandSuggestionLines, getOperatorCommandSuggestions, } from './operator-command-suggestions.js';
12
13
  import { advanceOpenQuestionAnswerSuggestionSelection, getOpenQuestionAnswerSuggestionLines, getOpenQuestionAnswerSuggestions, } from './open-question-answer-suggestions.js';
13
14
  import { TitledBorderPane } from './titled-border-pane.js';
14
15
  import { computeInputPaneHeight, computeOperatorInputCursorX, computeOperatorInputCursorY, computeOrchestrationLogVisibleLineCount, } from './compute-operator-input-cursor-y.js';
15
- import { resolvePaneHeights } from './pane-layout.js';
16
- import { computeMaxInputDisplayLines, trimBlankLinesOnly, } from './operator-input-layout.js';
16
+ import { computeWorkerPaneHeight, resolvePaneHeights } from './pane-layout.js';
17
+ import { computeMaxInputDisplayLines, isCursorAtVisualBoundary, trimBlankLinesOnly, } from './operator-input-layout.js';
18
+ import { OperatorInputHistory } from './operator-input-history.js';
17
19
  import { getPaneContentWidth, wrapTextToWidth } from './wrap-text-to-width.js';
18
20
  import { useTuiTerminalSize, } from './tui-terminal-size.js';
21
+ const workerTextGraphemeSegmenter = new Intl.Segmenter('en', { granularity: 'grapheme' });
22
+ const workerAnsiSequencePattern = /\u001B(?:\[[0-?]*[ -/]*[@-~]|\][^\u0007\u001B]*(?:\u0007|\u001B\\)|[@-_])|\u009B[0-?]*[ -/]*[@-~]|\u009D[^\u0007\u009C]*(?:\u0007|\u009C)/g;
19
23
  function usePaneContentWidth(columns) {
20
24
  return getPaneContentWidth({
21
25
  columns,
@@ -80,6 +84,59 @@ function formatConductorWorkerStatusLine(name, worker) {
80
84
  }
81
85
  return `${displayName}: ${worker.status}`;
82
86
  }
87
+ function truncateWorkerStatusLine(line, width) {
88
+ if (stringWidth(line) <= width) {
89
+ return line;
90
+ }
91
+ const ellipsis = '…';
92
+ const contentWidth = Math.max(0, width - stringWidth(ellipsis));
93
+ let visibleWidth = 0;
94
+ let truncated = '';
95
+ for (const { segment } of workerTextGraphemeSegmenter.segment(line)) {
96
+ const segmentWidth = stringWidth(segment);
97
+ if (visibleWidth + segmentWidth > contentWidth) {
98
+ break;
99
+ }
100
+ truncated += segment;
101
+ visibleWidth += segmentWidth;
102
+ }
103
+ return `${truncated}${ellipsis}`;
104
+ }
105
+ function stripWorkerAnsiSequences(text) {
106
+ return text
107
+ .replace(workerAnsiSequencePattern, '')
108
+ .replace(/[\u0000-\u001F\u007F-\u009F]/g, '');
109
+ }
110
+ function fitWorkerStatusLine(name, worker, width) {
111
+ const safeName = stripWorkerAnsiSequences(name);
112
+ const safeWorker = {
113
+ ...worker,
114
+ kind: stripWorkerAnsiSequences(worker.kind),
115
+ ...(worker.activity !== undefined
116
+ ? { activity: stripWorkerAnsiSequences(worker.activity) }
117
+ : {}),
118
+ };
119
+ const line = formatConductorWorkerStatusLine(safeName, safeWorker);
120
+ if (stringWidth(line) <= width) {
121
+ return `${line}${' '.repeat(width - stringWidth(line))}`;
122
+ }
123
+ if (safeWorker.kind === 'conductor') {
124
+ const truncated = truncateWorkerStatusLine(line, width);
125
+ return `${truncated}${' '.repeat(Math.max(0, width - stringWidth(truncated)))}`;
126
+ }
127
+ const statusSuffix = `: ${safeWorker.status}`;
128
+ const displayName = formatWorkerDisplayName(safeName, safeWorker.kind);
129
+ const displayNameWidth = width - stringWidth(statusSuffix);
130
+ let fittedLine = `${truncateWorkerStatusLine(displayName, displayNameWidth)}${statusSuffix}`;
131
+ if (safeWorker.status === 'running' && safeWorker.activity) {
132
+ const activityWidth = width - stringWidth(fittedLine) - stringWidth(' ()');
133
+ if (activityWidth > 0) {
134
+ fittedLine += ` (${truncateWorkerStatusLine(safeWorker.activity, activityWidth)})`;
135
+ }
136
+ }
137
+ const fittedWidth = stringWidth(fittedLine);
138
+ return `${fittedLine}${' '.repeat(Math.max(0, width - fittedWidth))}`;
139
+ }
83
140
  function sortWorkerEntries(entries) {
84
141
  return [...entries].sort(([nameA], [nameB]) => {
85
142
  if (nameA === 'conductor') {
@@ -91,13 +148,15 @@ function sortWorkerEntries(entries) {
91
148
  return nameA.localeCompare(nameB);
92
149
  });
93
150
  }
94
- export function WorkerStatusPane({ workers, dispatchHold, height = WORKER_PANE_HEIGHT, terminalColumns, issueUrl, issueLinkMode = 'label', }) {
151
+ export function WorkerStatusPane({ workers, dispatchHold, height, terminalColumns, issueUrl, issueLinkMode = 'label', }) {
95
152
  const entries = sortWorkerEntries(Object.entries(workers));
153
+ const paneHeight = height ?? computeWorkerPaneHeight(entries.length);
154
+ const statusLineWidth = usePaneContentWidth(terminalColumns ?? process.stdout.columns ?? 80);
96
155
  const issueTitleRight = issueUrl ? formatIssueLabel(issueUrl) : undefined;
97
156
  const dispatchHoldSuffix = dispatchHold && (dispatchHold.hold || dispatchHold.heldEventCount > 0)
98
157
  ? ` — conductor dispatch 保留中(${dispatchHold.heldEventCount} 件)`
99
158
  : undefined;
100
- return (_jsx(TitledBorderPane, { title: WORKER_PANE_TITLE, titleSuffix: dispatchHoldSuffix, titleRight: issueTitleRight, titleRightIssueUrl: issueUrl, titleRightLinkMode: issueLinkMode, borderStyle: "round", borderColor: "cyan", paddingX: PANE_PADDING_X, height: height, terminalColumns: terminalColumns, children: entries.length === 0 ? (_jsx(Text, { dimColor: true, children: "(\u5F85\u6A5F\u4E2D)" })) : (entries.map(([name, worker]) => (_jsx(Text, { children: formatConductorWorkerStatusLine(name, worker) }, name)))) }));
159
+ return (_jsx(TitledBorderPane, { title: WORKER_PANE_TITLE, titleSuffix: dispatchHoldSuffix, titleRight: issueTitleRight, titleRightIssueUrl: issueUrl, titleRightLinkMode: issueLinkMode, borderStyle: "round", borderColor: "cyan", paddingX: PANE_PADDING_X, height: paneHeight, terminalColumns: terminalColumns, children: entries.length === 0 ? (_jsx(Text, { dimColor: true, children: "(\u5F85\u6A5F\u4E2D)" })) : (entries.map(([name, worker]) => (_jsx(Text, { children: fitWorkerStatusLine(name, worker, statusLineWidth) }, name)))) }));
101
160
  }
102
161
  function OrchestrationPane({ activityLog, contentWidth, paneHeight, linesFromBottom, terminalColumns, issueLinkMode, }) {
103
162
  const logAreaRef = useRef(null);
@@ -114,21 +173,31 @@ function OrchestrationPane({ activityLog, contentWidth, paneHeight, linesFromBot
114
173
  const visibleLines = sliceActivityLogDisplayLines(displayLines, visibleCount, linesFromBottom);
115
174
  return (_jsx(TitledBorderPane, { title: MAIN_PANE_TITLE, titleSuffix: scrollHint, borderStyle: "round", borderColor: "green", paddingX: PANE_PADDING_X, height: paneHeight, terminalColumns: terminalColumns, children: _jsx(Box, { ref: logAreaRef, flexGrow: 1, flexDirection: "column", overflow: "hidden", children: activityLog.length === 0 ? (_jsx(Text, { dimColor: true, children: "(\u6D3B\u52D5\u30ED\u30B0\u306A\u3057)" })) : (visibleLines.map((line, index) => (_jsx(ActivityLogDisplayLineRow, { line: line, issueLinkMode: issueLinkMode }, `log-line-${index}`)))) }) }));
116
175
  }
117
- export function OpenQuestionsPane({ layout, terminalColumns, issueLinkMode = 'label', }) {
176
+ export function OpenQuestionsPane({ layout, viewport, terminalColumns, issueLinkMode = 'label', }) {
118
177
  if (layout.paneHeight === 0 || layout.items.length === 0) {
119
178
  return null;
120
179
  }
121
- return (_jsx(TitledBorderPane, { title: layout.titleText, titleSuffix: layout.titleSuffix, borderStyle: "round", borderColor: "magenta", paddingX: PANE_PADDING_X, height: layout.paneHeight, terminalColumns: terminalColumns, titleBold: false, children: layout.items.flatMap((item) => item.lines.map((line, lineIndex) => (_jsx(Text, { dimColor: item.compact && !item.isSelected, children: renderInlineMarkdownSegments(line, issueLinkMode) }, `${item.id}-${lineIndex}`)))) }));
180
+ const scrollIndicators = `${viewport.canScrollUp ? '↑' : ''}${viewport.canScrollDown ? '↓' : ''}`;
181
+ const scrollHint = viewport.maxLinesFromTop > 0
182
+ ? `Shift+PgUp/PgDnで本文スクロール ${scrollIndicators}`
183
+ : undefined;
184
+ const titleSuffixParts = [layout.titleSuffix, scrollHint].filter(Boolean);
185
+ const titleSuffix = titleSuffixParts.length > 0
186
+ ? ` · ${titleSuffixParts.join(' · ')}`
187
+ : undefined;
188
+ return (_jsx(TitledBorderPane, { title: layout.titleText, titleSuffix: titleSuffix, borderStyle: "round", borderColor: "magenta", paddingX: PANE_PADDING_X, height: layout.paneHeight, terminalColumns: terminalColumns, titleBold: false, children: viewport.visibleItems.flatMap((item) => item.lines.map((line, lineIndex) => (_jsx(Text, { dimColor: item.compact && !item.isSelected, children: renderInlineMarkdownSegments(line, issueLinkMode) }, `${item.id}-${lineIndex}`)))) }));
122
189
  }
123
190
  export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode = 'osc8', terminalSizeStore, }) {
124
191
  const snapshot = useSyncExternalStore(viewModel.subscribe, viewModel.getSnapshot, viewModel.getSnapshot);
125
192
  const [inputValue, setInputValue] = useState('');
126
193
  const [inputCursorPosition, setInputCursorPosition] = useState([0, 0]);
194
+ const inputHistoryRef = useRef(new OperatorInputHistory());
127
195
  const [inputDisplayLineCount, setInputDisplayLineCount] = useState(1);
128
196
  const [linesFromBottom, setLinesFromBottom] = useState(0);
129
197
  const [selectedCommandIndex, setSelectedCommandIndex] = useState(0);
130
198
  const [selectedAnswerSuggestionIndex, setSelectedAnswerSuggestionIndex] = useState(0);
131
199
  const [selectedQuestionIndex, setSelectedQuestionIndex] = useState(0);
200
+ const [openQuestionLinesFromTop, setOpenQuestionLinesFromTop] = useState(0);
132
201
  const [hiddenAnswerSuggestionQuestionId, setHiddenAnswerSuggestionQuestionId] = useState();
133
202
  const previousActivityLogRef = useRef(snapshot.activityLog);
134
203
  const previousDisplayLineCountRef = useRef(0);
@@ -171,6 +240,7 @@ export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode =
171
240
  : [];
172
241
  const answerSuggestionLines = getOpenQuestionAnswerSuggestionLines(answerSuggestions, contentWidth, selectedAnswerSuggestionIndex);
173
242
  const openQuestionsPaneHeight = operatorInputDisplay.mode === 'withQuestions' ? openQuestionsLayout.paneHeight : 0;
243
+ const workerPaneHeight = computeWorkerPaneHeight(Object.keys(snapshot.displayState.workers).length);
174
244
  const hintLineCount = operatorInputDisplay.hintLines.reduce((lineCount, hintLine) => lineCount + wrapTextToWidth(hintLine, contentWidth).length, commandSuggestionLines.length + answerSuggestionLines.length);
175
245
  const visibleInputDisplayLineCount = Math.min(inputDisplayLineCount, maxInputDisplayLines);
176
246
  const inputPaneHeight = computeInputPaneHeight({
@@ -179,13 +249,20 @@ export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode =
179
249
  });
180
250
  const paneHeights = resolvePaneHeights({
181
251
  liveFrameRows,
252
+ workerPaneHeight,
182
253
  activityPaneHeight: liveFrameRows -
183
- WORKER_PANE_HEIGHT -
254
+ workerPaneHeight -
184
255
  openQuestionsPaneHeight -
185
256
  inputPaneHeight,
186
257
  openQuestionsPaneHeight,
187
258
  inputPaneHeight,
188
259
  });
260
+ const openQuestionViewport = resolveOpenQuestionsPaneViewport({
261
+ items: openQuestionsLayout.items,
262
+ selectedIndex: openQuestionsLayout.selectedIndex,
263
+ visibleLineCount: Math.max(1, paneHeights.openQuestionsPaneHeight - PANE_BORDER_ROWS),
264
+ linesFromTop: openQuestionLinesFromTop,
265
+ });
189
266
  const { activityPaneHeight } = paneHeights;
190
267
  const visibleLineCount = computeOrchestrationLogVisibleLineCount(activityPaneHeight);
191
268
  const displayLineCount = useMemo(() => buildActivityLogDisplayLines(snapshot.activityLog, contentWidth).length, [snapshot.activityLog, contentWidth]);
@@ -221,6 +298,9 @@ export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode =
221
298
  useEffect(() => {
222
299
  setSelectedQuestionIndex((current) => clampOpenQuestionSelectionIndex(current, openQuestions.length));
223
300
  }, [openQuestions]);
301
+ useEffect(() => {
302
+ setOpenQuestionLinesFromTop(0);
303
+ }, [selectedQuestion?.id]);
224
304
  useEffect(() => {
225
305
  setSelectedAnswerSuggestionIndex(0);
226
306
  }, [selectedQuestion?.id]);
@@ -228,17 +308,33 @@ export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode =
228
308
  setLinesFromBottom((current) => advanceActivityLogScrollOffset(current, action, visibleLineCount, maxLinesFromBottom));
229
309
  };
230
310
  useInput((_input, key) => {
311
+ if (openQuestions.length > 0 && key.shift && !key.ctrl && !key.meta) {
312
+ if (key.pageUp) {
313
+ setOpenQuestionLinesFromTop((current) => advanceOpenQuestionsScrollOffset(current, 'up', openQuestionViewport.maxLinesFromTop));
314
+ return;
315
+ }
316
+ if (key.pageDown) {
317
+ setOpenQuestionLinesFromTop((current) => advanceOpenQuestionsScrollOffset(current, 'down', openQuestionViewport.maxLinesFromTop));
318
+ return;
319
+ }
320
+ }
231
321
  if (openQuestions.length > 0 && key.shift) {
232
322
  if (key.upArrow) {
233
323
  setSelectedQuestionIndex((current) => advanceOpenQuestionSelection(current, 'up', openQuestions.length));
324
+ if (openQuestions.length > 1) {
325
+ setOpenQuestionLinesFromTop(0);
326
+ }
234
327
  return;
235
328
  }
236
329
  if (key.downArrow) {
237
330
  setSelectedQuestionIndex((current) => advanceOpenQuestionSelection(current, 'down', openQuestions.length));
331
+ if (openQuestions.length > 1) {
332
+ setOpenQuestionLinesFromTop(0);
333
+ }
238
334
  return;
239
335
  }
240
336
  }
241
- if (commandSuggestions.length > 0) {
337
+ if (commandSuggestions.length > 0 && !key.ctrl && !key.shift && !key.meta) {
242
338
  if (key.upArrow) {
243
339
  setSelectedCommandIndex((current) => advanceOperatorCommandSelection(current, 'up', commandSuggestions.length));
244
340
  return;
@@ -248,7 +344,7 @@ export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode =
248
344
  return;
249
345
  }
250
346
  }
251
- if (answerSuggestions.length > 0) {
347
+ if (answerSuggestions.length > 0 && !key.ctrl && !key.shift && !key.meta) {
252
348
  if (key.upArrow) {
253
349
  setSelectedAnswerSuggestionIndex((current) => advanceOpenQuestionAnswerSuggestionSelection(current, 'up', answerSuggestions.length));
254
350
  return;
@@ -258,6 +354,40 @@ export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode =
258
354
  return;
259
355
  }
260
356
  }
357
+ if (!snapshot.shuttingDown &&
358
+ !key.shift &&
359
+ !key.ctrl &&
360
+ !key.meta &&
361
+ key.upArrow &&
362
+ isCursorAtVisualBoundary(inputValue, inputCursorPosition, contentWidth, stringWidth(operatorPrompt), 'up')) {
363
+ const olderValue = inputHistoryRef.current.older(inputValue);
364
+ if (olderValue !== undefined) {
365
+ setInputValue(olderValue);
366
+ const lines = olderValue.split('\n');
367
+ setInputCursorPosition([lines.length - 1, lines.at(-1)?.length ?? 0]);
368
+ setSelectedCommandIndex(0);
369
+ setSelectedAnswerSuggestionIndex(0);
370
+ setHiddenAnswerSuggestionQuestionId(undefined);
371
+ }
372
+ return;
373
+ }
374
+ if (!snapshot.shuttingDown &&
375
+ !key.shift &&
376
+ !key.ctrl &&
377
+ !key.meta &&
378
+ key.downArrow &&
379
+ isCursorAtVisualBoundary(inputValue, inputCursorPosition, contentWidth, stringWidth(operatorPrompt), 'down')) {
380
+ const newerValue = inputHistoryRef.current.newer();
381
+ if (newerValue !== undefined) {
382
+ setInputValue(newerValue);
383
+ const lines = newerValue.split('\n');
384
+ setInputCursorPosition([lines.length - 1, lines.at(-1)?.length ?? 0]);
385
+ setSelectedCommandIndex(0);
386
+ setSelectedAnswerSuggestionIndex(0);
387
+ setHiddenAnswerSuggestionQuestionId(undefined);
388
+ }
389
+ return;
390
+ }
261
391
  const scrollWithModifier = key.ctrl;
262
392
  const scrollWithoutModifier = inputValue.length === 0;
263
393
  if (!scrollWithModifier && !scrollWithoutModifier) {
@@ -284,6 +414,7 @@ export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode =
284
414
  if (!selectedQuestion || !selectedSuggestion) {
285
415
  return;
286
416
  }
417
+ inputHistoryRef.current.abandonDeferredDraftOnInput();
287
418
  setInputValue(selectedSuggestion.value);
288
419
  setInputCursorPosition([0, selectedSuggestion.value.length]);
289
420
  setHiddenAnswerSuggestionQuestionId(selectedQuestion.id);
@@ -305,6 +436,7 @@ export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode =
305
436
  onSubmit(trimmed, selectedQuestion && openQuestions.length > 0
306
437
  ? { targetOpenQuestionId: selectedQuestion.id }
307
438
  : undefined);
439
+ inputHistoryRef.current.submit(trimmed);
308
440
  setInputValue('');
309
441
  setInputCursorPosition([0, 0]);
310
442
  setSelectedCommandIndex(0);
@@ -313,6 +445,7 @@ export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode =
313
445
  setInputDisplayLineCount(1);
314
446
  };
315
447
  const handleInputChange = (value) => {
448
+ inputHistoryRef.current.abandonDeferredDraftOnInput();
316
449
  setInputValue(value);
317
450
  setSelectedCommandIndex(0);
318
451
  setSelectedAnswerSuggestionIndex(0);
@@ -337,7 +470,7 @@ export function IssueSessionTui({ viewModel, onSubmit, issueUrl, issueLinkMode =
337
470
  return (_jsxs(Box, { flexDirection: "column", width: terminalColumns, height: liveFrameRows, children: [_jsx(WorkerStatusPane, { workers: snapshot.displayState.workers, dispatchHold: snapshot.displayState.dispatchHold, height: paneHeights.workerPaneHeight, terminalColumns: terminalColumns, issueUrl: issueUrl, issueLinkMode: issueLinkMode }), _jsx(OrchestrationPane, { activityLog: snapshot.activityLog, contentWidth: contentWidth, paneHeight: paneHeights.activityPaneHeight, linesFromBottom: linesFromBottom, terminalColumns: terminalColumns, issueLinkMode: issueLinkMode }), operatorInputDisplay.mode === 'withQuestions' ? (_jsx(OpenQuestionsPane, { layout: {
338
471
  ...openQuestionsLayout,
339
472
  paneHeight: paneHeights.openQuestionsPaneHeight,
340
- }, terminalColumns: terminalColumns, issueLinkMode: issueLinkMode })) : null, _jsxs(TitledBorderPane, { title: INPUT_PANE_TITLE, borderStyle: "single", borderColor: INPUT_PANE_BORDER_COLOR, paddingX: PANE_PADDING_X, height: paneHeights.inputPaneHeight, terminalColumns: terminalColumns, children: [operatorInputDisplay.hintLines.map((hintLine, index) => (_jsx(WrappedTextLines, { text: hintLine, width: contentWidth, color: INPUT_PANE_HINT_COLOR }, `context-hint-${index}`))), commandSuggestionLines.map((line) => (_jsx(Text, { color: line.isSelected ? 'cyan' : INPUT_PANE_HINT_COLOR, bold: line.isSelected, children: line.text }, `operator-command-suggestion-${line.id}`))), answerSuggestionLines.map((line) => (_jsx(Text, { color: line.isSelected ? 'cyan' : INPUT_PANE_HINT_COLOR, bold: line.isSelected, children: line.text }, `open-question-answer-suggestion-${line.id}`))), _jsx(OperatorTextArea, { value: inputValue, onChange: handleInputChange, onSubmit: handleSubmit, focus: !snapshot.shuttingDown, contentWidth: contentWidth, promptPrefix: operatorPrompt, maxDisplayLines: maxInputDisplayLines, onDisplayLineCountChange: handleDisplayLineCountChange, suggestionsActive: commandSuggestions.length > 0 || answerSuggestions.length > 0, onTab: commandSuggestions.length > 0 || answerSuggestions.length > 0
473
+ }, viewport: openQuestionViewport, terminalColumns: terminalColumns, issueLinkMode: issueLinkMode })) : null, _jsxs(TitledBorderPane, { title: INPUT_PANE_TITLE, borderStyle: "single", borderColor: INPUT_PANE_BORDER_COLOR, paddingX: PANE_PADDING_X, height: paneHeights.inputPaneHeight, terminalColumns: terminalColumns, children: [operatorInputDisplay.hintLines.map((hintLine, index) => (_jsx(WrappedTextLines, { text: hintLine, width: contentWidth, color: INPUT_PANE_HINT_COLOR }, `context-hint-${index}`))), commandSuggestionLines.map((line) => (_jsx(Text, { color: line.isSelected ? 'cyan' : INPUT_PANE_HINT_COLOR, bold: line.isSelected, children: line.text }, `operator-command-suggestion-${line.id}`))), answerSuggestionLines.map((line) => (_jsx(Text, { color: line.isSelected ? 'cyan' : INPUT_PANE_HINT_COLOR, bold: line.isSelected, children: line.text }, `open-question-answer-suggestion-${line.id}`))), _jsx(OperatorTextArea, { value: inputValue, onChange: handleInputChange, onSubmit: handleSubmit, focus: !snapshot.shuttingDown, contentWidth: contentWidth, promptPrefix: operatorPrompt, maxDisplayLines: maxInputDisplayLines, onDisplayLineCountChange: handleDisplayLineCountChange, suggestionsActive: commandSuggestions.length > 0 || answerSuggestions.length > 0, onTab: commandSuggestions.length > 0 || answerSuggestions.length > 0
341
474
  ? handleSuggestionTab
342
475
  : undefined, cursorPosition: inputCursorPosition, onCursorChange: setInputCursorPosition, cursorStart: cursorStart })] })] }));
343
476
  }
@@ -1 +1 @@
1
- {"version":3,"file":"issue-session-tui.js","sourceRoot":"","sources":["../../src/tui/issue-session-tui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue-session-tui.js","sourceRoot":"","sources":["../../src/tui/issue-session-tui.tsx"],"names":[],"mappings":"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"}