@leanandmean/coding-agent 0.74.1-scramjet.7 → 0.74.1-scramjet.71
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/CHANGELOG.md +32 -0
- package/LICENSE +202 -0
- package/README.md +37 -9
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +45 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/initial-message.d.ts +1 -0
- package/dist/cli/initial-message.d.ts.map +1 -1
- package/dist/cli/initial-message.js +3 -0
- package/dist/cli/initial-message.js.map +1 -1
- package/dist/cli/list-models.d.ts +2 -0
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +4 -1
- package/dist/cli/list-models.js.map +1 -1
- package/dist/config.d.ts +9 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +33 -22
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +12 -3
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +64 -38
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +2 -0
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +3 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +84 -17
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +1082 -209
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +21 -17
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +3 -5
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +43 -10
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/exec.d.ts +12 -0
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +74 -28
- package/dist/core/exec.js.map +1 -1
- package/dist/core/export-html/template.js +4 -0
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +9 -5
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +160 -3
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +85 -8
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/keybindings.d.ts +8 -0
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/model-registry.d.ts +103 -0
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +272 -28
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +24 -6
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/output-throughput-history.d.ts +25 -0
- package/dist/core/output-throughput-history.d.ts.map +1 -0
- package/dist/core/output-throughput-history.js +240 -0
- package/dist/core/output-throughput-history.js.map +1 -0
- package/dist/core/output-throughput.d.ts +43 -0
- package/dist/core/output-throughput.d.ts.map +1 -0
- package/dist/core/output-throughput.js +161 -0
- package/dist/core/output-throughput.js.map +1 -0
- package/dist/core/resource-loader.d.ts +6 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +76 -21
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/scramjet-command-parser.d.ts +4 -0
- package/dist/core/scramjet-command-parser.d.ts.map +1 -1
- package/dist/core/scramjet-command-parser.js +72 -1
- package/dist/core/scramjet-command-parser.js.map +1 -1
- package/dist/core/sdk.d.ts +4 -0
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +70 -11
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +11 -3
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +46 -11
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +19 -6
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +131 -17
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +6 -2
- package/dist/core/skills.js.map +1 -1
- package/dist/core/system-prompt.d.ts +2 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +5 -2
- 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 -3
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +119 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +113 -11
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts +4 -2
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js +14 -8
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +3 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +19 -8
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.d.ts +4 -1
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
- package/dist/modes/interactive/components/daxnuts.js +14 -6
- package/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +5 -3
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js +4 -3
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +4 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +24 -20
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +3 -3
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +10 -7
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +3 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +8 -2
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +17 -3
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +87 -16
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +2 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +19 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +129 -36
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +3 -2
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.js +2 -2
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +37 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +902 -177
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/spellcheck.d.ts +26 -0
- package/dist/modes/interactive/spellcheck.d.ts.map +1 -0
- package/dist/modes/interactive/spellcheck.js +144 -0
- package/dist/modes/interactive/spellcheck.js.map +1 -0
- package/dist/modes/interactive/theme/{dark.json → pi-dark.json} +3 -2
- package/dist/modes/interactive/theme/{light.json → pi-light.json} +27 -26
- package/dist/modes/interactive/theme/theme-schema.json +6 -1
- package/dist/modes/interactive/theme/theme.d.ts +24 -4
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +123 -22
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +5 -0
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +3 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +6 -1
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +33 -14
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts +1 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js.map +1 -1
- package/dist/utils/clipboard.d.ts +6 -0
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +278 -10
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/tools-manager.d.ts +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +7 -6
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts +17 -5
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +88 -21
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +21 -3
- package/docs/custom-provider.md +33 -4
- package/docs/extensions.md +150 -24
- package/docs/json.md +8 -0
- package/docs/keybindings.md +25 -1
- package/docs/models.md +103 -4
- package/docs/packages.md +2 -0
- package/docs/prompt-templates.md +2 -0
- package/docs/quickstart.md +1 -4
- package/docs/rpc.md +16 -6
- package/docs/sdk.md +48 -3
- package/docs/session-format.md +5 -1
- package/docs/settings.md +19 -5
- package/docs/skills.md +7 -5
- package/docs/terminal-setup.md +79 -2
- package/docs/terminal-verification.md +71 -0
- package/docs/themes.md +63 -10
- package/docs/tui.md +120 -25
- package/docs/usage.md +6 -4
- package/examples/extensions/border-status-editor.ts +2 -3
- package/examples/extensions/doom-overlay/doom-component.ts +3 -3
- package/examples/extensions/mac-system-theme.ts +3 -2
- package/examples/extensions/modal-editor.ts +13 -8
- package/examples/extensions/overlay-qa-tests.ts +22 -9
- package/examples/extensions/overlay-test.ts +5 -3
- package/examples/extensions/snake.ts +3 -1
- package/examples/extensions/space-invaders.ts +6 -3
- package/examples/extensions/subagent/index.ts +20 -17
- package/package.json +69 -58
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type { ExtensionAPI, ExtensionCommandContext, Theme } from "@leanandmean/coding-agent";
|
|
12
|
-
import { CURSOR_MARKER, type Focusable, matchesKey, visibleWidth } from "@leanandmean/tui";
|
|
12
|
+
import { CURSOR_MARKER, decodeKittyPrintable, type Focusable, matchesKey, visibleWidth } from "@leanandmean/tui";
|
|
13
13
|
|
|
14
14
|
export default function (pi: ExtensionAPI) {
|
|
15
15
|
pi.registerCommand("overlay-test", {
|
|
@@ -48,6 +48,8 @@ class OverlayTestComponent implements Focusable {
|
|
|
48
48
|
) {}
|
|
49
49
|
|
|
50
50
|
handleInput(data: string): void {
|
|
51
|
+
// SCRAMJET-DIVERGENCE: retained terminals encode printable input explicitly.
|
|
52
|
+
const printable = decodeKittyPrintable(data) ?? data;
|
|
51
53
|
if (matchesKey(data, "escape")) {
|
|
52
54
|
this.done(undefined);
|
|
53
55
|
return;
|
|
@@ -74,8 +76,8 @@ class OverlayTestComponent implements Focusable {
|
|
|
74
76
|
current.cursor = Math.max(0, current.cursor - 1);
|
|
75
77
|
} else if (matchesKey(data, "right")) {
|
|
76
78
|
current.cursor = Math.min(current.text.length, current.cursor + 1);
|
|
77
|
-
} else if (
|
|
78
|
-
current.text = current.text.slice(0, current.cursor) +
|
|
79
|
+
} else if (printable.length === 1 && printable.charCodeAt(0) >= 32) {
|
|
80
|
+
current.text = current.text.slice(0, current.cursor) + printable + current.text.slice(current.cursor);
|
|
79
81
|
current.cursor++;
|
|
80
82
|
}
|
|
81
83
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import type { ExtensionAPI } from "@leanandmean/coding-agent";
|
|
6
|
-
import { matchesKey, visibleWidth } from "@leanandmean/tui";
|
|
6
|
+
import { decodeKittyPrintable, matchesKey, visibleWidth } from "@leanandmean/tui";
|
|
7
7
|
|
|
8
8
|
const GAME_WIDTH = 40;
|
|
9
9
|
const GAME_HEIGHT = 15;
|
|
@@ -148,6 +148,8 @@ class SnakeComponent {
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
handleInput(data: string): void {
|
|
151
|
+
// SCRAMJET-DIVERGENCE: retained terminals encode printable input explicitly.
|
|
152
|
+
data = decodeKittyPrintable(data) ?? data;
|
|
151
153
|
// If paused (resuming), wait for any key
|
|
152
154
|
if (this.paused) {
|
|
153
155
|
if (matchesKey(data, "escape") || data === "q" || data === "Q") {
|
|
@@ -319,10 +319,12 @@ class SpaceInvadersComponent {
|
|
|
319
319
|
|
|
320
320
|
handleInput(data: string): void {
|
|
321
321
|
const released = isKeyRelease(data);
|
|
322
|
+
// SCRAMJET-DIVERGENCE: viewport terminals explicitly encode printable quit keys.
|
|
323
|
+
const quit = matchesKey(data, "q") || matchesKey(data, "shift+q");
|
|
322
324
|
|
|
323
325
|
// Pause handling
|
|
324
326
|
if (this.paused && !released) {
|
|
325
|
-
if (matchesKey(data, Key.escape) ||
|
|
327
|
+
if (matchesKey(data, Key.escape) || quit) {
|
|
326
328
|
this.dispose();
|
|
327
329
|
this.onClose();
|
|
328
330
|
return;
|
|
@@ -341,7 +343,7 @@ class SpaceInvadersComponent {
|
|
|
341
343
|
}
|
|
342
344
|
|
|
343
345
|
// Q to quit without saving
|
|
344
|
-
if (!released &&
|
|
346
|
+
if (!released && quit) {
|
|
345
347
|
this.dispose();
|
|
346
348
|
this.onSave(null);
|
|
347
349
|
this.onClose();
|
|
@@ -363,7 +365,8 @@ class SpaceInvadersComponent {
|
|
|
363
365
|
|
|
364
366
|
// Restart on game over or victory
|
|
365
367
|
if (!released && (this.state.gameOver || this.state.victory)) {
|
|
366
|
-
|
|
368
|
+
// SCRAMJET-DIVERGENCE: restart keys also arrive as explicit Kitty sequences.
|
|
369
|
+
if (matchesKey(data, "r") || matchesKey(data, "shift+r") || matchesKey(data, Key.space)) {
|
|
367
370
|
const highScore = this.state.highScore;
|
|
368
371
|
const nextLevel = this.state.victory ? this.state.level + 1 : 1;
|
|
369
372
|
this.state = createInitialState(highScore, nextLevel);
|
|
@@ -675,19 +675,16 @@ export default function (pi: ExtensionAPI) {
|
|
|
675
675
|
theme.fg("toolTitle", theme.bold("subagent ")) +
|
|
676
676
|
theme.fg("accent", `chain (${args.chain.length} steps)`) +
|
|
677
677
|
theme.fg("muted", ` [${scope}]`);
|
|
678
|
-
for (let i = 0; i <
|
|
678
|
+
for (let i = 0; i < args.chain.length; i++) {
|
|
679
679
|
const step = args.chain[i];
|
|
680
|
-
// Clean up {previous} placeholder for display
|
|
681
680
|
const cleanTask = step.task.replace(/\{previous\}/g, "").trim();
|
|
682
|
-
const preview = cleanTask.length > 40 ? `${cleanTask.slice(0, 40)}...` : cleanTask;
|
|
683
681
|
text +=
|
|
684
682
|
"\n " +
|
|
685
683
|
theme.fg("muted", `${i + 1}.`) +
|
|
686
684
|
" " +
|
|
687
685
|
theme.fg("accent", step.agent) +
|
|
688
|
-
theme.fg("dim", ` ${
|
|
686
|
+
theme.fg("dim", ` ${cleanTask}`);
|
|
689
687
|
}
|
|
690
|
-
if (args.chain.length > 3) text += `\n ${theme.fg("muted", `... +${args.chain.length - 3} more`)}`;
|
|
691
688
|
return new Text(text, 0, 0);
|
|
692
689
|
}
|
|
693
690
|
if (args.tasks && args.tasks.length > 0) {
|
|
@@ -695,20 +692,18 @@ export default function (pi: ExtensionAPI) {
|
|
|
695
692
|
theme.fg("toolTitle", theme.bold("subagent ")) +
|
|
696
693
|
theme.fg("accent", `parallel (${args.tasks.length} tasks)`) +
|
|
697
694
|
theme.fg("muted", ` [${scope}]`);
|
|
698
|
-
for (const t of args.tasks
|
|
699
|
-
|
|
700
|
-
text += `\n ${theme.fg("accent", t.agent)}${theme.fg("dim", ` ${preview}`)}`;
|
|
695
|
+
for (const t of args.tasks) {
|
|
696
|
+
text += `\n ${theme.fg("accent", t.agent)}${theme.fg("dim", ` ${t.task}`)}`;
|
|
701
697
|
}
|
|
702
|
-
if (args.tasks.length > 3) text += `\n ${theme.fg("muted", `... +${args.tasks.length - 3} more`)}`;
|
|
703
698
|
return new Text(text, 0, 0);
|
|
704
699
|
}
|
|
705
700
|
const agentName = args.agent || "...";
|
|
706
|
-
const
|
|
701
|
+
const taskText = args.task || "...";
|
|
707
702
|
let text =
|
|
708
703
|
theme.fg("toolTitle", theme.bold("subagent ")) +
|
|
709
704
|
theme.fg("accent", agentName) +
|
|
710
705
|
theme.fg("muted", ` [${scope}]`);
|
|
711
|
-
text += `\n ${theme.fg("dim",
|
|
706
|
+
text += `\n ${theme.fg("dim", taskText)}`;
|
|
712
707
|
return new Text(text, 0, 0);
|
|
713
708
|
},
|
|
714
709
|
|
|
@@ -719,6 +714,10 @@ export default function (pi: ExtensionAPI) {
|
|
|
719
714
|
return new Text(text?.type === "text" ? text.text : "(no output)", 0, 0);
|
|
720
715
|
}
|
|
721
716
|
|
|
717
|
+
const modelTag = (model: string | undefined): string => {
|
|
718
|
+
return model ? ` ${theme.fg("dim", model)}` : "";
|
|
719
|
+
};
|
|
720
|
+
|
|
722
721
|
const mdTheme = getMarkdownTheme();
|
|
723
722
|
|
|
724
723
|
const renderDisplayItems = (items: DisplayItem[], limit?: number) => {
|
|
@@ -746,7 +745,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
746
745
|
|
|
747
746
|
if (expanded) {
|
|
748
747
|
const container = new Container();
|
|
749
|
-
let header = `${icon} ${theme.fg("toolTitle", theme.bold(r.agent))}${theme.fg("muted", ` (${r.agentSource})`)}`;
|
|
748
|
+
let header = `${icon} ${theme.fg("toolTitle", theme.bold(r.agent))}${theme.fg("muted", ` (${r.agentSource})`)}${modelTag(r.model)}`;
|
|
750
749
|
if (isError && r.stopReason) header += ` ${theme.fg("error", `[${r.stopReason}]`)}`;
|
|
751
750
|
container.addChild(new Text(header, 0, 0));
|
|
752
751
|
if (isError && r.errorMessage)
|
|
@@ -782,7 +781,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
782
781
|
return container;
|
|
783
782
|
}
|
|
784
783
|
|
|
785
|
-
let text = `${icon} ${theme.fg("toolTitle", theme.bold(r.agent))}${theme.fg("muted", ` (${r.agentSource})`)}`;
|
|
784
|
+
let text = `${icon} ${theme.fg("toolTitle", theme.bold(r.agent))}${theme.fg("muted", ` (${r.agentSource})`)}${modelTag(r.model)}`;
|
|
786
785
|
if (isError && r.stopReason) text += ` ${theme.fg("error", `[${r.stopReason}]`)}`;
|
|
787
786
|
if (isError && r.errorMessage) text += `\n${theme.fg("error", `Error: ${r.errorMessage}`)}`;
|
|
788
787
|
else if (displayItems.length === 0) text += `\n${theme.fg("muted", "(no output)")}`;
|
|
@@ -833,7 +832,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
833
832
|
container.addChild(new Spacer(1));
|
|
834
833
|
container.addChild(
|
|
835
834
|
new Text(
|
|
836
|
-
`${theme.fg("muted", `─── Step ${r.step}: `) + theme.fg("accent", r.agent)} ${rIcon}`,
|
|
835
|
+
`${theme.fg("muted", `─── Step ${r.step}: `) + theme.fg("accent", r.agent)} ${rIcon}${modelTag(r.model)}`,
|
|
837
836
|
0,
|
|
838
837
|
0,
|
|
839
838
|
),
|
|
@@ -880,7 +879,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
880
879
|
for (const r of details.results) {
|
|
881
880
|
const rIcon = r.exitCode === 0 ? theme.fg("success", "✓") : theme.fg("error", "✗");
|
|
882
881
|
const displayItems = getDisplayItems(r.messages);
|
|
883
|
-
text += `\n\n${theme.fg("muted", `─── Step ${r.step}: `)}${theme.fg("accent", r.agent)} ${rIcon}`;
|
|
882
|
+
text += `\n\n${theme.fg("muted", `─── Step ${r.step}: `)}${theme.fg("accent", r.agent)} ${rIcon}${modelTag(r.model)}`;
|
|
884
883
|
if (displayItems.length === 0) text += `\n${theme.fg("muted", "(no output)")}`;
|
|
885
884
|
else text += `\n${renderDisplayItems(displayItems, 5)}`;
|
|
886
885
|
}
|
|
@@ -921,7 +920,11 @@ export default function (pi: ExtensionAPI) {
|
|
|
921
920
|
|
|
922
921
|
container.addChild(new Spacer(1));
|
|
923
922
|
container.addChild(
|
|
924
|
-
new Text(
|
|
923
|
+
new Text(
|
|
924
|
+
`${theme.fg("muted", "─── ") + theme.fg("accent", r.agent)} ${rIcon}${modelTag(r.model)}`,
|
|
925
|
+
0,
|
|
926
|
+
0,
|
|
927
|
+
),
|
|
925
928
|
);
|
|
926
929
|
container.addChild(new Text(theme.fg("muted", "Task: ") + theme.fg("dim", r.task), 0, 0));
|
|
927
930
|
|
|
@@ -966,7 +969,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
966
969
|
? theme.fg("success", "✓")
|
|
967
970
|
: theme.fg("error", "✗");
|
|
968
971
|
const displayItems = getDisplayItems(r.messages);
|
|
969
|
-
text += `\n\n${theme.fg("muted", "─── ")}${theme.fg("accent", r.agent)} ${rIcon}`;
|
|
972
|
+
text += `\n\n${theme.fg("muted", "─── ")}${theme.fg("accent", r.agent)} ${rIcon}${modelTag(r.model)}`;
|
|
970
973
|
if (displayItems.length === 0)
|
|
971
974
|
text += `\n${theme.fg("muted", r.exitCode === -1 ? "(running...)" : "(no output)")}`;
|
|
972
975
|
else text += `\n${renderDisplayItems(displayItems, 5)}`;
|
package/package.json
CHANGED
|
@@ -1,60 +1,71 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
2
|
+
"name": "@leanandmean/coding-agent",
|
|
3
|
+
"version": "0.74.1-scramjet.71",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
8
|
+
"license": "Apache-2.0",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/LeanAndMean/scramjet.git"
|
|
12
|
+
},
|
|
13
|
+
"type": "module",
|
|
14
|
+
"piConfig": {
|
|
15
|
+
"name": "scramjet",
|
|
16
|
+
"configDir": ".scramjet"
|
|
17
|
+
},
|
|
18
|
+
"main": "./dist/index.js",
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"import": "./dist/index.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist",
|
|
28
|
+
"docs",
|
|
29
|
+
"examples",
|
|
30
|
+
"CHANGELOG.md"
|
|
31
|
+
],
|
|
32
|
+
"scripts": {
|
|
33
|
+
"clean": "shx rm -rf dist",
|
|
34
|
+
"dev": "tsgo -p tsconfig.build.json --watch --preserveWatchOutput",
|
|
35
|
+
"build": "tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && npm run copy-assets",
|
|
36
|
+
"copy-assets": "shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/",
|
|
37
|
+
"test": "vitest --run --passWithNoTests"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@leanandmean/agent": "0.74.1-scramjet.50",
|
|
41
|
+
"@leanandmean/ai": "0.74.1-scramjet.46",
|
|
42
|
+
"@leanandmean/tui": "0.74.1-scramjet.43",
|
|
43
|
+
"@silvia-odwyer/photon-node": "^0.3.4",
|
|
44
|
+
"chalk": "^5.5.0",
|
|
45
|
+
"dictionary-en": "^4.0.0",
|
|
46
|
+
"diff": "^8.0.2",
|
|
47
|
+
"glob": "^13.0.1",
|
|
48
|
+
"highlight.js": "^10.7.3",
|
|
49
|
+
"hosted-git-info": "^9.0.2",
|
|
50
|
+
"ignore": "^7.0.5",
|
|
51
|
+
"jiti": "^2.7.0",
|
|
52
|
+
"minimatch": "^10.2.3",
|
|
53
|
+
"nspell": "^2.1.5",
|
|
54
|
+
"proper-lockfile": "^4.1.2",
|
|
55
|
+
"typebox": "^1.1.24",
|
|
56
|
+
"undici": "^7.19.1",
|
|
57
|
+
"yaml": "^2.8.2"
|
|
58
|
+
},
|
|
59
|
+
"optionalDependencies": {
|
|
60
|
+
"@mariozechner/clipboard": "^0.3.6"
|
|
61
|
+
},
|
|
62
|
+
"devDependencies": {
|
|
63
|
+
"@types/diff": "^7.0.2",
|
|
64
|
+
"@types/hosted-git-info": "^3.0.5",
|
|
65
|
+
"@types/ms": "^2.1.0",
|
|
66
|
+
"@types/proper-lockfile": "^4.1.4"
|
|
67
|
+
},
|
|
68
|
+
"engines": {
|
|
69
|
+
"node": ">=20.6.0"
|
|
70
|
+
}
|
|
60
71
|
}
|