ideacode 1.2.0 → 1.2.1
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.
- package/dist/repl.js +5 -2
- package/package.json +1 -1
package/dist/repl.js
CHANGED
|
@@ -239,6 +239,7 @@ export function Repl({ apiKey, cwd, onQuit }) {
|
|
|
239
239
|
onQuit();
|
|
240
240
|
}, [cwd, onQuit]);
|
|
241
241
|
const [loading, setLoading] = useState(false);
|
|
242
|
+
const [loadingLabel, setLoadingLabel] = useState("Thinking…");
|
|
242
243
|
const [showPalette, setShowPalette] = useState(false);
|
|
243
244
|
const [paletteIndex, setPaletteIndex] = useState(0);
|
|
244
245
|
const [showModelSelector, setShowModelSelector] = useState(false);
|
|
@@ -449,6 +450,8 @@ export function Repl({ apiKey, cwd, onQuit }) {
|
|
|
449
450
|
const modelContext = modelList.find((m) => m.id === currentModel)?.context_length;
|
|
450
451
|
const maxContextTokens = Math.floor((modelContext ?? CONTEXT_WINDOW_K * 1024) * 0.85);
|
|
451
452
|
const stateBeforeCompress = state;
|
|
453
|
+
setLoadingLabel("Compressing context…");
|
|
454
|
+
setLoading(true);
|
|
452
455
|
state = await ensureUnderBudget(apiKey, state, systemPrompt, currentModel, {
|
|
453
456
|
maxTokens: maxContextTokens,
|
|
454
457
|
keepLast: 6,
|
|
@@ -457,7 +460,7 @@ export function Repl({ apiKey, cwd, onQuit }) {
|
|
|
457
460
|
appendLog(colors.muted(" (context compressed to stay under limit)\n"));
|
|
458
461
|
}
|
|
459
462
|
for (;;) {
|
|
460
|
-
|
|
463
|
+
setLoadingLabel("Thinking…");
|
|
461
464
|
const response = await callApi(apiKey, state, systemPrompt, currentModel);
|
|
462
465
|
const contentBlocks = response.content ?? [];
|
|
463
466
|
const toolResults = [];
|
|
@@ -985,7 +988,7 @@ export function Repl({ apiKey, cwd, onQuit }) {
|
|
|
985
988
|
}
|
|
986
989
|
const footerLines = suggestionBoxLines + 1 + inputLineCount;
|
|
987
990
|
return (_jsxs(Box, { flexDirection: "column", height: termRows, overflow: "hidden", children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, minHeight: 0, overflow: "hidden", children: [_jsx(Box, { flexDirection: "column", height: logViewportHeight, overflow: "hidden", children: visibleLogLines.map((line, i) => (_jsx(Text, { children: line === "" ? "\u00A0" : line }, effectiveLogLines.length - visibleLogLines.length + i))) }), _jsx(Box, { flexDirection: "row", marginTop: 1, marginBottom: 0, children: _jsxs(Text, { color: inkColors.textSecondary, children: [" ", loading
|
|
988
|
-
? `${SPINNER[spinnerTick % SPINNER.length]}
|
|
991
|
+
? `${SPINNER[spinnerTick % SPINNER.length]} ${loadingLabel} ${((Date.now() - loadingStartedAtRef.current) /
|
|
989
992
|
1000).toFixed(1)}s`
|
|
990
993
|
: "\u00A0"] }) })] }), _jsxs(Box, { flexDirection: "column", flexShrink: 0, height: footerLines, children: [showSlashSuggestions && (_jsxs(Box, { flexDirection: "column", marginBottom: 0, paddingLeft: 2, borderStyle: "single", borderColor: inkColors.textDisabled, children: [filteredSlashCommands.length === 0 ? (_jsx(Text, { color: inkColors.textSecondary, children: " No match " })) : ([...filteredSlashCommands].reverse().map((c, rev) => {
|
|
991
994
|
const i = filteredSlashCommands.length - 1 - rev;
|