@evalops/maestro 0.10.46 → 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/agent/providers/openai-codex-session.js +1 -1
- package/dist/agent/providers/openai-codex-session.js.map +1 -1
- package/dist/app-server/in-process-client.d.ts +2 -2
- package/dist/app-server/in-process-client.js.map +1 -1
- package/dist/app-server/protocol-modes-api.js +1 -1
- package/dist/app-server/protocol-modes-api.js.map +1 -1
- package/dist/app-server/sandbox-check-api.d.ts +21 -0
- package/dist/app-server/{sandbox-proof-api.d.ts.map → sandbox-check-api.d.ts.map} +1 -1
- package/dist/app-server/{sandbox-proof-api.js → sandbox-check-api.js} +18 -18
- package/dist/app-server/{sandbox-proof-api.js.map → sandbox-check-api.js.map} +1 -1
- package/dist/app-server/session-api.d.ts +5 -5
- package/dist/app-server/session-api.js +18 -18
- package/dist/app-server/session-api.js.map +1 -1
- package/dist/audit/logger.d.ts +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +3 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/codex.js +30 -3
- package/dist/cli/commands/codex.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/auth-state.d.ts +7 -0
- package/dist/cli-tui/auth-state.d.ts.map +1 -0
- package/dist/cli-tui/auth-state.js +46 -0
- package/dist/cli-tui/auth-state.js.map +1 -0
- package/dist/cli-tui/commands/command-catalog.d.ts.map +1 -1
- package/dist/cli-tui/commands/command-catalog.js +8 -3
- package/dist/cli-tui/commands/command-catalog.js.map +1 -1
- package/dist/cli-tui/commands/command-suite-handlers.d.ts +2 -5
- package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +1 -1
- package/dist/cli-tui/commands/command-suite-handlers.js.map +1 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +6 -5
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +1 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.js +2 -2
- package/dist/cli-tui/commands/subcommands/auth-commands.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/oauth/oauth-flow-controller.d.ts.map +1 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.js +24 -11
- package/dist/cli-tui/oauth/oauth-flow-controller.js.map +1 -1
- package/dist/cli-tui/selectors/oauth-selector-view.d.ts +1 -0
- package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +1 -1
- package/dist/cli-tui/selectors/oauth-selector-view.js +1 -1
- package/dist/cli-tui/selectors/oauth-selector-view.js.map +1 -1
- package/dist/cli-tui/selectors/oauth-selector.d.ts +2 -1
- package/dist/cli-tui/selectors/oauth-selector.d.ts.map +1 -1
- package/dist/cli-tui/selectors/oauth-selector.js +25 -2
- package/dist/cli-tui/selectors/oauth-selector.js.map +1 -1
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +2 -5
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/command-suite-wiring.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 +0 -4
- package/dist/cli-tui/tui-renderer.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer.js +4 -29
- 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 +4800 -3779
- package/dist/cli.js.map +1 -1
- package/dist/codex/app-server-client.d.ts +16 -2
- package/dist/codex/app-server-client.d.ts.map +1 -1
- package/dist/codex/app-server-client.js +67 -7
- package/dist/codex/app-server-client.js.map +1 -1
- package/dist/codex/auth.d.ts +4 -0
- package/dist/codex/auth.d.ts.map +1 -0
- package/dist/codex/auth.js +103 -0
- package/dist/codex/auth.js.map +1 -0
- package/dist/db/schema.d.ts +1 -1
- package/dist/evalops/agent-bootstrap.js +2 -2
- package/dist/evalops/agent-bootstrap.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +10 -1
- package/dist/main.js.map +1 -1
- package/dist/models/config-loader.d.ts +12 -12
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +19 -19
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js +12 -13
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -1
- 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/oauth/index.d.ts +1 -0
- package/dist/oauth/index.d.ts.map +1 -1
- package/dist/oauth/index.js +42 -2
- package/dist/oauth/index.js.map +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/app-context.d.ts +2 -0
- package/dist/server/app-context.d.ts.map +1 -1
- package/dist/server/app-context.js.map +1 -1
- package/dist/server/handlers/headless-sessions.d.ts.map +1 -1
- package/dist/server/handlers/headless-sessions.js +44 -10
- package/dist/server/handlers/headless-sessions.js.map +1 -1
- package/dist/server/handlers/hosted-runner-identity.d.ts +2 -0
- package/dist/server/handlers/hosted-runner-identity.d.ts.map +1 -1
- package/dist/server/handlers/hosted-runner-identity.js +2 -0
- package/dist/server/handlers/hosted-runner-identity.js.map +1 -1
- package/dist/server/handlers/platform-a2a-push.d.ts.map +1 -1
- package/dist/server/handlers/platform-a2a-push.js +113 -2
- package/dist/server/handlers/platform-a2a-push.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/headless-in-process-host.d.ts.map +1 -1
- package/dist/server/headless-in-process-host.js +1 -1
- package/dist/server/headless-in-process-host.js.map +1 -1
- package/dist/server/headless-runtime-service.d.ts +9 -2
- package/dist/server/headless-runtime-service.d.ts.map +1 -1
- package/dist/server/headless-runtime-service.js +54 -15
- package/dist/server/headless-runtime-service.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-runtime.js +1 -1
- package/dist/tools/background/task-runtime.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
- package/dist/app-server/sandbox-proof-api.d.ts +0 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-suite-wiring.js","sourceRoot":"","sources":["../../../src/cli-tui/tui-renderer/command-suite-wiring.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * CommandSuiteWiring adapts top-level command handlers into parent command\n * suites such as /ss, /diag, /cfg, and /tools.\n */\n\nimport {\n\ttype CommandSuiteHandlers,\n\tCommandSuiteKey,\n\tcreateCommandSuiteHandlers,\n} from \"../commands/command-suite-handlers.js\";\nimport type {\n\tCommandExecutionContext,\n\tCommandHandlers,\n} from \"../commands/types.js\";\n\ntype SuiteHandlerKey =\n\t| \"about\"\n\t| \"approvals\"\n\t| \"background\"\n\t| \"branch\"\n\t| \"changes\"\n\t| \"checkpoint\"\n\t| \"clean\"\n\t| \"clear\"\n\t| \"commands\"\n\t| \"compactTools\"\n\t| \"composer\"\n\t| \"config\"\n\t| \"context\"\n\t| \"cost\"\n\t| \"diagnostics\"\n\t| \"exportSession\"\n\t| \"footer\"\n\t| \"framework\"\n\t| \"guardian\"\n\t| \"importConfig\"\n\t| \"initAgents\"\n\t| \"login\"\n\t| \"logout\"\n\t| \"lsp\"\n\t| \"mcp\"\n\t| \"newChat\"\n\t| \"otel\"\n\t| \"planMode\"\n\t| \"preview\"\n\t| \"quota\"\n\t| \"queue\"\n\t| \"review\"\n\t| \"run\"\n\t| \"session\"\n\t| \"sessions\"\n\t| \"shareSession\"\n\t| \"stats\"\n\t| \"status\"\n\t| \"telemetry\"\n\t| \"theme\"\n\t| \"training\"\n\t| \"tree\"\n\t| \"tools\"\n\t| \"undoChanges\"\n\t| \"workflow\"\n\t| \"zen\";\n\nexport type CommandSuiteBaseHandlers = Pick<CommandHandlers, SuiteHandlerKey>;\n\nexport interface CommandSuiteRuntimeDeps {\n\tgetUiState: () => {\n\t\tzenMode: boolean;\n\t\tcleanMode: string;\n\t\tfooterMode: string;\n\t\tcompactTools: boolean;\n\t};\n\tgetAuthState: () => {\n\t\tauthenticated: boolean;\n\t\tprovider?: string;\n\t\tmode?: string;\n\t};\n\thandleSessionRecoverCommand: (\n\t\tctx: CommandExecutionContext,\n\t) => void | Promise<void>;\n\thandleSessionCleanupCommand: (\n\t\tctx: CommandExecutionContext,\n\t) => void | Promise<void>;\n\thandleSourcesCommand: (ctx: CommandExecutionContext) => void | Promise<void>;\n\thandlePerfCommand: () => void | Promise<void>;\n\thandleAuthSourceOfTruthCommand: (\n\t\targumentText: string,\n\t\tshowError: (msg: string) => void,\n\t\tshowInfo: (msg: string) => void,\n\t) => void | Promise<void>;\n}\n\nexport interface CommandSuiteWiringDeps extends CommandSuiteRuntimeDeps {\n\thandlers: CommandSuiteBaseHandlers;\n}\n\nexport function buildCommandSuiteHandlers(\n\tdeps: CommandSuiteWiringDeps,\n): CommandSuiteHandlers {\n\tconst { handlers } = deps;\n\n\treturn createCommandSuiteHandlers({\n\t\t[CommandSuiteKey.Session]: {\n\t\t\thandleNewChat: (ctx) => handlers.newChat(ctx),\n\t\t\thandleClear: () => handlers.clear(commandContext(\"/clear\")),\n\t\t\thandleSessionInfo: (ctx) => handlers.session(ctx),\n\t\t\thandleSessionsList: (ctx) => handlers.sessions(ctx),\n\t\t\thandleBranch: (ctx) => handlers.branch(ctx),\n\t\t\thandleTree: (ctx) => handlers.tree(ctx),\n\t\t\thandleQueue: (ctx) => handlers.queue(ctx),\n\t\t\thandleExport: (ctx) => handlers.exportSession(ctx),\n\t\t\thandleShare: (ctx) => handlers.shareSession(ctx),\n\t\t\thandleRecover: (ctx) => deps.handleSessionRecoverCommand(ctx),\n\t\t\thandleCleanup: (ctx) => deps.handleSessionCleanupCommand(ctx),\n\t\t},\n\t\t[CommandSuiteKey.Diag]: {\n\t\t\thandleStatus: () => handlers.status(commandContext(\"/status\")),\n\t\t\thandleAbout: () => handlers.about(commandContext(\"/about\")),\n\t\t\thandleContext: (ctx) => handlers.context(ctx),\n\t\t\thandleStats: (ctx) => handlers.stats(ctx),\n\t\t\thandleBackground: (ctx) => handlers.background(ctx),\n\t\t\thandleDiagnostics: (ctx) => handlers.diagnostics(ctx),\n\t\t\thandleTelemetry: (ctx) => handlers.telemetry(ctx),\n\t\t\thandleTraining: (ctx) => handlers.training(ctx),\n\t\t\thandleOtel: (ctx) => handlers.otel(ctx),\n\t\t\thandleConfig: (ctx) => handlers.config(ctx),\n\t\t\thandleLsp: (ctx) => handlers.lsp(ctx),\n\t\t\thandleMcp: (ctx) => handlers.mcp(ctx),\n\t\t\thandleSources: (ctx) => deps.handleSourcesCommand(ctx),\n\t\t\thandlePerf: () => deps.handlePerfCommand(),\n\t\t},\n\t\t[CommandSuiteKey.Ui]: {\n\t\t\tshowTheme: () => handlers.theme(commandContext(\"/theme\")),\n\t\t\thandleClean: (ctx) => handlers.clean(ctx),\n\t\t\thandleFooter: (ctx) => handlers.footer(ctx),\n\t\t\thandleZen: (ctx) => handlers.zen(ctx),\n\t\t\thandleCompactTools: (ctx) => handlers.compactTools(ctx),\n\t\t\tgetUiState: () => deps.getUiState(),\n\t\t},\n\t\t[CommandSuiteKey.Safety]: {\n\t\t\thandleApprovals: (ctx) => handlers.approvals(ctx),\n\t\t\thandlePlanMode: (ctx) => handlers.planMode(ctx),\n\t\t\thandleGuardian: (ctx) => handlers.guardian(ctx),\n\t\t\tgetSafetyState: () => ({\n\t\t\t\tapprovalMode: process.env.MAESTRO_APPROVALS ?? \"prompt\",\n\t\t\t\tplanMode: process.env.MAESTRO_PLAN_MODE === \"1\",\n\t\t\t\tguardianEnabled: true,\n\t\t\t}),\n\t\t},\n\t\t[CommandSuiteKey.Git]: {\n\t\t\thandleDiff: (ctx) => handlers.preview(ctx),\n\t\t\thandleReview: (ctx) => handlers.review(ctx),\n\t\t},\n\t\t[CommandSuiteKey.Auth]: {\n\t\t\thandleLogin: (ctx) => handlers.login(ctx),\n\t\t\thandleLogout: (ctx) => handlers.logout(ctx),\n\t\t\thandleSourceOfTruthPolicy: (ctx) =>\n\t\t\t\tdeps.handleAuthSourceOfTruthCommand(\n\t\t\t\t\tctx.argumentText,\n\t\t\t\t\t(msg) => ctx.showError(msg),\n\t\t\t\t\t(msg) => ctx.showInfo(msg),\n\t\t\t\t),\n\t\t\tgetAuthState: () => deps.getAuthState(),\n\t\t},\n\t\t[CommandSuiteKey.Usage]: {\n\t\t\thandleCost: (ctx) => handlers.cost(ctx),\n\t\t\thandleQuota: (ctx) => handlers.quota(ctx),\n\t\t\thandleStats: (ctx) => handlers.stats(ctx),\n\t\t},\n\t\t[CommandSuiteKey.Undo]: {\n\t\t\thandleUndo: (ctx) => handlers.undoChanges(ctx),\n\t\t\thandleCheckpoint: (ctx) => handlers.checkpoint(ctx),\n\t\t\thandleChanges: (ctx) => handlers.changes(ctx),\n\t\t\tgetUndoState: () => ({\n\t\t\t\tcanUndo: true,\n\t\t\t\tundoCount: 0,\n\t\t\t\tcheckpoints: [],\n\t\t\t}),\n\t\t},\n\t\t[CommandSuiteKey.Config]: {\n\t\t\thandleConfig: (ctx) => handlers.config(ctx),\n\t\t\thandleImport: (ctx) => handlers.importConfig(ctx),\n\t\t\thandleFramework: (ctx) => handlers.framework(ctx),\n\t\t\thandleComposer: (ctx) => handlers.composer(ctx),\n\t\t\thandleInit: (ctx) => handlers.initAgents(ctx),\n\t\t},\n\t\t[CommandSuiteKey.Tools]: {\n\t\t\thandleTools: (ctx) => handlers.tools(ctx),\n\t\t\thandleMcp: (ctx) => handlers.mcp(ctx),\n\t\t\thandleLsp: (ctx) => handlers.lsp(ctx),\n\t\t\thandleWorkflow: (ctx) => handlers.workflow(ctx),\n\t\t\thandleRun: (ctx) => handlers.run(ctx),\n\t\t\thandleCommands: (ctx) => handlers.commands(ctx),\n\t\t},\n\t});\n}\n\nfunction commandContext(rawInput: string): CommandExecutionContext {\n\treturn {\n\t\tcommand: { name: rawInput.replace(/^\\//, \"\"), description: \"\" },\n\t\trawInput,\n\t\targumentText: \"\",\n\t\tshowInfo: () => undefined,\n\t\tshowError: () => undefined,\n\t\trenderHelp: () => undefined,\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"command-suite-wiring.js","sourceRoot":"","sources":["../../../src/cli-tui/tui-renderer/command-suite-wiring.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * CommandSuiteWiring adapts top-level command handlers into parent command\n * suites such as /ss, /diag, /cfg, and /tools.\n */\n\nimport {\n\ttype CommandSuiteHandlers,\n\tCommandSuiteKey,\n\tcreateCommandSuiteHandlers,\n} from \"../commands/command-suite-handlers.js\";\nimport type { AuthState } from \"../commands/subcommands/auth-commands.js\";\nimport type {\n\tCommandExecutionContext,\n\tCommandHandlers,\n} from \"../commands/types.js\";\n\ntype SuiteHandlerKey =\n\t| \"about\"\n\t| \"approvals\"\n\t| \"background\"\n\t| \"branch\"\n\t| \"changes\"\n\t| \"checkpoint\"\n\t| \"clean\"\n\t| \"clear\"\n\t| \"commands\"\n\t| \"compactTools\"\n\t| \"composer\"\n\t| \"config\"\n\t| \"context\"\n\t| \"cost\"\n\t| \"diagnostics\"\n\t| \"exportSession\"\n\t| \"footer\"\n\t| \"framework\"\n\t| \"guardian\"\n\t| \"importConfig\"\n\t| \"initAgents\"\n\t| \"login\"\n\t| \"logout\"\n\t| \"lsp\"\n\t| \"mcp\"\n\t| \"newChat\"\n\t| \"otel\"\n\t| \"planMode\"\n\t| \"preview\"\n\t| \"quota\"\n\t| \"queue\"\n\t| \"review\"\n\t| \"run\"\n\t| \"session\"\n\t| \"sessions\"\n\t| \"shareSession\"\n\t| \"stats\"\n\t| \"status\"\n\t| \"telemetry\"\n\t| \"theme\"\n\t| \"training\"\n\t| \"tree\"\n\t| \"tools\"\n\t| \"undoChanges\"\n\t| \"workflow\"\n\t| \"zen\";\n\nexport type CommandSuiteBaseHandlers = Pick<CommandHandlers, SuiteHandlerKey>;\n\nexport interface CommandSuiteRuntimeDeps {\n\tgetUiState: () => {\n\t\tzenMode: boolean;\n\t\tcleanMode: string;\n\t\tfooterMode: string;\n\t\tcompactTools: boolean;\n\t};\n\tgetAuthState: () => AuthState | Promise<AuthState>;\n\thandleSessionRecoverCommand: (\n\t\tctx: CommandExecutionContext,\n\t) => void | Promise<void>;\n\thandleSessionCleanupCommand: (\n\t\tctx: CommandExecutionContext,\n\t) => void | Promise<void>;\n\thandleSourcesCommand: (ctx: CommandExecutionContext) => void | Promise<void>;\n\thandlePerfCommand: () => void | Promise<void>;\n\thandleAuthSourceOfTruthCommand: (\n\t\targumentText: string,\n\t\tshowError: (msg: string) => void,\n\t\tshowInfo: (msg: string) => void,\n\t) => void | Promise<void>;\n}\n\nexport interface CommandSuiteWiringDeps extends CommandSuiteRuntimeDeps {\n\thandlers: CommandSuiteBaseHandlers;\n}\n\nexport function buildCommandSuiteHandlers(\n\tdeps: CommandSuiteWiringDeps,\n): CommandSuiteHandlers {\n\tconst { handlers } = deps;\n\n\treturn createCommandSuiteHandlers({\n\t\t[CommandSuiteKey.Session]: {\n\t\t\thandleNewChat: (ctx) => handlers.newChat(ctx),\n\t\t\thandleClear: () => handlers.clear(commandContext(\"/clear\")),\n\t\t\thandleSessionInfo: (ctx) => handlers.session(ctx),\n\t\t\thandleSessionsList: (ctx) => handlers.sessions(ctx),\n\t\t\thandleBranch: (ctx) => handlers.branch(ctx),\n\t\t\thandleTree: (ctx) => handlers.tree(ctx),\n\t\t\thandleQueue: (ctx) => handlers.queue(ctx),\n\t\t\thandleExport: (ctx) => handlers.exportSession(ctx),\n\t\t\thandleShare: (ctx) => handlers.shareSession(ctx),\n\t\t\thandleRecover: (ctx) => deps.handleSessionRecoverCommand(ctx),\n\t\t\thandleCleanup: (ctx) => deps.handleSessionCleanupCommand(ctx),\n\t\t},\n\t\t[CommandSuiteKey.Diag]: {\n\t\t\thandleStatus: () => handlers.status(commandContext(\"/status\")),\n\t\t\thandleAbout: () => handlers.about(commandContext(\"/about\")),\n\t\t\thandleContext: (ctx) => handlers.context(ctx),\n\t\t\thandleStats: (ctx) => handlers.stats(ctx),\n\t\t\thandleBackground: (ctx) => handlers.background(ctx),\n\t\t\thandleDiagnostics: (ctx) => handlers.diagnostics(ctx),\n\t\t\thandleTelemetry: (ctx) => handlers.telemetry(ctx),\n\t\t\thandleTraining: (ctx) => handlers.training(ctx),\n\t\t\thandleOtel: (ctx) => handlers.otel(ctx),\n\t\t\thandleConfig: (ctx) => handlers.config(ctx),\n\t\t\thandleLsp: (ctx) => handlers.lsp(ctx),\n\t\t\thandleMcp: (ctx) => handlers.mcp(ctx),\n\t\t\thandleSources: (ctx) => deps.handleSourcesCommand(ctx),\n\t\t\thandlePerf: () => deps.handlePerfCommand(),\n\t\t},\n\t\t[CommandSuiteKey.Ui]: {\n\t\t\tshowTheme: () => handlers.theme(commandContext(\"/theme\")),\n\t\t\thandleClean: (ctx) => handlers.clean(ctx),\n\t\t\thandleFooter: (ctx) => handlers.footer(ctx),\n\t\t\thandleZen: (ctx) => handlers.zen(ctx),\n\t\t\thandleCompactTools: (ctx) => handlers.compactTools(ctx),\n\t\t\tgetUiState: () => deps.getUiState(),\n\t\t},\n\t\t[CommandSuiteKey.Safety]: {\n\t\t\thandleApprovals: (ctx) => handlers.approvals(ctx),\n\t\t\thandlePlanMode: (ctx) => handlers.planMode(ctx),\n\t\t\thandleGuardian: (ctx) => handlers.guardian(ctx),\n\t\t\tgetSafetyState: () => ({\n\t\t\t\tapprovalMode: process.env.MAESTRO_APPROVALS ?? \"prompt\",\n\t\t\t\tplanMode: process.env.MAESTRO_PLAN_MODE === \"1\",\n\t\t\t\tguardianEnabled: true,\n\t\t\t}),\n\t\t},\n\t\t[CommandSuiteKey.Git]: {\n\t\t\thandleDiff: (ctx) => handlers.preview(ctx),\n\t\t\thandleReview: (ctx) => handlers.review(ctx),\n\t\t},\n\t\t[CommandSuiteKey.Auth]: {\n\t\t\thandleLogin: (ctx) => handlers.login(ctx),\n\t\t\thandleLogout: (ctx) => handlers.logout(ctx),\n\t\t\thandleSourceOfTruthPolicy: (ctx) =>\n\t\t\t\tdeps.handleAuthSourceOfTruthCommand(\n\t\t\t\t\tctx.argumentText,\n\t\t\t\t\t(msg) => ctx.showError(msg),\n\t\t\t\t\t(msg) => ctx.showInfo(msg),\n\t\t\t\t),\n\t\t\tgetAuthState: () => deps.getAuthState(),\n\t\t},\n\t\t[CommandSuiteKey.Usage]: {\n\t\t\thandleCost: (ctx) => handlers.cost(ctx),\n\t\t\thandleQuota: (ctx) => handlers.quota(ctx),\n\t\t\thandleStats: (ctx) => handlers.stats(ctx),\n\t\t},\n\t\t[CommandSuiteKey.Undo]: {\n\t\t\thandleUndo: (ctx) => handlers.undoChanges(ctx),\n\t\t\thandleCheckpoint: (ctx) => handlers.checkpoint(ctx),\n\t\t\thandleChanges: (ctx) => handlers.changes(ctx),\n\t\t\tgetUndoState: () => ({\n\t\t\t\tcanUndo: true,\n\t\t\t\tundoCount: 0,\n\t\t\t\tcheckpoints: [],\n\t\t\t}),\n\t\t},\n\t\t[CommandSuiteKey.Config]: {\n\t\t\thandleConfig: (ctx) => handlers.config(ctx),\n\t\t\thandleImport: (ctx) => handlers.importConfig(ctx),\n\t\t\thandleFramework: (ctx) => handlers.framework(ctx),\n\t\t\thandleComposer: (ctx) => handlers.composer(ctx),\n\t\t\thandleInit: (ctx) => handlers.initAgents(ctx),\n\t\t},\n\t\t[CommandSuiteKey.Tools]: {\n\t\t\thandleTools: (ctx) => handlers.tools(ctx),\n\t\t\thandleMcp: (ctx) => handlers.mcp(ctx),\n\t\t\thandleLsp: (ctx) => handlers.lsp(ctx),\n\t\t\thandleWorkflow: (ctx) => handlers.workflow(ctx),\n\t\t\thandleRun: (ctx) => handlers.run(ctx),\n\t\t\thandleCommands: (ctx) => handlers.commands(ctx),\n\t\t},\n\t});\n}\n\nfunction commandContext(rawInput: string): CommandExecutionContext {\n\treturn {\n\t\tcommand: { name: rawInput.replace(/^\\//, \"\"), description: \"\" },\n\t\trawInput,\n\t\targumentText: \"\",\n\t\tshowInfo: () => undefined,\n\t\tshowError: () => undefined,\n\t\trenderHelp: () => undefined,\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":"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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 (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"]}
|
|
@@ -230,10 +230,6 @@ export declare class TuiRenderer {
|
|
|
230
230
|
private isMinimalMode;
|
|
231
231
|
private showPerfReport;
|
|
232
232
|
stop(): Promise<void>;
|
|
233
|
-
/**
|
|
234
|
-
* Get the actual OAuth authentication state by checking stored credentials.
|
|
235
|
-
* Returns info about which provider the user is authenticated with.
|
|
236
|
-
*/
|
|
237
233
|
private getActualAuthState;
|
|
238
234
|
private detectAndApplyTerminalTheme;
|
|
239
235
|
private configureRenderThrottle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-renderer.d.ts","sourceRoot":"","sources":["../../src/cli-tui/tui-renderer.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAGX,qBAAqB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAGX,gBAAgB,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"tui-renderer.d.ts","sourceRoot":"","sources":["../../src/cli-tui/tui-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,13 @@ import { PATHS } from "../config/constants.js";
|
|
|
4
4
|
import { mcpManager } from "../mcp/index.js";
|
|
5
5
|
import { withMcpPostKeepMessages } from "../mcp/prompt-recovery.js";
|
|
6
6
|
import { getRegisteredModels } from "../models/registry.js";
|
|
7
|
-
import { listOAuthProviders, loadOAuthCredentials } from "../oauth/storage.js";
|
|
8
7
|
import { getOpenTelemetryStatus } from "../opentelemetry.js";
|
|
9
8
|
import { toSessionModelMetadata, } from "../session/manager.js";
|
|
10
9
|
import { getTelemetryStatus } from "../telemetry.js";
|
|
11
10
|
import { SessionPerfCollector, formatPerfReport, } from "../telemetry/session-perf.js";
|
|
12
11
|
import { getCurrentThemeName, setTheme } from "../theme/theme.js";
|
|
13
12
|
import { getTrainingStatus } from "../training.js";
|
|
13
|
+
import { getTuiAuthState } from "./auth-state.js";
|
|
14
14
|
import { AutoCompactionMonitor } from "../agent/auto-compaction.js";
|
|
15
15
|
import { createAutoRetryController, } from "../agent/auto-retry.js";
|
|
16
16
|
import { collectBackgroundTaskMessagesForCompaction, collectMcpMessagesForCompaction, collectPlanMessagesForCompaction, } from "../agent/compaction-restoration.js";
|
|
@@ -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;
|
|
@@ -1996,33 +1996,8 @@ export class TuiRenderer {
|
|
|
1996
1996
|
this.footer.dispose();
|
|
1997
1997
|
process.stdout.off("resize", this.resizeHandler);
|
|
1998
1998
|
}
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
* Returns info about which provider the user is authenticated with.
|
|
2002
|
-
*/
|
|
2003
|
-
getActualAuthState() {
|
|
2004
|
-
const providers = listOAuthProviders();
|
|
2005
|
-
if (providers.length === 0) {
|
|
2006
|
-
return { authenticated: false };
|
|
2007
|
-
}
|
|
2008
|
-
// Get the primary provider (prefer current model provider if authenticated)
|
|
2009
|
-
const currentProvider = this.agent.state.model?.provider;
|
|
2010
|
-
let activeProvider = providers[0];
|
|
2011
|
-
// If we're using a provider that has OAuth credentials, use that one
|
|
2012
|
-
if (currentProvider && providers.includes(currentProvider)) {
|
|
2013
|
-
activeProvider = currentProvider;
|
|
2014
|
-
}
|
|
2015
|
-
// Load credentials to get metadata (like mode)
|
|
2016
|
-
if (!activeProvider) {
|
|
2017
|
-
return { authenticated: false, provider: undefined, mode: undefined };
|
|
2018
|
-
}
|
|
2019
|
-
const credentials = loadOAuthCredentials(activeProvider);
|
|
2020
|
-
const mode = credentials?.metadata?.mode;
|
|
2021
|
-
return {
|
|
2022
|
-
authenticated: true,
|
|
2023
|
-
provider: activeProvider,
|
|
2024
|
-
mode,
|
|
2025
|
-
};
|
|
1999
|
+
async getActualAuthState() {
|
|
2000
|
+
return getTuiAuthState(this.agent.state.model?.provider);
|
|
2026
2001
|
}
|
|
2027
2002
|
async detectAndApplyTerminalTheme() {
|
|
2028
2003
|
const auto = process.env.MAESTRO_TUI_AUTO_THEME;
|