@evalops/maestro 0.10.47 → 0.10.48
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/README.md +4 -0
- package/dist/audit/logger.d.ts +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +2 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/update.d.ts +12 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +148 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +4 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli-tui/commands/command-catalog.js +2 -2
- package/dist/cli-tui/commands/command-catalog.js.map +1 -1
- package/dist/cli-tui/commands/subcommands/ui-commands.d.ts +1 -1
- package/dist/cli-tui/commands/subcommands/ui-commands.js +2 -2
- package/dist/cli-tui/commands/subcommands/ui-commands.js.map +1 -1
- package/dist/cli-tui/footer.d.ts.map +1 -1
- package/dist/cli-tui/footer.js +1 -1
- package/dist/cli-tui/footer.js.map +1 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +1 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.js +5 -11
- package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +1 -1
- package/dist/cli-tui/tui-renderer.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer.js +1 -1
- package/dist/cli-tui/tui-renderer.js.map +1 -1
- package/dist/cli-tui/ui-state.js +1 -1
- package/dist/cli-tui/ui-state.js.map +1 -1
- package/dist/cli-tui/utils/footer-utils.d.ts +1 -1
- package/dist/cli-tui/utils/footer-utils.d.ts.map +1 -1
- package/dist/cli-tui/utils/footer-utils.js.map +1 -1
- package/dist/cli.js +4072 -3450
- package/dist/cli.js.map +1 -1
- package/dist/codex/app-server-client.d.ts +8 -0
- package/dist/codex/app-server-client.d.ts.map +1 -1
- package/dist/codex/app-server-client.js +49 -3
- package/dist/codex/app-server-client.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +5 -0
- package/dist/main.js.map +1 -1
- package/dist/models/config-loader.d.ts +13 -13
- package/dist/node_modules/@evalops/contracts/dist/scenario.d.ts +2 -0
- package/dist/node_modules/@evalops/contracts/dist/scenario.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/scenario.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/package.json +1 -1
- package/dist/node_modules/@evalops/tui/package.json +1 -1
- package/dist/platform/operating-plane-client.d.ts +3 -3
- package/dist/platform/operating-plane-client.d.ts.map +1 -1
- package/dist/platform/operating-plane-client.js.map +1 -1
- package/dist/platform/operating-plane-summary.js +3 -6
- package/dist/platform/operating-plane-summary.js.map +1 -1
- package/dist/server/agent-trajectory-scenarios.d.ts.map +1 -1
- package/dist/server/agent-trajectory-scenarios.js +29 -6
- package/dist/server/agent-trajectory-scenarios.js.map +1 -1
- package/dist/server/handlers/ui.d.ts.map +1 -1
- package/dist/server/handlers/ui.js +5 -5
- package/dist/server/handlers/ui.js.map +1 -1
- package/dist/server/stores/ui-store.d.ts.map +1 -1
- package/dist/server/stores/ui-store.js +8 -1
- package/dist/server/stores/ui-store.js.map +1 -1
- package/dist/tools/background/task-types.d.ts +1 -1
- package/dist/update/check.d.ts +2 -0
- package/dist/update/check.d.ts.map +1 -1
- package/dist/update/check.js +100 -41
- package/dist/update/check.js.map +1 -1
- package/dist/update/startup-refresh.d.ts +56 -0
- package/dist/update/startup-refresh.d.ts.map +1 -0
- package/dist/update/startup-refresh.js +321 -0
- package/dist/update/startup-refresh.js.map +1 -0
- package/dist/version.json +2 -2
- package/package.json +297 -296
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-catalog.js","sourceRoot":"","sources":["../../../src/cli-tui/commands/command-catalog.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SlashCommand } from \"@evalops/tui\";\nimport type { CommandHandlers } from \"./types.js\";\n\nexport enum CommandMatchKind {\n\tExact = \"exact\",\n\tWithArgs = \"with-args\",\n\tDiagnostics = \"diagnostics\",\n\tQuit = \"quit\",\n}\n\nexport enum CommandCompletionKind {\n\tAccess = \"access\",\n\tHotkeys = \"hotkeys\",\n\tPackage = \"package\",\n\tRunScripts = \"run-scripts\",\n}\n\ntype CommandCatalogRuntimeFields = {\n\thandlerKey: keyof CommandHandlers;\n\tmatchKind: CommandMatchKind;\n\tmatchAliases?: readonly string[];\n\tcompletions?: CommandCompletionKind;\n\trewriteTo?: string;\n};\n\ntype CommandMetadata = Omit<SlashCommand, \"name\" | \"getArgumentCompletions\">;\n\nexport type CommandCatalogEntry = CommandMetadata &\n\tCommandCatalogRuntimeFields & {\n\t\tname: SlashCommand[\"name\"];\n\t};\n\ntype CatalogCommandOptions = Omit<\n\tCommandCatalogRuntimeFields,\n\t\"handlerKey\" | \"matchKind\"\n>;\n\ntype DefineCatalogCommand = (\n\tname: SlashCommand[\"name\"],\n\thandlerKey: keyof CommandHandlers,\n\tmetadata: CommandMetadata,\n\toptions?: CatalogCommandOptions,\n) => CommandCatalogEntry;\n\nfunction defineCommand(\n\tmatchKind: CommandMatchKind,\n\tname: SlashCommand[\"name\"],\n\thandlerKey: keyof CommandHandlers,\n\tmetadata: CommandMetadata,\n\toptions: CatalogCommandOptions = {},\n): CommandCatalogEntry {\n\treturn {\n\t\tname,\n\t\t...metadata,\n\t\thandlerKey,\n\t\tmatchKind,\n\t\t...options,\n\t};\n}\n\nconst exact: DefineCatalogCommand = (name, handlerKey, metadata, options) =>\n\tdefineCommand(CommandMatchKind.Exact, name, handlerKey, metadata, options);\n\nconst withArgs: DefineCatalogCommand = (name, handlerKey, metadata, options) =>\n\tdefineCommand(CommandMatchKind.WithArgs, name, handlerKey, metadata, options);\n\nconst diagnostics: DefineCatalogCommand = (\n\tname,\n\thandlerKey,\n\tmetadata,\n\toptions,\n) =>\n\tdefineCommand(\n\t\tCommandMatchKind.Diagnostics,\n\t\tname,\n\t\thandlerKey,\n\t\tmetadata,\n\t\toptions,\n\t);\n\nconst quit: DefineCatalogCommand = (name, handlerKey, metadata, options) =>\n\tdefineCommand(CommandMatchKind.Quit, name, handlerKey, metadata, options);\n\nexport const PRIMARY_COMMAND_CATALOG: readonly CommandCatalogEntry[] = [\n\twithArgs(\"zen\", \"zen\", {\n\t\tdescription: \"Toggle Zen Mode (hides header, ensures minimal footer)\",\n\t\tusage: \"/zen [on|off]\",\n\t\ttags: [\"ui\"],\n\t\texamples: [\"/zen\", \"/zen on\", \"/zen off\"],\n\t}),\n\texact(\"context\", \"context\", {\n\t\tdescription: \"Visualize context usage (tokens per message/file)\",\n\t\tusage: \"/context\",\n\t\ttags: [\"diagnostics\", \"usage\"],\n\t}),\n\twithArgs(\n\t\t\"access\",\n\t\t\"access\",\n\t\t{\n\t\t\tdescription: \"Directory access rules and path testing\",\n\t\t\tusage: \"/access [safe|restricted|test <path>]\",\n\t\t\ttags: [\"diagnostics\", \"safety\"],\n\t\t\texamples: [\"/access\", \"/access safe\", \"/access test ./logs/output.txt\"],\n\t\t},\n\t\t{ completions: CommandCompletionKind.Access },\n\t),\n\twithArgs(\"pii\", \"pii\", {\n\t\tdescription: \"PII detection patterns and testing\",\n\t\tusage: \"/pii [patterns|test <text>]\",\n\t\ttags: [\"diagnostics\", \"security\"],\n\t\texamples: [\"/pii\", \"/pii patterns\", \"/pii test jane.doe@example.com\"],\n\t}),\n\twithArgs(\"audit\", \"audit\", {\n\t\tdescription: \"Audit log status (enterprise)\",\n\t\tusage: \"/audit [status]\",\n\t\ttags: [\"diagnostics\", \"security\"],\n\t\texamples: [\"/audit\", \"/audit status\"],\n\t}),\n\twithArgs(\"limits\", \"limits\", {\n\t\tdescription: \"Show configurable runtime limits\",\n\t\tusage: \"/limits [all|tool|tui|api|session|runtime|help]\",\n\t\ttags: [\"config\", \"diagnostics\"],\n\t\texamples: [\"/limits\", \"/limits tool\", \"/limits runtime\"],\n\t}),\n\twithArgs(\"approvals\", \"approvals\", {\n\t\tdescription:\n\t\t\t\"Show approval status or switch between auto/prompt/fail modes\",\n\t\tusage: \"/approvals [auto|prompt|fail]\",\n\t\ttags: [\"safety\"],\n\t}),\n\twithArgs(\"plan-mode\", \"planMode\", {\n\t\tdescription: \"Toggle plan mode (ask before write/edit/bash)\",\n\t\tusage: \"/plan-mode [on|off]\",\n\t\ttags: [\"safety\"],\n\t}),\n\twithArgs(\"guardian\", \"guardian\", {\n\t\tdescription:\n\t\t\t\"Run Maestro Guardian (Semgrep + secrets) or toggle enforcement\",\n\t\tusage: \"/guardian [run|status|enable|disable|all]\",\n\t\ttags: [\"safety\", \"git\"],\n\t\texamples: [\"/guardian\", \"/guardian status\", \"/guardian disable\"],\n\t}),\n\twithArgs(\"workflow\", \"workflow\", {\n\t\tdescription: \"Run declarative multi-step tool workflows\",\n\t\tusage: \"/workflow [list|run|validate|show] [name]\",\n\t\ttags: [\"tools\", \"automation\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"subcommand\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Workflow subcommand\",\n\t\t\t\tchoices: [\"list\", \"run\", \"validate\", \"show\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Workflow name\",\n\t\t\t},\n\t\t],\n\t\texamples: [\n\t\t\t\"/workflow\",\n\t\t\t\"/workflow list\",\n\t\t\t\"/workflow run setup-project\",\n\t\t\t\"/workflow validate my-workflow\",\n\t\t\t\"/workflow show my-workflow\",\n\t\t],\n\t}),\n\twithArgs(\"framework\", \"framework\", {\n\t\tdescription:\n\t\t\t\"Set or show default framework (supports --workspace and list)\",\n\t\tusage: \"/framework [id|none|list] [--workspace]\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"commands\", \"commands\", {\n\t\tdescription: \"List or run user commands from .maestro/commands\",\n\t\tusage: \"/commands list | /commands run <name> [k=v]...\",\n\t\ttags: [\"session\", \"automation\"],\n\t}),\n\twithArgs(\"a2a\", \"a2a\", {\n\t\tdescription: \"Pair, inspect, and delegate to A2A peer agents\",\n\t\tusage:\n\t\t\t\"/a2a [accept <code>|fleet|peers|tasks [--work-graph]|coordinate [--work-graph]|delegate <peer> <text>|reply <peer> <task-id> <text>]\",\n\t\ttags: [\"tools\", \"agents\"],\n\t\texamples: [\n\t\t\t\"/a2a fleet\",\n\t\t\t\"/a2a peers\",\n\t\t\t\"/a2a tasks --work-graph\",\n\t\t\t\"/a2a coordinate\",\n\t\t\t\"/a2a coordinate mac-mini --work-graph --reply use the short smoke\",\n\t\t\t\"/a2a delegate mac-mini run workspace smoke\",\n\t\t\t\"/a2a reply mac-mini task-123 use the short smoke\",\n\t\t\t\"/a2a accept maestro-pair-v1.payload.checksum --name mac-mini\",\n\t\t],\n\t}),\n\twithArgs(\"report\", \"report\", {\n\t\tdescription: \"Collect info for bug reports or general feedback\",\n\t\tusage: \"/report [bug|feedback]\",\n\t\ttags: [\"support\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"type\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Select report type\",\n\t\t\t\tchoices: [\"bug\", \"feedback\"],\n\t\t\t},\n\t\t],\n\t\texamples: [\"/report\", \"/report bug\", \"/report feedback\"],\n\t}),\n\twithArgs(\"thinking\", \"thinking\", {\n\t\tdescription: \"Adjust reasoning level for supported models\",\n\t\tusage: \"/thinking [off|minimal|low|medium|high]\",\n\t\ttags: [\"session\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"level\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Thinking level to set\",\n\t\t\t\tchoices: [\"off\", \"minimal\", \"low\", \"medium\", \"high\"],\n\t\t\t},\n\t\t],\n\t\texamples: [\"/thinking\", \"/thinking medium\", \"/thinking off\"],\n\t}),\n\texact(\"model\", \"model\", {\n\t\tdescription: \"Select model (opens selector UI)\",\n\t\tusage: \"/model\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"mode\", \"mode\", {\n\t\tdescription: \"Switch agent mode (smart/rush/free)\",\n\t\tusage: \"/mode [smart|rush|free|list|suggest]\",\n\t\ttags: [\"session\", \"model\"],\n\t\texamples: [\"/mode\", \"/mode smart\", \"/mode rush\", \"/mode free\"],\n\t}),\n\texact(\"theme\", \"theme\", {\n\t\tdescription: \"Select color theme (opens selector with live preview)\",\n\t\tusage: \"/theme\",\n\t\ttags: [\"ui\"],\n\t}),\n\twithArgs(\"clean\", \"clean\", {\n\t\tdescription:\n\t\t\t\"Toggle assistant text deduplication during live streaming only\",\n\t\tusage: \"/clean [off|soft|aggressive]\",\n\t\ttags: [\"ui\"],\n\t\texamples: [\"/clean\", \"/clean soft\", \"/clean off\"],\n\t}),\n\texact(\"new\", \"newChat\", {\n\t\tdescription: \"Start a fresh chat session\",\n\t\tusage: \"/new\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"export\", \"exportSession\", {\n\t\tdescription: \"Export session to HTML, text, JSON, or JSONL\",\n\t\tusage: \"/export [path] [html|text|json|jsonl]\",\n\t\ttags: [\"session\", \"sharing\"],\n\t\taliases: [\"e\"],\n\t}),\n\twithArgs(\"share\", \"shareSession\", {\n\t\tdescription: \"Generate a self-contained HTML share link\",\n\t\tusage: \"/share [output.html]\",\n\t\ttags: [\"session\", \"sharing\"],\n\t}),\n\twithArgs(\"import\", \"importConfig\", {\n\t\tdescription: \"Import configuration or portable session files\",\n\t\tusage: \"/import factory | /import session <file.json|file.jsonl>\",\n\t\ttags: [\"config\"],\n\t}),\n\twithArgs(\"session\", \"session\", {\n\t\tdescription: \"Show session info, mark favorite, or add a manual summary\",\n\t\tusage:\n\t\t\t'/session [info|favorite|unfavorite|summary \"text\"] (defaults: info)',\n\t\ttags: [\"session\"],\n\t\taliases: [\"s\"],\n\t}),\n\twithArgs(\"sessions\", \"sessions\", {\n\t\tdescription: \"List, load, favorite, or summarize recent sessions by index\",\n\t\tusage:\n\t\t\t\"/sessions [list|load <id>|favorite <id>|unfavorite <id>|summarize <id>]\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"history\", \"history\", {\n\t\tdescription: \"Show or search prompt history\",\n\t\tusage: \"/history [count|search query|clear]\",\n\t\ttags: [\"session\"],\n\t\taliases: [\"hist\"],\n\t\texamples: [\"/history\", \"/history 25\", \"/history clear\"],\n\t}),\n\twithArgs(\"branch\", \"branch\", {\n\t\tdescription:\n\t\t\t\"Create a new session from an earlier user message (keeps history up to that point)\",\n\t\tusage: \"/branch [list|<user-message-number>]\",\n\t\ttags: [\"session\"],\n\t}),\n\texact(\"tree\", \"tree\", {\n\t\tdescription: \"Navigate the session tree and switch branches\",\n\t\tusage: \"/tree\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"queue\", \"queue\", {\n\t\tdescription: \"List, cancel, or change queue mode\",\n\t\tusage: \"/queue [list|cancel <id>|mode [steer|followup] <one|all>]\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"steer\", \"steer\", {\n\t\tdescription: \"Interrupt current run and run a prompt next\",\n\t\tusage: \"/steer <message>\",\n\t\ttags: [\"session\"],\n\t\texamples: [\"/steer focus on tests next\"],\n\t}),\n\texact(\"about\", \"about\", {\n\t\tdescription: \"Show Maestro build, env, and git info\",\n\t\tusage: \"/about\",\n\t\ttags: [\"system\", \"diagnostics\"],\n\t}),\n\texact(\"clear\", \"clear\", {\n\t\tdescription: \"Clear context and start a fresh session\",\n\t\tusage: \"/clear\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"plan\", \"plan\", {\n\t\tdescription: \"Show saved plans/checklists\",\n\t\tusage: \"/plan [id]\",\n\t\ttags: [\"planning\"],\n\t\taliases: [\"p\"],\n\t}),\n\twithArgs(\"init\", \"initAgents\", {\n\t\tdescription: \"Create or overwrite AGENTS.md scaffolding for this repo\",\n\t\tusage: \"/init [path]\",\n\t\ttags: [\"config\"],\n\t}),\n\twithArgs(\"diff\", \"preview\", {\n\t\tdescription: \"Show git diff for a file\",\n\t\tusage: \"/diff <path>\",\n\t\ttags: [\"git\"],\n\t}),\n\texact(\"status\", \"status\", {\n\t\tdescription: \"Show health snapshot (model, git, plan, telemetry, training)\",\n\t\tusage: \"/status\",\n\t\ttags: [\"diagnostics\"],\n\t}),\n\twithArgs(\"background\", \"background\", {\n\t\tdescription: \"Configure background task notifications and status redaction\",\n\t\tusage: \"/background [status|notify <on|off>|details <on|off>|history|path]\",\n\t\ttags: [\"diagnostics\"],\n\t\texamples: [\n\t\t\t\"/background\",\n\t\t\t\"/background notify on\",\n\t\t\t\"/background details on\",\n\t\t\t\"/background history\",\n\t\t\t\"/background path\",\n\t\t],\n\t}),\n\texact(\"review\", \"review\", {\n\t\tdescription: \"Summarize git status and diff stats\",\n\t\tusage: \"/review\",\n\t\ttags: [\"git\"],\n\t}),\n\twithArgs(\"undo\", \"undoChanges\", {\n\t\tdescription: \"Undo last N file changes (beyond git) with preview\",\n\t\tusage: \"/undo [N] [--preview] [--force]\",\n\t\ttags: [\"undo\", \"safety\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"count\",\n\t\t\t\ttype: \"number\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Number of changes to undo (default: 1)\",\n\t\t\t},\n\t\t],\n\t\texamples: [\"/undo\", \"/undo 3\", \"/undo --preview\", \"/undo 2 --force\"],\n\t}),\n\twithArgs(\"changes\", \"changes\", {\n\t\tdescription: \"List tracked file changes from this session\",\n\t\tusage: \"/changes [--files|--tools]\",\n\t\ttags: [\"undo\", \"diagnostics\"],\n\t\texamples: [\"/changes\", \"/changes --files\", \"/changes --tools\"],\n\t}),\n\twithArgs(\"checkpoint\", \"checkpoint\", {\n\t\tdescription: \"Save/restore named checkpoints for rollback\",\n\t\tusage: \"/checkpoint [save|list|restore] [name]\",\n\t\ttags: [\"undo\", \"safety\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"subcommand\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Checkpoint subcommand\",\n\t\t\t\tchoices: [\"save\", \"list\", \"restore\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Checkpoint name\",\n\t\t\t},\n\t\t],\n\t\texamples: [\n\t\t\t\"/checkpoint\",\n\t\t\t\"/checkpoint save before-refactor\",\n\t\t\t\"/checkpoint list\",\n\t\t\t\"/checkpoint restore before-refactor\",\n\t\t],\n\t}),\n\twithArgs(\"memory\", \"memory\", {\n\t\tdescription: \"Cross-session and repo-scoped memory for facts and learnings\",\n\t\tusage:\n\t\t\t\"/memory [save|search|list|session|recent|team|delete|stats|export|import|clear]\",\n\t\ttags: [\"memory\", \"session\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"subcommand\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Memory subcommand\",\n\t\t\t\tchoices: [\n\t\t\t\t\t\"save\",\n\t\t\t\t\t\"search\",\n\t\t\t\t\t\"list\",\n\t\t\t\t\t\"session\",\n\t\t\t\t\t\"recent\",\n\t\t\t\t\t\"team\",\n\t\t\t\t\t\"delete\",\n\t\t\t\t\t\"stats\",\n\t\t\t\t\t\"export\",\n\t\t\t\t\t\"import\",\n\t\t\t\t\t\"clear\",\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\texamples: [\n\t\t\t\"/memory\",\n\t\t\t\"/memory save api-design Use REST conventions #rest\",\n\t\t\t\"/memory search REST\",\n\t\t\t\"/memory search REST --session\",\n\t\t\t\"/memory list\",\n\t\t\t\"/memory list api-design\",\n\t\t\t\"/memory session 5\",\n\t\t\t\"/memory team\",\n\t\t\t\"/memory team init\",\n\t\t\t\"/memory stats\",\n\t\t],\n\t}),\n\twithArgs(\"mention\", \"mention\", {\n\t\tdescription: \"Search files to mention (same as @ search)\",\n\t\tusage: \"/mention <query>\",\n\t\ttags: [\"search\"],\n\t}),\n\twithArgs(\n\t\t\"run\",\n\t\t\"run\",\n\t\t{\n\t\t\tdescription: \"Run npm script (e.g. /run test --watch)\",\n\t\t\tusage: \"/run <script> [--flags]\",\n\t\t\ttags: [\"automation\"],\n\t\t\taliases: [\"r\"],\n\t\t},\n\t\t{ completions: CommandCompletionKind.RunScripts },\n\t),\n\twithArgs(\"ollama\", \"ollama\", {\n\t\tdescription: \"Control local Ollama models (list, pull, ps)\",\n\t\tusage: \"/ollama [list|pull <model>|ps]\",\n\t\ttags: [\"local\", \"models\"],\n\t\texamples: [\"/ollama list\", \"/ollama pull llama3\", \"/ollama ps\"],\n\t}),\n\texact(\"help\", \"help\", {\n\t\tdescription: \"List available slash commands\",\n\t\tusage: \"/help\",\n\t\ttags: [\"support\"],\n\t\taliases: [\"h\"],\n\t}),\n\texact(\"update\", \"update\", {\n\t\tdescription: \"Check for Maestro CLI updates\",\n\t\tusage: \"/update\",\n\t\ttags: [\"system\"],\n\t}),\n\texact(\"changelog\", \"changelog\", {\n\t\tdescription: \"Display full version history\",\n\t\tusage: \"/changelog\",\n\t\ttags: [\"system\"],\n\t}),\n\twithArgs(\n\t\t\"hotkeys\",\n\t\t\"hotkeys\",\n\t\t{\n\t\t\tdescription: \"Show or manage keyboard shortcuts\",\n\t\t\tusage: \"/hotkeys [show|path|init|validate]\",\n\t\t\ttags: [\"help\", \"config\"],\n\t\t\taliases: [\"keys\", \"shortcuts\"],\n\t\t\texamples: [\n\t\t\t\t\"/hotkeys\",\n\t\t\t\t\"/hotkeys path\",\n\t\t\t\t\"/hotkeys init\",\n\t\t\t\t\"/hotkeys validate\",\n\t\t\t],\n\t\t},\n\t\t{ completions: CommandCompletionKind.Hotkeys },\n\t),\n\twithArgs(\n\t\t\"package\",\n\t\t\"package\",\n\t\t{\n\t\t\tdescription:\n\t\t\t\t\"Manage, inspect, or validate Maestro package/plugin bundles\",\n\t\t\tusage:\n\t\t\t\t\"/package [add|remove|prune-cache|refresh|list|inspect|validate] [source] [--scope ...]\",\n\t\t\ttags: [\"tools\", \"config\"],\n\t\t\taliases: [\"plugin\"],\n\t\t\texamples: [\n\t\t\t\t\"/package add ./packages/my-pack\",\n\t\t\t\t\"/package list\",\n\t\t\t\t\"/package remove ./packages/my-pack\",\n\t\t\t\t\"/package prune-cache\",\n\t\t\t\t\"/package refresh git:github.com/org/my-pack@main\",\n\t\t\t\t\"/package refresh --all\",\n\t\t\t\t\"/package inspect ./packages/my-pack\",\n\t\t\t\t\"/package validate ./packages/my-pack\",\n\t\t\t\t\"/plugin ./packages/my-pack\",\n\t\t\t],\n\t\t},\n\t\t{ completions: CommandCompletionKind.Package },\n\t),\n\twithArgs(\"telemetry\", \"telemetry\", {\n\t\tdescription: \"Show telemetry status or toggle runtime overrides\",\n\t\tusage: \"/telemetry [status|on|off|reset]\",\n\t\ttags: [\"diagnostics\", \"telemetry\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"action\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Action to perform\",\n\t\t\t\tchoices: [\"status\", \"on\", \"off\", \"reset\"],\n\t\t\t},\n\t\t],\n\t\texamples: [\"/telemetry\", \"/telemetry off\"],\n\t}),\n\texact(\"otel\", \"otel\", {\n\t\tdescription: \"Show OpenTelemetry runtime configuration\",\n\t\tusage: \"/otel\",\n\t\ttags: [\"diagnostics\", \"telemetry\"],\n\t}),\n\twithArgs(\"training\", \"training\", {\n\t\tdescription: \"Toggle model training preference or show status\",\n\t\tusage: \"/training [status|on|off|reset]\",\n\t\ttags: [\"privacy\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"action\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Training action\",\n\t\t\t\tchoices: [\"status\", \"on\", \"off\", \"reset\"],\n\t\t\t},\n\t\t],\n\t\texamples: [\"/training\", \"/training off\"],\n\t}),\n\texact(\"config\", \"config\", {\n\t\tdescription: \"Validate and inspect Maestro configuration\",\n\t\tusage: \"/config [summary|sources|providers|env|files|help]\",\n\t\ttags: [\"config\"],\n\t\texamples: [\"/config\", \"/config sources\"],\n\t}),\n\twithArgs(\"cost\", \"cost\", {\n\t\tdescription: \"Show usage and cost summary\",\n\t\tusage: \"/cost [period|breakdown <period>|clear|help]\",\n\t\ttags: [\"usage\"],\n\t\texamples: [\"/cost\", \"/cost breakdown week\"],\n\t}),\n\twithArgs(\"quota\", \"quota\", {\n\t\tdescription: \"Show token quota status and usage limits\",\n\t\tusage: \"/quota [detailed|models|alerts|limit <tokens>|help]\",\n\t\ttags: [\"usage\"],\n\t\texamples: [\n\t\t\t\"/quota\",\n\t\t\t\"/quota detailed\",\n\t\t\t\"/quota models\",\n\t\t\t\"/quota limit 100000\",\n\t\t],\n\t}),\n\texact(\"stats\", \"stats\", {\n\t\tdescription: \"Show combined status and cost overview\",\n\t\tusage: \"/stats\",\n\t\ttags: [\"diagnostics\", \"usage\"],\n\t}),\n\tdiagnostics(\"diag\", \"diagnostics\", {\n\t\tdescription: \"Show provider/model/API key diagnostics\",\n\t\tusage: \"/diag [lsp|keys]\",\n\t\ttags: [\"diagnostics\"],\n\t\taliases: [\"d\", \"diagnostics\"],\n\t}),\n\twithArgs(\"mcp\", \"mcp\", {\n\t\tdescription:\n\t\t\t\"Show or manage Model Context Protocol servers and auth presets\",\n\t\tusage:\n\t\t\t\"/mcp [add|edit|remove|approve|deny|search|import|auth|resources|prompts]\",\n\t\ttags: [\"tools\"],\n\t\texamples: [\n\t\t\t\"/mcp\",\n\t\t\t\"/mcp search linear\",\n\t\t\t\"/mcp import linear\",\n\t\t\t\"/mcp approve linear\",\n\t\t\t\"/mcp auth add linear-auth --header 'Authorization: Bearer ...'\",\n\t\t\t\"/mcp add linear https://mcp.linear.app/mcp\",\n\t\t\t\"/mcp add linear https://mcp.linear.app/mcp --auth-preset linear-auth\",\n\t\t\t\"/mcp edit linear https://mcp.linear.app/mcp --header 'Authorization: Bearer ...'\",\n\t\t\t\"/mcp remove linear\",\n\t\t\t\"/mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem .\",\n\t\t],\n\t}),\n\twithArgs(\"lsp\", \"lsp\", {\n\t\tdescription: \"Manage Language Server Protocol servers\",\n\t\tusage: \"/lsp [status|start|stop|restart|detect]\",\n\t\ttags: [\"tools\", \"diagnostics\"],\n\t\texamples: [\n\t\t\t\"/lsp\",\n\t\t\t\"/lsp status\",\n\t\t\t\"/lsp start\",\n\t\t\t\"/lsp stop\",\n\t\t\t\"/lsp restart\",\n\t\t\t\"/lsp detect\",\n\t\t],\n\t}),\n\twithArgs(\"composer\", \"composer\", {\n\t\tdescription: \"Manage custom composer configurations\",\n\t\tusage: \"/composer [list|<name>|activate <name>|deactivate]\",\n\t\ttags: [\"config\"],\n\t\texamples: [\n\t\t\t\"/composer\",\n\t\t\t\"/composer list\",\n\t\t\t\"/composer code-reviewer\",\n\t\t\t\"/composer activate code-reviewer\",\n\t\t\t\"/composer deactivate\",\n\t\t],\n\t}),\n\twithArgs(\"prompts\", \"prompts\", {\n\t\tdescription:\n\t\t\t\"List/run prompt templates from markdown files (~/.maestro/prompts/, .maestro/prompts/).\",\n\t\tusage: \"/prompts [list|<name> [args]]\",\n\t\ttags: [\"automation\", \"session\"],\n\t\texamples: [\n\t\t\t\"/prompts\",\n\t\t\t\"/prompts list\",\n\t\t\t\"/prompts review FILE=src/main.ts\",\n\t\t\t\"/pr-review FILE=src/main.ts\",\n\t\t\t'/prompts ticket TICKET_ID=123 TITLE=\"Fix bug\"',\n\t\t],\n\t}),\n\twithArgs(\"compact\", \"compact\", {\n\t\tdescription: \"Summarize older messages to reclaim context\",\n\t\tusage: \"/compact [custom instructions]\",\n\t\ttags: [\"planning\"],\n\t\texamples: [\n\t\t\t\"/compact\",\n\t\t\t\"/compact Focus on the API changes\",\n\t\t\t\"/compact Emphasize database migrations\",\n\t\t],\n\t}),\n\twithArgs(\"autocompact\", \"autocompact\", {\n\t\tdescription: \"Toggle or configure auto-compaction\",\n\t\tusage: \"/autocompact [on|off|status]\",\n\t\ttags: [\"planning\"],\n\t\texamples: [\n\t\t\t\"/autocompact\",\n\t\t\t\"/autocompact on\",\n\t\t\t\"/autocompact off\",\n\t\t\t\"/autocompact status\",\n\t\t],\n\t}),\n\twithArgs(\"footer\", \"footer\", {\n\t\tdescription: \"Switch footer style or view/clear footer alerts\",\n\t\tusage: \"/footer [ensemble|solo|history|clear]\",\n\t\ttags: [\"ui\"],\n\t\texamples: [\"/footer\", \"/footer solo\", \"/footer history\", \"/footer clear\"],\n\t}),\n\twithArgs(\n\t\t\"alerts\",\n\t\t\"footer\",\n\t\t{\n\t\t\tdescription: \"Alias for footer alerts (history|clear)\",\n\t\t\tusage: \"/alerts [history|clear]\",\n\t\t\ttags: [\"ui\"],\n\t\t\texamples: [\"/alerts history\", \"/alerts clear\"],\n\t\t},\n\t\t{ rewriteTo: \"footer\" },\n\t),\n\twithArgs(\"compact-tools\", \"compactTools\", {\n\t\tdescription: \"Toggle folding of tool outputs\",\n\t\tusage: \"/compact-tools [on|off]\",\n\t\ttags: [\"tools\"],\n\t}),\n\twithArgs(\"login\", \"login\", {\n\t\tdescription: \"Authenticate with OpenAI Codex by default\",\n\t\tusage: \"/login [provider]\",\n\t\ttags: [\"auth\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"provider\",\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"OAuth provider (openai-codex by default)\",\n\t\t\t},\n\t\t],\n\t\texamples: [\n\t\t\t\"/login\",\n\t\t\t\"/login openai-codex\",\n\t\t\t\"/login openai-codex:responses\",\n\t\t\t\"/login openai\",\n\t\t],\n\t}),\n\twithArgs(\"logout\", \"logout\", {\n\t\tdescription: \"Remove stored OAuth credentials\",\n\t\tusage: \"/logout [provider]\",\n\t\ttags: [\"auth\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"provider\",\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"OAuth provider to logout from (optional)\",\n\t\t\t},\n\t\t],\n\t\texamples: [\"/logout\", \"/logout openai-codex\"],\n\t}),\n\tquit(\"quit\", \"quit\", {\n\t\tdescription: \"Exit composer (same as ctrl+c twice)\",\n\t\tusage: \"/quit\",\n\t\ttags: [\"system\"],\n\t\taliases: [\"q\", \"exit\"],\n\t}),\n\texact(\"copy\", \"copy\", {\n\t\tdescription: \"Copy last assistant message to clipboard\",\n\t\tusage: \"/copy\",\n\t\ttags: [\"session\"],\n\t}),\n];\n\nexport const POST_SUITE_COMMAND_CATALOG: readonly CommandCatalogEntry[] = [\n\twithArgs(\"toolhistory\", \"toolHistory\", {\n\t\tdescription: \"Show tool execution history and stats\",\n\t\tusage: \"/toolhistory [count|stats|clear|tool <name>]\",\n\t\ttags: [\"tools\"],\n\t\taliases: [\"th\"],\n\t\texamples: [\"/toolhistory\", \"/toolhistory stats\", \"/toolhistory read\"],\n\t}),\n\twithArgs(\"skills\", \"skills\", {\n\t\tdescription: \"List or manage skills from SKILL.md\",\n\t\tusage: \"/skills [list|activate|deactivate|reload|info] [skill-name]\",\n\t\ttags: [\"tools\"],\n\t\taliases: [\"skill\"],\n\t\texamples: [\"/skills\", \"/skills info my-skill\", \"/skills activate my-skill\"],\n\t}),\n];\n"]}
|
|
1
|
+
{"version":3,"file":"command-catalog.js","sourceRoot":"","sources":["../../../src/cli-tui/commands/command-catalog.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SlashCommand } from \"@evalops/tui\";\nimport type { CommandHandlers } from \"./types.js\";\n\nexport enum CommandMatchKind {\n\tExact = \"exact\",\n\tWithArgs = \"with-args\",\n\tDiagnostics = \"diagnostics\",\n\tQuit = \"quit\",\n}\n\nexport enum CommandCompletionKind {\n\tAccess = \"access\",\n\tHotkeys = \"hotkeys\",\n\tPackage = \"package\",\n\tRunScripts = \"run-scripts\",\n}\n\ntype CommandCatalogRuntimeFields = {\n\thandlerKey: keyof CommandHandlers;\n\tmatchKind: CommandMatchKind;\n\tmatchAliases?: readonly string[];\n\tcompletions?: CommandCompletionKind;\n\trewriteTo?: string;\n};\n\ntype CommandMetadata = Omit<SlashCommand, \"name\" | \"getArgumentCompletions\">;\n\nexport type CommandCatalogEntry = CommandMetadata &\n\tCommandCatalogRuntimeFields & {\n\t\tname: SlashCommand[\"name\"];\n\t};\n\ntype CatalogCommandOptions = Omit<\n\tCommandCatalogRuntimeFields,\n\t\"handlerKey\" | \"matchKind\"\n>;\n\ntype DefineCatalogCommand = (\n\tname: SlashCommand[\"name\"],\n\thandlerKey: keyof CommandHandlers,\n\tmetadata: CommandMetadata,\n\toptions?: CatalogCommandOptions,\n) => CommandCatalogEntry;\n\nfunction defineCommand(\n\tmatchKind: CommandMatchKind,\n\tname: SlashCommand[\"name\"],\n\thandlerKey: keyof CommandHandlers,\n\tmetadata: CommandMetadata,\n\toptions: CatalogCommandOptions = {},\n): CommandCatalogEntry {\n\treturn {\n\t\tname,\n\t\t...metadata,\n\t\thandlerKey,\n\t\tmatchKind,\n\t\t...options,\n\t};\n}\n\nconst exact: DefineCatalogCommand = (name, handlerKey, metadata, options) =>\n\tdefineCommand(CommandMatchKind.Exact, name, handlerKey, metadata, options);\n\nconst withArgs: DefineCatalogCommand = (name, handlerKey, metadata, options) =>\n\tdefineCommand(CommandMatchKind.WithArgs, name, handlerKey, metadata, options);\n\nconst diagnostics: DefineCatalogCommand = (\n\tname,\n\thandlerKey,\n\tmetadata,\n\toptions,\n) =>\n\tdefineCommand(\n\t\tCommandMatchKind.Diagnostics,\n\t\tname,\n\t\thandlerKey,\n\t\tmetadata,\n\t\toptions,\n\t);\n\nconst quit: DefineCatalogCommand = (name, handlerKey, metadata, options) =>\n\tdefineCommand(CommandMatchKind.Quit, name, handlerKey, metadata, options);\n\nexport const PRIMARY_COMMAND_CATALOG: readonly CommandCatalogEntry[] = [\n\twithArgs(\"zen\", \"zen\", {\n\t\tdescription: \"Toggle Zen Mode (hides header, ensures minimal footer)\",\n\t\tusage: \"/zen [on|off]\",\n\t\ttags: [\"ui\"],\n\t\texamples: [\"/zen\", \"/zen on\", \"/zen off\"],\n\t}),\n\texact(\"context\", \"context\", {\n\t\tdescription: \"Visualize context usage (tokens per message/file)\",\n\t\tusage: \"/context\",\n\t\ttags: [\"diagnostics\", \"usage\"],\n\t}),\n\twithArgs(\n\t\t\"access\",\n\t\t\"access\",\n\t\t{\n\t\t\tdescription: \"Directory access rules and path testing\",\n\t\t\tusage: \"/access [safe|restricted|test <path>]\",\n\t\t\ttags: [\"diagnostics\", \"safety\"],\n\t\t\texamples: [\"/access\", \"/access safe\", \"/access test ./logs/output.txt\"],\n\t\t},\n\t\t{ completions: CommandCompletionKind.Access },\n\t),\n\twithArgs(\"pii\", \"pii\", {\n\t\tdescription: \"PII detection patterns and testing\",\n\t\tusage: \"/pii [patterns|test <text>]\",\n\t\ttags: [\"diagnostics\", \"security\"],\n\t\texamples: [\"/pii\", \"/pii patterns\", \"/pii test jane.doe@example.com\"],\n\t}),\n\twithArgs(\"audit\", \"audit\", {\n\t\tdescription: \"Audit log status (enterprise)\",\n\t\tusage: \"/audit [status]\",\n\t\ttags: [\"diagnostics\", \"security\"],\n\t\texamples: [\"/audit\", \"/audit status\"],\n\t}),\n\twithArgs(\"limits\", \"limits\", {\n\t\tdescription: \"Show configurable runtime limits\",\n\t\tusage: \"/limits [all|tool|tui|api|session|runtime|help]\",\n\t\ttags: [\"config\", \"diagnostics\"],\n\t\texamples: [\"/limits\", \"/limits tool\", \"/limits runtime\"],\n\t}),\n\twithArgs(\"approvals\", \"approvals\", {\n\t\tdescription:\n\t\t\t\"Show approval status or switch between auto/prompt/fail modes\",\n\t\tusage: \"/approvals [auto|prompt|fail]\",\n\t\ttags: [\"safety\"],\n\t}),\n\twithArgs(\"plan-mode\", \"planMode\", {\n\t\tdescription: \"Toggle plan mode (ask before write/edit/bash)\",\n\t\tusage: \"/plan-mode [on|off]\",\n\t\ttags: [\"safety\"],\n\t}),\n\twithArgs(\"guardian\", \"guardian\", {\n\t\tdescription:\n\t\t\t\"Run Maestro Guardian (Semgrep + secrets) or toggle enforcement\",\n\t\tusage: \"/guardian [run|status|enable|disable|all]\",\n\t\ttags: [\"safety\", \"git\"],\n\t\texamples: [\"/guardian\", \"/guardian status\", \"/guardian disable\"],\n\t}),\n\twithArgs(\"workflow\", \"workflow\", {\n\t\tdescription: \"Run declarative multi-step tool workflows\",\n\t\tusage: \"/workflow [list|run|validate|show] [name]\",\n\t\ttags: [\"tools\", \"automation\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"subcommand\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Workflow subcommand\",\n\t\t\t\tchoices: [\"list\", \"run\", \"validate\", \"show\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Workflow name\",\n\t\t\t},\n\t\t],\n\t\texamples: [\n\t\t\t\"/workflow\",\n\t\t\t\"/workflow list\",\n\t\t\t\"/workflow run setup-project\",\n\t\t\t\"/workflow validate my-workflow\",\n\t\t\t\"/workflow show my-workflow\",\n\t\t],\n\t}),\n\twithArgs(\"framework\", \"framework\", {\n\t\tdescription:\n\t\t\t\"Set or show default framework (supports --workspace and list)\",\n\t\tusage: \"/framework [id|none|list] [--workspace]\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"commands\", \"commands\", {\n\t\tdescription: \"List or run user commands from .maestro/commands\",\n\t\tusage: \"/commands list | /commands run <name> [k=v]...\",\n\t\ttags: [\"session\", \"automation\"],\n\t}),\n\twithArgs(\"a2a\", \"a2a\", {\n\t\tdescription: \"Pair, inspect, and delegate to A2A peer agents\",\n\t\tusage:\n\t\t\t\"/a2a [accept <code>|fleet|peers|tasks [--work-graph]|coordinate [--work-graph]|delegate <peer> <text>|reply <peer> <task-id> <text>]\",\n\t\ttags: [\"tools\", \"agents\"],\n\t\texamples: [\n\t\t\t\"/a2a fleet\",\n\t\t\t\"/a2a peers\",\n\t\t\t\"/a2a tasks --work-graph\",\n\t\t\t\"/a2a coordinate\",\n\t\t\t\"/a2a coordinate mac-mini --work-graph --reply use the short smoke\",\n\t\t\t\"/a2a delegate mac-mini run workspace smoke\",\n\t\t\t\"/a2a reply mac-mini task-123 use the short smoke\",\n\t\t\t\"/a2a accept maestro-pair-v1.payload.checksum --name mac-mini\",\n\t\t],\n\t}),\n\twithArgs(\"report\", \"report\", {\n\t\tdescription: \"Collect info for bug reports or general feedback\",\n\t\tusage: \"/report [bug|feedback]\",\n\t\ttags: [\"support\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"type\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Select report type\",\n\t\t\t\tchoices: [\"bug\", \"feedback\"],\n\t\t\t},\n\t\t],\n\t\texamples: [\"/report\", \"/report bug\", \"/report feedback\"],\n\t}),\n\twithArgs(\"thinking\", \"thinking\", {\n\t\tdescription: \"Adjust reasoning level for supported models\",\n\t\tusage: \"/thinking [off|minimal|low|medium|high]\",\n\t\ttags: [\"session\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"level\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Thinking level to set\",\n\t\t\t\tchoices: [\"off\", \"minimal\", \"low\", \"medium\", \"high\"],\n\t\t\t},\n\t\t],\n\t\texamples: [\"/thinking\", \"/thinking medium\", \"/thinking off\"],\n\t}),\n\texact(\"model\", \"model\", {\n\t\tdescription: \"Select model (opens selector UI)\",\n\t\tusage: \"/model\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"mode\", \"mode\", {\n\t\tdescription: \"Switch agent mode (smart/rush/free)\",\n\t\tusage: \"/mode [smart|rush|free|list|suggest]\",\n\t\ttags: [\"session\", \"model\"],\n\t\texamples: [\"/mode\", \"/mode smart\", \"/mode rush\", \"/mode free\"],\n\t}),\n\texact(\"theme\", \"theme\", {\n\t\tdescription: \"Select color theme (opens selector with live preview)\",\n\t\tusage: \"/theme\",\n\t\ttags: [\"ui\"],\n\t}),\n\twithArgs(\"clean\", \"clean\", {\n\t\tdescription:\n\t\t\t\"Toggle assistant text deduplication during live streaming only\",\n\t\tusage: \"/clean [off|soft|aggressive]\",\n\t\ttags: [\"ui\"],\n\t\texamples: [\"/clean\", \"/clean soft\", \"/clean off\"],\n\t}),\n\texact(\"new\", \"newChat\", {\n\t\tdescription: \"Start a fresh chat session\",\n\t\tusage: \"/new\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"export\", \"exportSession\", {\n\t\tdescription: \"Export session to HTML, text, JSON, or JSONL\",\n\t\tusage: \"/export [path] [html|text|json|jsonl]\",\n\t\ttags: [\"session\", \"sharing\"],\n\t\taliases: [\"e\"],\n\t}),\n\twithArgs(\"share\", \"shareSession\", {\n\t\tdescription: \"Generate a self-contained HTML share link\",\n\t\tusage: \"/share [output.html]\",\n\t\ttags: [\"session\", \"sharing\"],\n\t}),\n\twithArgs(\"import\", \"importConfig\", {\n\t\tdescription: \"Import configuration or portable session files\",\n\t\tusage: \"/import factory | /import session <file.json|file.jsonl>\",\n\t\ttags: [\"config\"],\n\t}),\n\twithArgs(\"session\", \"session\", {\n\t\tdescription: \"Show session info, mark favorite, or add a manual summary\",\n\t\tusage:\n\t\t\t'/session [info|favorite|unfavorite|summary \"text\"] (defaults: info)',\n\t\ttags: [\"session\"],\n\t\taliases: [\"s\"],\n\t}),\n\twithArgs(\"sessions\", \"sessions\", {\n\t\tdescription: \"List, load, favorite, or summarize recent sessions by index\",\n\t\tusage:\n\t\t\t\"/sessions [list|load <id>|favorite <id>|unfavorite <id>|summarize <id>]\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"history\", \"history\", {\n\t\tdescription: \"Show or search prompt history\",\n\t\tusage: \"/history [count|search query|clear]\",\n\t\ttags: [\"session\"],\n\t\taliases: [\"hist\"],\n\t\texamples: [\"/history\", \"/history 25\", \"/history clear\"],\n\t}),\n\twithArgs(\"branch\", \"branch\", {\n\t\tdescription:\n\t\t\t\"Create a new session from an earlier user message (keeps history up to that point)\",\n\t\tusage: \"/branch [list|<user-message-number>]\",\n\t\ttags: [\"session\"],\n\t}),\n\texact(\"tree\", \"tree\", {\n\t\tdescription: \"Navigate the session tree and switch branches\",\n\t\tusage: \"/tree\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"queue\", \"queue\", {\n\t\tdescription: \"List, cancel, or change queue mode\",\n\t\tusage: \"/queue [list|cancel <id>|mode [steer|followup] <one|all>]\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"steer\", \"steer\", {\n\t\tdescription: \"Interrupt current run and run a prompt next\",\n\t\tusage: \"/steer <message>\",\n\t\ttags: [\"session\"],\n\t\texamples: [\"/steer focus on tests next\"],\n\t}),\n\texact(\"about\", \"about\", {\n\t\tdescription: \"Show Maestro build, env, and git info\",\n\t\tusage: \"/about\",\n\t\ttags: [\"system\", \"diagnostics\"],\n\t}),\n\texact(\"clear\", \"clear\", {\n\t\tdescription: \"Clear context and start a fresh session\",\n\t\tusage: \"/clear\",\n\t\ttags: [\"session\"],\n\t}),\n\twithArgs(\"plan\", \"plan\", {\n\t\tdescription: \"Show saved plans/checklists\",\n\t\tusage: \"/plan [id]\",\n\t\ttags: [\"planning\"],\n\t\taliases: [\"p\"],\n\t}),\n\twithArgs(\"init\", \"initAgents\", {\n\t\tdescription: \"Create or overwrite AGENTS.md scaffolding for this repo\",\n\t\tusage: \"/init [path]\",\n\t\ttags: [\"config\"],\n\t}),\n\twithArgs(\"diff\", \"preview\", {\n\t\tdescription: \"Show git diff for a file\",\n\t\tusage: \"/diff <path>\",\n\t\ttags: [\"git\"],\n\t}),\n\texact(\"status\", \"status\", {\n\t\tdescription: \"Show health snapshot (model, git, plan, telemetry, training)\",\n\t\tusage: \"/status\",\n\t\ttags: [\"diagnostics\"],\n\t}),\n\twithArgs(\"background\", \"background\", {\n\t\tdescription: \"Configure background task notifications and status redaction\",\n\t\tusage: \"/background [status|notify <on|off>|details <on|off>|history|path]\",\n\t\ttags: [\"diagnostics\"],\n\t\texamples: [\n\t\t\t\"/background\",\n\t\t\t\"/background notify on\",\n\t\t\t\"/background details on\",\n\t\t\t\"/background history\",\n\t\t\t\"/background path\",\n\t\t],\n\t}),\n\texact(\"review\", \"review\", {\n\t\tdescription: \"Summarize git status and diff stats\",\n\t\tusage: \"/review\",\n\t\ttags: [\"git\"],\n\t}),\n\twithArgs(\"undo\", \"undoChanges\", {\n\t\tdescription: \"Undo last N file changes (beyond git) with preview\",\n\t\tusage: \"/undo [N] [--preview] [--force]\",\n\t\ttags: [\"undo\", \"safety\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"count\",\n\t\t\t\ttype: \"number\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Number of changes to undo (default: 1)\",\n\t\t\t},\n\t\t],\n\t\texamples: [\"/undo\", \"/undo 3\", \"/undo --preview\", \"/undo 2 --force\"],\n\t}),\n\twithArgs(\"changes\", \"changes\", {\n\t\tdescription: \"List tracked file changes from this session\",\n\t\tusage: \"/changes [--files|--tools]\",\n\t\ttags: [\"undo\", \"diagnostics\"],\n\t\texamples: [\"/changes\", \"/changes --files\", \"/changes --tools\"],\n\t}),\n\twithArgs(\"checkpoint\", \"checkpoint\", {\n\t\tdescription: \"Save/restore named checkpoints for rollback\",\n\t\tusage: \"/checkpoint [save|list|restore] [name]\",\n\t\ttags: [\"undo\", \"safety\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"subcommand\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Checkpoint subcommand\",\n\t\t\t\tchoices: [\"save\", \"list\", \"restore\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"name\",\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Checkpoint name\",\n\t\t\t},\n\t\t],\n\t\texamples: [\n\t\t\t\"/checkpoint\",\n\t\t\t\"/checkpoint save before-refactor\",\n\t\t\t\"/checkpoint list\",\n\t\t\t\"/checkpoint restore before-refactor\",\n\t\t],\n\t}),\n\twithArgs(\"memory\", \"memory\", {\n\t\tdescription: \"Cross-session and repo-scoped memory for facts and learnings\",\n\t\tusage:\n\t\t\t\"/memory [save|search|list|session|recent|team|delete|stats|export|import|clear]\",\n\t\ttags: [\"memory\", \"session\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"subcommand\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Memory subcommand\",\n\t\t\t\tchoices: [\n\t\t\t\t\t\"save\",\n\t\t\t\t\t\"search\",\n\t\t\t\t\t\"list\",\n\t\t\t\t\t\"session\",\n\t\t\t\t\t\"recent\",\n\t\t\t\t\t\"team\",\n\t\t\t\t\t\"delete\",\n\t\t\t\t\t\"stats\",\n\t\t\t\t\t\"export\",\n\t\t\t\t\t\"import\",\n\t\t\t\t\t\"clear\",\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\texamples: [\n\t\t\t\"/memory\",\n\t\t\t\"/memory save api-design Use REST conventions #rest\",\n\t\t\t\"/memory search REST\",\n\t\t\t\"/memory search REST --session\",\n\t\t\t\"/memory list\",\n\t\t\t\"/memory list api-design\",\n\t\t\t\"/memory session 5\",\n\t\t\t\"/memory team\",\n\t\t\t\"/memory team init\",\n\t\t\t\"/memory stats\",\n\t\t],\n\t}),\n\twithArgs(\"mention\", \"mention\", {\n\t\tdescription: \"Search files to mention (same as @ search)\",\n\t\tusage: \"/mention <query>\",\n\t\ttags: [\"search\"],\n\t}),\n\twithArgs(\n\t\t\"run\",\n\t\t\"run\",\n\t\t{\n\t\t\tdescription: \"Run npm script (e.g. /run test --watch)\",\n\t\t\tusage: \"/run <script> [--flags]\",\n\t\t\ttags: [\"automation\"],\n\t\t\taliases: [\"r\"],\n\t\t},\n\t\t{ completions: CommandCompletionKind.RunScripts },\n\t),\n\twithArgs(\"ollama\", \"ollama\", {\n\t\tdescription: \"Control local Ollama models (list, pull, ps)\",\n\t\tusage: \"/ollama [list|pull <model>|ps]\",\n\t\ttags: [\"local\", \"models\"],\n\t\texamples: [\"/ollama list\", \"/ollama pull llama3\", \"/ollama ps\"],\n\t}),\n\texact(\"help\", \"help\", {\n\t\tdescription: \"List available slash commands\",\n\t\tusage: \"/help\",\n\t\ttags: [\"support\"],\n\t\taliases: [\"h\"],\n\t}),\n\texact(\"update\", \"update\", {\n\t\tdescription: \"Check for Maestro CLI updates\",\n\t\tusage: \"/update\",\n\t\ttags: [\"system\"],\n\t}),\n\texact(\"changelog\", \"changelog\", {\n\t\tdescription: \"Display full version history\",\n\t\tusage: \"/changelog\",\n\t\ttags: [\"system\"],\n\t}),\n\twithArgs(\n\t\t\"hotkeys\",\n\t\t\"hotkeys\",\n\t\t{\n\t\t\tdescription: \"Show or manage keyboard shortcuts\",\n\t\t\tusage: \"/hotkeys [show|path|init|validate]\",\n\t\t\ttags: [\"help\", \"config\"],\n\t\t\taliases: [\"keys\", \"shortcuts\"],\n\t\t\texamples: [\n\t\t\t\t\"/hotkeys\",\n\t\t\t\t\"/hotkeys path\",\n\t\t\t\t\"/hotkeys init\",\n\t\t\t\t\"/hotkeys validate\",\n\t\t\t],\n\t\t},\n\t\t{ completions: CommandCompletionKind.Hotkeys },\n\t),\n\twithArgs(\n\t\t\"package\",\n\t\t\"package\",\n\t\t{\n\t\t\tdescription:\n\t\t\t\t\"Manage, inspect, or validate Maestro package/plugin bundles\",\n\t\t\tusage:\n\t\t\t\t\"/package [add|remove|prune-cache|refresh|list|inspect|validate] [source] [--scope ...]\",\n\t\t\ttags: [\"tools\", \"config\"],\n\t\t\taliases: [\"plugin\"],\n\t\t\texamples: [\n\t\t\t\t\"/package add ./packages/my-pack\",\n\t\t\t\t\"/package list\",\n\t\t\t\t\"/package remove ./packages/my-pack\",\n\t\t\t\t\"/package prune-cache\",\n\t\t\t\t\"/package refresh git:github.com/org/my-pack@main\",\n\t\t\t\t\"/package refresh --all\",\n\t\t\t\t\"/package inspect ./packages/my-pack\",\n\t\t\t\t\"/package validate ./packages/my-pack\",\n\t\t\t\t\"/plugin ./packages/my-pack\",\n\t\t\t],\n\t\t},\n\t\t{ completions: CommandCompletionKind.Package },\n\t),\n\twithArgs(\"telemetry\", \"telemetry\", {\n\t\tdescription: \"Show telemetry status or toggle runtime overrides\",\n\t\tusage: \"/telemetry [status|on|off|reset]\",\n\t\ttags: [\"diagnostics\", \"telemetry\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"action\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Action to perform\",\n\t\t\t\tchoices: [\"status\", \"on\", \"off\", \"reset\"],\n\t\t\t},\n\t\t],\n\t\texamples: [\"/telemetry\", \"/telemetry off\"],\n\t}),\n\texact(\"otel\", \"otel\", {\n\t\tdescription: \"Show OpenTelemetry runtime configuration\",\n\t\tusage: \"/otel\",\n\t\ttags: [\"diagnostics\", \"telemetry\"],\n\t}),\n\twithArgs(\"training\", \"training\", {\n\t\tdescription: \"Toggle model training preference or show status\",\n\t\tusage: \"/training [status|on|off|reset]\",\n\t\ttags: [\"privacy\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"action\",\n\t\t\t\ttype: \"enum\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"Training action\",\n\t\t\t\tchoices: [\"status\", \"on\", \"off\", \"reset\"],\n\t\t\t},\n\t\t],\n\t\texamples: [\"/training\", \"/training off\"],\n\t}),\n\texact(\"config\", \"config\", {\n\t\tdescription: \"Validate and inspect Maestro configuration\",\n\t\tusage: \"/config [summary|sources|providers|env|files|help]\",\n\t\ttags: [\"config\"],\n\t\texamples: [\"/config\", \"/config sources\"],\n\t}),\n\twithArgs(\"cost\", \"cost\", {\n\t\tdescription: \"Show usage and cost summary\",\n\t\tusage: \"/cost [period|breakdown <period>|clear|help]\",\n\t\ttags: [\"usage\"],\n\t\texamples: [\"/cost\", \"/cost breakdown week\"],\n\t}),\n\twithArgs(\"quota\", \"quota\", {\n\t\tdescription: \"Show token quota status and usage limits\",\n\t\tusage: \"/quota [detailed|models|alerts|limit <tokens>|help]\",\n\t\ttags: [\"usage\"],\n\t\texamples: [\n\t\t\t\"/quota\",\n\t\t\t\"/quota detailed\",\n\t\t\t\"/quota models\",\n\t\t\t\"/quota limit 100000\",\n\t\t],\n\t}),\n\texact(\"stats\", \"stats\", {\n\t\tdescription: \"Show combined status and cost overview\",\n\t\tusage: \"/stats\",\n\t\ttags: [\"diagnostics\", \"usage\"],\n\t}),\n\tdiagnostics(\"diag\", \"diagnostics\", {\n\t\tdescription: \"Show provider/model/API key diagnostics\",\n\t\tusage: \"/diag [lsp|keys]\",\n\t\ttags: [\"diagnostics\"],\n\t\taliases: [\"d\", \"diagnostics\"],\n\t}),\n\twithArgs(\"mcp\", \"mcp\", {\n\t\tdescription:\n\t\t\t\"Show or manage Model Context Protocol servers and auth presets\",\n\t\tusage:\n\t\t\t\"/mcp [add|edit|remove|approve|deny|search|import|auth|resources|prompts]\",\n\t\ttags: [\"tools\"],\n\t\texamples: [\n\t\t\t\"/mcp\",\n\t\t\t\"/mcp search linear\",\n\t\t\t\"/mcp import linear\",\n\t\t\t\"/mcp approve linear\",\n\t\t\t\"/mcp auth add linear-auth --header 'Authorization: Bearer ...'\",\n\t\t\t\"/mcp add linear https://mcp.linear.app/mcp\",\n\t\t\t\"/mcp add linear https://mcp.linear.app/mcp --auth-preset linear-auth\",\n\t\t\t\"/mcp edit linear https://mcp.linear.app/mcp --header 'Authorization: Bearer ...'\",\n\t\t\t\"/mcp remove linear\",\n\t\t\t\"/mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem .\",\n\t\t],\n\t}),\n\twithArgs(\"lsp\", \"lsp\", {\n\t\tdescription: \"Manage Language Server Protocol servers\",\n\t\tusage: \"/lsp [status|start|stop|restart|detect]\",\n\t\ttags: [\"tools\", \"diagnostics\"],\n\t\texamples: [\n\t\t\t\"/lsp\",\n\t\t\t\"/lsp status\",\n\t\t\t\"/lsp start\",\n\t\t\t\"/lsp stop\",\n\t\t\t\"/lsp restart\",\n\t\t\t\"/lsp detect\",\n\t\t],\n\t}),\n\twithArgs(\"composer\", \"composer\", {\n\t\tdescription: \"Manage custom composer configurations\",\n\t\tusage: \"/composer [list|<name>|activate <name>|deactivate]\",\n\t\ttags: [\"config\"],\n\t\texamples: [\n\t\t\t\"/composer\",\n\t\t\t\"/composer list\",\n\t\t\t\"/composer code-reviewer\",\n\t\t\t\"/composer activate code-reviewer\",\n\t\t\t\"/composer deactivate\",\n\t\t],\n\t}),\n\twithArgs(\"prompts\", \"prompts\", {\n\t\tdescription:\n\t\t\t\"List/run prompt templates from markdown files (~/.maestro/prompts/, .maestro/prompts/).\",\n\t\tusage: \"/prompts [list|<name> [args]]\",\n\t\ttags: [\"automation\", \"session\"],\n\t\texamples: [\n\t\t\t\"/prompts\",\n\t\t\t\"/prompts list\",\n\t\t\t\"/prompts review FILE=src/main.ts\",\n\t\t\t\"/pr-review FILE=src/main.ts\",\n\t\t\t'/prompts ticket TICKET_ID=123 TITLE=\"Fix bug\"',\n\t\t],\n\t}),\n\twithArgs(\"compact\", \"compact\", {\n\t\tdescription: \"Summarize older messages to reclaim context\",\n\t\tusage: \"/compact [custom instructions]\",\n\t\ttags: [\"planning\"],\n\t\texamples: [\n\t\t\t\"/compact\",\n\t\t\t\"/compact Focus on the API changes\",\n\t\t\t\"/compact Emphasize database migrations\",\n\t\t],\n\t}),\n\twithArgs(\"autocompact\", \"autocompact\", {\n\t\tdescription: \"Toggle or configure auto-compaction\",\n\t\tusage: \"/autocompact [on|off|status]\",\n\t\ttags: [\"planning\"],\n\t\texamples: [\n\t\t\t\"/autocompact\",\n\t\t\t\"/autocompact on\",\n\t\t\t\"/autocompact off\",\n\t\t\t\"/autocompact status\",\n\t\t],\n\t}),\n\twithArgs(\"footer\", \"footer\", {\n\t\tdescription: \"Switch footer style or view/clear footer alerts\",\n\t\tusage: \"/footer [rich|solo|history|clear]\",\n\t\ttags: [\"ui\"],\n\t\texamples: [\"/footer\", \"/footer rich\", \"/footer solo\", \"/footer history\"],\n\t}),\n\twithArgs(\n\t\t\"alerts\",\n\t\t\"footer\",\n\t\t{\n\t\t\tdescription: \"Alias for footer alerts (history|clear)\",\n\t\t\tusage: \"/alerts [history|clear]\",\n\t\t\ttags: [\"ui\"],\n\t\t\texamples: [\"/alerts history\", \"/alerts clear\"],\n\t\t},\n\t\t{ rewriteTo: \"footer\" },\n\t),\n\twithArgs(\"compact-tools\", \"compactTools\", {\n\t\tdescription: \"Toggle folding of tool outputs\",\n\t\tusage: \"/compact-tools [on|off]\",\n\t\ttags: [\"tools\"],\n\t}),\n\twithArgs(\"login\", \"login\", {\n\t\tdescription: \"Authenticate with OpenAI Codex by default\",\n\t\tusage: \"/login [provider]\",\n\t\ttags: [\"auth\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"provider\",\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"OAuth provider (openai-codex by default)\",\n\t\t\t},\n\t\t],\n\t\texamples: [\n\t\t\t\"/login\",\n\t\t\t\"/login openai-codex\",\n\t\t\t\"/login openai-codex:responses\",\n\t\t\t\"/login openai\",\n\t\t],\n\t}),\n\twithArgs(\"logout\", \"logout\", {\n\t\tdescription: \"Remove stored OAuth credentials\",\n\t\tusage: \"/logout [provider]\",\n\t\ttags: [\"auth\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"provider\",\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription: \"OAuth provider to logout from (optional)\",\n\t\t\t},\n\t\t],\n\t\texamples: [\"/logout\", \"/logout openai-codex\"],\n\t}),\n\tquit(\"quit\", \"quit\", {\n\t\tdescription: \"Exit composer (same as ctrl+c twice)\",\n\t\tusage: \"/quit\",\n\t\ttags: [\"system\"],\n\t\taliases: [\"q\", \"exit\"],\n\t}),\n\texact(\"copy\", \"copy\", {\n\t\tdescription: \"Copy last assistant message to clipboard\",\n\t\tusage: \"/copy\",\n\t\ttags: [\"session\"],\n\t}),\n];\n\nexport const POST_SUITE_COMMAND_CATALOG: readonly CommandCatalogEntry[] = [\n\twithArgs(\"toolhistory\", \"toolHistory\", {\n\t\tdescription: \"Show tool execution history and stats\",\n\t\tusage: \"/toolhistory [count|stats|clear|tool <name>]\",\n\t\ttags: [\"tools\"],\n\t\taliases: [\"th\"],\n\t\texamples: [\"/toolhistory\", \"/toolhistory stats\", \"/toolhistory read\"],\n\t}),\n\twithArgs(\"skills\", \"skills\", {\n\t\tdescription: \"List or manage skills from SKILL.md\",\n\t\tusage: \"/skills [list|activate|deactivate|reload|info] [skill-name]\",\n\t\ttags: [\"tools\"],\n\t\taliases: [\"skill\"],\n\t\texamples: [\"/skills\", \"/skills info my-skill\", \"/skills activate my-skill\"],\n\t}),\n];\n"]}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* /ui - Show current UI settings
|
|
8
8
|
* /ui theme - Open theme selector
|
|
9
9
|
* /ui clean [mode] - Toggle text deduplication (off|soft|aggressive)
|
|
10
|
-
* /ui footer [mode] - Footer style (
|
|
10
|
+
* /ui footer [mode] - Footer style (rich|solo|history|clear)
|
|
11
11
|
* /ui alerts [cmd] - Alert management (history|clear)
|
|
12
12
|
* /ui zen [on|off] - Toggle zen mode
|
|
13
13
|
* /ui compact [on|off] - Toggle tool output folding
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* /ui - Show current UI settings
|
|
8
8
|
* /ui theme - Open theme selector
|
|
9
9
|
* /ui clean [mode] - Toggle text deduplication (off|soft|aggressive)
|
|
10
|
-
* /ui footer [mode] - Footer style (
|
|
10
|
+
* /ui footer [mode] - Footer style (rich|solo|history|clear)
|
|
11
11
|
* /ui alerts [cmd] - Alert management (history|clear)
|
|
12
12
|
* /ui zen [on|off] - Toggle zen mode
|
|
13
13
|
* /ui compact [on|off] - Toggle tool output folding
|
|
@@ -64,7 +64,7 @@ function showUiHelp(ctx) {
|
|
|
64
64
|
/ui Show current UI settings
|
|
65
65
|
/ui theme Open theme selector
|
|
66
66
|
/ui clean [mode] Text deduplication (off|soft|aggressive)
|
|
67
|
-
/ui footer [mode] Footer style (
|
|
67
|
+
/ui footer [mode] Footer style (rich|solo)
|
|
68
68
|
/ui alerts [cmd] Alerts (history|clear)
|
|
69
69
|
/ui zen [on|off] Toggle zen mode
|
|
70
70
|
/ui compact [on|off] Toggle tool output folding
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-commands.js","sourceRoot":"","sources":["../../../../src/cli-tui/commands/subcommands/ui-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAgBrD,MAAM,UAAU,sBAAsB,CAAC,IAAmB;IACzD,OAAO,uBAAuB,CAAC;QAC9B,iBAAiB,EAAE,QAAQ;QAC3B,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE;YACP;gBACC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACzB,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC;aAC7C;YACD;gBACC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;gBACnC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAC/B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD;gBACC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;gBACzB,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAC/B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD;gBACC,KAAK,EAAE,CAAC,QAAQ,CAAC;gBACjB,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAC/B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;aAC5C;YACD;gBACC,KAAK,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAClC,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAChD,IAAI,CAAC,YAAY,CAChB,aAAa,CACZ,WAAW,gBAAgB,IAAI,SAAS,EAAE,EAC1C,gBAAgB,IAAI,SAAS,CAC7B,CACD;aACF;YACD;gBACC,KAAK,EAAE,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aACtE;YACD;gBACC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC1B,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAC/B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;aACzD;SACD;KACD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAA4B,EAAE,IAAmB;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAChC,GAAG,CAAC,QAAQ,CAAC;cACA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBAC1B,KAAK,CAAC,SAAS;YACnB,KAAK,CAAC,UAAU;mBACT,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;;uCAEb,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,GAA4B;IAC/C,GAAG,CAAC,QAAQ,CAAC;;;;;;;;;mDASqC,CAAC,CAAC;AACrD,CAAC","sourcesContent":["/**\n * Consolidated /ui command handler.\n *\n * Combines: /theme, /clean, /footer, /alerts, /zen, /compact-tools\n *\n * Usage:\n * /ui - Show current UI settings\n * /ui theme - Open theme selector\n * /ui clean [mode] - Toggle text deduplication (off|soft|aggressive)\n * /ui footer [mode] - Footer style (
|
|
1
|
+
{"version":3,"file":"ui-commands.js","sourceRoot":"","sources":["../../../../src/cli-tui/commands/subcommands/ui-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAgBrD,MAAM,UAAU,sBAAsB,CAAC,IAAmB;IACzD,OAAO,uBAAuB,CAAC;QAC9B,iBAAiB,EAAE,QAAQ;QAC3B,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE;YACP;gBACC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACzB,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC;aAC7C;YACD;gBACC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;gBACnC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAC/B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD;gBACC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;gBACzB,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAC/B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD;gBACC,KAAK,EAAE,CAAC,QAAQ,CAAC;gBACjB,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAC/B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;aAC5C;YACD;gBACC,KAAK,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAClC,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAChD,IAAI,CAAC,YAAY,CAChB,aAAa,CACZ,WAAW,gBAAgB,IAAI,SAAS,EAAE,EAC1C,gBAAgB,IAAI,SAAS,CAC7B,CACD;aACF;YACD;gBACC,KAAK,EAAE,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aACtE;YACD;gBACC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC1B,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAC/B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;aACzD;SACD;KACD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAA4B,EAAE,IAAmB;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAChC,GAAG,CAAC,QAAQ,CAAC;cACA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBAC1B,KAAK,CAAC,SAAS;YACnB,KAAK,CAAC,UAAU;mBACT,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;;uCAEb,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,GAA4B;IAC/C,GAAG,CAAC,QAAQ,CAAC;;;;;;;;;mDASqC,CAAC,CAAC;AACrD,CAAC","sourcesContent":["/**\n * Consolidated /ui command handler.\n *\n * Combines: /theme, /clean, /footer, /alerts, /zen, /compact-tools\n *\n * Usage:\n * /ui - Show current UI settings\n * /ui theme - Open theme selector\n * /ui clean [mode] - Toggle text deduplication (off|soft|aggressive)\n * /ui footer [mode] - Footer style (rich|solo|history|clear)\n * /ui alerts [cmd] - Alert management (history|clear)\n * /ui zen [on|off] - Toggle zen mode\n * /ui compact [on|off] - Toggle tool output folding\n */\n\nimport type { CommandExecutionContext } from \"../types.js\";\nimport { createSubcommandHandler } from \"./utils.js\";\n\nexport interface UiCommandDeps {\n\thandleTheme: (ctx: CommandExecutionContext) => void;\n\thandleClean: (ctx: CommandExecutionContext) => void;\n\thandleFooter: (ctx: CommandExecutionContext) => void;\n\thandleZen: (ctx: CommandExecutionContext) => void;\n\thandleCompactTools: (ctx: CommandExecutionContext) => void;\n\tgetUiState: () => {\n\t\tzenMode: boolean;\n\t\tcleanMode: string;\n\t\tfooterMode: string;\n\t\tcompactTools: boolean;\n\t};\n}\n\nexport function createUiCommandHandler(deps: UiCommandDeps) {\n\treturn createSubcommandHandler({\n\t\tdefaultSubcommand: \"status\",\n\t\tshowHelp: showUiHelp,\n\t\troutes: [\n\t\t\t{\n\t\t\t\tmatch: [\"status\", \"info\"],\n\t\t\t\texecute: ({ ctx }) => showUiStatus(ctx, deps),\n\t\t\t},\n\t\t\t{\n\t\t\t\tmatch: [\"theme\", \"color\", \"colors\"],\n\t\t\t\texecute: ({ rewriteContext }) =>\n\t\t\t\t\tdeps.handleTheme(rewriteContext(\"theme\")),\n\t\t\t},\n\t\t\t{\n\t\t\t\tmatch: [\"clean\", \"dedup\"],\n\t\t\t\texecute: ({ rewriteContext }) =>\n\t\t\t\t\tdeps.handleClean(rewriteContext(\"clean\")),\n\t\t\t},\n\t\t\t{\n\t\t\t\tmatch: [\"footer\"],\n\t\t\t\texecute: ({ rewriteContext }) =>\n\t\t\t\t\tdeps.handleFooter(rewriteContext(\"footer\")),\n\t\t\t},\n\t\t\t{\n\t\t\t\tmatch: [\"alerts\", \"notifications\"],\n\t\t\t\texecute: ({ customContext, restArgumentText }) =>\n\t\t\t\t\tdeps.handleFooter(\n\t\t\t\t\t\tcustomContext(\n\t\t\t\t\t\t\t`/footer ${restArgumentText || \"history\"}`,\n\t\t\t\t\t\t\trestArgumentText || \"history\",\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tmatch: [\"zen\"],\n\t\t\t\texecute: ({ rewriteContext }) => deps.handleZen(rewriteContext(\"zen\")),\n\t\t\t},\n\t\t\t{\n\t\t\t\tmatch: [\"compact\", \"fold\"],\n\t\t\t\texecute: ({ rewriteContext }) =>\n\t\t\t\t\tdeps.handleCompactTools(rewriteContext(\"compact-tools\")),\n\t\t\t},\n\t\t],\n\t});\n}\n\nfunction showUiStatus(ctx: CommandExecutionContext, deps: UiCommandDeps): void {\n\tconst state = deps.getUiState();\n\tctx.showInfo(`UI Settings:\n Zen Mode: ${state.zenMode ? \"on\" : \"off\"}\n Clean Mode: ${state.cleanMode}\n Footer: ${state.footerMode}\n Compact Tools: ${state.compactTools ? \"on\" : \"off\"}\n\nUse /ui <setting> to change a setting.`);\n}\n\nfunction showUiHelp(ctx: CommandExecutionContext): void {\n\tctx.showInfo(`UI Commands:\n /ui Show current UI settings\n /ui theme Open theme selector\n /ui clean [mode] Text deduplication (off|soft|aggressive)\n /ui footer [mode] Footer style (rich|solo)\n /ui alerts [cmd] Alerts (history|clear)\n /ui zen [on|off] Toggle zen mode\n /ui compact [on|off] Toggle tool output folding\n\nDirect shortcuts still work: /theme, /zen, /footer`);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../src/cli-tui/footer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACN,gBAAgB,EAUhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACX,UAAU,EACV,UAAU,EAEV,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEpE,UAAU,WAAW;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;CACf;AAMD;;GAEG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAwC;gBAG5D,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE,
|
|
1
|
+
{"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../src/cli-tui/footer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACN,gBAAgB,EAUhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACX,UAAU,EACV,UAAU,EAEV,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEpE,UAAU,WAAW;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;CACf;AAMD;;GAEG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAwC;gBAG5D,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE,UAAmB,EACzB,gBAAgB,mBAAyB;IAO1C,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIpC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAIxC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIpC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IASlC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI;IAInC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI/B,UAAU,IAAI,IAAI;IAIlB,QAAQ,CACP,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,EAC5C,UAAU,CAAC,EAAE,MAAM,GACjB,IAAI;IAcP,OAAO,CAAC,oBAAoB;IAiB5B,UAAU,IAAI,IAAI;IAMlB,eAAe,CAAC,KAAK,SAAI,GAAG,WAAW,EAAE;IAKzC,mBAAmB,IAAI,MAAM;IAI7B,eAAe,IAAI,IAAI;IAIvB,WAAW,IAAI,IAAI;IAKnB,cAAc,IAAI,WAAW,GAAG,IAAI;IAIpC,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;IAarB;;;OAGG;IACH,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAStD,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI/B,OAAO,IAAI,UAAU;IAIrB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAqE/B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,gBAAgB;CAQxB"}
|
package/dist/cli-tui/footer.js
CHANGED
|
@@ -6,7 +6,7 @@ import { GitBranchTracker, buildBrandLine, buildHorizontalRule, buildPathAndStat
|
|
|
6
6
|
* Footer component that shows pwd, token stats, and context usage
|
|
7
7
|
*/
|
|
8
8
|
export class FooterComponent {
|
|
9
|
-
constructor(state, mode = "
|
|
9
|
+
constructor(state, mode = "rich", gitBranchTracker = new GitBranchTracker()) {
|
|
10
10
|
this.activeStage = null;
|
|
11
11
|
this.hints = [];
|
|
12
12
|
this.runtimeBadges = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/cli-tui/footer.ts"],"names":[],"mappings":"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","sourcesContent":["import { visibleWidth } from \"@evalops/tui\";\nimport chalk from \"chalk\";\nimport type { AgentState } from \"../agent/types.js\";\nimport { theme } from \"../theme/theme.js\";\nimport {\n\tGitBranchTracker,\n\tbuildBadgeAndPathLine,\n\tbuildBrandLine,\n\tbuildHorizontalRule,\n\tbuildPathAndStatsLine,\n\tbuildSoloStatsLine,\n\tbuildStatsLine,\n\tcalculateFooterStats,\n\tformatPathWithBranch,\n\tmergeHints,\n} from \"./utils/footer-utils.js\";\nimport type {\n\tFooterHint,\n\tFooterMode,\n\tFooterStats,\n} from \"./utils/footer-utils.js\";\n\n// Re-export FooterHint for external use\nexport type { FooterHint, HintType } from \"./utils/footer-utils.js\";\n\ninterface FooterToast {\n\tmessage: string;\n\ttone: \"info\" | \"warn\" | \"success\" | \"danger\";\n\texpiry: number;\n}\n\ninterface ToastQueueItem extends FooterToast {\n\tid: number;\n}\n\n/**\n * Footer component that shows pwd, token stats, and context usage\n */\nexport class FooterComponent {\n\tprivate state: AgentState;\n\tprivate activeStage: string | null = null;\n\tprivate hints: FooterHint[] = [];\n\tprivate runtimeBadges: string[] = [];\n\tprivate mode: FooterMode;\n\tprivate activeToast: FooterToast | null = null;\n\tprivate toastQueue: ToastQueueItem[] = [];\n\tprivate nextToastId = 1;\n\tprivate unseenAlertCount = 0;\n\tprivate gitBranchTracker: GitBranchTracker;\n\tprivate currentBranch: string | null | undefined = undefined;\n\n\tconstructor(\n\t\tstate: AgentState,\n\t\tmode: FooterMode = \"ensemble\",\n\t\tgitBranchTracker = new GitBranchTracker(),\n\t) {\n\t\tthis.state = state;\n\t\tthis.mode = mode;\n\t\tthis.gitBranchTracker = gitBranchTracker;\n\t}\n\n\tupdateState(state: AgentState): void {\n\t\tthis.state = state;\n\t}\n\n\tsetRuntimeBadges(badges: string[]): void {\n\t\tthis.runtimeBadges = badges;\n\t}\n\n\tsetStage(stage: string | null): void {\n\t\tthis.activeStage = stage;\n\t}\n\n\tsetHint(hint: string | null): void {\n\t\t// Legacy method - convert single hint to hints array\n\t\tif (hint) {\n\t\t\tthis.hints = [{ type: \"custom\", message: hint, priority: 150 }];\n\t\t} else {\n\t\t\tthis.hints = [];\n\t\t}\n\t}\n\n\tsetHints(hints: FooterHint[]): void {\n\t\tthis.hints = hints;\n\t}\n\n\taddHint(hint: FooterHint): void {\n\t\tthis.hints.push(hint);\n\t}\n\n\tclearHints(): void {\n\t\tthis.hints = [];\n\t}\n\n\tsetToast(\n\t\tmessage: string,\n\t\ttone: \"info\" | \"warn\" | \"success\" | \"danger\",\n\t\tdurationMs?: number,\n\t): void {\n\t\tconst toast: ToastQueueItem = {\n\t\t\tid: this.nextToastId++,\n\t\t\tmessage,\n\t\t\ttone,\n\t\t\texpiry: Date.now() + this.resolveToastDuration(tone, durationMs),\n\t\t};\n\t\tthis.enqueueToast(toast);\n\t\tthis.dequeueToast();\n\t\tif (tone === \"danger\" || tone === \"warn\") {\n\t\t\tthis.unseenAlertCount += 1;\n\t\t}\n\t}\n\n\tprivate resolveToastDuration(\n\t\ttone: \"info\" | \"warn\" | \"success\" | \"danger\",\n\t\toverride?: number,\n\t): number {\n\t\tif (override && override > 0) return override;\n\t\tswitch (tone) {\n\t\t\tcase \"danger\":\n\t\t\t\treturn 8000;\n\t\t\tcase \"warn\":\n\t\t\t\treturn 6000;\n\t\t\tcase \"success\":\n\t\t\t\treturn 4500;\n\t\t\tdefault:\n\t\t\t\treturn 4000;\n\t\t}\n\t}\n\n\tclearToast(): void {\n\t\tthis.activeToast = null;\n\t\tthis.toastQueue = [];\n\t\tthis.unseenAlertCount = 0;\n\t}\n\n\tgetToastHistory(limit = 5): FooterToast[] {\n\t\tconst active = this.activeToast ? [this.activeToast] : [];\n\t\treturn [...active, ...this.toastQueue].slice(0, limit);\n\t}\n\n\tgetUnseenAlertCount(): number {\n\t\treturn this.unseenAlertCount;\n\t}\n\n\tclearAlertCount(): void {\n\t\tthis.unseenAlertCount = 0;\n\t}\n\n\tclearAlerts(): void {\n\t\tthis.clearToast();\n\t\tthis.unseenAlertCount = 0;\n\t}\n\n\tgetActiveToast(): FooterToast | null {\n\t\treturn this.activeToast;\n\t}\n\n\tprivate enqueueToast(toast: ToastQueueItem): void {\n\t\tconst priority = this.toastPriority(toast.tone);\n\t\tlet inserted = false;\n\t\tfor (let i = 0; i < this.toastQueue.length; i++) {\n\t\t\tif (priority > this.toastPriority(this.toastQueue[i]!.tone)) {\n\t\t\t\tthis.toastQueue.splice(i, 0, toast);\n\t\t\t\tinserted = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!inserted) {\n\t\t\tthis.toastQueue.push(toast);\n\t\t}\n\t}\n\n\tprivate dequeueToast(): void {\n\t\tif (this.activeToast) return;\n\t\tconst next = this.toastQueue.shift();\n\t\tif (next) {\n\t\t\tthis.activeToast = next;\n\t\t}\n\t}\n\n\tprivate toastPriority(tone: FooterToast[\"tone\"]): number {\n\t\tswitch (tone) {\n\t\t\tcase \"danger\":\n\t\t\t\treturn 4;\n\t\t\tcase \"warn\":\n\t\t\t\treturn 3;\n\t\t\tcase \"success\":\n\t\t\t\treturn 2;\n\t\t\tdefault:\n\t\t\t\treturn 1;\n\t\t}\n\t}\n\n\t/**\n\t * Begin watching for git branch changes and invoke a callback when the\n\t * branch changes so the UI can re-render.\n\t */\n\tstartBranchTracking(onBranchChange?: () => void): void {\n\t\tthis.currentBranch = this.gitBranchTracker.getCurrentBranch();\n\t\tthis.gitBranchTracker.watchBranch(() => {\n\t\t\tthis.gitBranchTracker.invalidate();\n\t\t\tthis.currentBranch = this.gitBranchTracker.getCurrentBranch();\n\t\t\tonBranchChange?.();\n\t\t});\n\t}\n\n\tdispose(): void {\n\t\tthis.gitBranchTracker.dispose();\n\t}\n\n\tsetMode(mode: FooterMode): void {\n\t\tthis.mode = mode;\n\t}\n\n\tgetMode(): FooterMode {\n\t\treturn this.mode;\n\t}\n\n\trender(width: number): string[] {\n\t\t// Refresh branch cache if needed\n\t\tif (this.currentBranch === undefined) {\n\t\t\tthis.currentBranch = this.gitBranchTracker.getCurrentBranch();\n\t\t}\n\t\tconst branch = this.currentBranch ?? null;\n\n\t\t// Check for expired toast\n\t\tif (this.activeToast && Date.now() > this.activeToast.expiry) {\n\t\t\tthis.activeToast = null;\n\t\t}\n\n\t\tconst stats = calculateFooterStats(this.state);\n\t\tif (this.mode === \"solo\") {\n\t\t\treturn this.renderSoloFooter(stats, width);\n\t\t}\n\n\t\t// New footer layout with horizontal rules\n\t\tconst rule = buildHorizontalRule(width);\n\t\tconst brandLine = buildBrandLine(width, this.state);\n\t\tconst pathStatsLine = buildPathAndStatsLine(\n\t\t\tprocess.cwd(),\n\t\t\tstats,\n\t\t\twidth,\n\t\t\tbranch,\n\t\t\tthis.activeStage,\n\t\t);\n\n\t\tconst lines = [rule, brandLine, rule, pathStatsLine];\n\n\t\t// Render Toast if active, otherwise Hints\n\t\tif (this.activeToast) {\n\t\t\tconst { message, tone } = this.activeToast;\n\t\t\tlet coloredMessage: string;\n\t\t\tlet prefix = \"\";\n\n\t\t\tswitch (tone) {\n\t\t\t\tcase \"info\":\n\t\t\t\t\tprefix = theme.fg(\"accent\", \"ℹ \");\n\t\t\t\t\tcoloredMessage = theme.fg(\"text\", message);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"warn\":\n\t\t\t\t\tprefix = theme.fg(\"warning\", \"⚠ \");\n\t\t\t\t\tcoloredMessage = theme.fg(\"warning\", message);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"success\":\n\t\t\t\t\tprefix = theme.fg(\"success\", \"✔ \");\n\t\t\t\t\tcoloredMessage = theme.fg(\"success\", message);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"danger\":\n\t\t\t\t\tprefix = theme.fg(\"error\", \"✖ \");\n\t\t\t\t\tcoloredMessage = theme.fg(\"error\", message);\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst fullMessage = `${prefix}${coloredMessage}`;\n\t\t\tlines.push(this.truncateToWidth(fullMessage, width));\n\t\t} else {\n\t\t\t// Use new multi-hint system\n\t\t\tconst mergedHint = mergeHints(stats, this.hints, width);\n\t\t\tif (mergedHint) {\n\t\t\t\tconst truncated = this.truncateToWidth(mergedHint, width);\n\t\t\t\tlines.push(chalk.hex(\"#94a3b8\")(truncated));\n\t\t\t}\n\t\t}\n\n\t\treturn lines;\n\t}\n\n\tprivate truncateToWidth(text: string, width: number): string {\n\t\tif (width <= 0) return \"\";\n\t\tif (visibleWidth(text) <= width) return text;\n\t\tif (width === 1) return text.slice(0, 1);\n\t\tlet result = text;\n\t\twhile (visibleWidth(result) > width - 1 && result.length > 0) {\n\t\t\tresult = result.slice(0, -1);\n\t\t}\n\t\treturn `${result.trimEnd()}…`;\n\t}\n\n\tprivate renderSoloFooter(stats: FooterStats, width: number): string[] {\n\t\tconst branch = this.currentBranch ?? null;\n\t\tconst pathLine = chalk.gray(\n\t\t\tformatPathWithBranch(process.cwd(), width, branch),\n\t\t);\n\t\tconst statsLine = buildSoloStatsLine(stats, width, this.state);\n\t\treturn [pathLine, chalk.gray(statsLine)];\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/cli-tui/footer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EACN,gBAAgB,EAEhB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAElB,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,GACV,MAAM,yBAAyB,CAAC;AAoBjC;;GAEG;AACH,MAAM,OAAO,eAAe;IAa3B,YACC,KAAiB,EACjB,OAAmB,MAAM,EACzB,gBAAgB,GAAG,IAAI,gBAAgB,EAAE;QAdlC,gBAAW,GAAkB,IAAI,CAAC;QAClC,UAAK,GAAiB,EAAE,CAAC;QACzB,kBAAa,GAAa,EAAE,CAAC;QAE7B,gBAAW,GAAuB,IAAI,CAAC;QACvC,eAAU,GAAqB,EAAE,CAAC;QAClC,gBAAW,GAAG,CAAC,CAAC;QAChB,qBAAgB,GAAG,CAAC,CAAC;QAErB,kBAAa,GAA8B,SAAS,CAAC;QAO5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,KAAiB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB,CAAC,MAAgB;QAChC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,KAAoB;QAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,IAAmB;QAC1B,qDAAqD;QACrD,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACjB,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,KAAmB;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAgB;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,UAAU;QACT,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,QAAQ,CACP,OAAe,EACf,IAA4C,EAC5C,UAAmB;QAEnB,MAAM,KAAK,GAAmB;YAC7B,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE;YACtB,OAAO;YACP,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC;SAChE,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAEO,oBAAoB,CAC3B,IAA4C,EAC5C,QAAiB;QAEjB,IAAI,QAAQ,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC9C,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC;YACb,KAAK,MAAM;gBACV,OAAO,IAAI,CAAC;YACb,KAAK,SAAS;gBACb,OAAO,IAAI,CAAC;YACb;gBACC,OAAO,IAAI,CAAC;QACd,CAAC;IACF,CAAC;IAED,UAAU;QACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,eAAe,CAAC,KAAK,GAAG,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,mBAAmB;QAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IAED,eAAe;QACd,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,WAAW;QACV,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAEO,YAAY,CAAC,KAAqB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpC,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACP,CAAC;QACF,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC;IAEO,YAAY;QACnB,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,CAAC;IACF,CAAC;IAEO,aAAa,CAAC,IAAyB;QAC9C,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,QAAQ;gBACZ,OAAO,CAAC,CAAC;YACV,KAAK,MAAM;gBACV,OAAO,CAAC,CAAC;YACV,KAAK,SAAS;gBACb,OAAO,CAAC,CAAC;YACV;gBACC,OAAO,CAAC,CAAC;QACX,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,cAA2B;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;YAC9D,cAAc,EAAE,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,IAAgB;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAa;QACnB,iCAAiC;QACjC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QAC/D,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;QAE1C,0BAA0B;QAC1B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,0CAA0C;QAC1C,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,qBAAqB,CAC1C,OAAO,CAAC,GAAG,EAAE,EACb,KAAK,EACL,KAAK,EACL,MAAM,EACN,IAAI,CAAC,WAAW,CAChB,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAErD,0CAA0C;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3C,IAAI,cAAsB,CAAC;YAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,QAAQ,IAAI,EAAE,CAAC;gBACd,KAAK,MAAM;oBACV,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAClC,cAAc,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC3C,MAAM;gBACP,KAAK,MAAM;oBACV,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBACnC,cAAc,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC9C,MAAM;gBACP,KAAK,SAAS;oBACb,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBACnC,cAAc,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC9C,MAAM;gBACP,KAAK,QAAQ;oBACZ,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACjC,cAAc,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC5C,MAAM;YACR,CAAC;YAED,MAAM,WAAW,GAAG,GAAG,MAAM,GAAG,cAAc,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACP,4BAA4B;YAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,UAAU,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7C,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,eAAe,CAAC,IAAY,EAAE,KAAa;QAClD,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;IAC/B,CAAC;IAEO,gBAAgB,CAAC,KAAkB,EAAE,KAAa;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAC1B,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAClD,CAAC;QACF,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,CAAC;CACD","sourcesContent":["import { visibleWidth } from \"@evalops/tui\";\nimport chalk from \"chalk\";\nimport type { AgentState } from \"../agent/types.js\";\nimport { theme } from \"../theme/theme.js\";\nimport {\n\tGitBranchTracker,\n\tbuildBadgeAndPathLine,\n\tbuildBrandLine,\n\tbuildHorizontalRule,\n\tbuildPathAndStatsLine,\n\tbuildSoloStatsLine,\n\tbuildStatsLine,\n\tcalculateFooterStats,\n\tformatPathWithBranch,\n\tmergeHints,\n} from \"./utils/footer-utils.js\";\nimport type {\n\tFooterHint,\n\tFooterMode,\n\tFooterStats,\n} from \"./utils/footer-utils.js\";\n\n// Re-export FooterHint for external use\nexport type { FooterHint, HintType } from \"./utils/footer-utils.js\";\n\ninterface FooterToast {\n\tmessage: string;\n\ttone: \"info\" | \"warn\" | \"success\" | \"danger\";\n\texpiry: number;\n}\n\ninterface ToastQueueItem extends FooterToast {\n\tid: number;\n}\n\n/**\n * Footer component that shows pwd, token stats, and context usage\n */\nexport class FooterComponent {\n\tprivate state: AgentState;\n\tprivate activeStage: string | null = null;\n\tprivate hints: FooterHint[] = [];\n\tprivate runtimeBadges: string[] = [];\n\tprivate mode: FooterMode;\n\tprivate activeToast: FooterToast | null = null;\n\tprivate toastQueue: ToastQueueItem[] = [];\n\tprivate nextToastId = 1;\n\tprivate unseenAlertCount = 0;\n\tprivate gitBranchTracker: GitBranchTracker;\n\tprivate currentBranch: string | null | undefined = undefined;\n\n\tconstructor(\n\t\tstate: AgentState,\n\t\tmode: FooterMode = \"rich\",\n\t\tgitBranchTracker = new GitBranchTracker(),\n\t) {\n\t\tthis.state = state;\n\t\tthis.mode = mode;\n\t\tthis.gitBranchTracker = gitBranchTracker;\n\t}\n\n\tupdateState(state: AgentState): void {\n\t\tthis.state = state;\n\t}\n\n\tsetRuntimeBadges(badges: string[]): void {\n\t\tthis.runtimeBadges = badges;\n\t}\n\n\tsetStage(stage: string | null): void {\n\t\tthis.activeStage = stage;\n\t}\n\n\tsetHint(hint: string | null): void {\n\t\t// Legacy method - convert single hint to hints array\n\t\tif (hint) {\n\t\t\tthis.hints = [{ type: \"custom\", message: hint, priority: 150 }];\n\t\t} else {\n\t\t\tthis.hints = [];\n\t\t}\n\t}\n\n\tsetHints(hints: FooterHint[]): void {\n\t\tthis.hints = hints;\n\t}\n\n\taddHint(hint: FooterHint): void {\n\t\tthis.hints.push(hint);\n\t}\n\n\tclearHints(): void {\n\t\tthis.hints = [];\n\t}\n\n\tsetToast(\n\t\tmessage: string,\n\t\ttone: \"info\" | \"warn\" | \"success\" | \"danger\",\n\t\tdurationMs?: number,\n\t): void {\n\t\tconst toast: ToastQueueItem = {\n\t\t\tid: this.nextToastId++,\n\t\t\tmessage,\n\t\t\ttone,\n\t\t\texpiry: Date.now() + this.resolveToastDuration(tone, durationMs),\n\t\t};\n\t\tthis.enqueueToast(toast);\n\t\tthis.dequeueToast();\n\t\tif (tone === \"danger\" || tone === \"warn\") {\n\t\t\tthis.unseenAlertCount += 1;\n\t\t}\n\t}\n\n\tprivate resolveToastDuration(\n\t\ttone: \"info\" | \"warn\" | \"success\" | \"danger\",\n\t\toverride?: number,\n\t): number {\n\t\tif (override && override > 0) return override;\n\t\tswitch (tone) {\n\t\t\tcase \"danger\":\n\t\t\t\treturn 8000;\n\t\t\tcase \"warn\":\n\t\t\t\treturn 6000;\n\t\t\tcase \"success\":\n\t\t\t\treturn 4500;\n\t\t\tdefault:\n\t\t\t\treturn 4000;\n\t\t}\n\t}\n\n\tclearToast(): void {\n\t\tthis.activeToast = null;\n\t\tthis.toastQueue = [];\n\t\tthis.unseenAlertCount = 0;\n\t}\n\n\tgetToastHistory(limit = 5): FooterToast[] {\n\t\tconst active = this.activeToast ? [this.activeToast] : [];\n\t\treturn [...active, ...this.toastQueue].slice(0, limit);\n\t}\n\n\tgetUnseenAlertCount(): number {\n\t\treturn this.unseenAlertCount;\n\t}\n\n\tclearAlertCount(): void {\n\t\tthis.unseenAlertCount = 0;\n\t}\n\n\tclearAlerts(): void {\n\t\tthis.clearToast();\n\t\tthis.unseenAlertCount = 0;\n\t}\n\n\tgetActiveToast(): FooterToast | null {\n\t\treturn this.activeToast;\n\t}\n\n\tprivate enqueueToast(toast: ToastQueueItem): void {\n\t\tconst priority = this.toastPriority(toast.tone);\n\t\tlet inserted = false;\n\t\tfor (let i = 0; i < this.toastQueue.length; i++) {\n\t\t\tif (priority > this.toastPriority(this.toastQueue[i]!.tone)) {\n\t\t\t\tthis.toastQueue.splice(i, 0, toast);\n\t\t\t\tinserted = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!inserted) {\n\t\t\tthis.toastQueue.push(toast);\n\t\t}\n\t}\n\n\tprivate dequeueToast(): void {\n\t\tif (this.activeToast) return;\n\t\tconst next = this.toastQueue.shift();\n\t\tif (next) {\n\t\t\tthis.activeToast = next;\n\t\t}\n\t}\n\n\tprivate toastPriority(tone: FooterToast[\"tone\"]): number {\n\t\tswitch (tone) {\n\t\t\tcase \"danger\":\n\t\t\t\treturn 4;\n\t\t\tcase \"warn\":\n\t\t\t\treturn 3;\n\t\t\tcase \"success\":\n\t\t\t\treturn 2;\n\t\t\tdefault:\n\t\t\t\treturn 1;\n\t\t}\n\t}\n\n\t/**\n\t * Begin watching for git branch changes and invoke a callback when the\n\t * branch changes so the UI can re-render.\n\t */\n\tstartBranchTracking(onBranchChange?: () => void): void {\n\t\tthis.currentBranch = this.gitBranchTracker.getCurrentBranch();\n\t\tthis.gitBranchTracker.watchBranch(() => {\n\t\t\tthis.gitBranchTracker.invalidate();\n\t\t\tthis.currentBranch = this.gitBranchTracker.getCurrentBranch();\n\t\t\tonBranchChange?.();\n\t\t});\n\t}\n\n\tdispose(): void {\n\t\tthis.gitBranchTracker.dispose();\n\t}\n\n\tsetMode(mode: FooterMode): void {\n\t\tthis.mode = mode;\n\t}\n\n\tgetMode(): FooterMode {\n\t\treturn this.mode;\n\t}\n\n\trender(width: number): string[] {\n\t\t// Refresh branch cache if needed\n\t\tif (this.currentBranch === undefined) {\n\t\t\tthis.currentBranch = this.gitBranchTracker.getCurrentBranch();\n\t\t}\n\t\tconst branch = this.currentBranch ?? null;\n\n\t\t// Check for expired toast\n\t\tif (this.activeToast && Date.now() > this.activeToast.expiry) {\n\t\t\tthis.activeToast = null;\n\t\t}\n\n\t\tconst stats = calculateFooterStats(this.state);\n\t\tif (this.mode === \"solo\") {\n\t\t\treturn this.renderSoloFooter(stats, width);\n\t\t}\n\n\t\t// New footer layout with horizontal rules\n\t\tconst rule = buildHorizontalRule(width);\n\t\tconst brandLine = buildBrandLine(width, this.state);\n\t\tconst pathStatsLine = buildPathAndStatsLine(\n\t\t\tprocess.cwd(),\n\t\t\tstats,\n\t\t\twidth,\n\t\t\tbranch,\n\t\t\tthis.activeStage,\n\t\t);\n\n\t\tconst lines = [rule, brandLine, rule, pathStatsLine];\n\n\t\t// Render Toast if active, otherwise Hints\n\t\tif (this.activeToast) {\n\t\t\tconst { message, tone } = this.activeToast;\n\t\t\tlet coloredMessage: string;\n\t\t\tlet prefix = \"\";\n\n\t\t\tswitch (tone) {\n\t\t\t\tcase \"info\":\n\t\t\t\t\tprefix = theme.fg(\"accent\", \"ℹ \");\n\t\t\t\t\tcoloredMessage = theme.fg(\"text\", message);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"warn\":\n\t\t\t\t\tprefix = theme.fg(\"warning\", \"⚠ \");\n\t\t\t\t\tcoloredMessage = theme.fg(\"warning\", message);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"success\":\n\t\t\t\t\tprefix = theme.fg(\"success\", \"✔ \");\n\t\t\t\t\tcoloredMessage = theme.fg(\"success\", message);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"danger\":\n\t\t\t\t\tprefix = theme.fg(\"error\", \"✖ \");\n\t\t\t\t\tcoloredMessage = theme.fg(\"error\", message);\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst fullMessage = `${prefix}${coloredMessage}`;\n\t\t\tlines.push(this.truncateToWidth(fullMessage, width));\n\t\t} else {\n\t\t\t// Use new multi-hint system\n\t\t\tconst mergedHint = mergeHints(stats, this.hints, width);\n\t\t\tif (mergedHint) {\n\t\t\t\tconst truncated = this.truncateToWidth(mergedHint, width);\n\t\t\t\tlines.push(chalk.hex(\"#94a3b8\")(truncated));\n\t\t\t}\n\t\t}\n\n\t\treturn lines;\n\t}\n\n\tprivate truncateToWidth(text: string, width: number): string {\n\t\tif (width <= 0) return \"\";\n\t\tif (visibleWidth(text) <= width) return text;\n\t\tif (width === 1) return text.slice(0, 1);\n\t\tlet result = text;\n\t\twhile (visibleWidth(result) > width - 1 && result.length > 0) {\n\t\t\tresult = result.slice(0, -1);\n\t\t}\n\t\treturn `${result.trimEnd()}…`;\n\t}\n\n\tprivate renderSoloFooter(stats: FooterStats, width: number): string[] {\n\t\tconst branch = this.currentBranch ?? null;\n\t\tconst pathLine = chalk.gray(\n\t\t\tformatPathWithBranch(process.cwd(), width, branch),\n\t\t);\n\t\tconst statsLine = buildSoloStatsLine(stats, width, this.state);\n\t\treturn [pathLine, chalk.gray(statsLine)];\n\t}\n}\n"]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Extracted from TuiRenderer to consolidate UI state management including:
|
|
5
5
|
* - Zen mode (minimal distraction mode)
|
|
6
6
|
* - Clean mode (streaming text deduplication)
|
|
7
|
-
* - Footer mode (
|
|
7
|
+
* - Footer mode (rich vs solo display)
|
|
8
8
|
* - Thinking blocks visibility
|
|
9
9
|
*
|
|
10
10
|
* This controller owns the state and persistence, providing callbacks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-state-controller.d.ts","sourceRoot":"","sources":["../../../src/cli-tui/tui-renderer/ui-state-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAChC,8DAA8D;IAC9D,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,sCAAsC;IACtC,kBAAkB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/C,qDAAqD;IACrD,0BAA0B,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,8BAA8B;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACxC,gBAAgB,EAAE,SAAS,CAAC;IAC5B,iBAAiB,EAAE,UAAU,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,yBAAyB,EAAE,OAAO,CAAC;IACnC,SAAS,EAAE,gBAAgB,CAAC;CAC5B;AAED,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAEjC,OAAO,EAAE,wBAAwB;IAU7C,YAAY,IAAI,SAAS;IAIzB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAKnC,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAuB1D,UAAU,IAAI,OAAO;IAIrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOlC,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAmCxD,aAAa,IAAI,UAAU;IAI3B,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAWrC,mBAAmB,CAClB,OAAO,EAAE,uBAAuB,EAChC,SAAS,EAAE;QACV,eAAe,EAAE,CAChB,KAAK,EAAE,MAAM,KACT,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC9C,WAAW,EAAE,MAAM,IAAI,CAAC;KACxB,GACC,IAAI;
|
|
1
|
+
{"version":3,"file":"ui-state-controller.d.ts","sourceRoot":"","sources":["../../../src/cli-tui/tui-renderer/ui-state-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAChC,8DAA8D;IAC9D,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,sCAAsC;IACtC,kBAAkB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/C,qDAAqD;IACrD,0BAA0B,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,8BAA8B;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACxC,gBAAgB,EAAE,SAAS,CAAC;IAC5B,iBAAiB,EAAE,UAAU,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,yBAAyB,EAAE,OAAO,CAAC;IACnC,SAAS,EAAE,gBAAgB,CAAC;CAC5B;AAED,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAEjC,OAAO,EAAE,wBAAwB;IAU7C,YAAY,IAAI,SAAS;IAIzB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAKnC,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAuB1D,UAAU,IAAI,OAAO;IAIrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOlC,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAmCxD,aAAa,IAAI,UAAU;IAI3B,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAWrC,mBAAmB,CAClB,OAAO,EAAE,uBAAuB,EAChC,SAAS,EAAE;QACV,eAAe,EAAE,CAChB,KAAK,EAAE,MAAM,KACT,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC9C,WAAW,EAAE,MAAM,IAAI,CAAC;KACxB,GACC,IAAI;IA0DP,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,kBAAkB;IAM1B,qBAAqB,IAAI,OAAO;IAIhC,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAM5C,oBAAoB,IAAI,IAAI;IAM5B;;OAEG;IACH,QAAQ,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,SAAS,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;KACvB;IAUD,OAAO,CAAC,YAAY;CAGpB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Extracted from TuiRenderer to consolidate UI state management including:
|
|
5
5
|
* - Zen mode (minimal distraction mode)
|
|
6
6
|
* - Clean mode (streaming text deduplication)
|
|
7
|
-
* - Footer mode (
|
|
7
|
+
* - Footer mode (rich vs solo display)
|
|
8
8
|
* - Thinking blocks visibility
|
|
9
9
|
*
|
|
10
10
|
* This controller owns the state and persistence, providing callbacks
|
|
@@ -107,7 +107,7 @@ export class UiStateController {
|
|
|
107
107
|
.split(/\s+/)
|
|
108
108
|
.filter((token) => token.length > 0);
|
|
109
109
|
if (tokens.length === 0 || tokens[0] === "help") {
|
|
110
|
-
context.showInfo(`Footer mode is ${this.describeFooterMode(this.footerMode)}. Use "/footer
|
|
110
|
+
context.showInfo(`Footer mode is ${this.describeFooterMode(this.footerMode)}. Use "/footer rich" for the full footer or "/footer solo" for the minimal style.`);
|
|
111
111
|
return;
|
|
112
112
|
}
|
|
113
113
|
if (tokens[0] === "history") {
|
|
@@ -130,7 +130,7 @@ export class UiStateController {
|
|
|
130
130
|
}
|
|
131
131
|
const parsed = this.parseFooterMode(candidate ?? "");
|
|
132
132
|
if (!parsed) {
|
|
133
|
-
context.showError("Footer mode must be either '
|
|
133
|
+
context.showError("Footer mode must be either 'rich' or 'solo'.");
|
|
134
134
|
return;
|
|
135
135
|
}
|
|
136
136
|
if (parsed === this.footerMode) {
|
|
@@ -142,22 +142,16 @@ export class UiStateController {
|
|
|
142
142
|
}
|
|
143
143
|
parseFooterMode(value) {
|
|
144
144
|
switch (value) {
|
|
145
|
-
case "ensemble":
|
|
146
145
|
case "rich":
|
|
147
|
-
|
|
148
|
-
case "full":
|
|
149
|
-
return "ensemble";
|
|
146
|
+
return "rich";
|
|
150
147
|
case "solo":
|
|
151
|
-
case "minimal":
|
|
152
|
-
case "lean":
|
|
153
|
-
case "lite":
|
|
154
148
|
return "solo";
|
|
155
149
|
default:
|
|
156
150
|
return null;
|
|
157
151
|
}
|
|
158
152
|
}
|
|
159
153
|
describeFooterMode(mode) {
|
|
160
|
-
return mode === "
|
|
154
|
+
return mode === "rich" ? "Rich" : "Solo";
|
|
161
155
|
}
|
|
162
156
|
// ─── Thinking Blocks ─────────────────────────────────────────────────────
|
|
163
157
|
getHideThinkingBlocks() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-state-controller.js","sourceRoot":"","sources":["../../../src/cli-tui/tui-renderer/ui-state-controller.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * UiStateController - Manages TUI visual state settings\n *\n * Extracted from TuiRenderer to consolidate UI state management including:\n * - Zen mode (minimal distraction mode)\n * - Clean mode (streaming text deduplication)\n * - Footer mode (ensemble vs solo display)\n * - Thinking blocks visibility\n *\n * This controller owns the state and persistence, providing callbacks\n * for UI updates that the parent renderer implements.\n */\n\nimport type { CleanMode } from \"../../conversation/render-model.js\";\nimport { parseCleanMode } from \"../clean-mode.js\";\nimport type { CommandExecutionContext } from \"../commands/types.js\";\nimport { type UiState, saveUiState } from \"../ui-state.js\";\nimport type { FooterMode } from \"../utils/footer-utils.js\";\n\nexport interface UiStateCallbacks {\n\t/** Called when zen mode changes - update header visibility */\n\tonZenModeChange: (enabled: boolean) => void;\n\t/** Called when footer mode changes */\n\tonFooterModeChange: (mode: FooterMode) => void;\n\t/** Called when thinking blocks visibility changes */\n\tonHideThinkingBlocksChange: (hidden: boolean) => void;\n\t/** Request a render update */\n\trequestRender: () => void;\n}\n\nexport interface UiStateControllerOptions {\n\tinitialCleanMode: CleanMode;\n\tinitialFooterMode: FooterMode;\n\tinitialZenMode: boolean;\n\tinitialHideThinkingBlocks: boolean;\n\tcallbacks: UiStateCallbacks;\n}\n\nexport class UiStateController {\n\tprivate cleanMode: CleanMode;\n\tprivate footerMode: FooterMode;\n\tprivate zenMode: boolean;\n\tprivate hideThinkingBlocks: boolean;\n\tprivate readonly callbacks: UiStateCallbacks;\n\n\tconstructor(options: UiStateControllerOptions) {\n\t\tthis.cleanMode = options.initialCleanMode;\n\t\tthis.footerMode = options.initialFooterMode;\n\t\tthis.zenMode = options.initialZenMode;\n\t\tthis.hideThinkingBlocks = options.initialHideThinkingBlocks;\n\t\tthis.callbacks = options.callbacks;\n\t}\n\n\t// ─── Clean Mode ──────────────────────────────────────────────────────────\n\n\tgetCleanMode(): CleanMode {\n\t\treturn this.cleanMode;\n\t}\n\n\tsetCleanMode(mode: CleanMode): void {\n\t\tthis.cleanMode = mode;\n\t\tthis.persistState({ cleanMode: mode });\n\t}\n\n\thandleCleanCommand(context: CommandExecutionContext): void {\n\t\tconst arg = context.argumentText.trim().toLowerCase();\n\t\tif (!arg) {\n\t\t\tcontext.showInfo(\n\t\t\t\t`Clean mode is ${this.cleanMode} (streaming only). Use /clean off|soft|aggressive.`,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst parsed = parseCleanMode(arg);\n\t\tif (!parsed) {\n\t\t\tcontext.showError(\"Usage: /clean [off|soft|aggressive]\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setCleanMode(parsed);\n\t\tcontext.showInfo(\n\t\t\t`Clean mode set to ${parsed}. Dedupe applies only while text streams; transcripts stay raw.`,\n\t\t);\n\t}\n\n\t// ─── Zen Mode ────────────────────────────────────────────────────────────\n\n\tgetZenMode(): boolean {\n\t\treturn this.zenMode;\n\t}\n\n\tsetZenMode(enabled: boolean): void {\n\t\tthis.zenMode = enabled;\n\t\tthis.persistState({ zenMode: enabled });\n\t\tthis.callbacks.onZenModeChange(enabled);\n\t\tthis.callbacks.requestRender();\n\t}\n\n\thandleZenCommand(context: CommandExecutionContext): void {\n\t\tconst arg = context.argumentText.trim().toLowerCase();\n\t\tif (!arg) {\n\t\t\tconst newState = !this.zenMode;\n\t\t\tthis.setZenMode(newState);\n\t\t\tcontext.showInfo(\n\t\t\t\tnewState\n\t\t\t\t\t? \"Zen mode enabled. Distractions removed.\"\n\t\t\t\t\t: \"Zen mode disabled.\",\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (arg === \"on\") {\n\t\t\tif (this.zenMode) {\n\t\t\t\tcontext.showInfo(\"Zen mode is already on.\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setZenMode(true);\n\t\t\tcontext.showInfo(\"Zen mode enabled. Distractions removed.\");\n\t\t\treturn;\n\t\t}\n\t\tif (arg === \"off\") {\n\t\t\tif (!this.zenMode) {\n\t\t\t\tcontext.showInfo(\"Zen mode is already off.\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setZenMode(false);\n\t\t\tcontext.showInfo(\"Zen mode disabled.\");\n\t\t\treturn;\n\t\t}\n\t\tcontext.showError(\"Usage: /zen [on|off]\");\n\t}\n\n\t// ─── Footer Mode ─────────────────────────────────────────────────────────\n\n\tgetFooterMode(): FooterMode {\n\t\treturn this.footerMode;\n\t}\n\n\tsetFooterMode(mode: FooterMode): void {\n\t\tif (this.zenMode) {\n\t\t\t// Zen mode owns the footer; ignore external mode changes\n\t\t\treturn;\n\t\t}\n\t\tthis.footerMode = mode;\n\t\tthis.persistState({ footerMode: mode });\n\t\tthis.callbacks.onFooterModeChange(mode);\n\t\tthis.callbacks.requestRender();\n\t}\n\n\thandleFooterCommand(\n\t\tcontext: CommandExecutionContext,\n\t\tfooterApi: {\n\t\t\tgetToastHistory: (\n\t\t\t\tcount: number,\n\t\t\t) => Array<{ tone: string; message: string }>;\n\t\t\tclearAlerts: () => void;\n\t\t},\n\t): void {\n\t\tif (this.zenMode) {\n\t\t\tcontext.showInfo(\n\t\t\t\t'Footer mode is controlled by Zen mode. Turn Zen off with \"/zen off\" to change the footer style.',\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst tokens = context.argumentText\n\t\t\t.trim()\n\t\t\t.toLowerCase()\n\t\t\t.split(/\\s+/)\n\t\t\t.filter((token) => token.length > 0);\n\n\t\tif (tokens.length === 0 || tokens[0] === \"help\") {\n\t\t\tcontext.showInfo(\n\t\t\t\t`Footer mode is ${this.describeFooterMode(this.footerMode)}. Use \"/footer ensemble\" for the full Maestro Ensemble or \"/footer solo\" for the minimal Solo style.`,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (tokens[0] === \"history\") {\n\t\t\tconst history = footerApi\n\t\t\t\t.getToastHistory(5)\n\t\t\t\t.map((t) => `${t.tone}: ${t.message}`)\n\t\t\t\t.join(\"\\n\");\n\t\t\tcontext.showInfo(history || \"No recent footer alerts (toasts).\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (tokens[0] === \"clear\") {\n\t\t\tfooterApi.clearAlerts();\n\t\t\tcontext.showInfo(\"Footer alerts cleared.\");\n\t\t\tthis.callbacks.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tlet candidate = tokens[0];\n\t\tif (candidate === \"mode\" || candidate === \"set\" || candidate === \"style\") {\n\t\t\tcandidate = tokens[1] ?? \"\";\n\t\t}\n\t\tconst parsed = this.parseFooterMode(candidate ?? \"\");\n\t\tif (!parsed) {\n\t\t\tcontext.showError(\n\t\t\t\t\"Footer mode must be either 'ensemble' (rich) or 'solo' (minimal).\",\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (parsed === this.footerMode) {\n\t\t\tcontext.showInfo(\n\t\t\t\t`Footer already using ${this.describeFooterMode(parsed)} mode.`,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tthis.setFooterMode(parsed);\n\t\tcontext.showInfo(\n\t\t\t`Footer switched to ${this.describeFooterMode(parsed)} mode.`,\n\t\t);\n\t}\n\n\tprivate parseFooterMode(value: string): FooterMode | null {\n\t\tswitch (value) {\n\t\t\tcase \"ensemble\":\n\t\t\tcase \"rich\":\n\t\t\tcase \"classic\":\n\t\t\tcase \"full\":\n\t\t\t\treturn \"ensemble\";\n\t\t\tcase \"solo\":\n\t\t\tcase \"minimal\":\n\t\t\tcase \"lean\":\n\t\t\tcase \"lite\":\n\t\t\t\treturn \"solo\";\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\n\tprivate describeFooterMode(mode: FooterMode): string {\n\t\treturn mode === \"ensemble\" ? \"Ensemble (rich)\" : \"Solo (minimal)\";\n\t}\n\n\t// ─── Thinking Blocks ─────────────────────────────────────────────────────\n\n\tgetHideThinkingBlocks(): boolean {\n\t\treturn this.hideThinkingBlocks;\n\t}\n\n\tsetHideThinkingBlocks(hidden: boolean): void {\n\t\tthis.hideThinkingBlocks = hidden;\n\t\tthis.persistState({ hideThinkingBlocks: hidden });\n\t\tthis.callbacks.onHideThinkingBlocksChange(hidden);\n\t}\n\n\ttoggleThinkingBlocks(): void {\n\t\tthis.setHideThinkingBlocks(!this.hideThinkingBlocks);\n\t}\n\n\t// ─── Aggregated State ────────────────────────────────────────────────────\n\n\t/**\n\t * Get the current UI state for display or command-suite handlers\n\t */\n\tgetState(): {\n\t\tzenMode: boolean;\n\t\tcleanMode: CleanMode;\n\t\tfooterMode: FooterMode;\n\t} {\n\t\treturn {\n\t\t\tzenMode: this.zenMode,\n\t\t\tcleanMode: this.cleanMode,\n\t\t\tfooterMode: this.footerMode,\n\t\t};\n\t}\n\n\t// ─── Persistence ─────────────────────────────────────────────────────────\n\n\tprivate persistState(partial: Partial<UiState>): void {\n\t\tsaveUiState(partial);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ui-state-controller.js","sourceRoot":"","sources":["../../../src/cli-tui/tui-renderer/ui-state-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAsB3D,MAAM,OAAO,iBAAiB;IAO7B,YAAY,OAAiC;QAC5C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,yBAAyB,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,4EAA4E;IAE5E,YAAY;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,IAAe;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB,CAAC,OAAgC;QAClD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,OAAO,CAAC,QAAQ,CACf,iBAAiB,IAAI,CAAC,SAAS,oDAAoD,CACnF,CAAC;YACF,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;YACzD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,CAAC,QAAQ,CACf,qBAAqB,MAAM,iEAAiE,CAC5F,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E,UAAU;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED,gBAAgB,CAAC,OAAgC;QAChD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,QAAQ,CACf,QAAQ;gBACP,CAAC,CAAC,yCAAyC;gBAC3C,CAAC,CAAC,oBAAoB,CACvB,CAAC;YACF,OAAO;QACR,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;gBAC5C,OAAO;YACR,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC;YAC5D,OAAO;QACR,CAAC;QACD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,OAAO;YACR,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACvC,OAAO;QACR,CAAC;QACD,OAAO,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAC3C,CAAC;IAED,4EAA4E;IAE5E,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,aAAa,CAAC,IAAgB;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,yDAAyD;YACzD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED,mBAAmB,CAClB,OAAgC,EAChC,SAKC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,QAAQ,CACf,iGAAiG,CACjG,CAAC;YACF,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY;aACjC,IAAI,EAAE;aACN,WAAW,EAAE;aACb,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YACjD,OAAO,CAAC,QAAQ,CACf,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,mFAAmF,CAC7I,CAAC;YACF,OAAO;QACR,CAAC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,SAAS;iBACvB,eAAe,CAAC,CAAC,CAAC;iBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;iBACrC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO,CAAC,QAAQ,CAAC,OAAO,IAAI,mCAAmC,CAAC,CAAC;YACjE,OAAO;QACR,CAAC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAC3B,SAAS,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QAED,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1E,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAC;YAClE,OAAO;QACR,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO,CAAC,QAAQ,CACf,wBAAwB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAC/D,CAAC;YACF,OAAO;QACR,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,CAAC,QAAQ,CACf,sBAAsB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAC7D,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAa;QACpC,QAAQ,KAAK,EAAE,CAAC;YACf,KAAK,MAAM;gBACV,OAAO,MAAM,CAAC;YACf,KAAK,MAAM;gBACV,OAAO,MAAM,CAAC;YACf;gBACC,OAAO,IAAI,CAAC;QACd,CAAC;IACF,CAAC;IAEO,kBAAkB,CAAC,IAAgB;QAC1C,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,CAAC;IAED,4EAA4E;IAE5E,qBAAqB;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IAChC,CAAC;IAED,qBAAqB,CAAC,MAAe;QACpC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,oBAAoB;QACnB,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC;IAED,4EAA4E;IAE5E;;OAEG;IACH,QAAQ;QAKP,OAAO;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC;IACH,CAAC;IAED,4EAA4E;IAEpE,YAAY,CAAC,OAAyB;QAC7C,WAAW,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;CACD","sourcesContent":["/**\n * UiStateController - Manages TUI visual state settings\n *\n * Extracted from TuiRenderer to consolidate UI state management including:\n * - Zen mode (minimal distraction mode)\n * - Clean mode (streaming text deduplication)\n * - Footer mode (rich vs solo display)\n * - Thinking blocks visibility\n *\n * This controller owns the state and persistence, providing callbacks\n * for UI updates that the parent renderer implements.\n */\n\nimport type { CleanMode } from \"../../conversation/render-model.js\";\nimport { parseCleanMode } from \"../clean-mode.js\";\nimport type { CommandExecutionContext } from \"../commands/types.js\";\nimport { type UiState, saveUiState } from \"../ui-state.js\";\nimport type { FooterMode } from \"../utils/footer-utils.js\";\n\nexport interface UiStateCallbacks {\n\t/** Called when zen mode changes - update header visibility */\n\tonZenModeChange: (enabled: boolean) => void;\n\t/** Called when footer mode changes */\n\tonFooterModeChange: (mode: FooterMode) => void;\n\t/** Called when thinking blocks visibility changes */\n\tonHideThinkingBlocksChange: (hidden: boolean) => void;\n\t/** Request a render update */\n\trequestRender: () => void;\n}\n\nexport interface UiStateControllerOptions {\n\tinitialCleanMode: CleanMode;\n\tinitialFooterMode: FooterMode;\n\tinitialZenMode: boolean;\n\tinitialHideThinkingBlocks: boolean;\n\tcallbacks: UiStateCallbacks;\n}\n\nexport class UiStateController {\n\tprivate cleanMode: CleanMode;\n\tprivate footerMode: FooterMode;\n\tprivate zenMode: boolean;\n\tprivate hideThinkingBlocks: boolean;\n\tprivate readonly callbacks: UiStateCallbacks;\n\n\tconstructor(options: UiStateControllerOptions) {\n\t\tthis.cleanMode = options.initialCleanMode;\n\t\tthis.footerMode = options.initialFooterMode;\n\t\tthis.zenMode = options.initialZenMode;\n\t\tthis.hideThinkingBlocks = options.initialHideThinkingBlocks;\n\t\tthis.callbacks = options.callbacks;\n\t}\n\n\t// ─── Clean Mode ──────────────────────────────────────────────────────────\n\n\tgetCleanMode(): CleanMode {\n\t\treturn this.cleanMode;\n\t}\n\n\tsetCleanMode(mode: CleanMode): void {\n\t\tthis.cleanMode = mode;\n\t\tthis.persistState({ cleanMode: mode });\n\t}\n\n\thandleCleanCommand(context: CommandExecutionContext): void {\n\t\tconst arg = context.argumentText.trim().toLowerCase();\n\t\tif (!arg) {\n\t\t\tcontext.showInfo(\n\t\t\t\t`Clean mode is ${this.cleanMode} (streaming only). Use /clean off|soft|aggressive.`,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst parsed = parseCleanMode(arg);\n\t\tif (!parsed) {\n\t\t\tcontext.showError(\"Usage: /clean [off|soft|aggressive]\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setCleanMode(parsed);\n\t\tcontext.showInfo(\n\t\t\t`Clean mode set to ${parsed}. Dedupe applies only while text streams; transcripts stay raw.`,\n\t\t);\n\t}\n\n\t// ─── Zen Mode ────────────────────────────────────────────────────────────\n\n\tgetZenMode(): boolean {\n\t\treturn this.zenMode;\n\t}\n\n\tsetZenMode(enabled: boolean): void {\n\t\tthis.zenMode = enabled;\n\t\tthis.persistState({ zenMode: enabled });\n\t\tthis.callbacks.onZenModeChange(enabled);\n\t\tthis.callbacks.requestRender();\n\t}\n\n\thandleZenCommand(context: CommandExecutionContext): void {\n\t\tconst arg = context.argumentText.trim().toLowerCase();\n\t\tif (!arg) {\n\t\t\tconst newState = !this.zenMode;\n\t\t\tthis.setZenMode(newState);\n\t\t\tcontext.showInfo(\n\t\t\t\tnewState\n\t\t\t\t\t? \"Zen mode enabled. Distractions removed.\"\n\t\t\t\t\t: \"Zen mode disabled.\",\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (arg === \"on\") {\n\t\t\tif (this.zenMode) {\n\t\t\t\tcontext.showInfo(\"Zen mode is already on.\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setZenMode(true);\n\t\t\tcontext.showInfo(\"Zen mode enabled. Distractions removed.\");\n\t\t\treturn;\n\t\t}\n\t\tif (arg === \"off\") {\n\t\t\tif (!this.zenMode) {\n\t\t\t\tcontext.showInfo(\"Zen mode is already off.\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setZenMode(false);\n\t\t\tcontext.showInfo(\"Zen mode disabled.\");\n\t\t\treturn;\n\t\t}\n\t\tcontext.showError(\"Usage: /zen [on|off]\");\n\t}\n\n\t// ─── Footer Mode ─────────────────────────────────────────────────────────\n\n\tgetFooterMode(): FooterMode {\n\t\treturn this.footerMode;\n\t}\n\n\tsetFooterMode(mode: FooterMode): void {\n\t\tif (this.zenMode) {\n\t\t\t// Zen mode owns the footer; ignore external mode changes\n\t\t\treturn;\n\t\t}\n\t\tthis.footerMode = mode;\n\t\tthis.persistState({ footerMode: mode });\n\t\tthis.callbacks.onFooterModeChange(mode);\n\t\tthis.callbacks.requestRender();\n\t}\n\n\thandleFooterCommand(\n\t\tcontext: CommandExecutionContext,\n\t\tfooterApi: {\n\t\t\tgetToastHistory: (\n\t\t\t\tcount: number,\n\t\t\t) => Array<{ tone: string; message: string }>;\n\t\t\tclearAlerts: () => void;\n\t\t},\n\t): void {\n\t\tif (this.zenMode) {\n\t\t\tcontext.showInfo(\n\t\t\t\t'Footer mode is controlled by Zen mode. Turn Zen off with \"/zen off\" to change the footer style.',\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst tokens = context.argumentText\n\t\t\t.trim()\n\t\t\t.toLowerCase()\n\t\t\t.split(/\\s+/)\n\t\t\t.filter((token) => token.length > 0);\n\n\t\tif (tokens.length === 0 || tokens[0] === \"help\") {\n\t\t\tcontext.showInfo(\n\t\t\t\t`Footer mode is ${this.describeFooterMode(this.footerMode)}. Use \"/footer rich\" for the full footer or \"/footer solo\" for the minimal style.`,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (tokens[0] === \"history\") {\n\t\t\tconst history = footerApi\n\t\t\t\t.getToastHistory(5)\n\t\t\t\t.map((t) => `${t.tone}: ${t.message}`)\n\t\t\t\t.join(\"\\n\");\n\t\t\tcontext.showInfo(history || \"No recent footer alerts (toasts).\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (tokens[0] === \"clear\") {\n\t\t\tfooterApi.clearAlerts();\n\t\t\tcontext.showInfo(\"Footer alerts cleared.\");\n\t\t\tthis.callbacks.requestRender();\n\t\t\treturn;\n\t\t}\n\n\t\tlet candidate = tokens[0];\n\t\tif (candidate === \"mode\" || candidate === \"set\" || candidate === \"style\") {\n\t\t\tcandidate = tokens[1] ?? \"\";\n\t\t}\n\t\tconst parsed = this.parseFooterMode(candidate ?? \"\");\n\t\tif (!parsed) {\n\t\t\tcontext.showError(\"Footer mode must be either 'rich' or 'solo'.\");\n\t\t\treturn;\n\t\t}\n\t\tif (parsed === this.footerMode) {\n\t\t\tcontext.showInfo(\n\t\t\t\t`Footer already using ${this.describeFooterMode(parsed)} mode.`,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tthis.setFooterMode(parsed);\n\t\tcontext.showInfo(\n\t\t\t`Footer switched to ${this.describeFooterMode(parsed)} mode.`,\n\t\t);\n\t}\n\n\tprivate parseFooterMode(value: string): FooterMode | null {\n\t\tswitch (value) {\n\t\t\tcase \"rich\":\n\t\t\t\treturn \"rich\";\n\t\t\tcase \"solo\":\n\t\t\t\treturn \"solo\";\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\n\tprivate describeFooterMode(mode: FooterMode): string {\n\t\treturn mode === \"rich\" ? \"Rich\" : \"Solo\";\n\t}\n\n\t// ─── Thinking Blocks ─────────────────────────────────────────────────────\n\n\tgetHideThinkingBlocks(): boolean {\n\t\treturn this.hideThinkingBlocks;\n\t}\n\n\tsetHideThinkingBlocks(hidden: boolean): void {\n\t\tthis.hideThinkingBlocks = hidden;\n\t\tthis.persistState({ hideThinkingBlocks: hidden });\n\t\tthis.callbacks.onHideThinkingBlocksChange(hidden);\n\t}\n\n\ttoggleThinkingBlocks(): void {\n\t\tthis.setHideThinkingBlocks(!this.hideThinkingBlocks);\n\t}\n\n\t// ─── Aggregated State ────────────────────────────────────────────────────\n\n\t/**\n\t * Get the current UI state for display or command-suite handlers\n\t */\n\tgetState(): {\n\t\tzenMode: boolean;\n\t\tcleanMode: CleanMode;\n\t\tfooterMode: FooterMode;\n\t} {\n\t\treturn {\n\t\t\tzenMode: this.zenMode,\n\t\t\tcleanMode: this.cleanMode,\n\t\t\tfooterMode: this.footerMode,\n\t\t};\n\t}\n\n\t// ─── Persistence ─────────────────────────────────────────────────────────\n\n\tprivate persistState(partial: Partial<UiState>): void {\n\t\tsaveUiState(partial);\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-renderer.d.ts","sourceRoot":"","sources":["../../src/cli-tui/tui-renderer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tui-renderer.d.ts","sourceRoot":"","sources":["../../src/cli-tui/tui-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -183,7 +183,7 @@ export class TuiRenderer {
|
|
|
183
183
|
// Users can still override via /clean or env/UI state.
|
|
184
184
|
this.cleanMode = "soft";
|
|
185
185
|
this.uiState = {};
|
|
186
|
-
this.footerMode = "
|
|
186
|
+
this.footerMode = "rich";
|
|
187
187
|
this.reducedMotion = false;
|
|
188
188
|
this.zenMode = false;
|
|
189
189
|
this.hideThinkingBlocks = false;
|