@evalops/maestro 0.10.23 → 0.10.24
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 -4
- package/dist/agent/agent.d.ts +2 -2
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +1 -1
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/keys.d.ts +2 -5
- package/dist/agent/keys.d.ts.map +1 -1
- package/dist/agent/keys.js +4 -5
- package/dist/agent/keys.js.map +1 -1
- package/dist/agent/modes.d.ts +2 -2
- package/dist/agent/modes.d.ts.map +1 -1
- package/dist/agent/modes.js +6 -7
- package/dist/agent/modes.js.map +1 -1
- package/dist/agent/providers/anthropic.d.ts.map +1 -1
- package/dist/agent/providers/anthropic.js +4 -4
- package/dist/agent/providers/anthropic.js.map +1 -1
- package/dist/agent/providers/google.js +1 -1
- package/dist/agent/swarm/executor.d.ts +2 -0
- package/dist/agent/swarm/executor.d.ts.map +1 -1
- package/dist/agent/swarm/executor.js +208 -35
- package/dist/agent/swarm/executor.js.map +1 -1
- package/dist/agent/swarm/types.d.ts +2 -0
- package/dist/agent/swarm/types.d.ts.map +1 -1
- package/dist/agent/swarm/types.js.map +1 -1
- package/dist/agent/tool-capability-types.d.ts +36 -0
- package/dist/agent/tool-capability-types.d.ts.map +1 -0
- package/dist/agent/tool-capability-types.js +2 -0
- package/dist/agent/tool-capability-types.js.map +1 -0
- package/dist/agent/transport/tool-execution-bridge.d.ts +13 -0
- package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
- package/dist/agent/transport/tool-execution-bridge.js +28 -15
- package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
- package/dist/agent/transport/transport-utils.d.ts.map +1 -1
- package/dist/agent/transport/transport-utils.js +2 -3
- package/dist/agent/transport/transport-utils.js.map +1 -1
- package/dist/agent/transport.js +1 -1
- package/dist/agent/transport.js.map +1 -1
- package/dist/agent/type-guards.d.ts +1 -1
- package/dist/agent/type-guards.js +1 -1
- package/dist/agent/type-guards.js.map +1 -1
- package/dist/agent/types.d.ts +5 -3
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +2 -2
- package/dist/agent/types.js.map +1 -1
- package/dist/app-server/daemon-lifecycle-api.d.ts +31 -0
- package/dist/app-server/daemon-lifecycle-api.d.ts.map +1 -0
- package/dist/app-server/daemon-lifecycle-api.js +259 -0
- package/dist/app-server/daemon-lifecycle-api.js.map +1 -0
- package/dist/app-server/external-agent-import-api.d.ts +30 -0
- package/dist/app-server/external-agent-import-api.d.ts.map +1 -0
- package/dist/app-server/external-agent-import-api.js +553 -0
- package/dist/app-server/external-agent-import-api.js.map +1 -0
- package/dist/app-server/host-control-api.d.ts +30 -0
- package/dist/app-server/host-control-api.d.ts.map +1 -0
- package/dist/app-server/host-control-api.js +343 -0
- package/dist/app-server/host-control-api.js.map +1 -0
- package/dist/app-server/in-process-client.d.ts +2 -2
- package/dist/app-server/in-process-client.d.ts.map +1 -1
- package/dist/app-server/in-process-client.js.map +1 -1
- package/dist/app-server/network-governance-api.d.ts +26 -0
- package/dist/app-server/network-governance-api.d.ts.map +1 -0
- package/dist/app-server/network-governance-api.js +476 -0
- package/dist/app-server/network-governance-api.js.map +1 -0
- package/dist/app-server/plugin-bundle-api.d.ts +17 -0
- package/dist/app-server/plugin-bundle-api.d.ts.map +1 -0
- package/dist/app-server/plugin-bundle-api.js +219 -0
- package/dist/app-server/plugin-bundle-api.js.map +1 -0
- package/dist/app-server/policy-control-api.d.ts +14 -0
- package/dist/app-server/policy-control-api.d.ts.map +1 -0
- package/dist/app-server/policy-control-api.js +200 -0
- package/dist/app-server/policy-control-api.js.map +1 -0
- package/dist/app-server/protocol-modes-api.d.ts +22 -0
- package/dist/app-server/protocol-modes-api.d.ts.map +1 -0
- package/dist/app-server/protocol-modes-api.js +124 -0
- package/dist/app-server/protocol-modes-api.js.map +1 -0
- package/dist/app-server/sandbox-proof-api.d.ts +21 -0
- package/dist/app-server/sandbox-proof-api.d.ts.map +1 -0
- package/dist/app-server/sandbox-proof-api.js +127 -0
- package/dist/app-server/sandbox-proof-api.js.map +1 -0
- package/dist/app-server/session-api.d.ts +93 -3
- package/dist/app-server/session-api.d.ts.map +1 -1
- package/dist/app-server/session-api.js +706 -18
- package/dist/app-server/session-api.js.map +1 -1
- package/dist/audit/logger.d.ts +1 -1
- package/dist/bootstrap/auth-setup.d.ts.map +1 -1
- package/dist/bootstrap/auth-setup.js +17 -2
- package/dist/bootstrap/auth-setup.js.map +1 -1
- package/dist/bootstrap/model-resolution-setup.d.ts.map +1 -1
- package/dist/bootstrap/model-resolution-setup.js +19 -4
- package/dist/bootstrap/model-resolution-setup.js.map +1 -1
- package/dist/cli/args.d.ts +2 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +2 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/a2a.d.ts.map +1 -1
- package/dist/cli/commands/a2a.js +226 -14
- package/dist/cli/commands/a2a.js.map +1 -1
- package/dist/cli/commands/anthropic.d.ts +1 -1
- package/dist/cli/commands/anthropic.d.ts.map +1 -1
- package/dist/cli/commands/anthropic.js +3 -68
- package/dist/cli/commands/anthropic.js.map +1 -1
- package/dist/cli/commands/modes.js +1 -1
- package/dist/cli/commands/modes.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +5 -7
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/rpc-mode.d.ts +1 -1
- package/dist/cli/rpc-mode.js +1 -1
- package/dist/cli/rpc-mode.js.map +1 -1
- package/dist/cli/session.js +1 -1
- package/dist/cli/session.js.map +1 -1
- package/dist/cli-tui/commands/command-catalog.d.ts.map +1 -1
- package/dist/cli-tui/commands/command-catalog.js +7 -12
- package/dist/cli-tui/commands/command-catalog.js.map +1 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +1 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +1 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.js +4 -12
- package/dist/cli-tui/commands/subcommands/auth-commands.js.map +1 -1
- package/dist/cli-tui/custom-editor.d.ts +1 -1
- package/dist/cli-tui/custom-editor.js +2 -2
- package/dist/cli-tui/custom-editor.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 +19 -23
- package/dist/cli-tui/oauth/oauth-flow-controller.js.map +1 -1
- package/dist/cli-tui/selectors/model-selector.d.ts.map +1 -1
- package/dist/cli-tui/selectors/model-selector.js +0 -1
- package/dist/cli-tui/selectors/model-selector.js.map +1 -1
- package/dist/cli-tui/selectors/oauth-selector-view.d.ts +2 -2
- package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +1 -1
- package/dist/cli-tui/selectors/oauth-selector-view.js.map +1 -1
- package/dist/cli-tui/selectors/oauth-selector.d.ts +2 -2
- package/dist/cli-tui/selectors/oauth-selector.d.ts.map +1 -1
- package/dist/cli-tui/selectors/oauth-selector.js +3 -4
- package/dist/cli-tui/selectors/oauth-selector.js.map +1 -1
- package/dist/cli-tui/tui-renderer/mcp-events-setup.js +1 -1
- package/dist/cli-tui/tui-renderer/mcp-events-setup.js.map +1 -1
- package/dist/cli-tui/tui-renderer.js +2 -2
- package/dist/cli-tui/tui-renderer.js.map +1 -1
- package/dist/cli-tui/utils/footer-utils.d.ts +1 -1
- package/dist/cli-tui/utils/footer-utils.js +1 -1
- package/dist/cli-tui/utils/footer-utils.js.map +1 -1
- package/dist/cli.js +15156 -14232
- package/dist/commands/prompts.d.ts +1 -1
- package/dist/commands/prompts.js +1 -1
- package/dist/commands/prompts.js.map +1 -1
- package/dist/config/constants.d.ts +2 -2
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +2 -2
- package/dist/config/constants.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/toml-config.js +3 -3
- package/dist/config/toml-config.js.map +1 -1
- package/dist/db/client.d.ts +2 -2
- package/dist/db/client.js +2 -2
- package/dist/db/client.js.map +1 -1
- package/dist/db/migrate.d.ts +1 -1
- package/dist/db/migrate.js +1 -1
- package/dist/db/migrate.js.map +1 -1
- package/dist/db/schema.d.ts +2 -2
- package/dist/db/schema.js +1 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/errors/index.d.ts +2 -2
- package/dist/errors/index.js +2 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/main.d.ts +4 -5
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +17 -14
- package/dist/main.js.map +1 -1
- package/dist/mcp/config.d.ts +15 -2
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +50 -26
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/fathom-cua.d.ts.map +1 -1
- package/dist/mcp/fathom-cua.js +10 -0
- package/dist/mcp/fathom-cua.js.map +1 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +32 -1
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/tool-bridge.d.ts.map +1 -1
- package/dist/mcp/tool-bridge.js +12 -3
- package/dist/mcp/tool-bridge.js.map +1 -1
- package/dist/mcp/tool-capabilities.d.ts +5 -0
- package/dist/mcp/tool-capabilities.d.ts.map +1 -0
- package/dist/mcp/tool-capabilities.js +271 -0
- package/dist/mcp/tool-capabilities.js.map +1 -0
- package/dist/mcp/types.d.ts +6 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js.map +1 -1
- package/dist/models/config-loader.d.ts +1 -1
- package/dist/models/factory-integration.d.ts +1 -1
- package/dist/models/factory-integration.js +1 -1
- package/dist/models/factory-integration.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts +3 -3
- package/dist/node_modules/@evalops/contracts/dist/index.js +2 -2
- package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +1182 -14
- 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 +450 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.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/connectors.d.ts +2 -2
- package/dist/oauth/connectors.d.ts.map +1 -1
- package/dist/oauth/connectors.js +3 -5
- package/dist/oauth/connectors.js.map +1 -1
- package/dist/oauth/github-copilot.d.ts +1 -1
- package/dist/oauth/github-copilot.js +1 -1
- package/dist/oauth/github-copilot.js.map +1 -1
- package/dist/oauth/index.d.ts +10 -8
- package/dist/oauth/index.d.ts.map +1 -1
- package/dist/oauth/index.js +54 -31
- package/dist/oauth/index.js.map +1 -1
- package/dist/oauth/openai.d.ts +1 -1
- package/dist/oauth/openai.js +2 -2
- package/dist/oauth/openai.js.map +1 -1
- package/dist/platform/a2a-completion-audit.d.ts +41 -0
- package/dist/platform/a2a-completion-audit.d.ts.map +1 -0
- package/dist/platform/a2a-completion-audit.js +177 -0
- package/dist/platform/a2a-completion-audit.js.map +1 -0
- package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
- package/dist/platform/a2a-task-ledger.js +17 -0
- package/dist/platform/a2a-task-ledger.js.map +1 -1
- package/dist/platform/a2a-telemetry-inspect.d.ts +58 -0
- package/dist/platform/a2a-telemetry-inspect.d.ts.map +1 -0
- package/dist/platform/a2a-telemetry-inspect.js +224 -0
- package/dist/platform/a2a-telemetry-inspect.js.map +1 -0
- package/dist/platform/agent-registry-client.d.ts +8 -0
- package/dist/platform/agent-registry-client.d.ts.map +1 -1
- package/dist/platform/agent-registry-client.js +9 -1
- package/dist/platform/agent-registry-client.js.map +1 -1
- package/dist/providers/api-keys.d.ts +2 -2
- package/dist/providers/api-keys.js +2 -2
- package/dist/providers/api-keys.js.map +1 -1
- package/dist/providers/auth.d.ts +3 -6
- package/dist/providers/auth.d.ts.map +1 -1
- package/dist/providers/auth.js +1 -40
- package/dist/providers/auth.js.map +1 -1
- package/dist/rpc/index.d.ts +2 -2
- package/dist/rpc/index.js +2 -2
- package/dist/rpc/index.js.map +1 -1
- package/dist/rpc/rpc-types.d.ts +1 -1
- package/dist/rpc/rpc-types.js +1 -1
- package/dist/rpc/rpc-types.js.map +1 -1
- package/dist/safety/nested-agent-guard.js +1 -1
- package/dist/safety/nested-agent-guard.js.map +1 -1
- package/dist/safety/policy.d.ts +2 -2
- package/dist/safety/policy.js +2 -2
- package/dist/safety/policy.js.map +1 -1
- package/dist/safety/validators/network-policy-validator.d.ts +8 -0
- package/dist/safety/validators/network-policy-validator.d.ts.map +1 -1
- package/dist/safety/validators/network-policy-validator.js +29 -4
- package/dist/safety/validators/network-policy-validator.js.map +1 -1
- package/dist/sandbox/local-sandbox.d.ts +1 -1
- package/dist/sandbox/local-sandbox.js +1 -1
- package/dist/sandbox/local-sandbox.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/attachments.d.ts.map +1 -1
- package/dist/server/handlers/attachments.js +1 -0
- package/dist/server/handlers/attachments.js.map +1 -1
- package/dist/server/handlers/models.d.ts.map +1 -1
- package/dist/server/handlers/models.js +3 -1
- package/dist/server/handlers/models.js.map +1 -1
- package/dist/server/handlers/session-attachments.d.ts.map +1 -1
- package/dist/server/handlers/session-attachments.js +2 -0
- package/dist/server/handlers/session-attachments.js.map +1 -1
- package/dist/server/handlers/sessions.js +1 -1
- package/dist/server/handlers/sessions.js.map +1 -1
- package/dist/server/handlers/status.d.ts +2 -0
- package/dist/server/handlers/status.d.ts.map +1 -1
- package/dist/server/handlers/status.js +3 -2
- package/dist/server/handlers/status.js.map +1 -1
- package/dist/server/headless-runtime-service.d.ts.map +1 -1
- package/dist/server/headless-runtime-service.js +32 -3
- package/dist/server/headless-runtime-service.js.map +1 -1
- package/dist/server/hosted-session-manager.d.ts +2 -0
- package/dist/server/hosted-session-manager.d.ts.map +1 -1
- package/dist/server/hosted-session-manager.js +9 -0
- package/dist/server/hosted-session-manager.js.map +1 -1
- package/dist/server/model-selection.d.ts.map +1 -1
- package/dist/server/model-selection.js +9 -1
- package/dist/server/model-selection.js.map +1 -1
- package/dist/server/rate-limiter.d.ts +1 -1
- package/dist/server/rate-limiter.js +1 -1
- package/dist/server/rate-limiter.js.map +1 -1
- package/dist/server/router.d.ts +2 -2
- package/dist/server/router.js.map +1 -1
- package/dist/server/session-serialization.d.ts +9 -9
- package/dist/server/session-serialization.js +15 -15
- package/dist/server/session-serialization.js.map +1 -1
- package/dist/session/manager.d.ts +5 -0
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +56 -8
- package/dist/session/manager.js.map +1 -1
- package/dist/session/session-catalog.d.ts +2 -0
- package/dist/session/session-catalog.d.ts.map +1 -1
- package/dist/session/session-catalog.js +6 -0
- package/dist/session/session-catalog.js.map +1 -1
- package/dist/session/session-context.d.ts +2 -0
- package/dist/session/session-context.d.ts.map +1 -1
- package/dist/session/session-context.js +15 -0
- package/dist/session/session-context.js.map +1 -1
- package/dist/session/types.d.ts +7 -0
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session/types.js.map +1 -1
- package/dist/session/wire-format.generated.d.ts +1 -0
- package/dist/session/wire-format.generated.d.ts.map +1 -1
- package/dist/session/wire-format.generated.js +1 -0
- package/dist/session/wire-format.generated.js.map +1 -1
- package/dist/shared-memory/contract.d.ts +4 -4
- package/dist/shared-memory/contract.js +2 -2
- package/dist/shared-memory/contract.js.map +1 -1
- package/dist/telemetry/index.d.ts +2 -2
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +2 -2
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/maestro-event-bus.d.ts +57 -0
- package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
- package/dist/telemetry/maestro-event-bus.js +59 -1
- package/dist/telemetry/maestro-event-bus.js.map +1 -1
- package/dist/telemetry/maestro-event-catalog.d.ts +17 -1
- package/dist/telemetry/maestro-event-catalog.d.ts.map +1 -1
- package/dist/telemetry/maestro-event-catalog.js +24 -0
- package/dist/telemetry/maestro-event-catalog.js.map +1 -1
- package/dist/telemetry/mcp-beacon.d.ts +2 -0
- package/dist/telemetry/mcp-beacon.d.ts.map +1 -1
- package/dist/telemetry/mcp-beacon.js +15 -0
- package/dist/telemetry/mcp-beacon.js.map +1 -1
- package/dist/telemetry/metrics.d.ts +62 -0
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +84 -0
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/telemetry.d.ts +44 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +84 -2
- package/dist/telemetry.js.map +1 -1
- package/dist/theme/theme-loader.js +2 -2
- package/dist/theme/theme-loader.js.map +1 -1
- package/dist/theme/theme-schema.json +2 -2
- package/dist/theme/theme.d.ts +1 -1
- package/dist/theme/theme.js.map +1 -1
- package/dist/tools/background/task-types.d.ts +1 -1
- package/dist/tools/extract-document.d.ts +1 -0
- package/dist/tools/extract-document.d.ts.map +1 -1
- package/dist/tools/extract-document.js +2 -1
- package/dist/tools/extract-document.js.map +1 -1
- package/dist/tools/index.d.ts +55 -55
- package/dist/tools/index.js +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/tool-dsl.d.ts +1 -1
- package/dist/tools/tool-dsl.js +1 -1
- package/dist/tools/tool-dsl.js.map +1 -1
- package/dist/utils/document-extractor.d.ts +1 -0
- package/dist/utils/document-extractor.d.ts.map +1 -1
- package/dist/utils/document-extractor.js +320 -40
- package/dist/utils/document-extractor.js.map +1 -1
- package/dist/utils/logger.d.ts +1 -1
- package/dist/utils/logger.js +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/version.json +2 -2
- package/dist/web-server.d.ts +1 -1
- package/dist/web-server.d.ts.map +1 -1
- package/dist/web-server.js +12 -8
- package/dist/web-server.js.map +1 -1
- package/package.json +4 -2
- package/dist/oauth/anthropic.d.ts +0 -17
- package/dist/oauth/anthropic.d.ts.map +0 -1
- package/dist/oauth/anthropic.js +0 -81
- package/dist/oauth/anthropic.js.map +0 -1
- package/dist/providers/anthropic-auth.d.ts +0 -75
- package/dist/providers/anthropic-auth.d.ts.map +0 -1
- package/dist/providers/anthropic-auth.js +0 -221
- package/dist/providers/anthropic-auth.js.map +0 -1
|
@@ -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 Claude Pro/Max via OAuth\",\n\t\tusage: \"/login [mode] or /login [provider:mode]\",\n\t\ttags: [\"auth\"],\n\t\targuments: [\n\t\t\t{\n\t\t\t\tname: \"argument\",\n\t\t\t\ttype: \"string\",\n\t\t\t\trequired: false,\n\t\t\t\tdescription:\n\t\t\t\t\t\"Login mode (pro/console) or provider:mode format (e.g., anthropic:pro)\",\n\t\t\t},\n\t\t],\n\t\texamples: [\n\t\t\t\"/login\",\n\t\t\t\"/login pro\",\n\t\t\t\"/login console\",\n\t\t\t\"/login anthropic:pro\",\n\t\t],\n\t}),\n\twithArgs(\"logout\", \"logout\", {\n\t\tdescription: \"Remove stored Claude 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 anthropic\"],\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 [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: [\"/login\", \"/login openai-codex\", \"/login openai\"],\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"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Usage:
|
|
7
7
|
* /auth - Show auth status
|
|
8
|
-
* /auth login [
|
|
8
|
+
* /auth login [provider] - Authenticate (openai-codex by default)
|
|
9
9
|
* /auth logout [provider] - Remove credentials
|
|
10
10
|
* /auth source-of-truth <provider> <area> [fallbackConnectionId] - Set connector policy
|
|
11
11
|
* /auth status - Show current auth state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-commands.d.ts","sourceRoot":"","sources":["../../../../src/cli-tui/commands/subcommands/auth-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpE,YAAY,EAAE,CAAC,GAAG,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrE,yBAAyB,CAAC,EAAE,CAC3B,GAAG,EAAE,uBAAuB,KACxB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"auth-commands.d.ts","sourceRoot":"","sources":["../../../../src/cli-tui/commands/subcommands/auth-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpE,YAAY,EAAE,CAAC,GAAG,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrE,yBAAyB,CAAC,EAAE,CAC3B,GAAG,EAAE,uBAAuB,KACxB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,mDA0C7D"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Usage:
|
|
7
7
|
* /auth - Show auth status
|
|
8
|
-
* /auth login [
|
|
8
|
+
* /auth login [provider] - Authenticate (openai-codex by default)
|
|
9
9
|
* /auth logout [provider] - Remove credentials
|
|
10
10
|
* /auth source-of-truth <provider> <area> [fallbackConnectionId] - Set connector policy
|
|
11
11
|
* /auth status - Show current auth state
|
|
@@ -39,12 +39,7 @@ export function createAuthCommandHandler(deps) {
|
|
|
39
39
|
},
|
|
40
40
|
},
|
|
41
41
|
],
|
|
42
|
-
onUnknown: async ({ ctx, subcommand
|
|
43
|
-
if (["pro", "console", "max"].includes(subcommand) ||
|
|
44
|
-
subcommand.includes(":")) {
|
|
45
|
-
await deps.handleLogin(customContext(`/login ${ctx.argumentText}`, ctx.argumentText));
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
42
|
+
onUnknown: async ({ ctx, subcommand }) => {
|
|
48
43
|
ctx.showError(`Unknown subcommand: ${subcommand}`);
|
|
49
44
|
showAuthHelp(ctx);
|
|
50
45
|
},
|
|
@@ -64,16 +59,13 @@ Use /auth logout to sign out.`);
|
|
|
64
59
|
ctx.showInfo(`Authentication Status:
|
|
65
60
|
Authenticated: no
|
|
66
61
|
|
|
67
|
-
Use /auth login to authenticate with
|
|
62
|
+
Use /auth login to authenticate with OpenAI Codex.`);
|
|
68
63
|
}
|
|
69
64
|
}
|
|
70
65
|
function showAuthHelp(ctx) {
|
|
71
66
|
ctx.showInfo(`Auth Commands:
|
|
72
67
|
/auth Show auth status
|
|
73
|
-
/auth login [
|
|
74
|
-
- pro: Claude Pro
|
|
75
|
-
- console: Anthropic Console
|
|
76
|
-
- provider:mode (e.g., anthropic:pro)
|
|
68
|
+
/auth login [provider] Authenticate (openai-codex by default)
|
|
77
69
|
/auth logout [provider] Remove credentials
|
|
78
70
|
/auth source-of-truth <provider> <area> [fallbackConnectionId]
|
|
79
71
|
Set connector source-of-truth policy metadata
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-commands.js","sourceRoot":"","sources":["../../../../src/cli-tui/commands/subcommands/auth-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAerD,MAAM,UAAU,wBAAwB,CAAC,IAAqB;IAC7D,OAAO,uBAAuB,CAAC;QAC9B,iBAAiB,EAAE,QAAQ;QAC3B,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE;YACP;gBACC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;gBACnC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC;aAC/C;YACD;gBACC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAC1B,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,EAAE,SAAS,CAAC;gBAC5B,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,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;wBACrC,GAAG,CAAC,SAAS,CACZ,qEAAqE,CACrE,CAAC;wBACF,OAAO;oBACR,CAAC;oBACD,OAAO,IAAI,CAAC,yBAAyB,CACpC,aAAa,CACZ,yBAAyB,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAClD,gBAAgB,CAChB,CACD,CAAC;gBACH,CAAC;aACD;SACD;QACD,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"auth-commands.js","sourceRoot":"","sources":["../../../../src/cli-tui/commands/subcommands/auth-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAerD,MAAM,UAAU,wBAAwB,CAAC,IAAqB;IAC7D,OAAO,uBAAuB,CAAC;QAC9B,iBAAiB,EAAE,QAAQ;QAC3B,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE;YACP;gBACC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;gBACnC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC;aAC/C;YACD;gBACC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAC1B,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,EAAE,SAAS,CAAC;gBAC5B,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,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;wBACrC,GAAG,CAAC,SAAS,CACZ,qEAAqE,CACrE,CAAC;wBACF,OAAO;oBACR,CAAC;oBACD,OAAO,IAAI,CAAC,yBAAyB,CACpC,aAAa,CACZ,yBAAyB,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAClD,gBAAgB,CAChB,CACD,CAAC;gBACH,CAAC;aACD;SACD;QACD,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE;YACxC,GAAG,CAAC,SAAS,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;YACnD,YAAY,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACtB,GAA4B,EAC5B,IAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC;;cAED,KAAK,CAAC,QAAQ,IAAI,SAAS;UAC/B,KAAK,CAAC,IAAI,IAAI,SAAS;;8BAEH,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC;;;mDAGoC,CAAC,CAAC;IACpD,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,GAA4B;IACjD,GAAG,CAAC,QAAQ,CAAC;;;;;;;;;;;6CAW+B,CAAC,CAAC;AAC/C,CAAC","sourcesContent":["/**\n * Consolidated /auth command handler.\n *\n * Combines: /login, /logout\n *\n * Usage:\n * /auth - Show auth status\n * /auth login [provider] - Authenticate (openai-codex by default)\n * /auth logout [provider] - Remove credentials\n * /auth source-of-truth <provider> <area> [fallbackConnectionId] - Set connector policy\n * /auth status - Show current auth state\n */\n\nimport type { CommandExecutionContext } from \"../types.js\";\nimport { createSubcommandHandler } from \"./utils.js\";\n\nexport interface AuthCommandDeps {\n\thandleLogin: (ctx: CommandExecutionContext) => Promise<void> | void;\n\thandleLogout: (ctx: CommandExecutionContext) => Promise<void> | void;\n\thandleSourceOfTruthPolicy?: (\n\t\tctx: CommandExecutionContext,\n\t) => Promise<void> | void;\n\tgetAuthState: () => {\n\t\tauthenticated: boolean;\n\t\tprovider?: string;\n\t\tmode?: string;\n\t};\n}\n\nexport function createAuthCommandHandler(deps: AuthCommandDeps) {\n\treturn createSubcommandHandler({\n\t\tdefaultSubcommand: \"status\",\n\t\tshowHelp: showAuthHelp,\n\t\troutes: [\n\t\t\t{\n\t\t\t\tmatch: [\"status\", \"info\", \"whoami\"],\n\t\t\t\texecute: ({ ctx }) => showAuthStatus(ctx, deps),\n\t\t\t},\n\t\t\t{\n\t\t\t\tmatch: [\"login\", \"signin\"],\n\t\t\t\texecute: ({ rewriteContext }) =>\n\t\t\t\t\tdeps.handleLogin(rewriteContext(\"login\")),\n\t\t\t},\n\t\t\t{\n\t\t\t\tmatch: [\"logout\", \"signout\"],\n\t\t\t\texecute: ({ rewriteContext }) =>\n\t\t\t\t\tdeps.handleLogout(rewriteContext(\"logout\")),\n\t\t\t},\n\t\t\t{\n\t\t\t\tmatch: [\"source-of-truth\", \"sot\", \"policy\"],\n\t\t\t\texecute: ({ ctx, customContext, restArgumentText }) => {\n\t\t\t\t\tif (!deps.handleSourceOfTruthPolicy) {\n\t\t\t\t\t\tctx.showError(\n\t\t\t\t\t\t\t\"Source-of-truth policy management is not available in this session.\",\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\treturn deps.handleSourceOfTruthPolicy(\n\t\t\t\t\t\tcustomContext(\n\t\t\t\t\t\t\t`/auth source-of-truth ${restArgumentText}`.trim(),\n\t\t\t\t\t\t\trestArgumentText,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tonUnknown: async ({ ctx, subcommand }) => {\n\t\t\tctx.showError(`Unknown subcommand: ${subcommand}`);\n\t\t\tshowAuthHelp(ctx);\n\t\t},\n\t});\n}\n\nfunction showAuthStatus(\n\tctx: CommandExecutionContext,\n\tdeps: AuthCommandDeps,\n): void {\n\tconst state = deps.getAuthState();\n\tif (state.authenticated) {\n\t\tctx.showInfo(`Authentication Status:\n Authenticated: yes\n Provider: ${state.provider || \"unknown\"}\n Mode: ${state.mode || \"unknown\"}\n\nUse /auth logout to sign out.`);\n\t} else {\n\t\tctx.showInfo(`Authentication Status:\n Authenticated: no\n\nUse /auth login to authenticate with OpenAI Codex.`);\n\t}\n}\n\nfunction showAuthHelp(ctx: CommandExecutionContext): void {\n\tctx.showInfo(`Auth Commands:\n /auth Show auth status\n /auth login [provider] Authenticate (openai-codex by default)\n /auth logout [provider] Remove credentials\n /auth source-of-truth <provider> <area> [fallbackConnectionId]\n Set connector source-of-truth policy metadata\n Areas: analytics, billing, crm, hris, support\n /auth source-of-truth clear <provider>\n Remove local policy metadata\n /auth status Show current auth state\n\nDirect shortcuts still work: /login, /logout`);\n}\n"]}
|
|
@@ -94,7 +94,7 @@ const CUSTOM_EDITOR_KEYMAP = [
|
|
|
94
94
|
},
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
|
-
description: "Escape closes
|
|
97
|
+
description: "Escape closes Maestro modals (unless autocomplete is open)",
|
|
98
98
|
matches: (data) => data === "\x1b",
|
|
99
99
|
when: (editor) => Boolean(editor.onEscape) && !editor.isShowingAutocomplete(),
|
|
100
100
|
handle: (editor) => {
|
|
@@ -193,7 +193,7 @@ const CUSTOM_EDITOR_KEYMAP = [
|
|
|
193
193
|
},
|
|
194
194
|
];
|
|
195
195
|
/**
|
|
196
|
-
* Custom editor that handles Escape and Ctrl+C keys for
|
|
196
|
+
* Custom editor that handles Escape and Ctrl+C keys for Maestro
|
|
197
197
|
*/
|
|
198
198
|
export class CustomEditor extends Editor {
|
|
199
199
|
handleInput(rawData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-editor.js","sourceRoot":"","sources":["../../src/cli-tui/custom-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AASxD,MAAM,oBAAoB,GAA0B;IACnD;QACC,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI;QAChC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QAC1E,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,IAAI;KAC7C;IACD;QACC,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC;QAC5D,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,IAAI,CAAC;QACpE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,IAAI,CAAC;QACvE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,IAAI,CAAC;QAChE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC;QACxD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QACnC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,IAAI;KAClD;IACD;QACC,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW;QACjD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,uDAAuD;QACpE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS;QAC/C,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,4CAA4C;QACzD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS;QAC/C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM;QAClC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC9C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,6DAA6D;QAC1E,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM;QAClC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QAC5D,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,IAAI,CAAC;QAChE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,KAAK,IAAI;KACnE;IACD;QACC,WAAW,EAAE,uDAAuD;QACpE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG;QAC/B,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI;KACtD;IACD;QACC,WAAW,EACV,yEAAyE;QAC1E,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;QAC/C,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI;KACrD;IACD;QACC,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM;QAClC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD;QACC,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,IAAI,CAAC;QACpE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAChB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QAC9D,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI;KACvE;IACD;QACC,WAAW,EAAE,0DAA0D;QACvE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ;QACpC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAChB,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QACrE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI;KAC/D;IACD;QACC,WAAW,EAAE,4DAA4D;QACzE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ;QACpC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAChB,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QACrE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI;KAC/D;IACD;QACC,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS;QACrC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI;KAC1D;IACD;QACC,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS;QACrC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,KAAK,IAAI;KAC5D;IACD;QACC,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM;QAClC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI;KAC1D;IACD;QACC,WAAW,EACV,kEAAkE;QACnE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAChC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACvE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,gDAAgD;YAChD,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9C,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACb,CAAC;YACD,wCAAwC;YACxC,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;QAC/C,CAAC;KACD;IACD;QACC,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW;QACvC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,KAAK,IAAI;KAC7D;IACD;QACC,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW;QACvC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,KAAK,IAAI;KAC5D;CACD,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,MAAM;IAiB9B,WAAW,CAAC,OAAe;QACnC,qBAAqB,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAAE,OAAO;QAE5C,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjB,CAAC;QAED,qCAAqC;QACrC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAEO,oBAAoB,CAAC,IAAY;QACxC,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YACrC,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YAClD,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC7C,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACd,CAAC;QACD,sDAAsD;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACd,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC7B,SAAS;YACV,CAAC;YACD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD","sourcesContent":["import { Editor, KittyKeys, isCtrlD, isShiftTab } from \"@evalops/tui\";\nimport { recordUserInteraction } from \"../interaction/user-interaction.js\";\nimport { matchesTuiKeybinding } from \"./keybindings.js\";\n\ntype CustomEditorBinding = {\n\tdescription: string;\n\tmatches: (data: string) => boolean;\n\twhen?: (editor: CustomEditor) => boolean;\n\thandle: (editor: CustomEditor, data: string) => boolean;\n};\n\nconst CUSTOM_EDITOR_KEYMAP: CustomEditorBinding[] = [\n\t{\n\t\tdescription: \"Tab cycles slash hints, sends, or queues while running\",\n\t\tmatches: (data) => data === \"\\t\",\n\t\twhen: (editor) => Boolean(editor.onTab) && !editor.isShowingAutocomplete(),\n\t\thandle: (editor) => editor.onTab?.() === true,\n\t},\n\t{\n\t\tdescription: \"Cycles models\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"cycle-model\", data),\n\t\twhen: (editor) => Boolean(editor.onCtrlP),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlP?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Toggles tool output expansion\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"toggle-tool-outputs\", data),\n\t\twhen: (editor) => Boolean(editor.onCtrlO),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlO?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Toggles thinking block visibility\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"toggle-thinking-blocks\", data),\n\t\twhen: (editor) => Boolean(editor.onCtrlT),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlT?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Opens the external editor\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"external-editor\", data),\n\t\twhen: (editor) => Boolean(editor.onCtrlG),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlG?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Suspends to background\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"suspend\", data),\n\t\twhen: (editor) => Boolean(editor.onCtrlZ),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlZ?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Shift+Tab cycles thinking levels (or slash reverse cycle)\",\n\t\tmatches: (data) => isShiftTab(data),\n\t\twhen: (editor) => Boolean(editor.onShiftTab),\n\t\thandle: (editor) => editor.onShiftTab?.() === true,\n\t},\n\t{\n\t\tdescription: \"Shift+Enter inserts newline (Kitty protocol)\",\n\t\tmatches: (data) => data === KittyKeys.SHIFT_ENTER,\n\t\thandle: (editor) => {\n\t\t\teditor.insertText(\"\\n\");\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Alt+Enter queues a follow-up message (Kitty protocol)\",\n\t\tmatches: (data) => data === KittyKeys.ALT_ENTER,\n\t\twhen: (editor) => Boolean(editor.onFollowUp),\n\t\thandle: (editor) => {\n\t\t\teditor.onFollowUp?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Alt+Enter inserts newline (Kitty protocol)\",\n\t\tmatches: (data) => data === KittyKeys.ALT_ENTER,\n\t\thandle: (editor) => {\n\t\t\teditor.insertText(\"\\n\");\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Ctrl+V pastes an image from clipboard\",\n\t\tmatches: (data) => data === \"\\x16\",\n\t\twhen: (editor) => Boolean(editor.onPasteImage),\n\t\thandle: (editor) => {\n\t\t\teditor.onPasteImage?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Escape closes Composer modals (unless autocomplete is open)\",\n\t\tmatches: (data) => data === \"\\x1b\",\n\t\twhen: (editor) =>\n\t\t\tBoolean(editor.onEscape) && !editor.isShowingAutocomplete(),\n\t\thandle: (editor) => {\n\t\t\teditor.onEscape?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Opens the command palette\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"command-palette\", data),\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"command-palette\") === true,\n\t},\n\t{\n\t\tdescription: \"@ triggers file search (only when not autocompleting)\",\n\t\tmatches: (data) => data === \"@\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"at\") === true,\n\t},\n\t{\n\t\tdescription:\n\t\t\t\"'k' can trigger keep-partial during interrupt (if handler returns true)\",\n\t\tmatches: (data) => data === \"k\" || data === \"K\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"k\") === true,\n\t},\n\t{\n\t\tdescription: \"Ctrl+C interrupts the current run\",\n\t\tmatches: (data) => data === \"\\x03\",\n\t\twhen: (editor) => Boolean(editor.onCtrlC),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlC?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Edits queued follow-ups\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"edit-last-follow-up\", data),\n\t\twhen: (editor) =>\n\t\t\tBoolean(editor.onShortcut) && !editor.isShowingAutocomplete(),\n\t\thandle: (editor) => editor.onShortcut?.(\"edit-last-follow-up\") === true,\n\t},\n\t{\n\t\tdescription: \"Up arrow navigates history (when autocomplete is hidden)\",\n\t\tmatches: (data) => data === \"\\x1b[A\",\n\t\twhen: (editor) =>\n\t\t\tBoolean(editor.onHistoryNavigate) && !editor.isShowingAutocomplete(),\n\t\thandle: (editor) => editor.onHistoryNavigate?.(\"prev\") === true,\n\t},\n\t{\n\t\tdescription: \"Down arrow navigates history (when autocomplete is hidden)\",\n\t\tmatches: (data) => data === \"\\x1b[B\",\n\t\twhen: (editor) =>\n\t\t\tBoolean(editor.onHistoryNavigate) && !editor.isShowingAutocomplete(),\n\t\thandle: (editor) => editor.onHistoryNavigate?.(\"next\") === true,\n\t},\n\t{\n\t\tdescription: \"Page Up scrolls chat history\",\n\t\tmatches: (data) => data === \"\\x1b[5~\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"pageup\") === true,\n\t},\n\t{\n\t\tdescription: \"Page Down scrolls chat history\",\n\t\tmatches: (data) => data === \"\\x1b[6~\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"pagedown\") === true,\n\t},\n\t{\n\t\tdescription: \"Ctrl+U scrolls chat history half a page up (vim-style)\",\n\t\tmatches: (data) => data === \"\\x15\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"ctrl+u\") === true,\n\t},\n\t{\n\t\tdescription:\n\t\t\t\"Ctrl+D exits when editor empty, otherwise scrolls half page down\",\n\t\tmatches: (data) => isCtrlD(data),\n\t\twhen: (editor) => Boolean(editor.onShortcut) || Boolean(editor.onCtrlD),\n\t\thandle: (editor) => {\n\t\t\t// When editor is empty and onCtrlD is set, exit\n\t\t\tif (editor.isEditorEmpty() && editor.onCtrlD) {\n\t\t\t\teditor.onCtrlD();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t// Otherwise scroll (vim-style behavior)\n\t\t\treturn editor.onShortcut?.(\"ctrl+d\") === true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Ctrl+Home jumps to top of chat history\",\n\t\tmatches: (data) => data === \"\\x1b[1;5H\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"ctrl+home\") === true,\n\t},\n\t{\n\t\tdescription: \"Ctrl+End jumps to bottom of chat history\",\n\t\tmatches: (data) => data === \"\\x1b[1;5F\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"ctrl+end\") === true,\n\t},\n];\n\n/**\n * Custom editor that handles Escape and Ctrl+C keys for Composer\n */\nexport class CustomEditor extends Editor {\n\tpublic onEscape?: () => void;\n\tpublic onCtrlC?: () => void;\n\tpublic onCtrlD?: () => void;\n\tpublic onShortcut?: (shortcut: string) => boolean;\n\tpublic onFollowUp?: () => void;\n\tpublic onHistoryNavigate?: (direction: \"prev\" | \"next\") => boolean;\n\tpublic onShiftTab?: () => boolean | undefined;\n\tpublic onCtrlP?: () => void;\n\tpublic onCtrlO?: () => void;\n\tpublic onCtrlT?: () => void;\n\tpublic onCtrlG?: () => void;\n\tpublic onCtrlZ?: () => void;\n\tpublic onTyping?: () => void;\n\tpublic onTab?: () => boolean;\n\tpublic onPasteImage?: () => void;\n\n\toverride handleInput(rawData: string): void {\n\t\trecordUserInteraction();\n\t\tconst data = this.normalizeArrowInput(rawData);\n\t\tif (this.tryHandleKeyBindings(data)) return;\n\n\t\tif (this.isPrintableInput(data) && this.onTyping) {\n\t\t\tthis.onTyping();\n\t\t}\n\n\t\t// Pass to parent for normal handling\n\t\tsuper.handleInput(data);\n\t}\n\n\tprivate tryHandleKeyBindings(data: string): boolean {\n\t\tfor (const binding of CUSTOM_EDITOR_KEYMAP) {\n\t\t\tif (!binding.matches(data)) continue;\n\t\t\tif (binding.when && !binding.when(this)) continue;\n\t\t\tif (binding.handle(this, data)) return true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate isPrintableInput(data: string): boolean {\n\t\tif (!data) {\n\t\t\treturn false;\n\t\t}\n\t\t// Ignore escape/control sequences that begin with ESC\n\t\tif (data.startsWith(\"\\x1b\")) {\n\t\t\treturn false;\n\t\t}\n\t\tfor (const char of data) {\n\t\t\tconst codePoint = char.codePointAt(0);\n\t\t\tif (codePoint === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (codePoint >= 0x20 && codePoint !== 0x7f) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"custom-editor.js","sourceRoot":"","sources":["../../src/cli-tui/custom-editor.ts"],"names":[],"mappings":"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","sourcesContent":["import { Editor, KittyKeys, isCtrlD, isShiftTab } from \"@evalops/tui\";\nimport { recordUserInteraction } from \"../interaction/user-interaction.js\";\nimport { matchesTuiKeybinding } from \"./keybindings.js\";\n\ntype CustomEditorBinding = {\n\tdescription: string;\n\tmatches: (data: string) => boolean;\n\twhen?: (editor: CustomEditor) => boolean;\n\thandle: (editor: CustomEditor, data: string) => boolean;\n};\n\nconst CUSTOM_EDITOR_KEYMAP: CustomEditorBinding[] = [\n\t{\n\t\tdescription: \"Tab cycles slash hints, sends, or queues while running\",\n\t\tmatches: (data) => data === \"\\t\",\n\t\twhen: (editor) => Boolean(editor.onTab) && !editor.isShowingAutocomplete(),\n\t\thandle: (editor) => editor.onTab?.() === true,\n\t},\n\t{\n\t\tdescription: \"Cycles models\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"cycle-model\", data),\n\t\twhen: (editor) => Boolean(editor.onCtrlP),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlP?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Toggles tool output expansion\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"toggle-tool-outputs\", data),\n\t\twhen: (editor) => Boolean(editor.onCtrlO),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlO?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Toggles thinking block visibility\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"toggle-thinking-blocks\", data),\n\t\twhen: (editor) => Boolean(editor.onCtrlT),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlT?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Opens the external editor\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"external-editor\", data),\n\t\twhen: (editor) => Boolean(editor.onCtrlG),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlG?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Suspends to background\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"suspend\", data),\n\t\twhen: (editor) => Boolean(editor.onCtrlZ),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlZ?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Shift+Tab cycles thinking levels (or slash reverse cycle)\",\n\t\tmatches: (data) => isShiftTab(data),\n\t\twhen: (editor) => Boolean(editor.onShiftTab),\n\t\thandle: (editor) => editor.onShiftTab?.() === true,\n\t},\n\t{\n\t\tdescription: \"Shift+Enter inserts newline (Kitty protocol)\",\n\t\tmatches: (data) => data === KittyKeys.SHIFT_ENTER,\n\t\thandle: (editor) => {\n\t\t\teditor.insertText(\"\\n\");\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Alt+Enter queues a follow-up message (Kitty protocol)\",\n\t\tmatches: (data) => data === KittyKeys.ALT_ENTER,\n\t\twhen: (editor) => Boolean(editor.onFollowUp),\n\t\thandle: (editor) => {\n\t\t\teditor.onFollowUp?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Alt+Enter inserts newline (Kitty protocol)\",\n\t\tmatches: (data) => data === KittyKeys.ALT_ENTER,\n\t\thandle: (editor) => {\n\t\t\teditor.insertText(\"\\n\");\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Ctrl+V pastes an image from clipboard\",\n\t\tmatches: (data) => data === \"\\x16\",\n\t\twhen: (editor) => Boolean(editor.onPasteImage),\n\t\thandle: (editor) => {\n\t\t\teditor.onPasteImage?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Escape closes Maestro modals (unless autocomplete is open)\",\n\t\tmatches: (data) => data === \"\\x1b\",\n\t\twhen: (editor) =>\n\t\t\tBoolean(editor.onEscape) && !editor.isShowingAutocomplete(),\n\t\thandle: (editor) => {\n\t\t\teditor.onEscape?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Opens the command palette\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"command-palette\", data),\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"command-palette\") === true,\n\t},\n\t{\n\t\tdescription: \"@ triggers file search (only when not autocompleting)\",\n\t\tmatches: (data) => data === \"@\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"at\") === true,\n\t},\n\t{\n\t\tdescription:\n\t\t\t\"'k' can trigger keep-partial during interrupt (if handler returns true)\",\n\t\tmatches: (data) => data === \"k\" || data === \"K\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"k\") === true,\n\t},\n\t{\n\t\tdescription: \"Ctrl+C interrupts the current run\",\n\t\tmatches: (data) => data === \"\\x03\",\n\t\twhen: (editor) => Boolean(editor.onCtrlC),\n\t\thandle: (editor) => {\n\t\t\teditor.onCtrlC?.();\n\t\t\treturn true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Edits queued follow-ups\",\n\t\tmatches: (data) => matchesTuiKeybinding(\"edit-last-follow-up\", data),\n\t\twhen: (editor) =>\n\t\t\tBoolean(editor.onShortcut) && !editor.isShowingAutocomplete(),\n\t\thandle: (editor) => editor.onShortcut?.(\"edit-last-follow-up\") === true,\n\t},\n\t{\n\t\tdescription: \"Up arrow navigates history (when autocomplete is hidden)\",\n\t\tmatches: (data) => data === \"\\x1b[A\",\n\t\twhen: (editor) =>\n\t\t\tBoolean(editor.onHistoryNavigate) && !editor.isShowingAutocomplete(),\n\t\thandle: (editor) => editor.onHistoryNavigate?.(\"prev\") === true,\n\t},\n\t{\n\t\tdescription: \"Down arrow navigates history (when autocomplete is hidden)\",\n\t\tmatches: (data) => data === \"\\x1b[B\",\n\t\twhen: (editor) =>\n\t\t\tBoolean(editor.onHistoryNavigate) && !editor.isShowingAutocomplete(),\n\t\thandle: (editor) => editor.onHistoryNavigate?.(\"next\") === true,\n\t},\n\t{\n\t\tdescription: \"Page Up scrolls chat history\",\n\t\tmatches: (data) => data === \"\\x1b[5~\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"pageup\") === true,\n\t},\n\t{\n\t\tdescription: \"Page Down scrolls chat history\",\n\t\tmatches: (data) => data === \"\\x1b[6~\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"pagedown\") === true,\n\t},\n\t{\n\t\tdescription: \"Ctrl+U scrolls chat history half a page up (vim-style)\",\n\t\tmatches: (data) => data === \"\\x15\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"ctrl+u\") === true,\n\t},\n\t{\n\t\tdescription:\n\t\t\t\"Ctrl+D exits when editor empty, otherwise scrolls half page down\",\n\t\tmatches: (data) => isCtrlD(data),\n\t\twhen: (editor) => Boolean(editor.onShortcut) || Boolean(editor.onCtrlD),\n\t\thandle: (editor) => {\n\t\t\t// When editor is empty and onCtrlD is set, exit\n\t\t\tif (editor.isEditorEmpty() && editor.onCtrlD) {\n\t\t\t\teditor.onCtrlD();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t// Otherwise scroll (vim-style behavior)\n\t\t\treturn editor.onShortcut?.(\"ctrl+d\") === true;\n\t\t},\n\t},\n\t{\n\t\tdescription: \"Ctrl+Home jumps to top of chat history\",\n\t\tmatches: (data) => data === \"\\x1b[1;5H\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"ctrl+home\") === true,\n\t},\n\t{\n\t\tdescription: \"Ctrl+End jumps to bottom of chat history\",\n\t\tmatches: (data) => data === \"\\x1b[1;5F\",\n\t\twhen: (editor) => Boolean(editor.onShortcut),\n\t\thandle: (editor) => editor.onShortcut?.(\"ctrl+end\") === true,\n\t},\n];\n\n/**\n * Custom editor that handles Escape and Ctrl+C keys for Maestro\n */\nexport class CustomEditor extends Editor {\n\tpublic onEscape?: () => void;\n\tpublic onCtrlC?: () => void;\n\tpublic onCtrlD?: () => void;\n\tpublic onShortcut?: (shortcut: string) => boolean;\n\tpublic onFollowUp?: () => void;\n\tpublic onHistoryNavigate?: (direction: \"prev\" | \"next\") => boolean;\n\tpublic onShiftTab?: () => boolean | undefined;\n\tpublic onCtrlP?: () => void;\n\tpublic onCtrlO?: () => void;\n\tpublic onCtrlT?: () => void;\n\tpublic onCtrlG?: () => void;\n\tpublic onCtrlZ?: () => void;\n\tpublic onTyping?: () => void;\n\tpublic onTab?: () => boolean;\n\tpublic onPasteImage?: () => void;\n\n\toverride handleInput(rawData: string): void {\n\t\trecordUserInteraction();\n\t\tconst data = this.normalizeArrowInput(rawData);\n\t\tif (this.tryHandleKeyBindings(data)) return;\n\n\t\tif (this.isPrintableInput(data) && this.onTyping) {\n\t\t\tthis.onTyping();\n\t\t}\n\n\t\t// Pass to parent for normal handling\n\t\tsuper.handleInput(data);\n\t}\n\n\tprivate tryHandleKeyBindings(data: string): boolean {\n\t\tfor (const binding of CUSTOM_EDITOR_KEYMAP) {\n\t\t\tif (!binding.matches(data)) continue;\n\t\t\tif (binding.when && !binding.when(this)) continue;\n\t\t\tif (binding.handle(this, data)) return true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate isPrintableInput(data: string): boolean {\n\t\tif (!data) {\n\t\t\treturn false;\n\t\t}\n\t\t// Ignore escape/control sequences that begin with ESC\n\t\tif (data.startsWith(\"\\x1b\")) {\n\t\t\treturn false;\n\t\t}\n\t\tfor (const char of data) {\n\t\t\tconst codePoint = char.codePointAt(0);\n\t\t\tif (codePoint === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (codePoint >= 0x20 && codePoint !== 0x7f) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-flow-controller.d.ts","sourceRoot":"","sources":["../../../src/cli-tui/oauth/oauth-flow-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,GAAG,EAAQ,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-flow-controller.d.ts","sourceRoot":"","sources":["../../../src/cli-tui/oauth/oauth-flow-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,GAAG,EAAQ,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAgBhE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,WAAW,IAAI,IAAI,CAAC;IACpB,OAAO,IAAI,MAAM,CAAC;IAClB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,aAAa,EAAE,SAAS,CAAC;IACzB,EAAE,EAAE,GAAG,CAAC;IACR,aAAa,IAAI,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,kBAAkB,CAAC;IAClC,eAAe,EAAE,oBAAoB,CAAC;CACtC;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAC,CAAoB;IAC3C,OAAO,CAAC,eAAe,CAAC,CAAoB;gBAEhC,OAAO,EAAE,0BAA0B;IAO/C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACG,kBAAkB,CACvB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC9B,OAAO,CAAC,IAAI,CAAC;IAoGhB;;OAEG;IACG,mBAAmB,CACxB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAChC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC7B,OAAO,CAAC,IAAI,CAAC;IAiEhB;;OAEG;IACG,gCAAgC,CACrC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAChC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC7B,OAAO,CAAC,IAAI,CAAC;YAyEF,iBAAiB;YAgOjB,kBAAkB;CA4BhC"}
|
|
@@ -43,29 +43,22 @@ export class OAuthFlowController {
|
|
|
43
43
|
}
|
|
44
44
|
this.isOAuthFlowActive = true;
|
|
45
45
|
const args = argumentText.trim().toLowerCase();
|
|
46
|
-
// Parse argument
|
|
46
|
+
// Parse argument as a provider. Anthropic-specific mode arguments were
|
|
47
|
+
// retired with Anthropic OAuth login support.
|
|
47
48
|
let requestedProvider;
|
|
48
|
-
let selectedMode = "pro";
|
|
49
|
-
const validModes = ["pro", "console"];
|
|
50
49
|
if (args) {
|
|
51
50
|
if (args.includes(":")) {
|
|
52
51
|
const parts = args.split(":").map((s) => s.trim());
|
|
53
52
|
requestedProvider = parts[0];
|
|
54
53
|
const mode = parts[1];
|
|
55
|
-
if (mode
|
|
54
|
+
if (mode) {
|
|
56
55
|
this.isOAuthFlowActive = false;
|
|
57
|
-
showError(
|
|
56
|
+
showError("Provider login modes are no longer supported. Use /login openai-codex for Codex auth or /login openai for OpenAI Platform auth.");
|
|
58
57
|
return;
|
|
59
58
|
}
|
|
60
|
-
selectedMode = mode && validModes.includes(mode) ? mode : "pro";
|
|
61
59
|
}
|
|
62
60
|
else {
|
|
63
|
-
|
|
64
|
-
selectedMode = args;
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
requestedProvider = args;
|
|
68
|
-
}
|
|
61
|
+
requestedProvider = args;
|
|
69
62
|
}
|
|
70
63
|
}
|
|
71
64
|
// Import OAuth system
|
|
@@ -79,17 +72,23 @@ export class OAuthFlowController {
|
|
|
79
72
|
showError("No OAuth providers available");
|
|
80
73
|
return;
|
|
81
74
|
}
|
|
75
|
+
const defaultProvider = providers.find((provider) => provider.id === "openai-codex");
|
|
76
|
+
if (!requestedProvider && defaultProvider) {
|
|
77
|
+
await this.performOAuthLogin(defaultProvider.id, undefined, showError);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
82
80
|
// If only one provider or specific provider requested, use it directly
|
|
83
81
|
if (providers.length === 1 || requestedProvider) {
|
|
84
82
|
const provider = requestedProvider
|
|
85
|
-
? providers.find((p) => p.id === requestedProvider
|
|
83
|
+
? (providers.find((p) => p.id === requestedProvider) ??
|
|
84
|
+
providers.find((p) => p.id.includes(requestedProvider)))
|
|
86
85
|
: providers[0];
|
|
87
86
|
if (!provider) {
|
|
88
87
|
this.isOAuthFlowActive = false;
|
|
89
88
|
showError(`Unknown provider: ${requestedProvider}`);
|
|
90
89
|
return;
|
|
91
90
|
}
|
|
92
|
-
await this.performOAuthLogin(provider.id,
|
|
91
|
+
await this.performOAuthLogin(provider.id, undefined, showError);
|
|
93
92
|
return;
|
|
94
93
|
}
|
|
95
94
|
// Multiple providers - show selector
|
|
@@ -99,7 +98,7 @@ export class OAuthFlowController {
|
|
|
99
98
|
mode: "login",
|
|
100
99
|
onProviderSelected: async (providerId) => {
|
|
101
100
|
try {
|
|
102
|
-
await this.performOAuthLogin(providerId,
|
|
101
|
+
await this.performOAuthLogin(providerId, undefined, showError);
|
|
103
102
|
}
|
|
104
103
|
finally {
|
|
105
104
|
this.isOAuthFlowActive = false;
|
|
@@ -124,9 +123,9 @@ export class OAuthFlowController {
|
|
|
124
123
|
const args = argumentText.trim().toLowerCase();
|
|
125
124
|
const requestedProvider = args || null;
|
|
126
125
|
// Import OAuth system
|
|
127
|
-
const {
|
|
126
|
+
const { listOAuthLogoutProviders } = await import("../../oauth/index.js");
|
|
128
127
|
// Get logged-in providers
|
|
129
|
-
const loggedInProviders =
|
|
128
|
+
const loggedInProviders = listOAuthLogoutProviders();
|
|
130
129
|
if (loggedInProviders.length === 0) {
|
|
131
130
|
this.isOAuthFlowActive = false;
|
|
132
131
|
showInfo("No OAuth providers logged in. Use /login first.");
|
|
@@ -230,7 +229,7 @@ export class OAuthFlowController {
|
|
|
230
229
|
async performOAuthLogin(providerId, mode, showError) {
|
|
231
230
|
const { login } = await import("../../oauth/index.js");
|
|
232
231
|
const { chatContainer, ui, requestRender } = this.renderContext;
|
|
233
|
-
const requiresPromptCode = providerId === "
|
|
232
|
+
const requiresPromptCode = providerId === "openai-codex";
|
|
234
233
|
chatContainer.addChild(new Spacer(1));
|
|
235
234
|
chatContainer.addChild(new Text(`Logging in to ${providerId}...`, 1, 0));
|
|
236
235
|
requestRender();
|
|
@@ -256,9 +255,7 @@ export class OAuthFlowController {
|
|
|
256
255
|
chatContainer.addChild(new Spacer(1));
|
|
257
256
|
}
|
|
258
257
|
if (requiresPromptCode) {
|
|
259
|
-
chatContainer.addChild(new Text(
|
|
260
|
-
? "Complete authentication in the browser. If asked, paste the redirect URL or authorization code below."
|
|
261
|
-
: "Paste the authorization code below (or type 'cancel' to abort):", 1, 0));
|
|
258
|
+
chatContainer.addChild(new Text("Complete authentication in the browser. If asked, paste the redirect URL or authorization code below.", 1, 0));
|
|
262
259
|
}
|
|
263
260
|
else {
|
|
264
261
|
chatContainer.addChild(new Text("Complete authentication in the browser, then return here.", 1, 0));
|
|
@@ -330,8 +327,7 @@ export class OAuthFlowController {
|
|
|
330
327
|
trimmedText.startsWith("https://") ||
|
|
331
328
|
trimmedText.includes("code=") ||
|
|
332
329
|
/^[a-zA-Z0-9_#-]+$/.test(trimmedText))
|
|
333
|
-
:
|
|
334
|
-
/^[a-zA-Z0-9_#-]+$/.test(trimmedText);
|
|
330
|
+
: false;
|
|
335
331
|
if (!looksLikeOAuthValue) {
|
|
336
332
|
this.notificationView.showError("Invalid authorization code format. Please try again or type 'cancel'.");
|
|
337
333
|
this.editorCallbacks.clearEditor();
|