@glbgpt/cli 0.2.11 → 0.2.12

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.
@@ -89,6 +89,8 @@ export function buildCodingSystemMessage(opts) {
89
89
  'write_file over echo/heredoc redirection. They are safer and their output is easier to review.',
90
90
  '- Use edit_file for targeted changes; use write_file only for new files or complete rewrites.',
91
91
  '- Use bash for real commands (builds, tests, git, package managers).',
92
+ '- `@path` in a user message refers to that file, relative to the workspace root (`@"path"` when it has spaces). ' +
93
+ 'Read it with read_file when you need its content.',
92
94
  '- Before reporting completion, verify that the requested deliverable exists and inspect the resulting ' +
93
95
  'files or tool results. Run relevant tests or builds when feasible. A successful write alone does not ' +
94
96
  'prove the change works; a failed, interrupted, or unstarted command is not a passed check.',
@@ -1 +1 @@
1
- {"version":3,"file":"projectContext.js","sourceRoot":"","sources":["../../../src/coding/projectContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectContext.js","sourceRoot":"","sources":["../../../src/coding/projectContext.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { findModel } from '../media/manifest.js';
11
11
  import { ParamEditor, displayMediaRef } from './ParamEditor.js';
12
12
  import { filterCommands, SLASH_COMMANDS } from './commands.js';
13
13
  import { LOGO_FRAMES, TAGLINE, brandTitle, supportsTruecolor } from './branding.js';
14
+ import { footerHintFits, nextPermissionMode, turnBudgetBar } from './footerStatus.js';
14
15
  import { applyMarkdown } from './markdown.js';
15
16
  import { hyperlink, fileUrl } from '../util/hyperlink.js';
16
17
  import { atCandidates } from './atPopup.js';
@@ -79,8 +80,8 @@ export function App({ controller, confirmationBridge, approvalBridge, questionBr
79
80
  : [];
80
81
  const showSuggestions = suggestions.length > 0;
81
82
  const selectedSuggestion = suggestions[Math.min(sugIndex, suggestions.length - 1)];
82
- // @ attachment popup: active while the input ENDS with "@<partial>" (image keywords +
83
- // image files/dirs browsed from the typed prefix; Claude Code's file-mention pattern).
83
+ // @ popup: active while the input ENDS with "@<partial>" (image keywords, browsed files and
84
+ // dirs, and a fuzzy project-file search; Claude Code's file-mention pattern).
84
85
  // `@"…` opens a QUOTED token so filenames with spaces (macOS screenshots) stay one token.
85
86
  const atMatch = !showSuggestions &&
86
87
  !pending &&
@@ -95,9 +96,15 @@ export function App({ controller, confirmationBridge, approvalBridge, questionBr
95
96
  const atPartial = atMatch ? (atMatch[2] ?? atMatch[3]) : undefined;
96
97
  const [atCands, setAtCands] = useState([]);
97
98
  const [atIndex, setAtIndex] = useState(0);
99
+ // Set once the user picks with the arrows: from then on Enter takes that row, whatever matched it.
100
+ const [atPicked, setAtPicked] = useState(false);
101
+ // The partial the user closed the popup on with Esc; typing anything else reopens it.
102
+ const [atDismissed, setAtDismissed] = useState(null);
98
103
  useEffect(() => {
104
+ setAtPicked(false);
99
105
  if (atPartial === undefined) {
100
106
  setAtCands([]);
107
+ setAtDismissed(null);
101
108
  return;
102
109
  }
103
110
  let alive = true;
@@ -113,7 +120,7 @@ export function App({ controller, confirmationBridge, approvalBridge, questionBr
113
120
  alive = false;
114
121
  };
115
122
  }, [atPartial]);
116
- const showAt = atPartial !== undefined && atCands.length > 0;
123
+ const showAt = atPartial !== undefined && atCands.length > 0 && atPartial !== atDismissed;
117
124
  const selectedAt = atCands[Math.min(atIndex, atCands.length - 1)];
118
125
  const applyAtCompletion = () => {
119
126
  if (!selectedAt || atPartial === undefined)
@@ -238,7 +245,7 @@ export function App({ controller, confirmationBridge, approvalBridge, questionBr
238
245
  useInput((_i, key) => {
239
246
  if (key.escape)
240
247
  controller.interrupt();
241
- }, { isActive: state.busy && !pending && !pendingApproval && !pendingQuestion && !selecting && !sessions });
248
+ }, { isActive: state.busy && !pending && !pendingApproval && !pendingQuestion && !selecting && !sessions && !showAt });
242
249
  // Ctrl+C: never an instant kill. First press clears the draft (or interrupts a busy turn)
243
250
  // and arms a 2s exit window; a second press within it exits (Claude Code semantics).
244
251
  const [exitArmed, setExitArmed] = useState(false);
@@ -310,14 +317,17 @@ export function App({ controller, confirmationBridge, approvalBridge, questionBr
310
317
  const file = pastedImages.get(m);
311
318
  return file ? `@${file}` : m;
312
319
  });
313
- // @ popup navigation: ↑/↓ select, Tab/Enter complete (Enter is intercepted in onSubmit).
320
+ // @ popup navigation: ↑/↓ select, Tab/Enter complete (Enter is intercepted in onSubmit), Esc closes.
314
321
  useInput((_i, key) => {
315
- if (key.upArrow)
316
- setAtIndex((n) => (n - 1 + atCands.length) % atCands.length);
317
- else if (key.downArrow)
318
- setAtIndex((n) => (n + 1) % atCands.length);
319
- else if (key.tab)
322
+ if (key.upArrow || key.downArrow) {
323
+ const step = key.upArrow ? atCands.length - 1 : 1;
324
+ setAtIndex((n) => (n + step) % atCands.length);
325
+ setAtPicked(true);
326
+ }
327
+ else if (key.tab && !key.shift)
320
328
  applyAtCompletion();
329
+ else if (key.escape)
330
+ setAtDismissed(atPartial ?? null);
321
331
  }, { isActive: showAt });
322
332
  // Command popup navigation: ↑/↓ select, Tab completes into the input (Enter executes via onSubmit).
323
333
  useInput((_i, key) => {
@@ -325,9 +335,26 @@ export function App({ controller, confirmationBridge, approvalBridge, questionBr
325
335
  setSugIndex((n) => (n - 1 + suggestions.length) % suggestions.length);
326
336
  else if (key.downArrow)
327
337
  setSugIndex((n) => (n + 1) % suggestions.length);
328
- else if (key.tab && selectedSuggestion)
338
+ else if (key.tab && !key.shift && selectedSuggestion)
329
339
  setInput(`/${selectedSuggestion.name} `);
330
340
  }, { isActive: showSuggestions });
341
+ // Shift+Tab switches the permission mode (the gate holds it, so re-render to show the change).
342
+ const [, bumpPermissionView] = useState(0);
343
+ useInput((_i, key) => {
344
+ if (!permissions || !(key.tab && key.shift))
345
+ return;
346
+ permissions.set(nextPermissionMode(permissions.get()));
347
+ bumpPermissionView((n) => n + 1);
348
+ }, {
349
+ isActive: !!permissions &&
350
+ !pending &&
351
+ !pendingApproval &&
352
+ !pendingQuestion &&
353
+ !selecting &&
354
+ !sessions &&
355
+ !showAt &&
356
+ !showSuggestions,
357
+ });
331
358
  // Model selector navigation.
332
359
  useInput((_i, key) => {
333
360
  if (!selecting)
@@ -367,9 +394,9 @@ export function App({ controller, confirmationBridge, approvalBridge, questionBr
367
394
  }
368
395
  }, { isActive: !!sessions && sessions.length > 0 });
369
396
  const onSubmit = (value) => {
370
- if (showAt && selectedAt && selectedAt.insert !== atPartial) {
371
- // Enter completes the highlighted attachment candidate instead of sending — but only
372
- // when completion would change the token; a fully-typed token lets Enter submit.
397
+ if (showAt && selectedAt && selectedAt.insert !== atPartial && (!selectedAt.scattered || atPicked)) {
398
+ // Enter completes the highlighted candidate instead of sending — unless completion wouldn't
399
+ // change the token, or the row only matched as scattered letters (`@bob` is probably just text).
373
400
  applyAtCompletion();
374
401
  return;
375
402
  }
@@ -496,17 +523,25 @@ export function App({ controller, confirmationBridge, approvalBridge, questionBr
496
523
  controller.note(`Unknown command: /${cmd}`);
497
524
  }
498
525
  };
499
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Static, { items: staticItems, children: (item, i) => item === 'welcome' ? (_jsx(WelcomeBlock, { model: state.model, accountLine: accountLine, firstRun: firstRun ?? false, settled: true }, "welcome")) : (_jsx(TimelineRow, { item: item, columns: columns }, i)) }, staticEpoch), !conversationStarted && (_jsx(WelcomeBlock, { model: state.model, accountLine: accountLine, firstRun: firstRun ?? false })), liveItems.map((item, i) => (_jsx(TimelineRow, { item: item, columns: columns, awaitingConfirm: !!pending || !!pendingApproval, streamingTail: state.busy && frozen + i === state.streamingIndex }, frozen + i))), state.plan && state.plan.length > 0 && _jsx(PlanPanel, { steps: state.plan }), state.busy && !pending && !pendingApproval && !pendingQuestion && _jsx(BusySpinner, {}), state.runningTasks.length > 0 && _jsx(TaskSummaryBar, { tasks: state.runningTasks }), pending && editingParams ? (_jsx(ParamEditor, { info: pending, columns: columns, onApply: (model, params) => confirmationBridge?.resolve({ action: 'edit', model, params }), onCancel: () => setEditingParams(false), nameFor: (r) => controller.localNameForUrl(r) })) : pending ? (_jsx(ConfirmationBlock, { info: pending, nameFor: (r) => controller.localNameForUrl(r) })) : pendingQuestion ? (_jsx(QuestionBlock, { question: pendingQuestion, selected: questionIndex })) : pendingApproval ? (_jsx(ApprovalBlock, { request: pendingApproval })) : sessions ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "Resume a conversation (\u2191/\u2193, Enter to choose, Esc to cancel):" }), sessions.map((s, i) => (_jsxs(Text, { color: i === sessIndex ? 'cyan' : undefined, children: [i === sessIndex ? '❯ ' : ' ', s.preview, ' ', _jsxs(Text, { color: "gray", children: ["\u00B7 ", s.model, " \u00B7 ", timeAgo(s.updatedAt)] })] }, s.id)))] })) : selecting ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "Select a model (\u2191/\u2193, Enter to choose, Esc to cancel):" }), getChatModels().map((m, i) => (_jsxs(Text, { color: i === selIndex ? 'cyan' : undefined, children: [i === selIndex ? '❯ ' : ' ', modelDisplay(m)] }, m.id)))] })) : (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [showSuggestions && (_jsxs(Box, { flexDirection: "column", children: [suggestions.map((c, i) => (_jsxs(Text, { color: c === selectedSuggestion ? 'cyan' : undefined, children: [c === selectedSuggestion ? '❯ ' : ' ', "/", c.name, _jsxs(Text, { color: "gray", children: [c.args ? ` ${c.args}` : '', " \u2014 ", c.description] })] }, c.name))), _jsx(Text, { color: "gray", dimColor: true, children: "\u2191/\u2193 select \u00B7 Tab complete \u00B7 Enter run" })] })), showAt && (_jsxs(Box, { flexDirection: "column", children: [atCands.map((c) => (_jsxs(Text, { color: c === selectedAt ? 'cyan' : undefined, children: [c === selectedAt ? '❯ ' : ' ', c.label, _jsxs(Text, { color: "gray", children: [" \u2014 ", c.hint] })] }, c.label))), _jsx(Text, { color: "gray", dimColor: true, children: "\u2191/\u2193 select \u00B7 Tab/Enter complete" })] })), state.queued.map((q, i) => (_jsxs(Text, { color: "gray", dimColor: true, children: [' ↳ queued: ', q.display] }, i))), _jsxs(Box, { borderStyle: "round", borderLeft: false, borderRight: false, borderColor: "gray", paddingLeft: 1, children: [_jsx(Text, { color: "cyan", children: '› ' }), _jsx(MultilineInput, { value: input, onChange: onInputChange, onSubmit: onSubmit, onHistoryUp: onHistoryUp, onHistoryDown: onHistoryDown, recallActive: recallActive, columns: Math.max(20, columns - 4), verticalNav: !showAt && !showSuggestions, placeholder: 'Type a message, or /help for commands (\\ + Enter for a new line)' })] }), _jsxs(Box, { justifyContent: "space-between", children: [_jsx(Text, { color: exitArmed ? 'yellow' : 'gray', dimColor: !exitArmed, children: exitArmed
500
- ? 'Press ctrl+c again to exit'
501
- : state.busy
502
- ? 'Esc interrupt · Enter to steer the current turn'
503
- : '/ commands · @ attach image' }), _jsxs(Text, { color: "gray", dimColor: true, children: [permissions && permissions.get() !== 'default' ? (_jsxs(Text, { color: permissions.get() === 'yolo' ? 'red' : 'yellow', children: [permissions.get(), " \u00B7 "] })) : null, state.model, state.lastPromptTokens > 0 ? ctxGauge(state.lastPromptTokens, state.model) : '', state.sessionUsage.promptTokens + state.sessionUsage.completionTokens > 0
504
- ? ` · ${formatTokens(state.sessionUsage.promptTokens + state.sessionUsage.completionTokens)} session tokens`
505
- : '', state.turnTokens ? ` · turn ${state.turnTokens.estimated ? '~' : ''}${formatTokens(state.turnTokens.usedTokens)}/${formatTokens(state.turnTokens.limitTokens)} tokens` : '', state.sessionUsage.mediaCreditsEstimated > 0
506
- ? ` · ~${state.sessionUsage.mediaCreditsEstimated} cr`
507
- : '', state.runningTasks.length > 0
508
- ? ` · ${state.runningTasks.length} task${state.runningTasks.length > 1 ? 's' : ''} running`
509
- : '', state.busy && state.toolCallsUsed > 0 ? (_jsxs(Text, { color: "gray", children: [' ', "\u00B7 \u2692 tools ", state.toolCallsUsed, "/", state.toolCallsLimit] })) : null] })] })] }))] }));
526
+ const footerHint = state.busy ? 'Enter to steer' : '/ commands · @ files · shift+tab mode';
527
+ const footerMode = permissions && permissions.get() !== 'default' ? permissions.get() : null;
528
+ const footerTurnBar = state.busy && state.turnTokens ? turnBudgetBar(state.turnTokens) : '';
529
+ const footerTurnWarn = !!state.turnTokens && state.turnTokens.usedTokens >= state.turnTokens.limitTokens * 0.8;
530
+ const footerStatus = [
531
+ state.model,
532
+ state.lastPromptTokens > 0 ? ctxGauge(state.lastPromptTokens, state.model) : '',
533
+ state.sessionUsage.mediaCreditsEstimated > 0 ? `~${state.sessionUsage.mediaCreditsEstimated} cr` : '',
534
+ state.runningTasks.length > 0
535
+ ? `${state.runningTasks.length} task${state.runningTasks.length > 1 ? 's' : ''} running`
536
+ : '',
537
+ state.busy && state.toolCallsUsed > 0 ? `⚒ tools ${state.toolCallsUsed}/${state.toolCallsLimit}` : '',
538
+ ]
539
+ .filter(Boolean)
540
+ .join(' · ');
541
+ const footerStatusWidth = (footerMode ? footerMode.length + 3 : 0) + footerStatus.length + (footerTurnBar ? footerTurnBar.length + 3 : 0);
542
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Static, { items: staticItems, children: (item, i) => item === 'welcome' ? (
543
+ // Static is absolutely positioned, so nothing else bounds this block to the terminal width.
544
+ _jsx(Box, { width: columns, children: _jsx(WelcomeBlock, { model: state.model, accountLine: accountLine, firstRun: firstRun ?? false, settled: true }) }, "welcome")) : (_jsx(TimelineRow, { item: item, columns: columns }, i)) }, staticEpoch), !conversationStarted && (_jsx(WelcomeBlock, { model: state.model, accountLine: accountLine, firstRun: firstRun ?? false })), liveItems.map((item, i) => (_jsx(TimelineRow, { item: item, columns: columns, awaitingConfirm: !!pending || !!pendingApproval, streamingTail: state.busy && frozen + i === state.streamingIndex }, frozen + i))), state.plan && state.plan.length > 0 && _jsx(PlanPanel, { steps: state.plan }), state.busy && !pending && !pendingApproval && !pendingQuestion && _jsx(BusySpinner, {}), state.runningTasks.length > 0 && _jsx(TaskSummaryBar, { tasks: state.runningTasks }), pending && editingParams ? (_jsx(ParamEditor, { info: pending, columns: columns, onApply: (model, params) => confirmationBridge?.resolve({ action: 'edit', model, params }), onCancel: () => setEditingParams(false), nameFor: (r) => controller.localNameForUrl(r) })) : pending ? (_jsx(ConfirmationBlock, { info: pending, nameFor: (r) => controller.localNameForUrl(r) })) : pendingQuestion ? (_jsx(QuestionBlock, { question: pendingQuestion, selected: questionIndex })) : pendingApproval ? (_jsx(ApprovalBlock, { request: pendingApproval })) : sessions ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "Resume a conversation (\u2191/\u2193, Enter to choose, Esc to cancel):" }), sessions.map((s, i) => (_jsxs(Text, { color: i === sessIndex ? 'cyan' : undefined, children: [i === sessIndex ? '❯ ' : ' ', s.preview, ' ', _jsxs(Text, { color: "gray", children: ["\u00B7 ", s.model, " \u00B7 ", timeAgo(s.updatedAt)] })] }, s.id)))] })) : selecting ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "Select a model (\u2191/\u2193, Enter to choose, Esc to cancel):" }), getChatModels().map((m, i) => (_jsxs(Text, { color: i === selIndex ? 'cyan' : undefined, children: [i === selIndex ? '❯ ' : ' ', modelDisplay(m)] }, m.id)))] })) : (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [showSuggestions && (_jsxs(Box, { flexDirection: "column", children: [suggestions.map((c, i) => (_jsxs(Text, { color: c === selectedSuggestion ? 'cyan' : undefined, children: [c === selectedSuggestion ? '❯ ' : ' ', "/", c.name, _jsxs(Text, { color: "gray", children: [c.args ? ` ${c.args}` : '', " \u2014 ", c.description] })] }, c.name))), _jsx(Text, { color: "gray", dimColor: true, children: "\u2191/\u2193 select \u00B7 Tab complete \u00B7 Enter run" })] })), showAt && (_jsxs(Box, { flexDirection: "column", children: [atCands.map((c) => (_jsxs(Text, { color: c === selectedAt ? 'cyan' : undefined, children: [c === selectedAt ? '❯ ' : ' ', c.label, _jsxs(Text, { color: "gray", children: [" \u2014 ", c.hint] })] }, c.label))), _jsx(Text, { color: "gray", dimColor: true, children: "\u2191/\u2193 select \u00B7 Tab/Enter complete" })] })), state.queued.map((q, i) => (_jsxs(Text, { color: "gray", dimColor: true, children: [' ↳ queued: ', q.display] }, i))), _jsxs(Box, { borderStyle: "round", borderLeft: false, borderRight: false, borderColor: "gray", paddingLeft: 1, children: [_jsx(Text, { color: "cyan", children: '› ' }), _jsx(MultilineInput, { value: input, onChange: onInputChange, onSubmit: onSubmit, onHistoryUp: onHistoryUp, onHistoryDown: onHistoryDown, recallActive: recallActive, columns: Math.max(20, columns - 4), verticalNav: !showAt && !showSuggestions, placeholder: 'Type a message, or /help for commands (\\ + Enter for a new line)' })] }), _jsxs(Box, { justifyContent: "space-between", children: [exitArmed ? (_jsx(Text, { color: "yellow", wrap: "truncate", children: "Press ctrl+c again to exit" })) : footerHintFits(footerHint, footerStatusWidth, columns) ? (_jsx(Text, { color: "gray", dimColor: true, wrap: "truncate", children: footerHint })) : (_jsx(Text, { children: " " })), _jsxs(Text, { color: "gray", dimColor: true, wrap: "truncate", children: [footerMode ? _jsxs(Text, { color: footerMode === 'yolo' ? 'red' : 'yellow', children: [footerMode, " \u00B7 "] }) : null, footerStatus, footerTurnBar ? (_jsxs(Text, { color: footerTurnWarn ? 'yellow' : 'gray', dimColor: !footerTurnWarn, children: [' · ', footerTurnBar] })) : null] })] })] }))] }));
510
545
  }
511
546
  /**
512
547
  * Full brand welcome area shown until the conversation starts (baseline §2/§3): logo raster
@@ -523,7 +558,7 @@ function WelcomeBlock({ model, accountLine, firstRun, settled = false, }) {
523
558
  const t = setTimeout(() => setFrame((f) => f + 1), 60);
524
559
  return () => clearTimeout(t);
525
560
  }, [settled, logo, frame]);
526
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [logo && (_jsx(Box, { flexDirection: "column", marginRight: 2, width: 11, children: LOGO_FRAMES[frame].map((line, i) => (_jsx(Text, { children: line || ' ' }, i))) })), _jsxs(Box, { flexDirection: "column", justifyContent: "center", children: [_jsx(Text, { children: brandTitle() }), _jsx(Text, { color: "gray", children: TAGLINE }), _jsxs(Text, { color: "gray", children: ["model: ", model] }), accountLine && _jsx(Text, { color: "gray", children: accountLine })] })] }), firstRun && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "Getting started:" }), SLASH_COMMANDS.slice(0, 5).map((c) => (_jsxs(Text, { color: "gray", children: [' ', "/", c.name.padEnd(7), " ", c.description] }, c.name))), _jsxs(Text, { color: "gray", children: [' ', "Type ", _jsx(Text, { color: "cyan", children: "/" }), " to see every command, or just start chatting."] })] }))] }));
561
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [logo && (_jsx(Box, { flexDirection: "column", flexShrink: 0, marginRight: 2, width: 11, children: LOGO_FRAMES[frame].map((line, i) => (_jsx(Text, { children: line || ' ' }, i))) })), _jsxs(Box, { flexDirection: "column", justifyContent: "center", children: [_jsx(Text, { children: brandTitle() }), _jsx(Text, { color: "gray", children: TAGLINE }), _jsxs(Text, { color: "gray", children: ["model: ", model] }), accountLine && _jsx(Text, { color: "gray", children: accountLine })] })] }), firstRun && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "Getting started:" }), SLASH_COMMANDS.slice(0, 5).map((c) => (_jsxs(Text, { color: "gray", children: [' ', "/", c.name.padEnd(7), " ", c.description] }, c.name))), _jsxs(Text, { color: "gray", children: [' ', "Type ", _jsx(Text, { color: "cyan", children: "/" }), " to see every command, or just start chatting."] })] }))] }));
527
562
  }
528
563
  /** One-line summary of background generations, shown above the input while any are running. */
529
564
  function TaskSummaryBar({ tasks }) {
@@ -755,14 +790,10 @@ function hostOfUrl(url) {
755
790
  return url;
756
791
  }
757
792
  }
758
- /** 1234 → "1.2k" for the footer token counter. */
759
- /** Context occupancy for the footer: " · ctx 42%" once it starts to matter (>=25%). */
793
+ /** Context occupancy for the footer: "ctx 42%" once it starts to matter (>=25%). */
760
794
  function ctxGauge(lastPromptTokens, model) {
761
795
  const pct = Math.round((lastPromptTokens / contextWindowFor(model, modelContextWindow(model))) * 100);
762
- return pct >= 25 ? ` · ctx ${Math.min(pct, 100)}%` : '';
763
- }
764
- function formatTokens(n) {
765
- return n >= 1000 ? `${(n / 1000).toFixed(1)}k` : String(n);
796
+ return pct >= 25 ? `ctx ${Math.min(pct, 100)}%` : '';
766
797
  }
767
798
  /** Compact argument preview for a tool row (the prompt, truncated, plus notable params). */
768
799
  function summarizeArgs(args) {
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/tui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/tui/App.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
- /**
2
- * Candidates for the `@` attachment popup (Claude Code's file-mention popup, scoped to our
3
- * needs: keywords + image files/directories browsed from the typed prefix — no repo-wide
4
- * index, we only ever attach images).
5
- */
6
1
  export interface AtCandidate {
7
2
  /** Text that replaces the partial after `@` when chosen. */
8
3
  insert: string;
9
4
  label: string;
10
5
  hint: string;
11
6
  isDir?: boolean;
7
+ /** Matched only as scattered letters: the user likely wasn't naming this file, so Enter won't pick it. */
8
+ scattered?: boolean;
12
9
  }
13
10
  export interface AtPopupDeps {
14
11
  readDir?: (dir: string) => Promise<Array<{
@@ -24,6 +21,10 @@ export interface AtPopupDeps {
24
21
  * on every keystroke, and selecting it with no image gives a friendly notice.
25
22
  */
26
23
  hasLastImage?: boolean;
24
+ /** Files to search, relative to the working directory. */
25
+ listFiles?: () => Promise<string[]>;
27
26
  }
27
+ /** Project files without dotfiles: git's view (honors .gitignore), else a bounded directory walk. */
28
+ export declare function listProjectFiles(cwd?: string): Promise<string[]>;
28
29
  /** Compute candidates for the text typed after `@` ('' | 'im' | './fo' | '~/Pic' ...). */
29
30
  export declare function atCandidates(partial: string, deps?: AtPopupDeps): Promise<AtCandidate[]>;
@@ -1,7 +1,14 @@
1
+ import { execFile } from 'node:child_process';
1
2
  import { promises as fs } from 'node:fs';
2
3
  import os from 'node:os';
3
4
  import path from 'node:path';
5
+ import { promisify } from 'node:util';
4
6
  import { IMAGE_EXT } from '../util/imageRef.js';
7
+ /**
8
+ * Candidates for the `@` popup (Claude Code's file-mention popup): keywords, files and
9
+ * directories browsed from the typed prefix, and a fuzzy search over the project's files.
10
+ */
11
+ const execFileP = promisify(execFile);
5
12
  const KEYWORDS = [
6
13
  { insert: 'image', label: '@image', hint: 'the last generated image' },
7
14
  { insert: 'clipboard', label: '@clipboard', hint: 'image on the clipboard' },
@@ -22,6 +29,99 @@ async function defaultReadDir(dir) {
22
29
  dirCache.set(dir, { at: Date.now(), entries });
23
30
  return entries;
24
31
  }
32
+ const MAX_PROJECT_FILES = 50_000;
33
+ const MAX_WALKED_ENTRIES = 5_000;
34
+ const SKIPPED_DIRS = new Set(['node_modules', 'dist', 'build', 'target', 'vendor', '__pycache__']);
35
+ const FILE_LIST_TTL_MS = 30_000;
36
+ const hasHiddenSegment = (file) => file.split('/').some((part) => part.startsWith('.'));
37
+ /** Project files without dotfiles: git's view (honors .gitignore), else a bounded directory walk. */
38
+ export async function listProjectFiles(cwd = process.cwd()) {
39
+ try {
40
+ const { stdout } = await execFileP('git', ['ls-files', '--cached', '--others', '--exclude-standard', '-z'], {
41
+ cwd,
42
+ timeout: 3000,
43
+ maxBuffer: 32 * 1024 * 1024,
44
+ });
45
+ return stdout
46
+ .split('\0')
47
+ .filter((file) => file && !hasHiddenSegment(file))
48
+ .slice(0, MAX_PROJECT_FILES);
49
+ }
50
+ catch {
51
+ return walkFiles(cwd);
52
+ }
53
+ }
54
+ // Bounded because the working directory may be something as large as the home folder.
55
+ async function walkFiles(root) {
56
+ const files = [];
57
+ const queue = [''];
58
+ let seen = 0;
59
+ while (queue.length > 0 && seen < MAX_WALKED_ENTRIES) {
60
+ const dir = queue.shift();
61
+ const entries = await fs.readdir(path.join(root, dir), { withFileTypes: true }).catch(() => []);
62
+ for (const entry of entries) {
63
+ seen++;
64
+ if (entry.name.startsWith('.'))
65
+ continue;
66
+ const rel = dir ? `${dir}/${entry.name}` : entry.name;
67
+ if (entry.isDirectory()) {
68
+ if (!SKIPPED_DIRS.has(entry.name))
69
+ queue.push(rel);
70
+ }
71
+ else if (entry.isFile()) {
72
+ files.push(rel);
73
+ }
74
+ }
75
+ }
76
+ return files.sort();
77
+ }
78
+ let fileListCache = null;
79
+ function cachedProjectFiles() {
80
+ const cwd = process.cwd();
81
+ if (fileListCache?.cwd !== cwd || Date.now() - fileListCache.at >= FILE_LIST_TTL_MS) {
82
+ fileListCache = { cwd, at: Date.now(), files: listProjectFiles(cwd) };
83
+ }
84
+ return fileListCache.files;
85
+ }
86
+ /** Higher is better, negative for scattered letters; null when `query` is not a subsequence. Both are lowercase. */
87
+ function fuzzyScore(query, file) {
88
+ const base = file.slice(file.lastIndexOf('/') + 1);
89
+ if (base.startsWith(query))
90
+ return 3000;
91
+ if (base.includes(query))
92
+ return 2000;
93
+ if (file.includes(query))
94
+ return 1000;
95
+ let at = -1;
96
+ let start = -1;
97
+ for (const ch of query) {
98
+ at = file.indexOf(ch, at + 1);
99
+ if (at < 0)
100
+ return null;
101
+ if (start < 0)
102
+ start = at;
103
+ }
104
+ return -1 - (at - start); // the tighter the match, the better
105
+ }
106
+ function searchFiles(query, files) {
107
+ const q = query.toLowerCase();
108
+ const scored = [];
109
+ for (const file of files) {
110
+ const score = fuzzyScore(q, file.toLowerCase());
111
+ if (score !== null)
112
+ scored.push({ file, score });
113
+ }
114
+ return scored
115
+ .sort((a, b) => b.score - a.score || a.file.length - b.file.length || a.file.localeCompare(b.file))
116
+ .slice(0, MAX)
117
+ .map(({ file, score }) => ({
118
+ insert: file,
119
+ label: file,
120
+ hint: fileHint(file),
121
+ ...(score < 0 ? { scattered: true } : {}),
122
+ }));
123
+ }
124
+ const fileHint = (name) => (IMAGE_EXT.test(name) ? 'image file' : 'file');
25
125
  /** Compute candidates for the text typed after `@` ('' | 'im' | './fo' | '~/Pic' ...). */
26
126
  export async function atCandidates(partial, deps = {}) {
27
127
  const readDir = deps.readDir ?? defaultReadDir;
@@ -36,20 +136,33 @@ export async function atCandidates(partial, deps = {}) {
36
136
  try {
37
137
  const entries = await readDir(dirForFs);
38
138
  files = entries
39
- .filter((e) => !e.name.startsWith('.') && (e.isDirectory || IMAGE_EXT.test(e.name)))
139
+ .filter((e) => !e.name.startsWith('.'))
40
140
  .filter((e) => e.name.toLowerCase().startsWith(prefix))
41
141
  .sort((a, b) => Number(b.isDirectory) - Number(a.isDirectory) || a.name.localeCompare(b.name))
42
142
  .slice(0, MAX)
43
143
  .map((e) => ({
44
144
  insert: `${dirPart}${e.name}${e.isDirectory ? '/' : ''}`,
45
145
  label: `${dirPart}${e.name}${e.isDirectory ? '/' : ''}`,
46
- hint: e.isDirectory ? 'directory' : 'image file',
146
+ hint: e.isDirectory ? 'directory' : fileHint(e.name),
47
147
  isDir: e.isDirectory,
48
148
  }));
49
149
  }
50
150
  catch {
51
151
  files = []; // unreadable dir → keywords only
52
152
  }
53
- return [...keywords, ...files].slice(0, MAX);
153
+ // Bare names search the project; ./ ../ / ~/ mean the user is navigating to an exact place.
154
+ const explicitPath = /^(\.{1,2}\/|\/|~\/)/.test(partial);
155
+ const searchable = partial !== '' && !explicitPath && (slash < 0 || files.length === 0);
156
+ let found = [];
157
+ if (searchable) {
158
+ try {
159
+ found = searchFiles(partial, await (deps.listFiles ?? cachedProjectFiles)());
160
+ }
161
+ catch {
162
+ found = []; // no file list → keywords and browsing still work
163
+ }
164
+ }
165
+ const listed = new Set(files.map((f) => f.insert));
166
+ return [...keywords, ...files, ...found.filter((f) => !listed.has(f.insert))].slice(0, MAX);
54
167
  }
55
168
  //# sourceMappingURL=atPopup.js.map