@namzu/cli 23.0.0 → 25.0.0
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 +845 -0
- package/README.md +13 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -10
- package/dist/cli.js.map +1 -1
- package/dist/commands/drain.d.ts +0 -23
- package/dist/commands/drain.d.ts.map +1 -1
- package/dist/commands/drain.js +23 -9
- package/dist/commands/drain.js.map +1 -1
- package/dist/commands/resident-flags.d.ts +24 -0
- package/dist/commands/resident-flags.d.ts.map +1 -0
- package/dist/commands/resident-flags.js +191 -0
- package/dist/commands/resident-flags.js.map +1 -0
- package/dist/commands/resident-learning.d.ts +6 -0
- package/dist/commands/resident-learning.d.ts.map +1 -0
- package/dist/commands/resident-learning.js +293 -0
- package/dist/commands/resident-learning.js.map +1 -0
- package/dist/commands/resident.d.ts +20 -0
- package/dist/commands/resident.d.ts.map +1 -0
- package/dist/commands/resident.js +418 -0
- package/dist/commands/resident.js.map +1 -0
- package/dist/commands/run-flags.d.ts +2 -2
- package/dist/commands/run-flags.d.ts.map +1 -1
- package/dist/commands/run-flags.js +6 -6
- package/dist/commands/run-flags.js.map +1 -1
- package/dist/commands/run-stream.d.ts.map +1 -1
- package/dist/commands/run-stream.js +9 -10
- package/dist/commands/run-stream.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +3 -2
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/upgrade.d.ts +1 -0
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +6 -3
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +27 -4
- package/dist/config/load.js.map +1 -1
- package/dist/config/run-limits.d.ts +11 -0
- package/dist/config/run-limits.d.ts.map +1 -0
- package/dist/config/run-limits.js +64 -0
- package/dist/config/run-limits.js.map +1 -0
- package/dist/config/schema.d.ts +12 -4
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/context/runtime-message.d.ts.map +1 -1
- package/dist/context/runtime-message.js +2 -0
- package/dist/context/runtime-message.js.map +1 -1
- package/dist/integrations/npm-invocation.d.ts +10 -0
- package/dist/integrations/npm-invocation.d.ts.map +1 -0
- package/dist/integrations/npm-invocation.js +23 -0
- package/dist/integrations/npm-invocation.js.map +1 -0
- package/dist/integrations/plugins/runtime.d.ts +19 -1
- package/dist/integrations/plugins/runtime.d.ts.map +1 -1
- package/dist/integrations/plugins/runtime.js +89 -1
- package/dist/integrations/plugins/runtime.js.map +1 -1
- package/dist/integrations/plugins/settings.d.ts +15 -0
- package/dist/integrations/plugins/settings.d.ts.map +1 -0
- package/dist/integrations/plugins/settings.js +106 -0
- package/dist/integrations/plugins/settings.js.map +1 -0
- package/dist/integrations/providers/credential-store.d.ts +8 -7
- package/dist/integrations/providers/credential-store.d.ts.map +1 -1
- package/dist/integrations/providers/credential-store.js +44 -17
- package/dist/integrations/providers/credential-store.js.map +1 -1
- package/dist/integrations/providers/discover.d.ts.map +1 -1
- package/dist/integrations/providers/discover.js +7 -2
- package/dist/integrations/providers/discover.js.map +1 -1
- package/dist/integrations/providers/harness-credentials.d.ts +2 -2
- package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
- package/dist/integrations/providers/harness-credentials.js +13 -8
- package/dist/integrations/providers/harness-credentials.js.map +1 -1
- package/dist/integrations/providers/setup.d.ts.map +1 -1
- package/dist/integrations/providers/setup.js +52 -5
- package/dist/integrations/providers/setup.js.map +1 -1
- package/dist/integrations/resident/foreground.d.ts +19 -0
- package/dist/integrations/resident/foreground.d.ts.map +1 -0
- package/dist/integrations/resident/foreground.js +95 -0
- package/dist/integrations/resident/foreground.js.map +1 -0
- package/dist/integrations/resident/inspection.d.ts +10 -0
- package/dist/integrations/resident/inspection.d.ts.map +1 -0
- package/dist/integrations/resident/inspection.js +263 -0
- package/dist/integrations/resident/inspection.js.map +1 -0
- package/dist/integrations/resident/learning-sources.d.ts +4 -0
- package/dist/integrations/resident/learning-sources.d.ts.map +1 -0
- package/dist/integrations/resident/learning-sources.js +79 -0
- package/dist/integrations/resident/learning-sources.js.map +1 -0
- package/dist/integrations/resident/learning-storage.d.ts +5 -0
- package/dist/integrations/resident/learning-storage.d.ts.map +1 -0
- package/dist/integrations/resident/learning-storage.js +51 -0
- package/dist/integrations/resident/learning-storage.js.map +1 -0
- package/dist/integrations/resident/lifecycle-errors.d.ts +9 -0
- package/dist/integrations/resident/lifecycle-errors.d.ts.map +1 -0
- package/dist/integrations/resident/lifecycle-errors.js +15 -0
- package/dist/integrations/resident/lifecycle-errors.js.map +1 -0
- package/dist/integrations/resident/owned-runner.d.ts +17 -0
- package/dist/integrations/resident/owned-runner.d.ts.map +1 -0
- package/dist/integrations/resident/owned-runner.js +91 -0
- package/dist/integrations/resident/owned-runner.js.map +1 -0
- package/dist/integrations/resident/runner-control.d.ts +47 -0
- package/dist/integrations/resident/runner-control.d.ts.map +1 -0
- package/dist/integrations/resident/runner-control.js +238 -0
- package/dist/integrations/resident/runner-control.js.map +1 -0
- package/dist/integrations/resident/runner-launch.d.ts +52 -0
- package/dist/integrations/resident/runner-launch.d.ts.map +1 -0
- package/dist/integrations/resident/runner-launch.js +142 -0
- package/dist/integrations/resident/runner-launch.js.map +1 -0
- package/dist/integrations/resident/runner-store.d.ts +44 -0
- package/dist/integrations/resident/runner-store.d.ts.map +1 -0
- package/dist/integrations/resident/runner-store.js +281 -0
- package/dist/integrations/resident/runner-store.js.map +1 -0
- package/dist/integrations/resident/runner-worker.d.ts +2 -0
- package/dist/integrations/resident/runner-worker.d.ts.map +1 -0
- package/dist/integrations/resident/runner-worker.js +146 -0
- package/dist/integrations/resident/runner-worker.js.map +1 -0
- package/dist/integrations/resident/session-step.d.ts +29 -0
- package/dist/integrations/resident/session-step.d.ts.map +1 -0
- package/dist/integrations/resident/session-step.js +462 -0
- package/dist/integrations/resident/session-step.js.map +1 -0
- package/dist/integrations/resident/storage.d.ts +17 -0
- package/dist/integrations/resident/storage.d.ts.map +1 -0
- package/dist/integrations/resident/storage.js +140 -0
- package/dist/integrations/resident/storage.js.map +1 -0
- package/dist/integrations/resident/tool-evidence.d.ts +6 -0
- package/dist/integrations/resident/tool-evidence.d.ts.map +1 -0
- package/dist/integrations/resident/tool-evidence.js +117 -0
- package/dist/integrations/resident/tool-evidence.js.map +1 -0
- package/dist/integrations/resident/verification.d.ts +11 -0
- package/dist/integrations/resident/verification.d.ts.map +1 -0
- package/dist/integrations/resident/verification.js +109 -0
- package/dist/integrations/resident/verification.js.map +1 -0
- package/dist/integrations/sessions/compaction-evidence.d.ts +5 -0
- package/dist/integrations/sessions/compaction-evidence.d.ts.map +1 -0
- package/dist/integrations/sessions/compaction-evidence.js +59 -0
- package/dist/integrations/sessions/compaction-evidence.js.map +1 -0
- package/dist/integrations/sessions/context-inventory.js +1 -1
- package/dist/integrations/sessions/context-inventory.js.map +1 -1
- package/dist/integrations/sessions/conversation-search.d.ts +56 -8
- package/dist/integrations/sessions/conversation-search.d.ts.map +1 -1
- package/dist/integrations/sessions/conversation-search.js +600 -63
- package/dist/integrations/sessions/conversation-search.js.map +1 -1
- package/dist/integrations/sessions/database.d.ts +5 -0
- package/dist/integrations/sessions/database.d.ts.map +1 -0
- package/dist/integrations/sessions/database.js +34 -0
- package/dist/integrations/sessions/database.js.map +1 -0
- package/dist/integrations/sessions/evidence-page-validation.d.ts +8 -0
- package/dist/integrations/sessions/evidence-page-validation.d.ts.map +1 -0
- package/dist/integrations/sessions/evidence-page-validation.js +74 -0
- package/dist/integrations/sessions/evidence-page-validation.js.map +1 -0
- package/dist/integrations/sessions/evidence-recall.d.ts +5 -0
- package/dist/integrations/sessions/evidence-recall.d.ts.map +1 -0
- package/dist/integrations/sessions/evidence-recall.js +173 -0
- package/dist/integrations/sessions/evidence-recall.js.map +1 -0
- package/dist/integrations/sessions/paths.d.ts +7 -0
- package/dist/integrations/sessions/paths.d.ts.map +1 -0
- package/dist/integrations/sessions/paths.js +14 -0
- package/dist/integrations/sessions/paths.js.map +1 -0
- package/dist/integrations/sessions/run-discovery.d.ts +24 -0
- package/dist/integrations/sessions/run-discovery.d.ts.map +1 -0
- package/dist/integrations/sessions/run-discovery.js +142 -0
- package/dist/integrations/sessions/run-discovery.js.map +1 -0
- package/dist/integrations/sessions/store.d.ts +8 -18
- package/dist/integrations/sessions/store.d.ts.map +1 -1
- package/dist/integrations/sessions/store.js +14 -39
- package/dist/integrations/sessions/store.js.map +1 -1
- package/dist/integrations/sessions/transcript-export.d.ts +0 -1
- package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
- package/dist/integrations/sessions/transcript-export.js +3 -2
- package/dist/integrations/sessions/transcript-export.js.map +1 -1
- package/dist/integrations/sessions/turn-evidence.d.ts +0 -9
- package/dist/integrations/sessions/turn-evidence.d.ts.map +1 -1
- package/dist/integrations/sessions/turn-evidence.js +5 -2
- package/dist/integrations/sessions/turn-evidence.js.map +1 -1
- package/dist/integrations/state/private-directory.d.ts +4 -2
- package/dist/integrations/state/private-directory.d.ts.map +1 -1
- package/dist/integrations/state/private-directory.js +6 -4
- package/dist/integrations/state/private-directory.js.map +1 -1
- package/dist/integrations/state/report.d.ts.map +1 -1
- package/dist/integrations/state/report.js +78 -21
- package/dist/integrations/state/report.js.map +1 -1
- package/dist/integrations/subagents/parent.d.ts +3 -2
- package/dist/integrations/subagents/parent.d.ts.map +1 -1
- package/dist/integrations/subagents/parent.js +11 -6
- package/dist/integrations/subagents/parent.js.map +1 -1
- package/dist/integrations/subagents/policy.d.ts +2 -5
- package/dist/integrations/subagents/policy.d.ts.map +1 -1
- package/dist/integrations/subagents/policy.js +2 -5
- package/dist/integrations/subagents/policy.js.map +1 -1
- package/dist/integrations/subagents/runtime.d.ts +7 -0
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.js +9 -7
- package/dist/integrations/subagents/runtime.js.map +1 -1
- package/dist/permissions/rules.d.ts +2 -8
- package/dist/permissions/rules.d.ts.map +1 -1
- package/dist/permissions/rules.js +19 -10
- package/dist/permissions/rules.js.map +1 -1
- package/dist/tui/App.d.ts +0 -12
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +235 -15
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/ChoicePicker.d.ts +2 -1
- package/dist/tui/ChoicePicker.d.ts.map +1 -1
- package/dist/tui/ChoicePicker.js +10 -8
- package/dist/tui/ChoicePicker.js.map +1 -1
- package/dist/tui/ToolOutputViewer.js +1 -1
- package/dist/tui/ToolOutputViewer.js.map +1 -1
- package/dist/tui/agent.d.ts +29 -3
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +233 -46
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/conversation-evidence-view.d.ts +6 -0
- package/dist/tui/conversation-evidence-view.d.ts.map +1 -0
- package/dist/tui/conversation-evidence-view.js +96 -0
- package/dist/tui/conversation-evidence-view.js.map +1 -0
- package/dist/tui/conversation-history.d.ts +3 -1
- package/dist/tui/conversation-history.d.ts.map +1 -1
- package/dist/tui/conversation-history.js +16 -1
- package/dist/tui/conversation-history.js.map +1 -1
- package/dist/tui/exit-summary.d.ts +1 -1
- package/dist/tui/exit-summary.d.ts.map +1 -1
- package/dist/tui/exit-summary.js +17 -5
- package/dist/tui/exit-summary.js.map +1 -1
- package/dist/tui/markdownParser.d.ts.map +1 -1
- package/dist/tui/markdownParser.js +2 -1
- package/dist/tui/markdownParser.js.map +1 -1
- package/dist/tui/plugin-view.d.ts +9 -0
- package/dist/tui/plugin-view.d.ts.map +1 -0
- package/dist/tui/plugin-view.js +59 -0
- package/dist/tui/plugin-view.js.map +1 -0
- package/dist/tui/run-interruption.d.ts +2 -2
- package/dist/tui/run-interruption.d.ts.map +1 -1
- package/dist/tui/run-interruption.js +5 -1
- package/dist/tui/run-interruption.js.map +1 -1
- package/dist/tui/run-limits-settings.d.ts +39 -0
- package/dist/tui/run-limits-settings.d.ts.map +1 -0
- package/dist/tui/run-limits-settings.js +88 -0
- package/dist/tui/run-limits-settings.js.map +1 -0
- package/dist/tui/slashCommands.d.ts +6 -1
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +40 -9
- package/dist/tui/slashCommands.js.map +1 -1
- package/dist/tui/types.d.ts +4 -2
- package/dist/tui/types.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import { isDeepStrictEqual } from 'node:util';
|
|
2
|
-
import { isCompactionMessage } from '@namzu/sdk';
|
|
2
|
+
import { isCompactionMessage, selectAssistantText, } from '@namzu/sdk';
|
|
3
|
+
/** Public display text only. Never rewrite durable history or inspect private replay state. */
|
|
4
|
+
export function assistantTranscriptTexts(message) {
|
|
5
|
+
const content = typeof message.content === 'string' ? message.content : '';
|
|
6
|
+
const parts = message.textParts;
|
|
7
|
+
const valid = Array.isArray(parts) &&
|
|
8
|
+
parts.every((part) => part !== null &&
|
|
9
|
+
typeof part === 'object' &&
|
|
10
|
+
typeof part.id === 'string' &&
|
|
11
|
+
typeof part.text === 'string' &&
|
|
12
|
+
(part.phase === undefined || part.phase === 'commentary' || part.phase === 'final_answer'));
|
|
13
|
+
// Compaction or editing may have changed content without keeping the old
|
|
14
|
+
// public parts aligned. Do not bring superseded text back onto the screen.
|
|
15
|
+
const texts = valid && selectAssistantText(parts) === content ? parts.map((part) => part.text) : [content];
|
|
16
|
+
return texts.filter((text) => text.trim().length > 0);
|
|
17
|
+
}
|
|
3
18
|
/**
|
|
4
19
|
* The part of a settled SDK run that belongs to the host-owned conversation.
|
|
5
20
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-history.js","sourceRoot":"","sources":["../../src/tui/conversation-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"conversation-history.js","sourceRoot":"","sources":["../../src/tui/conversation-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAIN,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,YAAY,CAAA;AAEnB,+FAA+F;AAC/F,MAAM,UAAU,wBAAwB,CAAC,OAAyB;IACjE,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAA;IAC/B,MAAM,KAAK,GACV,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,KAAK,CACV,CAAC,IAAI,EAA6B,EAAE,CACnC,IAAI,KAAK,IAAI;YACb,OAAO,IAAI,KAAK,QAAQ;YACxB,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;YAC3B,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC7B,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,CAAC,CAC3F,CAAA;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,KAAK,GACV,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC7F,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACtD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAA4B;IAClE,OAAO,QAAQ,CAAC,MAAM,CACrB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAC9E,CAAA;AACF,CAAC;AAMD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAClC,KAAyB,EACzB,IAAa,EACb,SAA6B;IAE7B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAA;IAC9B,MAAM,cAAc,GACnB,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IAE9E,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;IAEpE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,cAAc,GACnB,IAAI,CAAC,MAAM,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,CACR,CAAC,OAAO,EAAE,EAAE,CACX,OAAO,CAAC,IAAI,KAAK,WAAW;YAC5B,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAClE,CAAA;IACF,OAAO,cAAc;QACpB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;AACjD,CAAC"}
|
|
@@ -8,5 +8,5 @@ export interface TuiResumeInvocation {
|
|
|
8
8
|
readonly command?: readonly [string, ...string[]];
|
|
9
9
|
}
|
|
10
10
|
/** A useful shell handoff, never the TUI's buffered internal diagnostics. */
|
|
11
|
-
export declare function formatTuiExitSummary(summary: TuiExitSummary | null, invocation?: TuiResumeInvocation): string;
|
|
11
|
+
export declare function formatTuiExitSummary(summary: TuiExitSummary | null, invocation?: TuiResumeInvocation, platform?: NodeJS.Platform): string;
|
|
12
12
|
//# sourceMappingURL=exit-summary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exit-summary.d.ts","sourceRoot":"","sources":["../../src/tui/exit-summary.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,mBAAmB;IACnC,gGAAgG;IAChG,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;CACjD;
|
|
1
|
+
{"version":3,"file":"exit-summary.d.ts","sourceRoot":"","sources":["../../src/tui/exit-summary.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,mBAAmB;IACnC,gGAAgG;IAChG,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;CACjD;AAYD,6EAA6E;AAC7E,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,cAAc,GAAG,IAAI,EAC9B,UAAU,GAAE,mBAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC1C,MAAM,CAgBR"}
|
package/dist/tui/exit-summary.js
CHANGED
|
@@ -5,14 +5,26 @@ function shellWord(source) {
|
|
|
5
5
|
return value;
|
|
6
6
|
return `'${value.replace(/'/g, `'"'"'`)}'`;
|
|
7
7
|
}
|
|
8
|
+
function powershellWord(source) {
|
|
9
|
+
return `'${terminalDisplayText(source).replace(/'/g, "''")}'`;
|
|
10
|
+
}
|
|
8
11
|
/** A useful shell handoff, never the TUI's buffered internal diagnostics. */
|
|
9
|
-
export function formatTuiExitSummary(summary, invocation = {}) {
|
|
12
|
+
export function formatTuiExitSummary(summary, invocation = {}, platform = process.platform) {
|
|
10
13
|
if (!summary?.conversationId)
|
|
11
14
|
return '';
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
const args = [...(invocation.command ?? ['namzu']), 'resume', summary.conversationId];
|
|
16
|
+
const cwd = invocation.cwd && invocation.cwd !== process.cwd() ? invocation.cwd : undefined;
|
|
17
|
+
if (platform === 'win32') {
|
|
18
|
+
const command = `& ${args.map(powershellWord).join(' ')}`;
|
|
19
|
+
// Name the shell rather than guessing it from inherited environment.
|
|
20
|
+
// Windows PowerShell 5.1 lacks &&; resume only after Set-Location succeeds.
|
|
21
|
+
const handoff = cwd
|
|
22
|
+
? `Set-Location -LiteralPath ${powershellWord(cwd)}; if ($?) { ${command} }`
|
|
23
|
+
: command;
|
|
24
|
+
return `To resume this conversation, run in PowerShell: ${handoff}\n`;
|
|
25
|
+
}
|
|
26
|
+
const command = args.map(shellWord).join(' ');
|
|
27
|
+
const directory = cwd ? `cd ${shellWord(cwd)} && ` : '';
|
|
16
28
|
return `To resume this conversation, run: ${directory}${command}\n`;
|
|
17
29
|
}
|
|
18
30
|
//# sourceMappingURL=exit-summary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exit-summary.js","sourceRoot":"","sources":["../../src/tui/exit-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAa3D,SAAS,SAAS,CAAC,MAAc;IAChC,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACzC,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACxD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAA;AAC3C,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CACnC,OAA8B,EAC9B,aAAkC,EAAE;
|
|
1
|
+
{"version":3,"file":"exit-summary.js","sourceRoot":"","sources":["../../src/tui/exit-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAa3D,SAAS,SAAS,CAAC,MAAc;IAChC,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACzC,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACxD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAA;AAC3C,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACrC,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA;AAC9D,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CACnC,OAA8B,EAC9B,aAAkC,EAAE,EACpC,WAA4B,OAAO,CAAC,QAAQ;IAE5C,IAAI,CAAC,OAAO,EAAE,cAAc;QAAE,OAAO,EAAE,CAAA;IACvC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACrF,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3F,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QACzD,qEAAqE;QACrE,4EAA4E;QAC5E,MAAM,OAAO,GAAG,GAAG;YAClB,CAAC,CAAC,6BAA6B,cAAc,CAAC,GAAG,CAAC,eAAe,OAAO,IAAI;YAC5E,CAAC,CAAC,OAAO,CAAA;QACV,OAAO,mDAAmD,OAAO,IAAI,CAAA;IACtE,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IACvD,OAAO,qCAAqC,SAAS,GAAG,OAAO,IAAI,CAAA;AACpE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownParser.d.ts","sourceRoot":"","sources":["../../src/tui/markdownParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,OAAO,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3E;IACA,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACpB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACpF;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,CAAA;CACjC,CAAA;AAsCJ;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA4ChD;AAED,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAyC/C;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAEpD;
|
|
1
|
+
{"version":3,"file":"markdownParser.d.ts","sourceRoot":"","sources":["../../src/tui/markdownParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,OAAO,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3E;IACA,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACpB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACpF;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,CAAA;CACjC,CAAA;AAsCJ;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA4ChD;AAED,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAyC/C;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAEpD;AAOD,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CA0BtD"}
|
|
@@ -161,7 +161,8 @@ export function parseBlock(raw) {
|
|
|
161
161
|
export function parseMarkdown(src) {
|
|
162
162
|
return scanBlocks(src).map(parseBlock);
|
|
163
163
|
}
|
|
164
|
-
|
|
164
|
+
// Underscores inside identifiers are literal, including non-ASCII names.
|
|
165
|
+
const INLINE = /(`[^`]+`)|(\[[^\]]+\]\([^)]+\))|(\*\*[^*]+\*\*)|((?<![\p{L}\p{N}\p{M}_])__[^_]+__(?![\p{L}\p{N}\p{M}_]))|(\*[^*]+\*)|((?<![\p{L}\p{N}\p{M}_])_[^_]+_(?![\p{L}\p{N}\p{M}_]))/u;
|
|
165
166
|
const LINK = /^\[([^\]]+)\]\(([^)]+)\)$/;
|
|
166
167
|
/** Parse a single line of text into styled inline spans. */
|
|
167
168
|
export function parseInline(text) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownParser.js","sourceRoot":"","sources":["../../src/tui/markdownParser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"markdownParser.js","sourceRoot":"","sources":["../../src/tui/markdownParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PluginConfig } from '../config/schema.js';
|
|
2
|
+
import type { CliPluginInfo } from '../integrations/plugins/runtime.js';
|
|
3
|
+
import type { ChoicePickerOption } from './ChoicePicker.js';
|
|
4
|
+
export declare function pluginOption(plugin: CliPluginInfo): ChoicePickerOption;
|
|
5
|
+
export declare function pluginSummary(plugin: CliPluginInfo): string;
|
|
6
|
+
export declare function pluginDetails(plugin: CliPluginInfo): string;
|
|
7
|
+
export declare function pluginStartupState(plugin: CliPluginInfo): string;
|
|
8
|
+
export declare function emptyPluginReport(config: PluginConfig | undefined, cwd: string): string;
|
|
9
|
+
//# sourceMappingURL=plugin-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-view.d.ts","sourceRoot":"","sources":["../../src/tui/plugin-view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAEvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAG3D,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,CAOtE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAe3D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAMhE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBvF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { resolveNamzuHome } from '../integrations/state/home.js';
|
|
3
|
+
import { choiceDisplayText } from './terminal-choice-text.js';
|
|
4
|
+
export function pluginOption(plugin) {
|
|
5
|
+
return {
|
|
6
|
+
label: plugin.name,
|
|
7
|
+
description: pluginSummary(plugin),
|
|
8
|
+
selectedDescription: `${plugin.version} · ${plugin.description}`,
|
|
9
|
+
searchText: `${plugin.name} ${plugin.description} ${plugin.scope}`,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function pluginSummary(plugin) {
|
|
13
|
+
return `${plugin.status} · ${plugin.scope} · ${plugin.tools.length} tool${plugin.tools.length === 1 ? '' : 's'} · ${plugin.skills.length} skill${plugin.skills.length === 1 ? '' : 's'}`;
|
|
14
|
+
}
|
|
15
|
+
export function pluginDetails(plugin) {
|
|
16
|
+
const rows = [
|
|
17
|
+
`${plugin.name} · ${plugin.version}`,
|
|
18
|
+
plugin.description,
|
|
19
|
+
`Status: ${plugin.status} · ${plugin.scope}`,
|
|
20
|
+
`After restart or model switch: ${pluginStartupState(plugin)}`,
|
|
21
|
+
...(plugin.startupError ? [plugin.startupError] : []),
|
|
22
|
+
`Directory: ${plugin.rootDir}`,
|
|
23
|
+
`Registered tools: ${plugin.tools.join(', ') || 'none'}`,
|
|
24
|
+
`Registered skills: ${plugin.skills.join(', ') || 'none'}`,
|
|
25
|
+
`Declared hook modules: ${plugin.hookModules.join(', ') || 'none'}`,
|
|
26
|
+
`Declared MCP servers: ${plugin.mcpServers.join(', ') || 'none'}`,
|
|
27
|
+
'Use /plugins to remember the current state for future sessions.',
|
|
28
|
+
];
|
|
29
|
+
return rows.map(choiceDisplayText).join('\n');
|
|
30
|
+
}
|
|
31
|
+
export function pluginStartupState(plugin) {
|
|
32
|
+
return plugin.startupEnabled === undefined
|
|
33
|
+
? 'blocked (invalid setting)'
|
|
34
|
+
: plugin.startupEnabled
|
|
35
|
+
? 'enabled'
|
|
36
|
+
: 'disabled';
|
|
37
|
+
}
|
|
38
|
+
export function emptyPluginReport(config, cwd) {
|
|
39
|
+
const home = resolveNamzuHome();
|
|
40
|
+
const scopes = config?.allowedScopes ?? ['project', 'user'];
|
|
41
|
+
const reason = config?.enabled !== true
|
|
42
|
+
? 'Plugins are off. Set plugins.enabled: true in your Namzu configuration to load trusted plugins at startup.'
|
|
43
|
+
: config.autoDiscovery === false
|
|
44
|
+
? 'Plugin discovery is off (plugins.autoDiscovery: false).'
|
|
45
|
+
: scopes.length === 0
|
|
46
|
+
? 'No plugin scopes are allowed (plugins.allowedScopes: []).'
|
|
47
|
+
: 'No plugins are loaded in this session.';
|
|
48
|
+
return [
|
|
49
|
+
reason,
|
|
50
|
+
`Configuration: ${join(home, 'config.yaml')}`,
|
|
51
|
+
...(scopes.includes('project') ? [`Project plugins: ${join(cwd, '.namzu', 'plugins')}`] : []),
|
|
52
|
+
...(scopes.includes('user') ? [`User plugins: ${join(home, 'plugins')}`] : []),
|
|
53
|
+
'Each plugin directory contains plugin.json. Only Namzu plugin manifests are supported.',
|
|
54
|
+
'Tools, hooks and MCP servers can execute code. Enable only plugins you trust, then restart Namzu.',
|
|
55
|
+
]
|
|
56
|
+
.map(choiceDisplayText)
|
|
57
|
+
.join('\n');
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=plugin-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-view.js","sourceRoot":"","sources":["../../src/tui/plugin-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StopReason } from '@namzu/sdk';
|
|
1
|
+
import type { StopReason, TokenBudgetSummary } from '@namzu/sdk';
|
|
2
2
|
import type { AgentEvent } from './agent.js';
|
|
3
3
|
export type Interruption = Extract<AgentEvent, {
|
|
4
4
|
kind: 'error' | 'paused';
|
|
@@ -8,7 +8,7 @@ export type Interruption = Extract<AgentEvent, {
|
|
|
8
8
|
* Budget admission includes reservations: refusal is not proof of money or
|
|
9
9
|
* tokens spent. Usage remains the reported measurement available through /cost.
|
|
10
10
|
*/
|
|
11
|
-
export declare function describeRunStop(reason: StopReason | undefined): string | undefined;
|
|
11
|
+
export declare function describeRunStop(reason: StopReason | undefined, budget?: TokenBudgetSummary): string | undefined;
|
|
12
12
|
/** The delay the provider asked for, from either place the event can carry it. */
|
|
13
13
|
export declare function retryAfterMs(event: Interruption): number | undefined;
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-interruption.d.ts","sourceRoot":"","sources":["../../src/tui/run-interruption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"run-interruption.d.ts","sourceRoot":"","sources":["../../src/tui/run-interruption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAG5C,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;CAAE,CAAC,CAAA;AAE5E;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,MAAM,CAAC,EAAE,kBAAkB,GACzB,MAAM,GAAG,SAAS,CAuCpB;AAQD,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAKpE;AAyBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAyBnE"}
|
|
@@ -4,13 +4,17 @@ import { terminalDisplayText } from './terminal-display.js';
|
|
|
4
4
|
* Budget admission includes reservations: refusal is not proof of money or
|
|
5
5
|
* tokens spent. Usage remains the reported measurement available through /cost.
|
|
6
6
|
*/
|
|
7
|
-
export function describeRunStop(reason) {
|
|
7
|
+
export function describeRunStop(reason, budget) {
|
|
8
8
|
switch (reason) {
|
|
9
9
|
case undefined:
|
|
10
10
|
case 'end_turn':
|
|
11
11
|
case 'cancelled':
|
|
12
12
|
return undefined;
|
|
13
13
|
case 'token_budget':
|
|
14
|
+
if ((budget?.unresolvedRequests ?? 0) > 0)
|
|
15
|
+
return 'Run stopped: usage for a model request could not be confirmed. /cost shows reported usage; the total remains uncertain.';
|
|
16
|
+
if (budget?.poisoned)
|
|
17
|
+
return 'Run stopped: usage accounting could not be verified. /cost shows the available measurements.';
|
|
14
18
|
return 'Run stopped: the token allowance could not cover further work. /cost shows reported usage.';
|
|
15
19
|
case 'cost_limit':
|
|
16
20
|
return 'Run stopped: the cost allowance could not cover further work. /cost shows reported usage.';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-interruption.js","sourceRoot":"","sources":["../../src/tui/run-interruption.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAI3D;;;;GAIG;AACH,MAAM,UAAU,eAAe,
|
|
1
|
+
{"version":3,"file":"run-interruption.js","sourceRoot":"","sources":["../../src/tui/run-interruption.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type RunGuardKey, type RunGuards } from '../config/run-limits.js';
|
|
2
|
+
export declare const RUN_LIMIT_FIELDS: readonly [{
|
|
3
|
+
readonly name: "tokens";
|
|
4
|
+
readonly key: "tokenBudget";
|
|
5
|
+
readonly label: "Token budget";
|
|
6
|
+
readonly hint: "Whole tokens across the run and its children; 0 or unlimited removes the cap.";
|
|
7
|
+
}, {
|
|
8
|
+
readonly name: "iterations";
|
|
9
|
+
readonly key: "maxIterations";
|
|
10
|
+
readonly label: "Model turns";
|
|
11
|
+
readonly hint: "Whole model calls per run; 0 or unlimited removes the cap.";
|
|
12
|
+
}, {
|
|
13
|
+
readonly name: "time";
|
|
14
|
+
readonly key: "timeoutMs";
|
|
15
|
+
readonly label: "Run duration";
|
|
16
|
+
readonly hint: "Duration such as 30m, 2h or 1500ms; a bare number is milliseconds. 0 or unlimited removes the cap.";
|
|
17
|
+
}];
|
|
18
|
+
export type RunLimitsAction = {
|
|
19
|
+
kind: 'run-limits-picker';
|
|
20
|
+
} | {
|
|
21
|
+
kind: 'run-limit-editor';
|
|
22
|
+
key: RunGuardKey;
|
|
23
|
+
} | {
|
|
24
|
+
kind: 'run-limits-set';
|
|
25
|
+
limits: Partial<RunGuards>;
|
|
26
|
+
} | {
|
|
27
|
+
kind: 'message';
|
|
28
|
+
role: 'system';
|
|
29
|
+
content: string;
|
|
30
|
+
statusRows?: undefined;
|
|
31
|
+
};
|
|
32
|
+
export declare function runLimitsAction(args: readonly string[]): RunLimitsAction;
|
|
33
|
+
export declare function formatRunLimit(key: RunGuardKey, value: number): string;
|
|
34
|
+
export declare function runLimitCommands(limits: RunGuards): {
|
|
35
|
+
name: string;
|
|
36
|
+
label: string;
|
|
37
|
+
description: string;
|
|
38
|
+
}[];
|
|
39
|
+
//# sourceMappingURL=run-limits-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-limits-settings.d.ts","sourceRoot":"","sources":["../../src/tui/run-limits-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAoB,MAAM,yBAAyB,CAAA;AAE5F,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAmBnB,CAAA;AAEV,MAAM,MAAM,eAAe,GACxB;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAA;CAAE,CAAA;AAE/E,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,CAmCxE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYtE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS;;;;IAajD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { resolveRunGuards } from '../config/run-limits.js';
|
|
2
|
+
export const RUN_LIMIT_FIELDS = [
|
|
3
|
+
{
|
|
4
|
+
name: 'tokens',
|
|
5
|
+
key: 'tokenBudget',
|
|
6
|
+
label: 'Token budget',
|
|
7
|
+
hint: 'Whole tokens across the run and its children; 0 or unlimited removes the cap.',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
name: 'iterations',
|
|
11
|
+
key: 'maxIterations',
|
|
12
|
+
label: 'Model turns',
|
|
13
|
+
hint: 'Whole model calls per run; 0 or unlimited removes the cap.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'time',
|
|
17
|
+
key: 'timeoutMs',
|
|
18
|
+
label: 'Run duration',
|
|
19
|
+
hint: 'Duration such as 30m, 2h or 1500ms; a bare number is milliseconds. 0 or unlimited removes the cap.',
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
export function runLimitsAction(args) {
|
|
23
|
+
if (args.length === 0)
|
|
24
|
+
return { kind: 'run-limits-picker' };
|
|
25
|
+
if (args.length === 1 && args[0] === 'unlimited')
|
|
26
|
+
return { kind: 'run-limits-set', limits: resolveRunGuards() };
|
|
27
|
+
const field = RUN_LIMIT_FIELDS.find((field) => field.name === args[0]);
|
|
28
|
+
if (field && args.length === 1)
|
|
29
|
+
return { kind: 'run-limit-editor', key: field.key };
|
|
30
|
+
if (field && args.length === 2) {
|
|
31
|
+
try {
|
|
32
|
+
const raw = (args[1] ?? '').toLowerCase();
|
|
33
|
+
const duration = field.key === 'timeoutMs' ? /^(\d+(?:\.\d+)?)(ms|s|m|h)$/.exec(raw) : null;
|
|
34
|
+
const value = raw === 'unlimited'
|
|
35
|
+
? 0
|
|
36
|
+
: duration
|
|
37
|
+
? Number(duration[1]) *
|
|
38
|
+
({ ms: 1, s: 1000, m: 60000, h: 3600000 }[duration[2] ?? 'ms'] ?? 1)
|
|
39
|
+
: /^\d+$/.test(raw)
|
|
40
|
+
? Number(raw)
|
|
41
|
+
: Number.NaN;
|
|
42
|
+
resolveRunGuards({ [field.key]: value });
|
|
43
|
+
return { kind: 'run-limits-set', limits: { [field.key]: value } };
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
return {
|
|
47
|
+
kind: 'message',
|
|
48
|
+
role: 'system',
|
|
49
|
+
content: `${error instanceof Error ? error.message : String(error)} ${field.hint}`,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
kind: 'message',
|
|
55
|
+
role: 'system',
|
|
56
|
+
content: 'Usage: /config limits [tokens|iterations|time] [value]; /config limits unlimited removes all three caps.',
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export function formatRunLimit(key, value) {
|
|
60
|
+
if (value === 0)
|
|
61
|
+
return 'Unlimited';
|
|
62
|
+
if (key === 'timeoutMs') {
|
|
63
|
+
for (const [unit, divisor] of [
|
|
64
|
+
['h', 3600000],
|
|
65
|
+
['m', 60000],
|
|
66
|
+
['s', 1000],
|
|
67
|
+
])
|
|
68
|
+
if (value % divisor === 0)
|
|
69
|
+
return `${value / divisor}${unit}`;
|
|
70
|
+
return `${value}ms`;
|
|
71
|
+
}
|
|
72
|
+
return value.toLocaleString('en-US');
|
|
73
|
+
}
|
|
74
|
+
export function runLimitCommands(limits) {
|
|
75
|
+
return [
|
|
76
|
+
...RUN_LIMIT_FIELDS.map((field) => ({
|
|
77
|
+
name: `config limits ${field.name}`,
|
|
78
|
+
label: field.label,
|
|
79
|
+
description: formatRunLimit(field.key, limits[field.key]),
|
|
80
|
+
})),
|
|
81
|
+
{
|
|
82
|
+
name: 'config limits unlimited',
|
|
83
|
+
label: 'Remove all run caps',
|
|
84
|
+
description: 'Unlimited tokens, model turns and duration. Usage is still measured.',
|
|
85
|
+
},
|
|
86
|
+
];
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=run-limits-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-limits-settings.js","sourceRoot":"","sources":["../../src/tui/run-limits-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE5F,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B;QACC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,+EAA+E;KACrF;IACD;QACC,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,4DAA4D;KAClE;IACD;QACC,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,oGAAoG;KAC1G;CACQ,CAAA;AAQV,MAAM,UAAU,eAAe,CAAC,IAAuB;IACtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;IAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;QAC/C,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAA;IAC9D,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACtE,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IACnF,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;YACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC3F,MAAM,KAAK,GACV,GAAG,KAAK,WAAW;gBAClB,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,QAAQ;oBACT,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACpB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;wBAClB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;wBACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;YAChB,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YACxC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAA;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO;gBACN,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE;aAClF,CAAA;QACF,CAAC;IACF,CAAC;IACD,OAAO;QACN,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EACN,0GAA0G;KAC3G,CAAA;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAgB,EAAE,KAAa;IAC7D,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,WAAW,CAAA;IACnC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI;YAC7B,CAAC,GAAG,EAAE,OAAO,CAAC;YACd,CAAC,GAAG,EAAE,KAAK,CAAC;YACZ,CAAC,GAAG,EAAE,IAAI,CAAC;SACF;YACT,IAAI,KAAK,GAAG,OAAO,KAAK,CAAC;gBAAE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,IAAI,EAAE,CAAA;QAC9D,OAAO,GAAG,KAAK,IAAI,CAAA;IACpB,CAAC;IACD,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IACjD,OAAO;QACN,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,iBAAiB,KAAK,CAAC,IAAI,EAAE;YACnC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACzD,CAAC,CAAC;QACH;YACC,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,sEAAsE;SACnF;KACD,CAAA;AACF,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type RunLimitsAction } from './run-limits-settings.js';
|
|
1
2
|
/**
|
|
2
3
|
* Slash command registry + parser. Pure logic — no React. Unit-tested.
|
|
3
4
|
*
|
|
@@ -51,7 +52,7 @@ export type SlashAction = {
|
|
|
51
52
|
kind: 'agent-cockpit';
|
|
52
53
|
} | {
|
|
53
54
|
kind: 'settings-picker';
|
|
54
|
-
} | {
|
|
55
|
+
} | RunLimitsAction | {
|
|
55
56
|
kind: 'provider-setup';
|
|
56
57
|
} | {
|
|
57
58
|
kind: 'goal-picker';
|
|
@@ -111,6 +112,10 @@ export type SlashAction = {
|
|
|
111
112
|
kind: 'show-memory';
|
|
112
113
|
} | {
|
|
113
114
|
kind: 'list-skills';
|
|
115
|
+
} | {
|
|
116
|
+
kind: 'plugins';
|
|
117
|
+
list: boolean;
|
|
118
|
+
name?: string;
|
|
114
119
|
} | {
|
|
115
120
|
kind: 'skill-picker';
|
|
116
121
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slashCommands.d.ts","sourceRoot":"","sources":["../../src/tui/slashCommands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slashCommands.d.ts","sourceRoot":"","sources":["../../src/tui/slashCommands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,0BAA0B,CAAA;AAEhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EAEvB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,oBAAoB,CAAA;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EACN,KAAK,cAAc,EAKnB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAmB,KAAK,WAAW,EAAiB,MAAM,2BAA2B,CAAA;AAG5F,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,MAAM,WAAW,GACpB;IACA,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAA;CAClD;AACH,gFAAgF;GAC9E;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;CAAE;AACrE,4DAA4D;GAC1D;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B,eAAe,GACf;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB,+EAA+E;GAC7E;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE;AAC1B,+EAA+E;GAC7E;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC1C,mFAAmF;GACjF;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE;AACpD,oFAAoF;GAClF;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE;AACpB,4EAA4E;GAC1E;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE;AACnD,+CAA+C;GAC7C;IAAE,IAAI,EAAE,wBAAwB,CAAA;CAAE;AACpC,0EAA0E;GACxE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE;AAC9D,gEAAgE;GAC9D;IAAE,IAAI,EAAE,yBAAyB,CAAA;CAAE;AACrC,wEAAwE;GACtE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE;AACpB;;;;;;;GAOG;GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AAClD;;;;;GAKG;GACD;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB,yEAAyE;GACvE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;AACpC,8EAA8E;GAC5E;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACnC;;;;;;;GAOG;GACD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE;AACrB,6EAA6E;GAC3E;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB,4EAA4E;GAC1E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAA;CAAE;AAC9C,uFAAuF;GACrF;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE;AAC3B,6EAA6E;GAC3E;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAClC;;;;;GAKG;GACD;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB;;;;;;GAMG;GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;AAC3C;;;;;;;GAOG;GACD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE;AACjE;;;;;;GAMG;GACD;IACA,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,KAAK,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACZ;AACH;;;;;;;GAOG;GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAClC;;;;;;;;;GASG;GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,KAAK,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnB,iGAAiG;AACjG,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU,CAAA;IAC5C,qEAAqE;IACrE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAE3B,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC7C,qFAAqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IAC9C,oFAAoF;IACpF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IAC9C,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,SAAS;QAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;QAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAC1B,EAAE,CAAA;IACH;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IAChD;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM;QACnB,QAAQ,CAAC,SAAS,EAAE,SAAS;YAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;YACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;SACjC,EAAE,CAAA;QACH,QAAQ,CAAC,MAAM,EAAE,SAAS;YACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;YACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SACvB,EAAE,CAAA;KACH,GAAG,IAAI,CAAA;IACR,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,eAAe,EAAE;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,eAAe,GAAG,SAAS,CAAA;QACnD,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,CAAA;KACvD,CAAA;IACD;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE;QACf,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAA;QACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;QACvB;;;;;;WAMG;QACH,QAAQ,CAAC,OAAO,CAAC,EAAE;YAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;YACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;YAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;YAC1B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;SAC/B,CAAA;KACD,GAAG,IAAI,CAAA;IACR,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE;QACrB,0EAA0E;QAC1E,QAAQ,CAAC,WAAW,EAAE,MAAM;YAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;YAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,CAAA;SACxD,CAAA;QACD,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAA;QAC5C;;;;;;;;;;;WAWG;QACH,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAA;QACvC;;;;;;;;;WASG;QACH,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;KAC/C,CAAA;IACD;;;;;;;;OAQG;IACH,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAA;IAC7C,6FAA6F;IAC7F,QAAQ,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAEhD;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;IAC3C;;;;;;;;;OASG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;CACpD;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,oFAAoF;IACpF,QAAQ,CAAC,IAAI,CAAC,EAAE;QACf,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;QACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KACpC,CAAA;IACD,kFAAkF;IAClF,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,GAAG,SAAS,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,WAAW,CAAA;CAC5E;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC;AAQD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,EACb,YAAY,GAAE,SAAS,WAAW,EAAO;AACzC;;;;;;;GAOG;AACH,QAAQ,GAAE,SAAS,YAAY,EAAuB,GACpD,YAAY,EAAE,CAuBhB;AAED,wEAAwE;AACxE,qBAAa,yBAA0B,SAAQ,KAAK;gBACvC,IAAI,EAAE,MAAM;CAMxB;AAED;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAAiC,CAAA;AAEvF,wBAAgB,iBAAiB,CAChC,WAAW,EAAE,SAAS,uBAAuB,EAAE,EAC/C,MAAM,GAAE,SAAS,YAAY,EAAuB,GAClD,SAAS,YAAY,EAAE,CA2BzB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAsBjE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC/B,WAAW,GAAE,SAAS,uBAAuB,EAA+B,EAC5E,MAAM,GAAE,SAAS,YAAY,EAAuB,GAClD,MAAM,EAAE,CAEV;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,SAAS,uBAAuB,EAAE,CAE7E;AAED,yDAAyD;AACzD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAM3D;AA2DD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,YAAY,EAgmBrD,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAkCtE;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAgBlE;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAmBzE;AA6BD,wBAAgB,aAAa,CAC5B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAC5B,UAAU,EAAE,iBAAiB,GAAG,IAAI,EACpC,OAAO,UAAQ,GACb,MAAM,CA8BR;AAUD,wBAAgB,UAAU,CACzB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAC5B,UAAU,GAAE,iBAAiB,GAAG,IAAW,EAC3C,OAAO,UAAQ,GACb,MAAM,CA0CR;AAED,qEAAqE;AACrE;;;;;;;;;;;;GAYG;AACH;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CA2B/E;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAMnE;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKtD;AAaD,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,UAAQ,GAAG,MAAM,CAevF;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CA0ChE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,UAAQ,GAAG,MAAM,CAuCvE;AAED,wBAAgB,iBAAiB,CAChC,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,EACxC,OAAO,UAAQ,GACb,MAAM,CA8BR;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAwB/D;AAoDD,oEAAoE;AACpE;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAY3D;AAED,wBAAgB,QAAQ,CACvB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,EACjB,QAAQ,GAAE,SAAS,YAAY,EAAuB,GACpD,WAAW,GAAG,IAAI,CA8BpB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { installationRows } from '../installation.js';
|
|
2
|
+
import { runLimitsAction } from './run-limits-settings.js';
|
|
2
3
|
import { statusCard } from './status-card.js';
|
|
3
4
|
/**
|
|
4
5
|
* Slash command registry + parser. Pure logic — no React. Unit-tested.
|
|
@@ -267,17 +268,26 @@ export const CLI_LOCAL_COMMANDS = [
|
|
|
267
268
|
},
|
|
268
269
|
{
|
|
269
270
|
name: 'config',
|
|
270
|
-
description: 'View configuration and
|
|
271
|
-
help: {
|
|
271
|
+
description: 'View configuration and change model, reasoning, permissions and run limits.',
|
|
272
|
+
help: {
|
|
273
|
+
usage: [
|
|
274
|
+
'/config',
|
|
275
|
+
'/config sources',
|
|
276
|
+
'/config limits [tokens|iterations|time] [value]',
|
|
277
|
+
'/config limits unlimited',
|
|
278
|
+
],
|
|
279
|
+
},
|
|
272
280
|
action: (ctx, args) => args.length === 0
|
|
273
281
|
? { kind: 'settings-picker' }
|
|
274
|
-
:
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
: '
|
|
280
|
-
|
|
282
|
+
: args[0] === 'limits'
|
|
283
|
+
? runLimitsAction(args.slice(1))
|
|
284
|
+
: {
|
|
285
|
+
kind: 'message',
|
|
286
|
+
role: 'system',
|
|
287
|
+
content: args.join(' ') === 'sources'
|
|
288
|
+
? renderConfigDebug(ctx.configDebug)
|
|
289
|
+
: 'Usage: /config [sources|limits]',
|
|
290
|
+
},
|
|
281
291
|
},
|
|
282
292
|
{
|
|
283
293
|
name: 'settings',
|
|
@@ -519,6 +529,27 @@ export const CLI_LOCAL_COMMANDS = [
|
|
|
519
529
|
return { kind: 'load-skill', name: choice };
|
|
520
530
|
},
|
|
521
531
|
},
|
|
532
|
+
{
|
|
533
|
+
name: 'plugins',
|
|
534
|
+
description: 'Inspect plugins, change their session state, or remember it after restart.',
|
|
535
|
+
help: {
|
|
536
|
+
usage: ['/plugins', '/plugins list', '/plugins <name>'],
|
|
537
|
+
details: [
|
|
538
|
+
'Choose a plugin to inspect its contributions or change its session state. Changes require an idle session. Use Keep enabled/disabled after restart to remember its state for future sessions and model switches. Plugin loading must first be enabled in configuration.',
|
|
539
|
+
],
|
|
540
|
+
},
|
|
541
|
+
action: (_ctx, args) => args.length > 1
|
|
542
|
+
? {
|
|
543
|
+
kind: 'message',
|
|
544
|
+
role: 'system',
|
|
545
|
+
content: 'Usage: /plugins [list|name]',
|
|
546
|
+
}
|
|
547
|
+
: {
|
|
548
|
+
kind: 'plugins',
|
|
549
|
+
list: args[0] === 'list',
|
|
550
|
+
...(args[0] && args[0] !== 'list' ? { name: args[0] } : {}),
|
|
551
|
+
},
|
|
552
|
+
},
|
|
522
553
|
{
|
|
523
554
|
name: 'resume',
|
|
524
555
|
description: 'Resume a past conversation in this folder.',
|