@mrquake/quakecode-cli 0.64.8 → 0.64.10
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/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +8 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +31 -0
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +4 -0
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/web-runtime.d.ts +36 -0
- package/dist/core/tools/web-runtime.d.ts.map +1 -0
- package/dist/core/tools/web-runtime.js +127 -0
- package/dist/core/tools/web-runtime.js.map +1 -0
- package/dist/core/tools/web-search.d.ts +32 -0
- package/dist/core/tools/web-search.d.ts.map +1 -0
- package/dist/core/tools/web-search.js +176 -0
- package/dist/core/tools/web-search.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +48 -9
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +11 -9
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +31 -37
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/package.json +2 -2
|
@@ -300,51 +300,45 @@ export class InteractiveMode {
|
|
|
300
300
|
if (this.options.verbose || !this.settingsManager.getQuietStartup()) {
|
|
301
301
|
const currentModel = this.session.model?.id ?? "no model";
|
|
302
302
|
const cwd = this.sessionManager.getCwd();
|
|
303
|
-
const
|
|
304
|
-
const title = `${DISPLAY_NAME} v${this.version}`;
|
|
305
|
-
const leftInner = 44;
|
|
306
|
-
const maxTotalWidth = Math.max(128, Math.min(this.ui.terminal.columns - 6, 172));
|
|
307
|
-
const rightInner = maxTotalWidth - leftInner - 7;
|
|
308
|
-
const totalWidth = leftInner + rightInner + 7;
|
|
303
|
+
const innerWidth = Math.max(56, Math.min(this.ui.terminal.columns - 8, 84));
|
|
309
304
|
const border = (s) => theme.fg("borderAccent", s);
|
|
310
|
-
const accent = (s) => theme.bold(theme.fg("accent", s));
|
|
311
305
|
const fit = (text, width) => {
|
|
312
306
|
let out = text;
|
|
313
|
-
while (visibleWidth(out) > width && out.length > 0)
|
|
307
|
+
while (visibleWidth(out) > width && out.length > 0)
|
|
314
308
|
out = out.slice(0, -1);
|
|
315
|
-
}
|
|
316
309
|
if (visibleWidth(text) > width) {
|
|
317
310
|
while (visibleWidth(`${out}…`) > width && out.length > 0)
|
|
318
311
|
out = out.slice(0, -1);
|
|
319
312
|
out = `${out}…`;
|
|
320
313
|
}
|
|
321
|
-
|
|
322
|
-
return out + " ".repeat(remaining);
|
|
314
|
+
return out + " ".repeat(Math.max(0, width - visibleWidth(out)));
|
|
323
315
|
};
|
|
324
|
-
const row = (
|
|
325
|
-
const top =
|
|
326
|
-
const bottom =
|
|
327
|
-
const
|
|
328
|
-
const
|
|
329
|
-
const
|
|
330
|
-
const
|
|
331
|
-
const
|
|
332
|
-
const
|
|
333
|
-
const
|
|
334
|
-
const
|
|
335
|
-
const status = `${theme.bold("Model")} ${theme.fg("borderAccent", currentModel)} · ${theme.bold("User")} ${owner}`;
|
|
336
|
-
const workspace = `${theme.bold("Workspace")} ${cwd}`;
|
|
337
|
-
const note = theme.fg("dim", "Built for terminal-native coding, sessions, tools, and fast iteration.");
|
|
316
|
+
const row = (text = "") => `${border("│")} ${fit(text, innerWidth)} ${border("│")}`;
|
|
317
|
+
const top = `${border("╭")}${border("─".repeat(innerWidth + 2))}${border("╮")}`;
|
|
318
|
+
const bottom = `${border("╰")}${border("─".repeat(innerWidth + 2))}${border("╯")}`;
|
|
319
|
+
const modelLine = `${theme.fg("dim", "model:")} ${theme.fg("accent", currentModel)} ${theme.fg("accent", "/model")} ${theme.fg("dim", "to change")}`;
|
|
320
|
+
const dirLine = `${theme.fg("dim", "directory:")} ${cwd}`;
|
|
321
|
+
const help1 = theme.fg("dim", "To get started, describe a task or try one of these commands:");
|
|
322
|
+
const help2 = ` ${theme.fg("accent", "/settings")} ${theme.fg("dim", "- open the settings menu")}`;
|
|
323
|
+
const help3 = ` ${theme.fg("accent", "/model")} ${theme.fg("dim", "- choose what model to use")}`;
|
|
324
|
+
const help4 = ` ${theme.fg("accent", "/resume")} ${theme.fg("dim", "- resume a different session")}`;
|
|
325
|
+
const help5 = ` ${theme.fg("accent", "/session")} ${theme.fg("dim", "- show current session info and stats")}`;
|
|
326
|
+
const help6 = ` ${theme.fg("accent", "/changelog")} ${theme.fg("dim", "- view recent updates")}`;
|
|
338
327
|
const dashboard = [
|
|
339
|
-
|
|
340
|
-
row(
|
|
341
|
-
row(
|
|
342
|
-
row(
|
|
343
|
-
row(
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
328
|
+
top,
|
|
329
|
+
row(`${theme.fg("dim", ">_ ")}${theme.bold("Quake")}${theme.fg("dim", ` (v${this.version})`)}`),
|
|
330
|
+
row(),
|
|
331
|
+
row(modelLine),
|
|
332
|
+
row(dirLine),
|
|
333
|
+
bottom,
|
|
334
|
+
"",
|
|
335
|
+
help1,
|
|
336
|
+
"",
|
|
337
|
+
help2,
|
|
338
|
+
help3,
|
|
339
|
+
help4,
|
|
340
|
+
help5,
|
|
341
|
+
help6,
|
|
348
342
|
].join("\n");
|
|
349
343
|
this.builtInHeader = new Text(dashboard, 1, 0);
|
|
350
344
|
// Setup UI layout
|
|
@@ -426,9 +420,9 @@ export class InteractiveMode {
|
|
|
426
420
|
// Add spinner if agent is thinking or working
|
|
427
421
|
const isActive = this.session.agent.state.isStreaming || this.session.agent.state.pendingToolCalls.size > 0;
|
|
428
422
|
if (isActive) {
|
|
429
|
-
const
|
|
430
|
-
const
|
|
431
|
-
this.ui.terminal.setTitle(`${
|
|
423
|
+
const isBlinkOn = Math.floor((Date.now() / 100) / 6) % 2 === 0;
|
|
424
|
+
const dot = isBlinkOn ? "•" : "◦";
|
|
425
|
+
this.ui.terminal.setTitle(`${dot} ${title}`);
|
|
432
426
|
}
|
|
433
427
|
else {
|
|
434
428
|
this.ui.terminal.setTitle(title);
|