@evalops/maestro 0.10.22 → 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 +15171 -14298
- 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/artifacts.d.ts +58 -0
- package/dist/node_modules/@evalops/contracts/dist/artifacts.d.ts.map +1 -0
- package/dist/node_modules/@evalops/contracts/dist/artifacts.js +191 -0
- package/dist/node_modules/@evalops/contracts/dist/artifacts.js.map +1 -0
- package/dist/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts +10 -10
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts +4 -3
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.js +3 -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/dist/runtime-app-server.d.ts +1 -1
- package/dist/node_modules/@evalops/contracts/dist/runtime-server-request.d.ts +3 -3
- 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-artifacts.d.ts.map +1 -1
- package/dist/server/handlers/session-artifacts.js +13 -74
- package/dist/server/handlers/session-artifacts.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
package/dist/errors/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Unified error hierarchy for
|
|
2
|
+
* Unified error hierarchy for Maestro
|
|
3
3
|
*
|
|
4
4
|
* This module provides a standardized error system with:
|
|
5
5
|
* - Consistent error codes and categories
|
|
@@ -22,7 +22,7 @@ export interface ErrorContext {
|
|
|
22
22
|
[key: string]: unknown;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
* Base error class for all
|
|
25
|
+
* Base error class for all Maestro errors
|
|
26
26
|
*
|
|
27
27
|
* Provides:
|
|
28
28
|
* - Standardized error codes (e.g., "TOOL_EXECUTION_FAILED")
|
package/dist/errors/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Unified error hierarchy for
|
|
2
|
+
* Unified error hierarchy for Maestro
|
|
3
3
|
*
|
|
4
4
|
* This module provides a standardized error system with:
|
|
5
5
|
* - Consistent error codes and categories
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - Proper error chaining
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
|
-
* Base error class for all
|
|
11
|
+
* Base error class for all Maestro errors
|
|
12
12
|
*
|
|
13
13
|
* Provides:
|
|
14
14
|
* - Standardized error codes (e.g., "TOOL_EXECUTION_FAILED")
|
package/dist/errors/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Unified error hierarchy for Composer\n *\n * This module provides a standardized error system with:\n * - Consistent error codes and categories\n * - Structured context for debugging\n * - Retry hints for recoverable errors\n * - Proper error chaining\n */\n\n/**\n * Error severity levels\n */\nexport type ErrorSeverity = \"error\" | \"warning\" | \"info\";\n\n/**\n * Error categories for grouping related errors\n */\nexport type ErrorCategory =\n\t| \"validation\"\n\t| \"permission\"\n\t| \"network\"\n\t| \"timeout\"\n\t| \"filesystem\"\n\t| \"tool\"\n\t| \"session\"\n\t| \"config\"\n\t| \"api\"\n\t| \"internal\";\n\n/**\n * Structured context for errors\n */\nexport interface ErrorContext {\n\t[key: string]: unknown;\n}\n\n/**\n * Base error class for all Composer errors\n *\n * Provides:\n * - Standardized error codes (e.g., \"TOOL_EXECUTION_FAILED\")\n * - Error categories for grouping\n * - Severity levels\n * - Retry hints\n * - Structured context\n * - Cause chaining\n */\nexport class ComposerError extends Error {\n\treadonly code: string;\n\treadonly category: ErrorCategory;\n\treadonly severity: ErrorSeverity;\n\treadonly retriable: boolean;\n\treadonly context: ErrorContext;\n\toverride readonly cause?: Error;\n\n\tconstructor(\n\t\tmessage: string,\n\t\toptions: {\n\t\t\tcode: string;\n\t\t\tcategory: ErrorCategory;\n\t\t\tseverity?: ErrorSeverity;\n\t\t\tretriable?: boolean;\n\t\t\tcontext?: ErrorContext;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"ComposerError\";\n\t\tthis.code = options.code;\n\t\tthis.category = options.category;\n\t\tthis.severity = options.severity ?? \"error\";\n\t\tthis.retriable = options.retriable ?? false;\n\t\tthis.context = options.context ?? {};\n\t\tthis.cause = options.cause;\n\n\t\t// Maintain proper prototype chain\n\t\tObject.setPrototypeOf(this, new.target.prototype);\n\t}\n\n\t/**\n\t * Create a structured JSON representation for logging\n\t */\n\ttoJSON(): Record<string, unknown> {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tcode: this.code,\n\t\t\tcategory: this.category,\n\t\t\tseverity: this.severity,\n\t\t\tmessage: this.message,\n\t\t\tretriable: this.retriable,\n\t\t\tcontext: Object.keys(this.context).length > 0 ? this.context : undefined,\n\t\t\tcause: this.cause?.message,\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n\n\t/**\n\t * Create a user-friendly error message\n\t */\n\ttoUserMessage(): string {\n\t\tconst parts = [this.message];\n\t\tif (this.retriable) {\n\t\t\tparts.push(\"This error may be temporary - please try again.\");\n\t\t}\n\t\treturn parts.join(\" \");\n\t}\n}\n\n// ============================================================================\n// Validation Errors\n// ============================================================================\n\n/**\n * Error for invalid input parameters or data\n */\nexport class ValidationError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tfield?: string;\n\t\t\tvalue?: unknown;\n\t\t\texpected?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"VALIDATION_ERROR\",\n\t\t\tcategory: \"validation\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tfield: options?.field,\n\t\t\t\tvalue: options?.value,\n\t\t\t\texpected: options?.expected,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ValidationError\";\n\t}\n}\n\n/**\n * Error for invalid JSON parsing\n */\nexport class JsonParseError extends ValidationError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tinput?: string;\n\t\t\tposition?: number;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tfield: \"json\",\n\t\t\texpected: \"valid JSON\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"JsonParseError\";\n\t\t(this.context as Record<string, unknown>).input = options?.input?.slice(\n\t\t\t0,\n\t\t\t100,\n\t\t);\n\t\t(this.context as Record<string, unknown>).position = options?.position;\n\t}\n}\n\n/**\n * Error for invalid file paths\n */\nexport class PathValidationError extends ValidationError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tpath?: string;\n\t\t\treason?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tfield: \"path\",\n\t\t\tvalue: options?.path,\n\t\t\texpected: options?.reason ?? \"valid file path\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"PathValidationError\";\n\t}\n}\n\n// ============================================================================\n// Permission Errors\n// ============================================================================\n\n/**\n * Error for permission/access denied scenarios\n */\nexport class PermissionError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tresource?: string;\n\t\t\taction?: string;\n\t\t\treason?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"PERMISSION_DENIED\",\n\t\t\tcategory: \"permission\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tresource: options?.resource,\n\t\t\t\taction: options?.action,\n\t\t\t\treason: options?.reason,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"PermissionError\";\n\t}\n}\n\n/**\n * Error for directory access denied\n */\nexport class DirectoryAccessError extends PermissionError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tpath?: string;\n\t\t\taction?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tresource: options?.path,\n\t\t\taction: options?.action ?? \"access\",\n\t\t\treason: \"directory access restricted\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"DirectoryAccessError\";\n\t}\n}\n\n/**\n * Error for approval/policy denied\n */\nexport class ApprovalDeniedError extends PermissionError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\taction?: string;\n\t\t\tpolicy?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\taction: options?.action,\n\t\t\treason: options?.policy ?? \"action not approved\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ApprovalDeniedError\";\n\t}\n}\n\n// ============================================================================\n// Network/API Errors\n// ============================================================================\n\n/**\n * Error for network-related failures\n */\nexport class NetworkError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\turl?: string;\n\t\t\tstatusCode?: number;\n\t\t\tretriable?: boolean;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"NETWORK_ERROR\",\n\t\t\tcategory: \"network\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: options?.retriable ?? true,\n\t\t\tcontext: {\n\t\t\t\turl: options?.url,\n\t\t\t\tstatusCode: options?.statusCode,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"NetworkError\";\n\t}\n}\n\n/**\n * Error for API request failures\n */\nexport class ApiError extends NetworkError {\n\treadonly statusCode: number;\n\n\tconstructor(\n\t\tstatusCode: number,\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\turl?: string;\n\t\t\tresponseBody?: unknown;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tconst retriable = statusCode >= 500 || statusCode === 429;\n\t\tsuper(message, {\n\t\t\turl: options?.url,\n\t\t\tstatusCode,\n\t\t\tretriable,\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ApiError\";\n\t\tthis.statusCode = statusCode;\n\t\t(this.context as Record<string, unknown>).responseBody =\n\t\t\toptions?.responseBody;\n\t}\n\n\t/**\n\t * Check if this is a rate limit error\n\t */\n\tisRateLimited(): boolean {\n\t\treturn this.statusCode === 429;\n\t}\n\n\t/**\n\t * Check if this is a server error\n\t */\n\tisServerError(): boolean {\n\t\treturn this.statusCode >= 500;\n\t}\n}\n\n// ============================================================================\n// Timeout Errors\n// ============================================================================\n\n/**\n * Error for operation timeouts\n */\nexport class TimeoutError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\toperation?: string;\n\t\t\ttimeoutMs?: number;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"TIMEOUT\",\n\t\t\tcategory: \"timeout\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: true,\n\t\t\tcontext: {\n\t\t\t\toperation: options?.operation,\n\t\t\t\ttimeoutMs: options?.timeoutMs,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"TimeoutError\";\n\t}\n}\n\n// ============================================================================\n// Filesystem Errors\n// ============================================================================\n\n/**\n * Error for filesystem operations\n */\nexport class FileSystemError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tpath?: string;\n\t\t\toperation?: string;\n\t\t\terrno?: number;\n\t\t\tsyscall?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"FILESYSTEM_ERROR\",\n\t\t\tcategory: \"filesystem\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tpath: options?.path,\n\t\t\t\toperation: options?.operation,\n\t\t\t\terrno: options?.errno,\n\t\t\t\tsyscall: options?.syscall,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"FileSystemError\";\n\t}\n}\n\n/**\n * Error when a file is not found\n */\nexport class FileNotFoundError extends FileSystemError {\n\tconstructor(\n\t\tpath: string,\n\t\toptions?: {\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(`File not found: ${path}`, {\n\t\t\tpath,\n\t\t\toperation: \"read\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"FileNotFoundError\";\n\t}\n}\n\n// ============================================================================\n// Tool Errors\n// ============================================================================\n\n/**\n * Error for tool execution failures\n */\nexport class ToolExecutionError extends ComposerError {\n\tconstructor(\n\t\ttoolName: string,\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tparameters?: Record<string, unknown>;\n\t\t\tretriable?: boolean;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: `TOOL_${toolName.toUpperCase()}_FAILED`,\n\t\t\tcategory: \"tool\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: options?.retriable ?? false,\n\t\t\tcontext: {\n\t\t\t\ttoolName,\n\t\t\t\tparameters: options?.parameters,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ToolExecutionError\";\n\t}\n}\n\n/**\n * Error for tool parameter validation failures\n */\nexport class ToolValidationError extends ToolExecutionError {\n\tconstructor(\n\t\ttoolName: string,\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tparameter?: string;\n\t\t\tvalue?: unknown;\n\t\t\texpected?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(toolName, message, {\n\t\t\tparameters: options?.parameter\n\t\t\t\t? { [options.parameter]: options.value }\n\t\t\t\t: undefined,\n\t\t\tretriable: false,\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ToolValidationError\";\n\t\t(this.context as Record<string, unknown>).expected = options?.expected;\n\t}\n}\n\n// ============================================================================\n// Session Errors\n// ============================================================================\n\n/**\n * Error for session-related failures\n */\nexport class SessionError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tsessionId?: string;\n\t\t\toperation?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"SESSION_ERROR\",\n\t\t\tcategory: \"session\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tsessionId: options?.sessionId,\n\t\t\t\toperation: options?.operation,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"SessionError\";\n\t}\n}\n\n/**\n * Error for session parsing failures\n */\nexport class SessionParseError extends SessionError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tsessionId?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tsessionId: options?.sessionId,\n\t\t\toperation: \"parse\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"SessionParseError\";\n\t}\n}\n\n/**\n * Error when a session is not found\n */\nexport class SessionNotFoundError extends SessionError {\n\tconstructor(\n\t\tsessionId: string,\n\t\toptions?: {\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(`Session not found: ${sessionId}`, {\n\t\t\tsessionId,\n\t\t\toperation: \"load\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"SessionNotFoundError\";\n\t}\n}\n\n// ============================================================================\n// Configuration Errors\n// ============================================================================\n\n/**\n * Error for configuration-related failures\n */\nexport class ConfigError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tconfigKey?: string;\n\t\t\tconfigFile?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"CONFIG_ERROR\",\n\t\t\tcategory: \"config\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tconfigKey: options?.configKey,\n\t\t\t\tconfigFile: options?.configFile,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ConfigError\";\n\t}\n}\n\n/**\n * Error when a required configuration is missing\n */\nexport class MissingConfigError extends ConfigError {\n\tconstructor(\n\t\tconfigKey: string,\n\t\toptions?: {\n\t\t\tconfigFile?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(`Missing required configuration: ${configKey}`, {\n\t\t\tconfigKey,\n\t\t\tconfigFile: options?.configFile,\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"MissingConfigError\";\n\t}\n}\n\n// ============================================================================\n// Internal Errors\n// ============================================================================\n\n/**\n * Error for internal/unexpected failures\n */\nexport class InternalError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tcomponent?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"INTERNAL_ERROR\",\n\t\t\tcategory: \"internal\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tcomponent: options?.component,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"InternalError\";\n\t}\n}\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Type guard to check if an error is a ComposerError\n */\nexport function isComposerError(error: unknown): error is ComposerError {\n\treturn error instanceof ComposerError;\n}\n\n/**\n * Type guard to check if an error is retriable\n */\nexport function isRetriableError(error: unknown): boolean {\n\tif (isComposerError(error)) {\n\t\treturn error.retriable;\n\t}\n\t// Consider ECONNRESET, ETIMEDOUT, etc. as retriable\n\tif (error instanceof Error) {\n\t\tconst code = (error as NodeJS.ErrnoException).code;\n\t\treturn (\n\t\t\tcode === \"ECONNRESET\" ||\n\t\t\tcode === \"ETIMEDOUT\" ||\n\t\t\tcode === \"ENOTFOUND\" ||\n\t\t\tcode === \"ECONNREFUSED\"\n\t\t);\n\t}\n\treturn false;\n}\n\n/**\n * Wrap an unknown error in a ComposerError\n */\nexport function wrapError(\n\terror: unknown,\n\tmessage?: string,\n\tcategory: ErrorCategory = \"internal\",\n): ComposerError {\n\tif (isComposerError(error)) {\n\t\treturn error;\n\t}\n\n\tconst cause = error instanceof Error ? error : new Error(String(error));\n\tconst errorMessage = message ?? cause.message;\n\n\treturn new ComposerError(errorMessage, {\n\t\tcode: \"WRAPPED_ERROR\",\n\t\tcategory,\n\t\tcause,\n\t});\n}\n\n/**\n * Extract a user-friendly message from any error\n */\nexport function getErrorMessage(error: unknown): string {\n\tif (isComposerError(error)) {\n\t\treturn error.toUserMessage();\n\t}\n\tif (error instanceof Error) {\n\t\treturn error.message;\n\t}\n\treturn String(error);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Unified error hierarchy for Maestro\n *\n * This module provides a standardized error system with:\n * - Consistent error codes and categories\n * - Structured context for debugging\n * - Retry hints for recoverable errors\n * - Proper error chaining\n */\n\n/**\n * Error severity levels\n */\nexport type ErrorSeverity = \"error\" | \"warning\" | \"info\";\n\n/**\n * Error categories for grouping related errors\n */\nexport type ErrorCategory =\n\t| \"validation\"\n\t| \"permission\"\n\t| \"network\"\n\t| \"timeout\"\n\t| \"filesystem\"\n\t| \"tool\"\n\t| \"session\"\n\t| \"config\"\n\t| \"api\"\n\t| \"internal\";\n\n/**\n * Structured context for errors\n */\nexport interface ErrorContext {\n\t[key: string]: unknown;\n}\n\n/**\n * Base error class for all Maestro errors\n *\n * Provides:\n * - Standardized error codes (e.g., \"TOOL_EXECUTION_FAILED\")\n * - Error categories for grouping\n * - Severity levels\n * - Retry hints\n * - Structured context\n * - Cause chaining\n */\nexport class ComposerError extends Error {\n\treadonly code: string;\n\treadonly category: ErrorCategory;\n\treadonly severity: ErrorSeverity;\n\treadonly retriable: boolean;\n\treadonly context: ErrorContext;\n\toverride readonly cause?: Error;\n\n\tconstructor(\n\t\tmessage: string,\n\t\toptions: {\n\t\t\tcode: string;\n\t\t\tcategory: ErrorCategory;\n\t\t\tseverity?: ErrorSeverity;\n\t\t\tretriable?: boolean;\n\t\t\tcontext?: ErrorContext;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"ComposerError\";\n\t\tthis.code = options.code;\n\t\tthis.category = options.category;\n\t\tthis.severity = options.severity ?? \"error\";\n\t\tthis.retriable = options.retriable ?? false;\n\t\tthis.context = options.context ?? {};\n\t\tthis.cause = options.cause;\n\n\t\t// Maintain proper prototype chain\n\t\tObject.setPrototypeOf(this, new.target.prototype);\n\t}\n\n\t/**\n\t * Create a structured JSON representation for logging\n\t */\n\ttoJSON(): Record<string, unknown> {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tcode: this.code,\n\t\t\tcategory: this.category,\n\t\t\tseverity: this.severity,\n\t\t\tmessage: this.message,\n\t\t\tretriable: this.retriable,\n\t\t\tcontext: Object.keys(this.context).length > 0 ? this.context : undefined,\n\t\t\tcause: this.cause?.message,\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n\n\t/**\n\t * Create a user-friendly error message\n\t */\n\ttoUserMessage(): string {\n\t\tconst parts = [this.message];\n\t\tif (this.retriable) {\n\t\t\tparts.push(\"This error may be temporary - please try again.\");\n\t\t}\n\t\treturn parts.join(\" \");\n\t}\n}\n\n// ============================================================================\n// Validation Errors\n// ============================================================================\n\n/**\n * Error for invalid input parameters or data\n */\nexport class ValidationError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tfield?: string;\n\t\t\tvalue?: unknown;\n\t\t\texpected?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"VALIDATION_ERROR\",\n\t\t\tcategory: \"validation\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tfield: options?.field,\n\t\t\t\tvalue: options?.value,\n\t\t\t\texpected: options?.expected,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ValidationError\";\n\t}\n}\n\n/**\n * Error for invalid JSON parsing\n */\nexport class JsonParseError extends ValidationError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tinput?: string;\n\t\t\tposition?: number;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tfield: \"json\",\n\t\t\texpected: \"valid JSON\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"JsonParseError\";\n\t\t(this.context as Record<string, unknown>).input = options?.input?.slice(\n\t\t\t0,\n\t\t\t100,\n\t\t);\n\t\t(this.context as Record<string, unknown>).position = options?.position;\n\t}\n}\n\n/**\n * Error for invalid file paths\n */\nexport class PathValidationError extends ValidationError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tpath?: string;\n\t\t\treason?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tfield: \"path\",\n\t\t\tvalue: options?.path,\n\t\t\texpected: options?.reason ?? \"valid file path\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"PathValidationError\";\n\t}\n}\n\n// ============================================================================\n// Permission Errors\n// ============================================================================\n\n/**\n * Error for permission/access denied scenarios\n */\nexport class PermissionError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tresource?: string;\n\t\t\taction?: string;\n\t\t\treason?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"PERMISSION_DENIED\",\n\t\t\tcategory: \"permission\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tresource: options?.resource,\n\t\t\t\taction: options?.action,\n\t\t\t\treason: options?.reason,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"PermissionError\";\n\t}\n}\n\n/**\n * Error for directory access denied\n */\nexport class DirectoryAccessError extends PermissionError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tpath?: string;\n\t\t\taction?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tresource: options?.path,\n\t\t\taction: options?.action ?? \"access\",\n\t\t\treason: \"directory access restricted\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"DirectoryAccessError\";\n\t}\n}\n\n/**\n * Error for approval/policy denied\n */\nexport class ApprovalDeniedError extends PermissionError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\taction?: string;\n\t\t\tpolicy?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\taction: options?.action,\n\t\t\treason: options?.policy ?? \"action not approved\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ApprovalDeniedError\";\n\t}\n}\n\n// ============================================================================\n// Network/API Errors\n// ============================================================================\n\n/**\n * Error for network-related failures\n */\nexport class NetworkError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\turl?: string;\n\t\t\tstatusCode?: number;\n\t\t\tretriable?: boolean;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"NETWORK_ERROR\",\n\t\t\tcategory: \"network\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: options?.retriable ?? true,\n\t\t\tcontext: {\n\t\t\t\turl: options?.url,\n\t\t\t\tstatusCode: options?.statusCode,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"NetworkError\";\n\t}\n}\n\n/**\n * Error for API request failures\n */\nexport class ApiError extends NetworkError {\n\treadonly statusCode: number;\n\n\tconstructor(\n\t\tstatusCode: number,\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\turl?: string;\n\t\t\tresponseBody?: unknown;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tconst retriable = statusCode >= 500 || statusCode === 429;\n\t\tsuper(message, {\n\t\t\turl: options?.url,\n\t\t\tstatusCode,\n\t\t\tretriable,\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ApiError\";\n\t\tthis.statusCode = statusCode;\n\t\t(this.context as Record<string, unknown>).responseBody =\n\t\t\toptions?.responseBody;\n\t}\n\n\t/**\n\t * Check if this is a rate limit error\n\t */\n\tisRateLimited(): boolean {\n\t\treturn this.statusCode === 429;\n\t}\n\n\t/**\n\t * Check if this is a server error\n\t */\n\tisServerError(): boolean {\n\t\treturn this.statusCode >= 500;\n\t}\n}\n\n// ============================================================================\n// Timeout Errors\n// ============================================================================\n\n/**\n * Error for operation timeouts\n */\nexport class TimeoutError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\toperation?: string;\n\t\t\ttimeoutMs?: number;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"TIMEOUT\",\n\t\t\tcategory: \"timeout\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: true,\n\t\t\tcontext: {\n\t\t\t\toperation: options?.operation,\n\t\t\t\ttimeoutMs: options?.timeoutMs,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"TimeoutError\";\n\t}\n}\n\n// ============================================================================\n// Filesystem Errors\n// ============================================================================\n\n/**\n * Error for filesystem operations\n */\nexport class FileSystemError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tpath?: string;\n\t\t\toperation?: string;\n\t\t\terrno?: number;\n\t\t\tsyscall?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"FILESYSTEM_ERROR\",\n\t\t\tcategory: \"filesystem\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tpath: options?.path,\n\t\t\t\toperation: options?.operation,\n\t\t\t\terrno: options?.errno,\n\t\t\t\tsyscall: options?.syscall,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"FileSystemError\";\n\t}\n}\n\n/**\n * Error when a file is not found\n */\nexport class FileNotFoundError extends FileSystemError {\n\tconstructor(\n\t\tpath: string,\n\t\toptions?: {\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(`File not found: ${path}`, {\n\t\t\tpath,\n\t\t\toperation: \"read\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"FileNotFoundError\";\n\t}\n}\n\n// ============================================================================\n// Tool Errors\n// ============================================================================\n\n/**\n * Error for tool execution failures\n */\nexport class ToolExecutionError extends ComposerError {\n\tconstructor(\n\t\ttoolName: string,\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tparameters?: Record<string, unknown>;\n\t\t\tretriable?: boolean;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: `TOOL_${toolName.toUpperCase()}_FAILED`,\n\t\t\tcategory: \"tool\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: options?.retriable ?? false,\n\t\t\tcontext: {\n\t\t\t\ttoolName,\n\t\t\t\tparameters: options?.parameters,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ToolExecutionError\";\n\t}\n}\n\n/**\n * Error for tool parameter validation failures\n */\nexport class ToolValidationError extends ToolExecutionError {\n\tconstructor(\n\t\ttoolName: string,\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tparameter?: string;\n\t\t\tvalue?: unknown;\n\t\t\texpected?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(toolName, message, {\n\t\t\tparameters: options?.parameter\n\t\t\t\t? { [options.parameter]: options.value }\n\t\t\t\t: undefined,\n\t\t\tretriable: false,\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ToolValidationError\";\n\t\t(this.context as Record<string, unknown>).expected = options?.expected;\n\t}\n}\n\n// ============================================================================\n// Session Errors\n// ============================================================================\n\n/**\n * Error for session-related failures\n */\nexport class SessionError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tsessionId?: string;\n\t\t\toperation?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"SESSION_ERROR\",\n\t\t\tcategory: \"session\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tsessionId: options?.sessionId,\n\t\t\t\toperation: options?.operation,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"SessionError\";\n\t}\n}\n\n/**\n * Error for session parsing failures\n */\nexport class SessionParseError extends SessionError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tsessionId?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tsessionId: options?.sessionId,\n\t\t\toperation: \"parse\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"SessionParseError\";\n\t}\n}\n\n/**\n * Error when a session is not found\n */\nexport class SessionNotFoundError extends SessionError {\n\tconstructor(\n\t\tsessionId: string,\n\t\toptions?: {\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(`Session not found: ${sessionId}`, {\n\t\t\tsessionId,\n\t\t\toperation: \"load\",\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"SessionNotFoundError\";\n\t}\n}\n\n// ============================================================================\n// Configuration Errors\n// ============================================================================\n\n/**\n * Error for configuration-related failures\n */\nexport class ConfigError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tconfigKey?: string;\n\t\t\tconfigFile?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"CONFIG_ERROR\",\n\t\t\tcategory: \"config\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tconfigKey: options?.configKey,\n\t\t\t\tconfigFile: options?.configFile,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"ConfigError\";\n\t}\n}\n\n/**\n * Error when a required configuration is missing\n */\nexport class MissingConfigError extends ConfigError {\n\tconstructor(\n\t\tconfigKey: string,\n\t\toptions?: {\n\t\t\tconfigFile?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(`Missing required configuration: ${configKey}`, {\n\t\t\tconfigKey,\n\t\t\tconfigFile: options?.configFile,\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"MissingConfigError\";\n\t}\n}\n\n// ============================================================================\n// Internal Errors\n// ============================================================================\n\n/**\n * Error for internal/unexpected failures\n */\nexport class InternalError extends ComposerError {\n\tconstructor(\n\t\tmessage: string,\n\t\toptions?: {\n\t\t\tcomponent?: string;\n\t\t\tcause?: Error;\n\t\t},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"INTERNAL_ERROR\",\n\t\t\tcategory: \"internal\",\n\t\t\tseverity: \"error\",\n\t\t\tretriable: false,\n\t\t\tcontext: {\n\t\t\t\tcomponent: options?.component,\n\t\t\t},\n\t\t\tcause: options?.cause,\n\t\t});\n\t\tthis.name = \"InternalError\";\n\t}\n}\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Type guard to check if an error is a ComposerError\n */\nexport function isComposerError(error: unknown): error is ComposerError {\n\treturn error instanceof ComposerError;\n}\n\n/**\n * Type guard to check if an error is retriable\n */\nexport function isRetriableError(error: unknown): boolean {\n\tif (isComposerError(error)) {\n\t\treturn error.retriable;\n\t}\n\t// Consider ECONNRESET, ETIMEDOUT, etc. as retriable\n\tif (error instanceof Error) {\n\t\tconst code = (error as NodeJS.ErrnoException).code;\n\t\treturn (\n\t\t\tcode === \"ECONNRESET\" ||\n\t\t\tcode === \"ETIMEDOUT\" ||\n\t\t\tcode === \"ENOTFOUND\" ||\n\t\t\tcode === \"ECONNREFUSED\"\n\t\t);\n\t}\n\treturn false;\n}\n\n/**\n * Wrap an unknown error in a ComposerError\n */\nexport function wrapError(\n\terror: unknown,\n\tmessage?: string,\n\tcategory: ErrorCategory = \"internal\",\n): ComposerError {\n\tif (isComposerError(error)) {\n\t\treturn error;\n\t}\n\n\tconst cause = error instanceof Error ? error : new Error(String(error));\n\tconst errorMessage = message ?? cause.message;\n\n\treturn new ComposerError(errorMessage, {\n\t\tcode: \"WRAPPED_ERROR\",\n\t\tcategory,\n\t\tcause,\n\t});\n}\n\n/**\n * Extract a user-friendly message from any error\n */\nexport function getErrorMessage(error: unknown): string {\n\tif (isComposerError(error)) {\n\t\treturn error.toUserMessage();\n\t}\n\tif (error instanceof Error) {\n\t\treturn error.message;\n\t}\n\treturn String(error);\n}\n"]}
|
package/dist/main.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Main Entry Point -
|
|
2
|
+
* Main Entry Point - Maestro CLI Application
|
|
3
3
|
*
|
|
4
|
-
* This module orchestrates the complete initialization sequence for the
|
|
4
|
+
* This module orchestrates the complete initialization sequence for the Maestro CLI,
|
|
5
5
|
* including authentication, model resolution, session management, and runtime mode
|
|
6
6
|
* selection. It serves as the single entry point that routes execution to the
|
|
7
7
|
* appropriate mode (interactive TUI, single-shot, RPC, or exec).
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* └── Handle --help, config commands, and other early exits
|
|
26
26
|
*
|
|
27
27
|
* 4. Authentication Resolution
|
|
28
|
-
* ├── Determine auth mode (auto
|
|
28
|
+
* ├── Determine auth mode (auto or api-key)
|
|
29
29
|
* ├── Resolve credentials for the selected provider
|
|
30
30
|
* └── Build error messages for missing credentials
|
|
31
31
|
*
|
|
@@ -67,7 +67,6 @@
|
|
|
67
67
|
* |----------|--------------------------------------------------|
|
|
68
68
|
* | auto | Try OAuth first, fall back to API key env vars |
|
|
69
69
|
* | api-key | Require explicit API key (--api-key or env var) |
|
|
70
|
-
* | claude | Force Anthropic OAuth (no API key fallback) |
|
|
71
70
|
*
|
|
72
71
|
* ## Runtime Modes
|
|
73
72
|
*
|
|
@@ -87,7 +86,7 @@
|
|
|
87
86
|
* @module main
|
|
88
87
|
*/
|
|
89
88
|
/**
|
|
90
|
-
* Main entry point for the
|
|
89
|
+
* Main entry point for the Maestro CLI application.
|
|
91
90
|
*
|
|
92
91
|
* This function orchestrates the complete initialization sequence and routes
|
|
93
92
|
* to the appropriate runtime mode. It performs all setup synchronously where
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AA0XH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,iBAwtCxC"}
|
package/dist/main.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Main Entry Point -
|
|
2
|
+
* Main Entry Point - Maestro CLI Application
|
|
3
3
|
*
|
|
4
|
-
* This module orchestrates the complete initialization sequence for the
|
|
4
|
+
* This module orchestrates the complete initialization sequence for the Maestro CLI,
|
|
5
5
|
* including authentication, model resolution, session management, and runtime mode
|
|
6
6
|
* selection. It serves as the single entry point that routes execution to the
|
|
7
7
|
* appropriate mode (interactive TUI, single-shot, RPC, or exec).
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* └── Handle --help, config commands, and other early exits
|
|
26
26
|
*
|
|
27
27
|
* 4. Authentication Resolution
|
|
28
|
-
* ├── Determine auth mode (auto
|
|
28
|
+
* ├── Determine auth mode (auto or api-key)
|
|
29
29
|
* ├── Resolve credentials for the selected provider
|
|
30
30
|
* └── Build error messages for missing credentials
|
|
31
31
|
*
|
|
@@ -67,7 +67,6 @@
|
|
|
67
67
|
* |----------|--------------------------------------------------|
|
|
68
68
|
* | auto | Try OAuth first, fall back to API key env vars |
|
|
69
69
|
* | api-key | Require explicit API key (--api-key or env var) |
|
|
70
|
-
* | claude | Force Anthropic OAuth (no API key fallback) |
|
|
71
70
|
*
|
|
72
71
|
* ## Runtime Modes
|
|
73
72
|
*
|
|
@@ -358,7 +357,7 @@ async function readReplayScenarioId(source) {
|
|
|
358
357
|
return scenarioSourceLabel(source);
|
|
359
358
|
}
|
|
360
359
|
/**
|
|
361
|
-
* Main entry point for the
|
|
360
|
+
* Main entry point for the Maestro CLI application.
|
|
362
361
|
*
|
|
363
362
|
* This function orchestrates the complete initialization sequence and routes
|
|
364
363
|
* to the appropriate runtime mode. It performs all setup synchronously where
|
|
@@ -378,6 +377,10 @@ async function readReplayScenarioId(source) {
|
|
|
378
377
|
* @param args - Command-line arguments (typically process.argv.slice(2))
|
|
379
378
|
*/
|
|
380
379
|
export async function main(args) {
|
|
380
|
+
const originalStderrWrite = process.stderr.write.bind(process.stderr);
|
|
381
|
+
const writeStartupErrorToStderr = (message) => {
|
|
382
|
+
originalStderrWrite(message.endsWith("\n") ? message : `${message}\n`);
|
|
383
|
+
};
|
|
381
384
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
382
385
|
// PHASE 0: Early Exit Checks (before any async initialization)
|
|
383
386
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -452,7 +455,7 @@ export async function main(args) {
|
|
|
452
455
|
})}\n`);
|
|
453
456
|
}
|
|
454
457
|
else {
|
|
455
|
-
|
|
458
|
+
writeStartupErrorToStderr(chalk.red(message));
|
|
456
459
|
}
|
|
457
460
|
process.exit(1);
|
|
458
461
|
};
|
|
@@ -462,6 +465,12 @@ export async function main(args) {
|
|
|
462
465
|
catch (error) {
|
|
463
466
|
exitWithEarlyStartupError(error);
|
|
464
467
|
}
|
|
468
|
+
if (parsed.command === "codex") {
|
|
469
|
+
const { handleCodexCommand } = await import("./cli/commands/codex.js");
|
|
470
|
+
await handleCodexCommand(parsed.subcommand, parsed.commandArgs ?? []);
|
|
471
|
+
await waitForStartupTelemetryForImmediateExit(startupTelemetry);
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
465
474
|
const replayScenarioPath = parsed.replayScenarioPath ?? process.env.MAESTRO_SCENARIO_PATH;
|
|
466
475
|
if (replayScenarioPath) {
|
|
467
476
|
parsed.replayScenarioPath = replayScenarioPath;
|
|
@@ -568,7 +577,7 @@ export async function main(args) {
|
|
|
568
577
|
process.stderr.write(`${stack ?? message}\n`);
|
|
569
578
|
}
|
|
570
579
|
else {
|
|
571
|
-
|
|
580
|
+
writeStartupErrorToStderr(chalk.red(message));
|
|
572
581
|
}
|
|
573
582
|
captureSentryException(error);
|
|
574
583
|
await flushSentry();
|
|
@@ -639,7 +648,6 @@ export async function main(args) {
|
|
|
639
648
|
// Determine authentication mode:
|
|
640
649
|
// - auto: Try OAuth first, fall back to API key environment variables
|
|
641
650
|
// - api-key: Require explicit API key from --api-key or env var
|
|
642
|
-
// - claude: Force Anthropic OAuth (no API key fallback)
|
|
643
651
|
const authMode = parsed.authMode ?? "auto";
|
|
644
652
|
const { requireCredential } = createAuthSetup({
|
|
645
653
|
authMode,
|
|
@@ -738,11 +746,6 @@ export async function main(args) {
|
|
|
738
746
|
await handleEvalOpsCommand(parsed.subcommand, parsed.commandArgs ?? []);
|
|
739
747
|
return;
|
|
740
748
|
}
|
|
741
|
-
if (parsed.command === "codex") {
|
|
742
|
-
const { handleCodexCommand } = await import("./cli/commands/codex.js");
|
|
743
|
-
await handleCodexCommand(parsed.subcommand, parsed.commandArgs ?? []);
|
|
744
|
-
return;
|
|
745
|
-
}
|
|
746
749
|
if (parsed.command === "hooks") {
|
|
747
750
|
const { handleHooksCommand } = await import("./cli/commands/hooks.js");
|
|
748
751
|
await handleHooksCommand(parsed.subcommand);
|
|
@@ -787,7 +790,7 @@ export async function main(args) {
|
|
|
787
790
|
}
|
|
788
791
|
if (parsed.command === "anthropic") {
|
|
789
792
|
const { handleAnthropicCommand } = await import("./cli/commands/anthropic.js");
|
|
790
|
-
await handleAnthropicCommand(
|
|
793
|
+
await handleAnthropicCommand();
|
|
791
794
|
return;
|
|
792
795
|
}
|
|
793
796
|
// Handle cost commands
|