@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":"model-resolution-setup.js","sourceRoot":"","sources":["../../src/bootstrap/model-resolution-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACN,aAAa,EACb,+BAA+B,EAC/B,qBAAqB,EACrB,YAAY,EACZ,YAAY,GACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQlD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAO1C;IACA,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;IAClE,IAAI,QAAQ,GAAG,cAAc,CAAC;IAC9B,IAAI,OAAO,GAAG,WAAW,CAAC;IAE1B,oFAAoF;IACpF,IAAI,OAAO,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,aAAa,IAAI,YAAY,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnE,QAAQ,GAAG,aAAa,CAAC;YACzB,OAAO,GAAG,YAAY,CAAC;YACvB,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CAAC,iBAAiB,WAAW,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC,CAClE,CAAC;QACH,CAAC;IACF,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC7B,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC3B,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CAAC,gBAAgB,WAAW,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC,CACjE,CAAC;QACH,CAAC;IACF,CAAC;IAED,wCAAwC;IACxC,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,UAAU,EAAE,CAAC;YAChB,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,OAAO,eAAe,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;IACF,CAAC;IAED,yBAAyB;IACzB,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,+BAA+B,EAAE,CAAC;QACzD,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"model-resolution-setup.js","sourceRoot":"","sources":["../../src/bootstrap/model-resolution-setup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Model Resolution - Provider and model resolution from CLI arguments.\n *\n * Extracts the provider/model resolution chain from main.ts Phase 8:\n * slash-format parsing, alias lookup, provider-agnostic search,\n * factory defaults, validation, and credential check.\n *\n * @module bootstrap/model-resolution-setup\n */\n\nimport chalk from \"chalk\";\nimport type { Api, Model } from \"../agent/types.js\";\nimport {\n\tfindModelById,\n\tgetFactoryDefaultModelSelection,\n\tgetRegisteredModels,\n\tgetSupportedProviders,\n\tresolveAlias,\n\tresolveModel,\n} from \"../models/registry.js\";\nimport type { AuthCredential } from \"../providers/auth.js\";\nimport { PolicyError } from \"../safety/policy.js\";\n\nexport interface ModelResolutionResult {\n\tprovider: string;\n\tmodelId: string;\n\tmodel: Model<Api>;\n}\n\nconst DEFAULT_PROVIDER = \"openai-codex\";\nconst DEFAULT_MODEL_ID = \"gpt-5.5\";\nconst DEFAULT_MODEL_ID_BY_PROVIDER: Record<string, string> = {\n\tanthropic: \"claude-opus-4-6\",\n\t\"openai-codex\": DEFAULT_MODEL_ID,\n\topenai: \"gpt-5.2\",\n};\n\nfunction defaultModelIdForProvider(provider: string): string | undefined {\n\tconst preferred = DEFAULT_MODEL_ID_BY_PROVIDER[provider];\n\tconst models = getRegisteredModels().filter(\n\t\t(model) => model.provider === provider,\n\t);\n\tif (preferred && models.some((model) => model.id === preferred)) {\n\t\treturn preferred;\n\t}\n\treturn models[0]?.id ?? preferred;\n}\n\n/**\n * Resolve provider and model from CLI args, aliases, cross-provider search,\n * and factory defaults. Validates credentials and policy.\n *\n * @throws Error with user-facing message on validation failures\n */\nexport async function resolveModelFromArgs(params: {\n\tparsedProvider?: string;\n\tparsedModel?: string;\n\trequireCredential: (\n\t\tproviderName: string,\n\t\tfatal: boolean,\n\t) => Promise<AuthCredential>;\n}): Promise<ModelResolutionResult> {\n\tconst { parsedProvider, parsedModel, requireCredential } = params;\n\tlet provider = parsedProvider;\n\tlet modelId = parsedModel;\n\n\t// Check if model uses provider/modelId format (e.g., \"bedrock/anthropic.claude-v3\")\n\tif (modelId && !provider && modelId.includes(\"/\")) {\n\t\tconst slashIndex = modelId.indexOf(\"/\");\n\t\tconst maybeProvider = modelId.slice(0, slashIndex);\n\t\tconst maybeModelId = modelId.slice(slashIndex + 1);\n\t\tif (maybeProvider && maybeModelId && !maybeProvider.includes(\".\")) {\n\t\t\tprovider = maybeProvider;\n\t\t\tmodelId = maybeModelId;\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(`Parsed model: ${parsedModel} → ${provider}/${modelId}`),\n\t\t\t);\n\t\t}\n\t}\n\n\t// Check if model is an alias\n\tif (modelId && !provider) {\n\t\tconst resolved = resolveAlias(modelId);\n\t\tif (resolved) {\n\t\t\tprovider = resolved.provider;\n\t\t\tmodelId = resolved.modelId;\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(`Using alias: ${parsedModel} → ${provider}/${modelId}`),\n\t\t\t);\n\t\t}\n\t}\n\n\t// Search for model across all providers\n\tif (modelId && !provider) {\n\t\tconst foundModel = findModelById(modelId);\n\t\tif (foundModel) {\n\t\t\tprovider = foundModel.provider;\n\t\t\tconsole.log(chalk.dim(`Found model: ${modelId} (provider: ${provider})`));\n\t\t}\n\t}\n\n\t// Apply factory defaults\n\tif (!provider || !modelId) {\n\t\tconst factoryDefault = getFactoryDefaultModelSelection();\n\t\tif (factoryDefault) {\n\t\t\tif (!provider) {\n\t\t\t\tprovider = factoryDefault.provider;\n\t\t\t}\n\t\t\tif (!modelId && factoryDefault.provider === provider) {\n\t\t\t\tmodelId = factoryDefault.modelId;\n\t\t\t}\n\t\t}\n\t}\n\n\tprovider ??= DEFAULT_PROVIDER;\n\tmodelId ??= defaultModelIdForProvider(provider) ?? DEFAULT_MODEL_ID;\n\n\t// Validate provider\n\tconst supportedProviders = new Set(getSupportedProviders());\n\tif (!supportedProviders.has(provider)) {\n\t\tthrow new Error(\n\t\t\t`Unknown provider \"${provider}\". Supported providers: ${Array.from(\n\t\t\t\tsupportedProviders,\n\t\t\t)\n\t\t\t\t.sort()\n\t\t\t\t.join(\", \")}`,\n\t\t);\n\t}\n\n\t// Resolve model with policy check\n\tlet model: ReturnType<typeof resolveModel> | undefined;\n\ttry {\n\t\tmodel = resolveModel(provider, modelId);\n\t} catch (error) {\n\t\tif (error instanceof PolicyError) {\n\t\t\tthrow new Error(error.message);\n\t\t}\n\t\tthrow error;\n\t}\n\n\tif (!model) {\n\t\tthrow new Error(\n\t\t\t`Unknown model \"${provider}/${modelId}\". Check your models config.`,\n\t\t);\n\t}\n\n\tif (\n\t\tprovider !== \"scripted-replay\" &&\n\t\tmodel.api !== \"openai-codex-app-server\"\n\t) {\n\t\tawait requireCredential(provider, false);\n\t}\n\n\treturn { provider, modelId, model };\n}\n"]}
|
package/dist/cli/args.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export interface Args {
|
|
|
28
28
|
commandArgs?: string[];
|
|
29
29
|
contextLiveMcp?: boolean;
|
|
30
30
|
approvalMode?: "auto" | "prompt" | "fail";
|
|
31
|
-
authMode?: "auto" | "api-key"
|
|
31
|
+
authMode?: "auto" | "api-key";
|
|
32
32
|
force?: boolean;
|
|
33
33
|
execJson?: boolean;
|
|
34
34
|
execFullAuto?: boolean;
|
|
@@ -48,7 +48,7 @@ export interface Args {
|
|
|
48
48
|
configOverrides?: string[];
|
|
49
49
|
/** Start in read-only mode (activates explore composer) */
|
|
50
50
|
readonly?: boolean;
|
|
51
|
-
/**
|
|
51
|
+
/** Agent profile to activate on startup */
|
|
52
52
|
composer?: string;
|
|
53
53
|
exportFormat?: string;
|
|
54
54
|
redactSecrets?: boolean;
|
package/dist/cli/args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,IAAI;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,IAAI;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAwGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAyP9C"}
|
package/dist/cli/args.js
CHANGED
|
@@ -74,7 +74,7 @@ const FLAGS_WITH_VALUES = new Set([
|
|
|
74
74
|
"--record-scenario",
|
|
75
75
|
]);
|
|
76
76
|
const DEPRECATED_FLAGS_WITH_VALUES = new Set(["--codex-api-key"]);
|
|
77
|
-
const DEPRECATED_FLAG_PREFIXES = ["--auth=chatgpt"];
|
|
77
|
+
const DEPRECATED_FLAG_PREFIXES = ["--auth=chatgpt", "--auth=claude"];
|
|
78
78
|
function isConfigInitPresetFlag(result, arg) {
|
|
79
79
|
return (result.command === "config" &&
|
|
80
80
|
result.subcommand === "init" &&
|
|
@@ -226,7 +226,7 @@ export function parseArgs(args) {
|
|
|
226
226
|
}
|
|
227
227
|
else if (arg === "--auth" && i + 1 < args.length) {
|
|
228
228
|
const value = args[++i];
|
|
229
|
-
if (value === "auto" || value === "api-key"
|
|
229
|
+
if (value === "auto" || value === "api-key") {
|
|
230
230
|
result.authMode = value;
|
|
231
231
|
}
|
|
232
232
|
}
|
package/dist/cli/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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","sourcesContent":["export type Mode = \"text\" | \"json\" | \"rpc\" | \"headless\";\n\nexport interface Args {\n\tprovider?: string;\n\tmodel?: string;\n\ttaskBudget?: number;\n\terror?: string;\n\tmodelsFile?: string;\n\tapiKey?: string;\n\tsystemPrompt?: string;\n\tappendSystemPrompt?: string;\n\t/** Port for `maestro web` (defaults to PORT env or 8080) */\n\tport?: number;\n\tcontinue?: boolean;\n\tresume?: boolean;\n\thelp?: boolean;\n\thelpHidden?: boolean;\n\tversion?: boolean;\n\tlistModesAll?: boolean;\n\tmode?: Mode;\n\t/** Run in headless mode for native TUI communication */\n\theadless?: boolean;\n\tnoSession?: boolean;\n\tsession?: string;\n\tsafeMode?: boolean;\n\tcommand?: string;\n\tsubcommand?: string;\n\t/** Raw arguments owned by command-group handlers. */\n\tcommandArgs?: string[];\n\tcontextLiveMcp?: boolean;\n\tapprovalMode?: \"auto\" | \"prompt\" | \"fail\";\n\tauthMode?: \"auto\" | \"api-key\" | \"claude\";\n\tforce?: boolean;\n\texecJson?: boolean;\n\texecFullAuto?: boolean;\n\texecReadOnly?: boolean;\n\t/** Sandbox backend or policy mode */\n\tsandbox?: string;\n\texecOutputSchema?: string;\n\texecOutputLast?: string;\n\texecResumeId?: string;\n\texecUseLast?: boolean;\n\tmodels?: string[];\n\ttools?: string[];\n\tmessages: string[];\n\t/** TOML config profile to activate */\n\tprofile?: string;\n\t/** CLI config overrides in key=value format */\n\tconfigOverrides?: string[];\n\t/** Start in read-only mode (activates explore composer) */\n\treadonly?: boolean;\n\t/** Composer profile to activate on startup */\n\tcomposer?: string;\n\texportFormat?: string;\n\tredactSecrets?: boolean;\n\tjunitPath?: string;\n\t/** Open a real agent session backed by a scripted replay scenario. */\n\treplayScenarioPath?: string;\n\t/** Record assistant turns into a scripted replay scenario file. */\n\trecordScenarioPath?: string;\n}\n\nconst COMMANDS = new Set([\n\t\"config\",\n\t\"context\",\n\t\"modes\",\n\t\"models\",\n\t\"cost\",\n\t\"stats\",\n\t\"status\",\n\t\"run\",\n\t\"agents\",\n\t\"a2a\",\n\t\"operating-plane\",\n\t\"exec\",\n\t\"web\",\n\t\"hosted-runner\",\n\t\"init\",\n\t\"anthropic\",\n\t\"evalops\",\n\t\"openai\",\n\t\"codex\",\n\t\"hooks\",\n\t\"skill\",\n\t\"memory\",\n\t\"remote\",\n\t\"export\",\n\t\"import\",\n\t\"scenario\",\n]);\nconst SUBCOMMAND_COMMANDS = new Set([\n\t\"config\",\n\t\"context\",\n\t\"modes\",\n\t\"models\",\n\t\"cost\",\n\t\"stats\",\n\t\"run\",\n\t\"agents\",\n\t\"anthropic\",\n\t\"evalops\",\n\t\"openai\",\n\t\"codex\",\n\t\"hooks\",\n\t\"skill\",\n\t\"memory\",\n\t\"remote\",\n\t\"scenario\",\n]);\nconst RUN_SUBCOMMANDS = new Set([\"inspect\", \"ledger\", \"replay\", \"promote\"]);\n\nconst FLAGS_WITH_VALUES = new Set([\n\t\"--mode\",\n\t\"--provider\",\n\t\"--model\",\n\t\"-m\",\n\t\"--task-budget\",\n\t\"--models\",\n\t\"--models-file\",\n\t\"--api-key\",\n\t\"--port\",\n\t\"--system-prompt\",\n\t\"--append-system-prompt\",\n\t\"--session\",\n\t\"--approval-mode\",\n\t\"--auth\",\n\t\"--sandbox\",\n\t\"--output-schema\",\n\t\"--output-last-message\",\n\t\"--tools\",\n\t\"--composer\",\n\t\"--format\",\n\t\"--profile\",\n\t\"--config\",\n\t\"--junit\",\n\t\"--replay\",\n\t\"--record-scenario\",\n]);\n\nconst DEPRECATED_FLAGS_WITH_VALUES = new Set([\"--codex-api-key\"]);\nconst DEPRECATED_FLAG_PREFIXES = [\"--auth=chatgpt\"];\n\nfunction isConfigInitPresetFlag(result: Args, arg: string): boolean {\n\treturn (\n\t\tresult.command === \"config\" &&\n\t\tresult.subcommand === \"init\" &&\n\t\t(arg === \"--preset\" || arg === \"-p\")\n\t);\n}\n\nfunction nextNonFlagToken(args: string[], start: number): string | undefined {\n\tfor (let index = start; index < args.length; index++) {\n\t\tconst token = args[index];\n\t\tif (!token) continue;\n\t\tif (!token.startsWith(\"-\")) {\n\t\t\treturn token;\n\t\t}\n\t\tif (FLAGS_WITH_VALUES.has(token) && index + 1 < args.length) {\n\t\t\tindex++;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nexport function parseArgs(args: string[]): Args {\n\tconst result: Args = {\n\t\tmessages: [],\n\t};\n\n\tfor (let i = 0; i < args.length; i++) {\n\t\tconst arg = args[i];\n\n\t\tif (arg === \"--help\" || arg === \"-h\") {\n\t\t\tresult.help = true;\n\t\t} else if (arg === \"--help-hidden\" || arg === \"--help-all\") {\n\t\t\tresult.help = true;\n\t\t\tresult.helpHidden = true;\n\t\t} else if (arg === \"--list-modes-all\") {\n\t\t\tresult.listModesAll = true;\n\t\t} else if (arg === \"--version\" || arg === \"-v\") {\n\t\t\tresult.version = true;\n\t\t} else if (arg?.startsWith(\"--mode=\")) {\n\t\t\tconst mode = arg.slice(\"--mode=\".length);\n\t\t\tif (\n\t\t\t\tmode === \"text\" ||\n\t\t\t\tmode === \"json\" ||\n\t\t\t\tmode === \"rpc\" ||\n\t\t\t\tmode === \"headless\"\n\t\t\t) {\n\t\t\t\tresult.mode = mode;\n\t\t\t\tif (mode === \"headless\") {\n\t\t\t\t\tresult.headless = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (arg === \"--mode\" && i + 1 < args.length) {\n\t\t\tconst mode = args[++i];\n\t\t\tif (\n\t\t\t\tmode === \"text\" ||\n\t\t\t\tmode === \"json\" ||\n\t\t\t\tmode === \"rpc\" ||\n\t\t\t\tmode === \"headless\"\n\t\t\t) {\n\t\t\t\tresult.mode = mode;\n\t\t\t\tif (mode === \"headless\") {\n\t\t\t\t\tresult.headless = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (arg === \"--headless\") {\n\t\t\tresult.headless = true;\n\t\t\tresult.mode = \"headless\";\n\t\t} else if (arg === \"--continue\" || arg === \"-c\") {\n\t\t\tresult.continue = true;\n\t\t} else if (arg === \"--resume\" || arg === \"-r\") {\n\t\t\tif (result.command === \"exec\") {\n\t\t\t\tconst nextArg = args[i + 1];\n\t\t\t\tif (i + 1 < args.length && nextArg && !nextArg.startsWith(\"-\")) {\n\t\t\t\t\tresult.execResumeId = nextArg;\n\t\t\t\t\ti++;\n\t\t\t\t} else {\n\t\t\t\t\tresult.execUseLast = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresult.resume = true;\n\t\t\t}\n\t\t} else if (arg === \"--provider\" && i + 1 < args.length) {\n\t\t\tresult.provider = args[++i];\n\t\t} else if ((arg === \"--model\" || arg === \"-m\") && i + 1 < args.length) {\n\t\t\tresult.model = args[++i];\n\t\t} else if (arg === \"--task-budget\") {\n\t\t\tconst rawValue = args[i + 1];\n\t\t\tif (\n\t\t\t\trawValue === undefined ||\n\t\t\t\t(rawValue.startsWith(\"-\") && Number.isNaN(Number(rawValue)))\n\t\t\t) {\n\t\t\t\tresult.error = \"--task-budget requires a value\";\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\ti++;\n\t\t\tconst value = Number(rawValue);\n\t\t\tif (Number.isInteger(value) && value > 0) {\n\t\t\t\tresult.taskBudget = value;\n\t\t\t} else {\n\t\t\t\tresult.error = \"--task-budget must be a positive integer\";\n\t\t\t}\n\t\t} else if (arg === \"--models\" && i + 1 < args.length) {\n\t\t\tconst modelsArg = args[++i]!;\n\t\t\tconst patterns = modelsArg\n\t\t\t\t.split(\",\")\n\t\t\t\t.map((value) => value.trim())\n\t\t\t\t.filter((value) => value.length > 0);\n\t\t\tif (patterns.length > 0) {\n\t\t\t\tresult.models = patterns;\n\t\t\t}\n\t\t} else if (arg === \"--models-file\" && i + 1 < args.length) {\n\t\t\tresult.modelsFile = args[++i];\n\t\t} else if (arg === \"--api-key\" && i + 1 < args.length) {\n\t\t\tresult.apiKey = args[++i];\n\t\t} else if (arg === \"--port\" && i + 1 < args.length) {\n\t\t\tconst value = Number.parseInt(args[++i] ?? \"\", 10);\n\t\t\tif (Number.isFinite(value) && value > 0 && value < 65536) {\n\t\t\t\tresult.port = value;\n\t\t\t}\n\t\t} else if (arg === \"--system-prompt\" && i + 1 < args.length) {\n\t\t\tresult.systemPrompt = args[++i];\n\t\t} else if (arg === \"--append-system-prompt\" && i + 1 < args.length) {\n\t\t\tresult.appendSystemPrompt = args[++i];\n\t\t} else if (arg === \"--no-session\") {\n\t\t\tresult.noSession = true;\n\t\t} else if (arg === \"--session\" && i + 1 < args.length) {\n\t\t\tresult.session = args[++i];\n\t\t} else if (arg === \"--safe-mode\") {\n\t\t\tresult.safeMode = true;\n\t\t} else if (arg === \"--approval-mode\" && i + 1 < args.length) {\n\t\t\tconst mode = args[++i];\n\t\t\tif (mode === \"auto\" || mode === \"prompt\" || mode === \"fail\") {\n\t\t\t\tresult.approvalMode = mode;\n\t\t\t}\n\t\t} else if (arg === \"--auth\" && i + 1 < args.length) {\n\t\t\tconst value = args[++i];\n\t\t\tif (value === \"auto\" || value === \"api-key\" || value === \"claude\") {\n\t\t\t\tresult.authMode = value;\n\t\t\t}\n\t\t} else if (arg === \"--force\") {\n\t\t\tresult.force = true;\n\t\t} else if (arg === \"--json\") {\n\t\t\tresult.execJson = true;\n\t\t} else if (arg === \"--full-auto\") {\n\t\t\tresult.execFullAuto = true;\n\t\t} else if (arg === \"--read-only\") {\n\t\t\tresult.execReadOnly = true;\n\t\t} else if (arg === \"--sandbox\" && i + 1 < args.length) {\n\t\t\tresult.sandbox = args[++i];\n\t\t} else if (arg === \"--output-schema\" && i + 1 < args.length) {\n\t\t\tresult.execOutputSchema = args[++i];\n\t\t} else if (arg === \"--output-last-message\" && i + 1 < args.length) {\n\t\t\tresult.execOutputLast = args[++i];\n\t\t} else if (arg === \"--last\" && result.command === \"exec\") {\n\t\t\tresult.execUseLast = true;\n\t\t} else if (arg === \"--tools\" && i + 1 < args.length) {\n\t\t\tconst toolsArg = args[++i]!;\n\t\t\tconst toolNames = toolsArg\n\t\t\t\t.split(\",\")\n\t\t\t\t.map((value) => value.trim())\n\t\t\t\t.filter((value) => value.length > 0);\n\t\t\tif (toolNames.length > 0) {\n\t\t\t\tresult.tools = toolNames;\n\t\t\t}\n\t\t} else if (arg === \"--readonly\" || arg === \"--read-only-mode\") {\n\t\t\tresult.readonly = true;\n\t\t} else if (arg === \"--composer\" && i + 1 < args.length) {\n\t\t\tresult.composer = args[++i];\n\t\t} else if (arg === \"--format\" && i + 1 < args.length) {\n\t\t\tresult.exportFormat = args[++i];\n\t\t} else if (arg === \"--redact-secrets\") {\n\t\t\tresult.redactSecrets = true;\n\t\t} else if (arg === \"--junit\" && i + 1 < args.length) {\n\t\t\tresult.junitPath = args[++i]!;\n\t\t} else if (arg === \"--replay\" && i + 1 < args.length) {\n\t\t\tresult.replayScenarioPath = args[++i]!;\n\t\t} else if (arg === \"--record-scenario\" && i + 1 < args.length) {\n\t\t\tresult.recordScenarioPath = args[++i]!;\n\t\t} else if (arg === \"--live-mcp\") {\n\t\t\tresult.contextLiveMcp = true;\n\t\t} else if (arg === \"--profile\" && i + 1 < args.length) {\n\t\t\tresult.profile = args[++i];\n\t\t} else if (arg === \"--config\" && i + 1 < args.length) {\n\t\t\t// Config overrides in key=value format\n\t\t\tconst override = args[++i]!;\n\t\t\tif (!result.configOverrides) {\n\t\t\t\tresult.configOverrides = [];\n\t\t\t}\n\t\t\tresult.configOverrides.push(override);\n\t\t} else if (arg && DEPRECATED_FLAGS_WITH_VALUES.has(arg)) {\n\t\t\t// Preserve the later migration error from validateCodexFlags().\n\t\t\tconst nextArg = args[i + 1];\n\t\t\tif (nextArg && !nextArg.startsWith(\"-\") && !COMMANDS.has(nextArg)) {\n\t\t\t\ti++;\n\t\t\t}\n\t\t} else if (\n\t\t\targ &&\n\t\t\t(Array.from(DEPRECATED_FLAGS_WITH_VALUES).some((flag) =>\n\t\t\t\targ.startsWith(`${flag}=`),\n\t\t\t) ||\n\t\t\t\tDEPRECATED_FLAG_PREFIXES.some((flag) => arg.startsWith(flag)))\n\t\t) {\n\t\t\t// Preserve the later migration error from validateCodexFlags().\n\t\t} else if (\n\t\t\tresult.command === \"codex\" &&\n\t\t\tresult.subcommand === \"login\" &&\n\t\t\t(arg === \"--device\" || arg === \"--device-code\")\n\t\t) {\n\t\t\tif (!result.commandArgs) {\n\t\t\t\tresult.commandArgs = [];\n\t\t\t}\n\t\t\tresult.commandArgs.push(arg);\n\t\t} else if (arg && isConfigInitPresetFlag(result, arg)) {\n\t\t\tconst nextArg = args[i + 1];\n\t\t\tif (nextArg && !nextArg.startsWith(\"-\")) {\n\t\t\t\ti++;\n\t\t\t}\n\t\t} else if (arg?.startsWith(\"-\")) {\n\t\t\tresult.error = `Unknown option: ${arg}`;\n\t\t} else if (arg) {\n\t\t\tconst nextArg = args[i + 1];\n\t\t\tconst isCommandToken =\n\t\t\t\tCOMMANDS.has(arg) &&\n\t\t\t\t(arg !== \"run\" ||\n\t\t\t\t\t(result.messages.length === 0 &&\n\t\t\t\t\t\tRUN_SUBCOMMANDS.has(nextNonFlagToken(args, i + 1) ?? \"\")));\n\t\t\tif (!result.command && isCommandToken) {\n\t\t\t\tresult.command = arg;\n\t\t\t\tconst shouldConsumeSubcommand =\n\t\t\t\t\tSUBCOMMAND_COMMANDS.has(arg) &&\n\t\t\t\t\t(arg !== \"context\" || nextArg === \"explain\" || nextArg === \"diff\");\n\t\t\t\tif (\n\t\t\t\t\tshouldConsumeSubcommand &&\n\t\t\t\t\ti + 1 < args.length &&\n\t\t\t\t\tnextArg &&\n\t\t\t\t\t!nextArg.startsWith(\"-\")\n\t\t\t\t) {\n\t\t\t\t\tresult.subcommand = nextArg;\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\targ === \"remote\" ||\n\t\t\t\t\targ === \"a2a\" ||\n\t\t\t\t\targ === \"operating-plane\" ||\n\t\t\t\t\targ === \"hosted-runner\" ||\n\t\t\t\t\targ === \"init\" ||\n\t\t\t\t\targ === \"evalops\" ||\n\t\t\t\t\targ === \"skill\"\n\t\t\t\t) {\n\t\t\t\t\tresult.commandArgs = args.slice(i + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresult.messages.push(arg);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (\n\t\tresult.command === \"run\" &&\n\t\t!result.subcommand &&\n\t\tresult.messages[0] &&\n\t\tRUN_SUBCOMMANDS.has(result.messages[0])\n\t) {\n\t\tresult.subcommand = result.messages[0];\n\t\tresult.messages = result.messages.slice(1);\n\t}\n\n\treturn result;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AA8DA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACxB,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,KAAK;IACL,iBAAiB;IACjB,MAAM;IACN,KAAK;IACL,eAAe;IACf,MAAM;IACN,WAAW;IACX,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;CACV,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACnC,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,WAAW;IACX,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;CACV,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAE5E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACjC,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,IAAI;IACJ,eAAe;IACf,UAAU;IACV,eAAe;IACf,WAAW;IACX,QAAQ;IACR,iBAAiB;IACjB,wBAAwB;IACxB,WAAW;IACX,iBAAiB;IACjB,QAAQ;IACR,WAAW;IACX,iBAAiB;IACjB,uBAAuB;IACvB,SAAS;IACT,YAAY;IACZ,UAAU;IACV,WAAW;IACX,UAAU;IACV,SAAS;IACT,UAAU;IACV,mBAAmB;CACnB,CAAC,CAAC;AAEH,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAClE,MAAM,wBAAwB,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAErE,SAAS,sBAAsB,CAAC,MAAY,EAAE,GAAW;IACxD,OAAO,CACN,MAAM,CAAC,OAAO,KAAK,QAAQ;QAC3B,MAAM,CAAC,UAAU,KAAK,MAAM;QAC5B,CAAC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,IAAI,CAAC,CACpC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,KAAa;IACtD,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7D,KAAK,EAAE,CAAC;QACT,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAc;IACvC,MAAM,MAAM,GAAS;QACpB,QAAQ,EAAE,EAAE;KACZ,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAC5D,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YACvC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACzC,IACC,IAAI,KAAK,MAAM;gBACf,IAAI,KAAK,MAAM;gBACf,IAAI,KAAK,KAAK;gBACd,IAAI,KAAK,UAAU,EAClB,CAAC;gBACF,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;gBACnB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBACzB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,CAAC;YACF,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,IACC,IAAI,KAAK,MAAM;gBACf,IAAI,KAAK,MAAM;gBACf,IAAI,KAAK,KAAK;gBACd,IAAI,KAAK,UAAU,EAClB,CAAC;gBACF,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;gBACnB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBACzB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,CAAC;YACF,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACjC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC/C,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChE,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC;oBAC9B,CAAC,EAAE,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC3B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACtB,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,IACC,QAAQ,KAAK,SAAS;gBACtB,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC3D,CAAC;gBACF,MAAM,CAAC,KAAK,GAAG,gCAAgC,CAAC;gBAChD,SAAS;YACV,CAAC;YAED,CAAC,EAAE,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,KAAK,GAAG,0CAA0C,CAAC;YAC3D,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,SAAS;iBACxB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC1B,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3D,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;YACrB,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7D,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,GAAG,KAAK,wBAAwB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpE,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YACnC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAClC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7D,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAC5B,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7C,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;YACzB,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAClC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAClC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7D,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,GAAG,KAAK,uBAAuB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACnE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC1D,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,QAAQ;iBACxB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1B,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YAC/D,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACtD,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YACvC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;QAC/B,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACtD,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;QACxC,CAAC;aAAM,IAAI,GAAG,KAAK,mBAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/D,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;QACxC,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACjC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACtD,uCAAuC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC7B,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC;YAC7B,CAAC;YACD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,GAAG,IAAI,4BAA4B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,gEAAgE;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnE,CAAC,EAAE,CAAC;YACL,CAAC;QACF,CAAC;aAAM,IACN,GAAG;YACH,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACvD,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAC1B;gBACA,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAC9D,CAAC;YACF,gEAAgE;QACjE,CAAC;aAAM,IACN,MAAM,CAAC,OAAO,KAAK,OAAO;YAC1B,MAAM,CAAC,UAAU,KAAK,OAAO;YAC7B,CAAC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,eAAe,CAAC,EAC9C,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,IAAI,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,CAAC,EAAE,CAAC;YACL,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,GAAG,mBAAmB,GAAG,EAAE,CAAC;QACzC,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,MAAM,cAAc,GACnB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBACjB,CAAC,GAAG,KAAK,KAAK;oBACb,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;wBAC5B,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC;gBACvC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;gBACrB,MAAM,uBAAuB,GAC5B,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;oBAC5B,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC;gBACpE,IACC,uBAAuB;oBACvB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;oBACnB,OAAO;oBACP,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EACvB,CAAC;oBACF,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;oBAC5B,CAAC,EAAE,CAAC;gBACL,CAAC;gBACD,IACC,GAAG,KAAK,QAAQ;oBAChB,GAAG,KAAK,KAAK;oBACb,GAAG,KAAK,iBAAiB;oBACzB,GAAG,KAAK,eAAe;oBACvB,GAAG,KAAK,MAAM;oBACd,GAAG,KAAK,SAAS;oBACjB,GAAG,KAAK,OAAO,EACd,CAAC;oBACF,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvC,MAAM;gBACP,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAED,IACC,MAAM,CAAC,OAAO,KAAK,KAAK;QACxB,CAAC,MAAM,CAAC,UAAU;QAClB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClB,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACtC,CAAC;QACF,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC","sourcesContent":["export type Mode = \"text\" | \"json\" | \"rpc\" | \"headless\";\n\nexport interface Args {\n\tprovider?: string;\n\tmodel?: string;\n\ttaskBudget?: number;\n\terror?: string;\n\tmodelsFile?: string;\n\tapiKey?: string;\n\tsystemPrompt?: string;\n\tappendSystemPrompt?: string;\n\t/** Port for `maestro web` (defaults to PORT env or 8080) */\n\tport?: number;\n\tcontinue?: boolean;\n\tresume?: boolean;\n\thelp?: boolean;\n\thelpHidden?: boolean;\n\tversion?: boolean;\n\tlistModesAll?: boolean;\n\tmode?: Mode;\n\t/** Run in headless mode for native TUI communication */\n\theadless?: boolean;\n\tnoSession?: boolean;\n\tsession?: string;\n\tsafeMode?: boolean;\n\tcommand?: string;\n\tsubcommand?: string;\n\t/** Raw arguments owned by command-group handlers. */\n\tcommandArgs?: string[];\n\tcontextLiveMcp?: boolean;\n\tapprovalMode?: \"auto\" | \"prompt\" | \"fail\";\n\tauthMode?: \"auto\" | \"api-key\";\n\tforce?: boolean;\n\texecJson?: boolean;\n\texecFullAuto?: boolean;\n\texecReadOnly?: boolean;\n\t/** Sandbox backend or policy mode */\n\tsandbox?: string;\n\texecOutputSchema?: string;\n\texecOutputLast?: string;\n\texecResumeId?: string;\n\texecUseLast?: boolean;\n\tmodels?: string[];\n\ttools?: string[];\n\tmessages: string[];\n\t/** TOML config profile to activate */\n\tprofile?: string;\n\t/** CLI config overrides in key=value format */\n\tconfigOverrides?: string[];\n\t/** Start in read-only mode (activates explore composer) */\n\treadonly?: boolean;\n\t/** Agent profile to activate on startup */\n\tcomposer?: string;\n\texportFormat?: string;\n\tredactSecrets?: boolean;\n\tjunitPath?: string;\n\t/** Open a real agent session backed by a scripted replay scenario. */\n\treplayScenarioPath?: string;\n\t/** Record assistant turns into a scripted replay scenario file. */\n\trecordScenarioPath?: string;\n}\n\nconst COMMANDS = new Set([\n\t\"config\",\n\t\"context\",\n\t\"modes\",\n\t\"models\",\n\t\"cost\",\n\t\"stats\",\n\t\"status\",\n\t\"run\",\n\t\"agents\",\n\t\"a2a\",\n\t\"operating-plane\",\n\t\"exec\",\n\t\"web\",\n\t\"hosted-runner\",\n\t\"init\",\n\t\"anthropic\",\n\t\"evalops\",\n\t\"openai\",\n\t\"codex\",\n\t\"hooks\",\n\t\"skill\",\n\t\"memory\",\n\t\"remote\",\n\t\"export\",\n\t\"import\",\n\t\"scenario\",\n]);\nconst SUBCOMMAND_COMMANDS = new Set([\n\t\"config\",\n\t\"context\",\n\t\"modes\",\n\t\"models\",\n\t\"cost\",\n\t\"stats\",\n\t\"run\",\n\t\"agents\",\n\t\"anthropic\",\n\t\"evalops\",\n\t\"openai\",\n\t\"codex\",\n\t\"hooks\",\n\t\"skill\",\n\t\"memory\",\n\t\"remote\",\n\t\"scenario\",\n]);\nconst RUN_SUBCOMMANDS = new Set([\"inspect\", \"ledger\", \"replay\", \"promote\"]);\n\nconst FLAGS_WITH_VALUES = new Set([\n\t\"--mode\",\n\t\"--provider\",\n\t\"--model\",\n\t\"-m\",\n\t\"--task-budget\",\n\t\"--models\",\n\t\"--models-file\",\n\t\"--api-key\",\n\t\"--port\",\n\t\"--system-prompt\",\n\t\"--append-system-prompt\",\n\t\"--session\",\n\t\"--approval-mode\",\n\t\"--auth\",\n\t\"--sandbox\",\n\t\"--output-schema\",\n\t\"--output-last-message\",\n\t\"--tools\",\n\t\"--composer\",\n\t\"--format\",\n\t\"--profile\",\n\t\"--config\",\n\t\"--junit\",\n\t\"--replay\",\n\t\"--record-scenario\",\n]);\n\nconst DEPRECATED_FLAGS_WITH_VALUES = new Set([\"--codex-api-key\"]);\nconst DEPRECATED_FLAG_PREFIXES = [\"--auth=chatgpt\", \"--auth=claude\"];\n\nfunction isConfigInitPresetFlag(result: Args, arg: string): boolean {\n\treturn (\n\t\tresult.command === \"config\" &&\n\t\tresult.subcommand === \"init\" &&\n\t\t(arg === \"--preset\" || arg === \"-p\")\n\t);\n}\n\nfunction nextNonFlagToken(args: string[], start: number): string | undefined {\n\tfor (let index = start; index < args.length; index++) {\n\t\tconst token = args[index];\n\t\tif (!token) continue;\n\t\tif (!token.startsWith(\"-\")) {\n\t\t\treturn token;\n\t\t}\n\t\tif (FLAGS_WITH_VALUES.has(token) && index + 1 < args.length) {\n\t\t\tindex++;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nexport function parseArgs(args: string[]): Args {\n\tconst result: Args = {\n\t\tmessages: [],\n\t};\n\n\tfor (let i = 0; i < args.length; i++) {\n\t\tconst arg = args[i];\n\n\t\tif (arg === \"--help\" || arg === \"-h\") {\n\t\t\tresult.help = true;\n\t\t} else if (arg === \"--help-hidden\" || arg === \"--help-all\") {\n\t\t\tresult.help = true;\n\t\t\tresult.helpHidden = true;\n\t\t} else if (arg === \"--list-modes-all\") {\n\t\t\tresult.listModesAll = true;\n\t\t} else if (arg === \"--version\" || arg === \"-v\") {\n\t\t\tresult.version = true;\n\t\t} else if (arg?.startsWith(\"--mode=\")) {\n\t\t\tconst mode = arg.slice(\"--mode=\".length);\n\t\t\tif (\n\t\t\t\tmode === \"text\" ||\n\t\t\t\tmode === \"json\" ||\n\t\t\t\tmode === \"rpc\" ||\n\t\t\t\tmode === \"headless\"\n\t\t\t) {\n\t\t\t\tresult.mode = mode;\n\t\t\t\tif (mode === \"headless\") {\n\t\t\t\t\tresult.headless = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (arg === \"--mode\" && i + 1 < args.length) {\n\t\t\tconst mode = args[++i];\n\t\t\tif (\n\t\t\t\tmode === \"text\" ||\n\t\t\t\tmode === \"json\" ||\n\t\t\t\tmode === \"rpc\" ||\n\t\t\t\tmode === \"headless\"\n\t\t\t) {\n\t\t\t\tresult.mode = mode;\n\t\t\t\tif (mode === \"headless\") {\n\t\t\t\t\tresult.headless = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (arg === \"--headless\") {\n\t\t\tresult.headless = true;\n\t\t\tresult.mode = \"headless\";\n\t\t} else if (arg === \"--continue\" || arg === \"-c\") {\n\t\t\tresult.continue = true;\n\t\t} else if (arg === \"--resume\" || arg === \"-r\") {\n\t\t\tif (result.command === \"exec\") {\n\t\t\t\tconst nextArg = args[i + 1];\n\t\t\t\tif (i + 1 < args.length && nextArg && !nextArg.startsWith(\"-\")) {\n\t\t\t\t\tresult.execResumeId = nextArg;\n\t\t\t\t\ti++;\n\t\t\t\t} else {\n\t\t\t\t\tresult.execUseLast = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresult.resume = true;\n\t\t\t}\n\t\t} else if (arg === \"--provider\" && i + 1 < args.length) {\n\t\t\tresult.provider = args[++i];\n\t\t} else if ((arg === \"--model\" || arg === \"-m\") && i + 1 < args.length) {\n\t\t\tresult.model = args[++i];\n\t\t} else if (arg === \"--task-budget\") {\n\t\t\tconst rawValue = args[i + 1];\n\t\t\tif (\n\t\t\t\trawValue === undefined ||\n\t\t\t\t(rawValue.startsWith(\"-\") && Number.isNaN(Number(rawValue)))\n\t\t\t) {\n\t\t\t\tresult.error = \"--task-budget requires a value\";\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\ti++;\n\t\t\tconst value = Number(rawValue);\n\t\t\tif (Number.isInteger(value) && value > 0) {\n\t\t\t\tresult.taskBudget = value;\n\t\t\t} else {\n\t\t\t\tresult.error = \"--task-budget must be a positive integer\";\n\t\t\t}\n\t\t} else if (arg === \"--models\" && i + 1 < args.length) {\n\t\t\tconst modelsArg = args[++i]!;\n\t\t\tconst patterns = modelsArg\n\t\t\t\t.split(\",\")\n\t\t\t\t.map((value) => value.trim())\n\t\t\t\t.filter((value) => value.length > 0);\n\t\t\tif (patterns.length > 0) {\n\t\t\t\tresult.models = patterns;\n\t\t\t}\n\t\t} else if (arg === \"--models-file\" && i + 1 < args.length) {\n\t\t\tresult.modelsFile = args[++i];\n\t\t} else if (arg === \"--api-key\" && i + 1 < args.length) {\n\t\t\tresult.apiKey = args[++i];\n\t\t} else if (arg === \"--port\" && i + 1 < args.length) {\n\t\t\tconst value = Number.parseInt(args[++i] ?? \"\", 10);\n\t\t\tif (Number.isFinite(value) && value > 0 && value < 65536) {\n\t\t\t\tresult.port = value;\n\t\t\t}\n\t\t} else if (arg === \"--system-prompt\" && i + 1 < args.length) {\n\t\t\tresult.systemPrompt = args[++i];\n\t\t} else if (arg === \"--append-system-prompt\" && i + 1 < args.length) {\n\t\t\tresult.appendSystemPrompt = args[++i];\n\t\t} else if (arg === \"--no-session\") {\n\t\t\tresult.noSession = true;\n\t\t} else if (arg === \"--session\" && i + 1 < args.length) {\n\t\t\tresult.session = args[++i];\n\t\t} else if (arg === \"--safe-mode\") {\n\t\t\tresult.safeMode = true;\n\t\t} else if (arg === \"--approval-mode\" && i + 1 < args.length) {\n\t\t\tconst mode = args[++i];\n\t\t\tif (mode === \"auto\" || mode === \"prompt\" || mode === \"fail\") {\n\t\t\t\tresult.approvalMode = mode;\n\t\t\t}\n\t\t} else if (arg === \"--auth\" && i + 1 < args.length) {\n\t\t\tconst value = args[++i];\n\t\t\tif (value === \"auto\" || value === \"api-key\") {\n\t\t\t\tresult.authMode = value;\n\t\t\t}\n\t\t} else if (arg === \"--force\") {\n\t\t\tresult.force = true;\n\t\t} else if (arg === \"--json\") {\n\t\t\tresult.execJson = true;\n\t\t} else if (arg === \"--full-auto\") {\n\t\t\tresult.execFullAuto = true;\n\t\t} else if (arg === \"--read-only\") {\n\t\t\tresult.execReadOnly = true;\n\t\t} else if (arg === \"--sandbox\" && i + 1 < args.length) {\n\t\t\tresult.sandbox = args[++i];\n\t\t} else if (arg === \"--output-schema\" && i + 1 < args.length) {\n\t\t\tresult.execOutputSchema = args[++i];\n\t\t} else if (arg === \"--output-last-message\" && i + 1 < args.length) {\n\t\t\tresult.execOutputLast = args[++i];\n\t\t} else if (arg === \"--last\" && result.command === \"exec\") {\n\t\t\tresult.execUseLast = true;\n\t\t} else if (arg === \"--tools\" && i + 1 < args.length) {\n\t\t\tconst toolsArg = args[++i]!;\n\t\t\tconst toolNames = toolsArg\n\t\t\t\t.split(\",\")\n\t\t\t\t.map((value) => value.trim())\n\t\t\t\t.filter((value) => value.length > 0);\n\t\t\tif (toolNames.length > 0) {\n\t\t\t\tresult.tools = toolNames;\n\t\t\t}\n\t\t} else if (arg === \"--readonly\" || arg === \"--read-only-mode\") {\n\t\t\tresult.readonly = true;\n\t\t} else if (arg === \"--composer\" && i + 1 < args.length) {\n\t\t\tresult.composer = args[++i];\n\t\t} else if (arg === \"--format\" && i + 1 < args.length) {\n\t\t\tresult.exportFormat = args[++i];\n\t\t} else if (arg === \"--redact-secrets\") {\n\t\t\tresult.redactSecrets = true;\n\t\t} else if (arg === \"--junit\" && i + 1 < args.length) {\n\t\t\tresult.junitPath = args[++i]!;\n\t\t} else if (arg === \"--replay\" && i + 1 < args.length) {\n\t\t\tresult.replayScenarioPath = args[++i]!;\n\t\t} else if (arg === \"--record-scenario\" && i + 1 < args.length) {\n\t\t\tresult.recordScenarioPath = args[++i]!;\n\t\t} else if (arg === \"--live-mcp\") {\n\t\t\tresult.contextLiveMcp = true;\n\t\t} else if (arg === \"--profile\" && i + 1 < args.length) {\n\t\t\tresult.profile = args[++i];\n\t\t} else if (arg === \"--config\" && i + 1 < args.length) {\n\t\t\t// Config overrides in key=value format\n\t\t\tconst override = args[++i]!;\n\t\t\tif (!result.configOverrides) {\n\t\t\t\tresult.configOverrides = [];\n\t\t\t}\n\t\t\tresult.configOverrides.push(override);\n\t\t} else if (arg && DEPRECATED_FLAGS_WITH_VALUES.has(arg)) {\n\t\t\t// Preserve the later migration error from validateCodexFlags().\n\t\t\tconst nextArg = args[i + 1];\n\t\t\tif (nextArg && !nextArg.startsWith(\"-\") && !COMMANDS.has(nextArg)) {\n\t\t\t\ti++;\n\t\t\t}\n\t\t} else if (\n\t\t\targ &&\n\t\t\t(Array.from(DEPRECATED_FLAGS_WITH_VALUES).some((flag) =>\n\t\t\t\targ.startsWith(`${flag}=`),\n\t\t\t) ||\n\t\t\t\tDEPRECATED_FLAG_PREFIXES.some((flag) => arg.startsWith(flag)))\n\t\t) {\n\t\t\t// Preserve the later migration error from validateCodexFlags().\n\t\t} else if (\n\t\t\tresult.command === \"codex\" &&\n\t\t\tresult.subcommand === \"login\" &&\n\t\t\t(arg === \"--device\" || arg === \"--device-code\")\n\t\t) {\n\t\t\tif (!result.commandArgs) {\n\t\t\t\tresult.commandArgs = [];\n\t\t\t}\n\t\t\tresult.commandArgs.push(arg);\n\t\t} else if (arg && isConfigInitPresetFlag(result, arg)) {\n\t\t\tconst nextArg = args[i + 1];\n\t\t\tif (nextArg && !nextArg.startsWith(\"-\")) {\n\t\t\t\ti++;\n\t\t\t}\n\t\t} else if (arg?.startsWith(\"-\")) {\n\t\t\tresult.error = `Unknown option: ${arg}`;\n\t\t} else if (arg) {\n\t\t\tconst nextArg = args[i + 1];\n\t\t\tconst isCommandToken =\n\t\t\t\tCOMMANDS.has(arg) &&\n\t\t\t\t(arg !== \"run\" ||\n\t\t\t\t\t(result.messages.length === 0 &&\n\t\t\t\t\t\tRUN_SUBCOMMANDS.has(nextNonFlagToken(args, i + 1) ?? \"\")));\n\t\t\tif (!result.command && isCommandToken) {\n\t\t\t\tresult.command = arg;\n\t\t\t\tconst shouldConsumeSubcommand =\n\t\t\t\t\tSUBCOMMAND_COMMANDS.has(arg) &&\n\t\t\t\t\t(arg !== \"context\" || nextArg === \"explain\" || nextArg === \"diff\");\n\t\t\t\tif (\n\t\t\t\t\tshouldConsumeSubcommand &&\n\t\t\t\t\ti + 1 < args.length &&\n\t\t\t\t\tnextArg &&\n\t\t\t\t\t!nextArg.startsWith(\"-\")\n\t\t\t\t) {\n\t\t\t\t\tresult.subcommand = nextArg;\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\targ === \"remote\" ||\n\t\t\t\t\targ === \"a2a\" ||\n\t\t\t\t\targ === \"operating-plane\" ||\n\t\t\t\t\targ === \"hosted-runner\" ||\n\t\t\t\t\targ === \"init\" ||\n\t\t\t\t\targ === \"evalops\" ||\n\t\t\t\t\targ === \"skill\"\n\t\t\t\t) {\n\t\t\t\t\tresult.commandArgs = args.slice(i + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresult.messages.push(arg);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (\n\t\tresult.command === \"run\" &&\n\t\t!result.subcommand &&\n\t\tresult.messages[0] &&\n\t\tRUN_SUBCOMMANDS.has(result.messages[0])\n\t) {\n\t\tresult.subcommand = result.messages[0];\n\t\tresult.messages = result.messages.slice(1);\n\t}\n\n\treturn result;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/a2a.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/a2a.ts"],"names":[],"mappings":"AAmCA,OAAO,EAMN,kBAAkB,EAMlB,MAAM,mCAAmC,CAAC;AA2L3C,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CACrC;AAeD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgEpE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CA2F1D;AAy1DD,eAAO,MAAM,wBAAwB,2BAAqB,CAAC"}
|
package/dist/cli/commands/a2a.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
2
3
|
import chalk from "chalk";
|
|
3
4
|
import { selectA2ACapabilityPeer } from "../../platform/a2a-capability-market.js";
|
|
4
5
|
import { buildA2AUserMessage, discoverA2AAgentCard, getA2ATask, sendA2AMessage, } from "../../platform/a2a-client.js";
|
|
@@ -8,8 +9,9 @@ import { buildMaestroA2APeerProjection, defaultMaestroA2ACapabilities, } from ".
|
|
|
8
9
|
import { createA2APeerPairingPayload, createA2APeerPairingPayloadFromAgentCard, decodeA2APeerPairingCode, encodeA2APeerPairingCode, resolveA2AAgentCardUrl, } from "../../platform/a2a-peer-pairing.js";
|
|
9
10
|
import { listA2APeers, loadA2APeerRegistry, normalizePeerName, resolveA2APeer, saveA2APeerRegistry, upsertA2APeerFromPairingPayload, } from "../../platform/a2a-peer-registry.js";
|
|
10
11
|
import { extractA2ATaskText, getA2ATaskLedgerPath, isActionRequiredA2AState, isFinalA2AState, isTerminalA2AState, listA2ATaskEntries, loadA2ATaskLedger, recordA2ATaskReply, recordA2ATaskStart, updateA2ATaskInLedger, } from "../../platform/a2a-task-ledger.js";
|
|
12
|
+
import { inspectA2ATelemetry, } from "../../platform/a2a-telemetry-inspect.js";
|
|
11
13
|
import { extractA2AWorkGraphMetadata, formatA2AWorkGraphCodexSubagents, formatA2AWorkGraphSummary, } from "../../platform/a2a-work-graph.js";
|
|
12
|
-
import { PlatformA2ADelegationTaskControlModeValue, PlatformAgentStatusValue, controlA2ADelegationTaskWithPlatform, delegateAgentWithPlatform, getA2ADelegationGraphWithPlatform, heartbeatAgentWithPlatform, isAgentAlreadyExistsError,
|
|
14
|
+
import { PlatformA2ADelegationTaskControlModeValue, PlatformAgentStatusValue, controlA2ADelegationTaskWithPlatform, delegateAgentWithPlatform, getA2ADelegationGraphWithPlatform, heartbeatAgentWithPlatform, isAgentAlreadyExistsError, listA2APeerCandidatesWithEvidenceWithPlatform, registerAgentWithPlatform, updateAgentWithPlatform, } from "../../platform/agent-registry-client.js";
|
|
13
15
|
import { getEnvValue } from "../../platform/client.js";
|
|
14
16
|
import { isAbortError } from "../../utils/abort-error.js";
|
|
15
17
|
const DEFAULT_WAIT_MS = 300_000;
|
|
@@ -129,6 +131,7 @@ const A2A_VALUE_FLAGS_BY_SUBCOMMAND = {
|
|
|
129
131
|
"--timeout-ms",
|
|
130
132
|
],
|
|
131
133
|
tasks: ["--registry", "--tasks", "--timeout-ms"],
|
|
134
|
+
telemetry: ["--events", "--swarm-id"],
|
|
132
135
|
wait: [
|
|
133
136
|
"--interval-ms",
|
|
134
137
|
"--max-wait-ms",
|
|
@@ -155,6 +158,7 @@ const A2A_BOOLEAN_FLAGS_BY_SUBCOMMAND = {
|
|
|
155
158
|
reply: ["--wait", "--work-graph"],
|
|
156
159
|
send: ["--wait", "--work-graph"],
|
|
157
160
|
tasks: ["--json", "--refresh", "--work-graph"],
|
|
161
|
+
telemetry: ["--json"],
|
|
158
162
|
wait: ["--work-graph"],
|
|
159
163
|
};
|
|
160
164
|
const A2A_COLLECT_VALUE_FLAGS_BY_SUBCOMMAND = {
|
|
@@ -218,6 +222,9 @@ export async function handleA2ACommand(args) {
|
|
|
218
222
|
case "tasks":
|
|
219
223
|
await handleA2ATasks(parsed);
|
|
220
224
|
return;
|
|
225
|
+
case "telemetry":
|
|
226
|
+
await handleA2ATelemetry(parsed);
|
|
227
|
+
return;
|
|
221
228
|
case "wait":
|
|
222
229
|
await handleA2AWait(parsed);
|
|
223
230
|
return;
|
|
@@ -442,7 +449,7 @@ async function handleA2APeers(parsed) {
|
|
|
442
449
|
}
|
|
443
450
|
}
|
|
444
451
|
async function handleA2ADiscover(parsed) {
|
|
445
|
-
const
|
|
452
|
+
const discovery = await listA2APeerCandidatesWithEvidenceWithPlatform({
|
|
446
453
|
workspaceId: stringFlag(parsed, "--workspace-id"),
|
|
447
454
|
capability: stringFlag(parsed, "--capability"),
|
|
448
455
|
surface: stringFlag(parsed, "--surface"),
|
|
@@ -452,20 +459,25 @@ async function handleA2ADiscover(parsed) {
|
|
|
452
459
|
skillId: stringFlag(parsed, "--skill"),
|
|
453
460
|
preferInternalEndpoint: booleanFlag(parsed, "--prefer-internal"),
|
|
454
461
|
});
|
|
455
|
-
if (!
|
|
462
|
+
if (!discovery) {
|
|
456
463
|
fail("Agent Registry service is not configured. Set AGENT_REGISTRY_SERVICE_URL, AGENT_REGISTRY_SERVICE_TOKEN, AGENT_REGISTRY_ORGANIZATION_ID, and AGENT_REGISTRY_WORKSPACE_ID.");
|
|
457
464
|
}
|
|
465
|
+
const candidates = discovery.candidates;
|
|
458
466
|
const imported = booleanFlag(parsed, "--import")
|
|
459
|
-
? await importDiscoveredA2APeers(parsed, candidates)
|
|
467
|
+
? await importDiscoveredA2APeers(parsed, candidates, discovery.discoveryEvidence)
|
|
460
468
|
: [];
|
|
461
469
|
if (booleanFlag(parsed, "--json")) {
|
|
462
470
|
console.log(JSON.stringify({
|
|
463
471
|
peers: candidates.map(discoveredPeerJson),
|
|
464
472
|
imported,
|
|
473
|
+
...(discovery.discoveryEvidence
|
|
474
|
+
? { discoveryEvidence: discovery.discoveryEvidence }
|
|
475
|
+
: {}),
|
|
465
476
|
}, null, 2));
|
|
466
477
|
return;
|
|
467
478
|
}
|
|
468
479
|
console.log("Platform A2A peers");
|
|
480
|
+
printA2ADiscoveryEvidence(discovery.discoveryEvidence);
|
|
469
481
|
if (candidates.length === 0) {
|
|
470
482
|
console.log(chalk.dim(" No Platform agents expose A2A peer endpoints."));
|
|
471
483
|
return;
|
|
@@ -656,7 +668,7 @@ async function handleA2ARegister(parsed) {
|
|
|
656
668
|
console.log(chalk.dim(`Next heartbeat by: ${heartbeat.nextHeartbeatBy}`));
|
|
657
669
|
}
|
|
658
670
|
}
|
|
659
|
-
async function importDiscoveredA2APeers(parsed, candidates) {
|
|
671
|
+
async function importDiscoveredA2APeers(parsed, candidates, discoveryEvidence) {
|
|
660
672
|
const registryPath = stringFlag(parsed, "--registry");
|
|
661
673
|
const registry = await loadA2APeerRegistry({ path: registryPath });
|
|
662
674
|
const now = new Date().toISOString();
|
|
@@ -719,13 +731,14 @@ async function importDiscoveredA2APeers(parsed, candidates) {
|
|
|
719
731
|
}))
|
|
720
732
|
: previous?.skills,
|
|
721
733
|
metadata: compactA2APeerMetadata({
|
|
722
|
-
...previous?.metadata,
|
|
734
|
+
...a2APeerMetadataWithoutDiscoveryEvidence(previous?.metadata),
|
|
723
735
|
source: "platform-agent-registry",
|
|
724
736
|
platformAgentId: candidate.agent.id,
|
|
725
737
|
platformAgentType: candidate.agent.agentType,
|
|
726
738
|
platformAgentStatus: candidate.agent.status,
|
|
727
739
|
selectedEndpoint: candidate.endpointKind,
|
|
728
740
|
a2aPushNotifications: candidate.pushNotifications,
|
|
741
|
+
...a2ADiscoveryEvidenceMetadata(discoveryEvidence),
|
|
729
742
|
}),
|
|
730
743
|
createdAt: previous?.createdAt ?? now,
|
|
731
744
|
updatedAt: now,
|
|
@@ -929,8 +942,11 @@ async function handleA2ADelegate(parsed) {
|
|
|
929
942
|
? "Usage: maestro a2a delegate --discover --skill <skill-id> <text>"
|
|
930
943
|
: "Usage: maestro a2a delegate <peer> <text>");
|
|
931
944
|
}
|
|
932
|
-
const
|
|
945
|
+
const discoveredPeer = discover
|
|
933
946
|
? await resolveDiscoveredA2ADelegatePeer(parsed)
|
|
947
|
+
: undefined;
|
|
948
|
+
const peer = discoveredPeer
|
|
949
|
+
? discoveredPeer.peer
|
|
934
950
|
: await resolveA2APeer(peerName, {
|
|
935
951
|
path: stringFlag(parsed, "--registry"),
|
|
936
952
|
timeoutMs: numberFlag(parsed, "--timeout-ms"),
|
|
@@ -949,6 +965,7 @@ async function handleA2ADelegate(parsed) {
|
|
|
949
965
|
skillId,
|
|
950
966
|
skill,
|
|
951
967
|
discoverySource: discover ? "platform-agent-registry" : undefined,
|
|
968
|
+
discoverySelection: discoveredPeer?.discoverySelection,
|
|
952
969
|
});
|
|
953
970
|
const ledgerMetadata = buildA2ADelegationLedgerMetadata({
|
|
954
971
|
peerName: peer.name,
|
|
@@ -956,6 +973,7 @@ async function handleA2ADelegate(parsed) {
|
|
|
956
973
|
cwd,
|
|
957
974
|
skillId,
|
|
958
975
|
discoverySource: discover ? "platform-agent-registry" : undefined,
|
|
976
|
+
discoverySelection: discoveredPeer?.discoverySelection,
|
|
959
977
|
});
|
|
960
978
|
const sent = await sendA2AMessage(peer.config, {
|
|
961
979
|
message: buildA2AUserMessage({
|
|
@@ -1177,7 +1195,7 @@ async function resolveDiscoveredA2ADelegatePeer(parsed) {
|
|
|
1177
1195
|
if (!skillId) {
|
|
1178
1196
|
fail("Usage: maestro a2a delegate --discover --skill <skill-id> <text>");
|
|
1179
1197
|
}
|
|
1180
|
-
const
|
|
1198
|
+
const discovery = await listA2APeerCandidatesWithEvidenceWithPlatform({
|
|
1181
1199
|
workspaceId: stringFlag(parsed, "--workspace-id"),
|
|
1182
1200
|
capability: stringFlag(parsed, "--capability"),
|
|
1183
1201
|
surface: stringFlag(parsed, "--surface") ?? "a2a",
|
|
@@ -1187,9 +1205,10 @@ async function resolveDiscoveredA2ADelegatePeer(parsed) {
|
|
|
1187
1205
|
skillId,
|
|
1188
1206
|
preferInternalEndpoint: booleanFlag(parsed, "--prefer-internal"),
|
|
1189
1207
|
});
|
|
1190
|
-
if (!
|
|
1208
|
+
if (!discovery) {
|
|
1191
1209
|
fail("Agent Registry service is not configured. Set AGENT_REGISTRY_SERVICE_URL, AGENT_REGISTRY_SERVICE_TOKEN, AGENT_REGISTRY_ORGANIZATION_ID, and AGENT_REGISTRY_WORKSPACE_ID.");
|
|
1192
1210
|
}
|
|
1211
|
+
const candidates = discovery.candidates;
|
|
1193
1212
|
if (candidates.length === 0) {
|
|
1194
1213
|
fail(`No Platform A2A peers advertise skill ${skillId}.`);
|
|
1195
1214
|
}
|
|
@@ -1201,17 +1220,31 @@ async function resolveDiscoveredA2ADelegatePeer(parsed) {
|
|
|
1201
1220
|
if (!candidate || !selected) {
|
|
1202
1221
|
fail(`No Platform A2A peers advertise skill ${skillId}.`);
|
|
1203
1222
|
}
|
|
1204
|
-
const imported = await importDiscoveredA2APeers(parsed, [candidate]);
|
|
1223
|
+
const imported = await importDiscoveredA2APeers(parsed, [candidate], discovery.discoveryEvidence);
|
|
1205
1224
|
const importedPeer = imported[0];
|
|
1206
1225
|
if (!importedPeer) {
|
|
1207
1226
|
fail(`Could not import Platform A2A peer for skill ${skillId}.`);
|
|
1208
1227
|
}
|
|
1209
1228
|
console.log(chalk.dim(`Selected Platform A2A peer ${importedPeer.name} (${importedPeer.url}) for ${skillId}`));
|
|
1210
1229
|
console.log(chalk.dim(`Capability score: ${selected.score} (${selected.reasons.join(", ")})`));
|
|
1211
|
-
return
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1230
|
+
return {
|
|
1231
|
+
peer: await resolveA2APeer(importedPeer.name, {
|
|
1232
|
+
path: stringFlag(parsed, "--registry"),
|
|
1233
|
+
timeoutMs: numberFlag(parsed, "--timeout-ms"),
|
|
1234
|
+
}),
|
|
1235
|
+
discoverySelection: {
|
|
1236
|
+
source: "platform-agent-registry",
|
|
1237
|
+
evidence: discovery.discoveryEvidence,
|
|
1238
|
+
candidateCount: discovery.discoveryEvidence?.candidateCount ?? candidates.length,
|
|
1239
|
+
matchedCount: discovery.discoveryEvidence?.matchedCount ?? candidates.length,
|
|
1240
|
+
selectedAgentId: candidate.agent.id,
|
|
1241
|
+
selectedAgentName: candidate.agent.name,
|
|
1242
|
+
selectedEndpointUrl: candidate.endpointUrl,
|
|
1243
|
+
selectedEndpointKind: candidate.endpointKind,
|
|
1244
|
+
score: selected.score,
|
|
1245
|
+
reasons: selected.reasons,
|
|
1246
|
+
},
|
|
1247
|
+
};
|
|
1215
1248
|
}
|
|
1216
1249
|
function selectA2APeerSkill(skills, skillId) {
|
|
1217
1250
|
if (!skillId) {
|
|
@@ -1222,6 +1255,7 @@ function selectA2APeerSkill(skills, skillId) {
|
|
|
1222
1255
|
function buildA2ADelegationMetadata(input) {
|
|
1223
1256
|
const skill = input.skill;
|
|
1224
1257
|
const subagentRequestMetadataPath = a2ASkillRequestMetadataPath(skill);
|
|
1258
|
+
const discoverySelection = a2ADiscoverySelectionPayload(input.discoverySelection);
|
|
1225
1259
|
const subagentRequest = input.skillId
|
|
1226
1260
|
? {
|
|
1227
1261
|
skillId: input.skillId,
|
|
@@ -1261,6 +1295,9 @@ function buildA2ADelegationMetadata(input) {
|
|
|
1261
1295
|
? { discoverySource: input.discoverySource }
|
|
1262
1296
|
: {}),
|
|
1263
1297
|
...(input.skillId ? { a2aSkillId: input.skillId } : {}),
|
|
1298
|
+
...(discoverySelection
|
|
1299
|
+
? { "evalops.a2aDiscovery": discoverySelection }
|
|
1300
|
+
: {}),
|
|
1264
1301
|
...(subagentRequest
|
|
1265
1302
|
? { [subagentRequestMetadataPath]: subagentRequest }
|
|
1266
1303
|
: {}),
|
|
@@ -1289,6 +1326,16 @@ function buildA2ADelegationLedgerMetadata(input) {
|
|
|
1289
1326
|
delegationCwd: input.cwd,
|
|
1290
1327
|
discoverySource: input.discoverySource,
|
|
1291
1328
|
a2aSkillId: input.skillId,
|
|
1329
|
+
...(input.discoverySelection
|
|
1330
|
+
? {
|
|
1331
|
+
platformDiscoveryDecision: input.discoverySelection.evidence?.decision,
|
|
1332
|
+
platformDiscoveryCandidateCount: input.discoverySelection.candidateCount,
|
|
1333
|
+
platformDiscoveryMatchedCount: input.discoverySelection.matchedCount,
|
|
1334
|
+
platformDiscoverySelectedAgentId: input.discoverySelection.selectedAgentId,
|
|
1335
|
+
platformDiscoverySelectedEndpoint: input.discoverySelection.selectedEndpointKind,
|
|
1336
|
+
a2aCapabilityScore: input.discoverySelection.score,
|
|
1337
|
+
}
|
|
1338
|
+
: {}),
|
|
1292
1339
|
});
|
|
1293
1340
|
}
|
|
1294
1341
|
async function handleA2AReply(parsed) {
|
|
@@ -1492,6 +1539,81 @@ async function loadA2AReplyLedgerEntry(parsed, peerName, taskId) {
|
|
|
1492
1539
|
return undefined;
|
|
1493
1540
|
}
|
|
1494
1541
|
}
|
|
1542
|
+
async function handleA2ATelemetry(parsed) {
|
|
1543
|
+
const eventsPath = stringFlag(parsed, "--events") ??
|
|
1544
|
+
fail("Usage: maestro a2a telemetry --events <path> --swarm-id <id>");
|
|
1545
|
+
const swarmId = stringFlag(parsed, "--swarm-id") ??
|
|
1546
|
+
parsed.positionals.shift() ??
|
|
1547
|
+
fail("Usage: maestro a2a telemetry --events <path> --swarm-id <id>");
|
|
1548
|
+
const events = await loadA2ATelemetryEvents(eventsPath);
|
|
1549
|
+
const inspection = inspectA2ATelemetry({ swarmId, events });
|
|
1550
|
+
if (booleanFlag(parsed, "--json")) {
|
|
1551
|
+
console.log(JSON.stringify(inspection, null, 2));
|
|
1552
|
+
return;
|
|
1553
|
+
}
|
|
1554
|
+
console.log(`A2A telemetry ${chalk.bold(swarmId)} ${inspection.complete ? "complete" : "incomplete"}`);
|
|
1555
|
+
console.log(chalk.dim(` events=${inspection.counts.events} lanes=${inspection.counts.lanes} completed=${inspection.counts.completedLanes} failed=${inspection.counts.failedLanes} missing=${inspection.counts.missingTelemetryLanes}`));
|
|
1556
|
+
if (inspection.counts.orderingAnomalyLanes > 0) {
|
|
1557
|
+
console.log(chalk.yellow(` ordering_anomalies=${inspection.counts.orderingAnomalyLanes}`));
|
|
1558
|
+
}
|
|
1559
|
+
for (const lane of inspection.lanes) {
|
|
1560
|
+
console.log(`${lane.laneId} ${lane.status ?? "(unknown)"} ${lane.peer ? chalk.dim(lane.peer) : ""}`.trim());
|
|
1561
|
+
const details = [
|
|
1562
|
+
lane.parentTaskId ? `parent=${lane.parentTaskId}` : undefined,
|
|
1563
|
+
lane.a2aTaskId ? `task=${lane.a2aTaskId}` : undefined,
|
|
1564
|
+
lane.a2aMessageId ? `message=${lane.a2aMessageId}` : undefined,
|
|
1565
|
+
lane.contextId ? `context=${lane.contextId}` : undefined,
|
|
1566
|
+
lane.source ? `source=${lane.source}` : undefined,
|
|
1567
|
+
]
|
|
1568
|
+
.filter(Boolean)
|
|
1569
|
+
.join(" ");
|
|
1570
|
+
if (details) {
|
|
1571
|
+
console.log(chalk.dim(` ${details}`));
|
|
1572
|
+
}
|
|
1573
|
+
const timing = [
|
|
1574
|
+
lane.timing.selectionToDispatchMs !== undefined
|
|
1575
|
+
? `selected_to_dispatch=${lane.timing.selectionToDispatchMs}ms`
|
|
1576
|
+
: undefined,
|
|
1577
|
+
lane.timing.observedDurationMs !== undefined
|
|
1578
|
+
? `observed_duration=${lane.timing.observedDurationMs}ms`
|
|
1579
|
+
: undefined,
|
|
1580
|
+
lane.timing.reportedDurationMs !== undefined
|
|
1581
|
+
? `reported_duration=${lane.timing.reportedDurationMs}ms`
|
|
1582
|
+
: undefined,
|
|
1583
|
+
]
|
|
1584
|
+
.filter(Boolean)
|
|
1585
|
+
.join(" ");
|
|
1586
|
+
if (timing) {
|
|
1587
|
+
console.log(chalk.dim(` ${timing}`));
|
|
1588
|
+
}
|
|
1589
|
+
if (lane.missingEventTypes.length > 0) {
|
|
1590
|
+
console.log(chalk.yellow(` missing: ${lane.missingEventTypes.join(", ")}`));
|
|
1591
|
+
}
|
|
1592
|
+
if (lane.orderingAnomalies.length > 0) {
|
|
1593
|
+
console.log(chalk.yellow(` anomalies: ${lane.orderingAnomalies.join(", ")}`));
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
async function loadA2ATelemetryEvents(path) {
|
|
1598
|
+
const parsed = JSON.parse(await readFile(path, "utf8"));
|
|
1599
|
+
const events = Array.isArray(parsed)
|
|
1600
|
+
? parsed
|
|
1601
|
+
: isRecord(parsed) && Array.isArray(parsed.events)
|
|
1602
|
+
? parsed.events
|
|
1603
|
+
: undefined;
|
|
1604
|
+
if (!events) {
|
|
1605
|
+
throw new Error("A2A telemetry events file must be an array or { events }");
|
|
1606
|
+
}
|
|
1607
|
+
return events.filter(isA2ATelemetryCloudEventLike);
|
|
1608
|
+
}
|
|
1609
|
+
function isA2ATelemetryCloudEventLike(value) {
|
|
1610
|
+
return (isRecord(value) &&
|
|
1611
|
+
typeof value.type === "string" &&
|
|
1612
|
+
(value.data === undefined || isRecord(value.data)));
|
|
1613
|
+
}
|
|
1614
|
+
function isRecord(value) {
|
|
1615
|
+
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
1616
|
+
}
|
|
1495
1617
|
async function handleA2ATasks(parsed) {
|
|
1496
1618
|
const peerName = parsed.positionals.shift();
|
|
1497
1619
|
if (booleanFlag(parsed, "--refresh")) {
|
|
@@ -1646,6 +1768,42 @@ function printWorkGraphLines(workGraph, includeDetails) {
|
|
|
1646
1768
|
console.log(chalk.dim(` Correlation: ${workGraph.correlationPath}`));
|
|
1647
1769
|
}
|
|
1648
1770
|
}
|
|
1771
|
+
function printA2ADiscoveryEvidence(evidence) {
|
|
1772
|
+
if (!evidence) {
|
|
1773
|
+
return;
|
|
1774
|
+
}
|
|
1775
|
+
const summary = [
|
|
1776
|
+
evidence.decision ? `decision=${evidence.decision}` : undefined,
|
|
1777
|
+
evidence.reason ? `reason=${evidence.reason}` : undefined,
|
|
1778
|
+
evidence.matchedCount !== undefined
|
|
1779
|
+
? `matched=${evidence.matchedCount}`
|
|
1780
|
+
: undefined,
|
|
1781
|
+
evidence.candidateCount !== undefined
|
|
1782
|
+
? `candidates=${evidence.candidateCount}`
|
|
1783
|
+
: undefined,
|
|
1784
|
+
evidence.a2aSkillId ? `skill=${evidence.a2aSkillId}` : undefined,
|
|
1785
|
+
evidence.capability ? `capability=${evidence.capability}` : undefined,
|
|
1786
|
+
]
|
|
1787
|
+
.filter(Boolean)
|
|
1788
|
+
.join(" ");
|
|
1789
|
+
if (summary) {
|
|
1790
|
+
console.log(chalk.dim(` discovery ${summary}`));
|
|
1791
|
+
}
|
|
1792
|
+
if (evidence.exclusions?.length) {
|
|
1793
|
+
const exclusions = evidence.exclusions
|
|
1794
|
+
.map((exclusion) => [
|
|
1795
|
+
exclusion.reason,
|
|
1796
|
+
exclusion.count !== undefined ? `count=${exclusion.count}` : "",
|
|
1797
|
+
]
|
|
1798
|
+
.filter(Boolean)
|
|
1799
|
+
.join(":"))
|
|
1800
|
+
.filter(Boolean)
|
|
1801
|
+
.join(", ");
|
|
1802
|
+
if (exclusions) {
|
|
1803
|
+
console.log(chalk.dim(` exclusions ${exclusions}`));
|
|
1804
|
+
}
|
|
1805
|
+
}
|
|
1806
|
+
}
|
|
1649
1807
|
export const isA2AWaitCompletionState = isTerminalA2AState;
|
|
1650
1808
|
function discoveredPeerJson(candidate) {
|
|
1651
1809
|
return {
|
|
@@ -1701,6 +1859,59 @@ function suffixedPeerName(baseName, suffix) {
|
|
|
1701
1859
|
const suffixText = `-${suffix}`;
|
|
1702
1860
|
return normalizePeerName(`${baseName.slice(0, 80 - suffixText.length)}${suffixText}`);
|
|
1703
1861
|
}
|
|
1862
|
+
function a2ADiscoveryEvidenceMetadata(evidence) {
|
|
1863
|
+
if (!evidence) {
|
|
1864
|
+
return {};
|
|
1865
|
+
}
|
|
1866
|
+
return (compactA2APeerMetadata({
|
|
1867
|
+
platformDiscoverySchema: evidence.schema,
|
|
1868
|
+
platformDiscoveryDecision: evidence.decision,
|
|
1869
|
+
platformDiscoveryReason: evidence.reason,
|
|
1870
|
+
platformDiscoveryWorkspaceId: evidence.workspaceId,
|
|
1871
|
+
platformDiscoveryCapability: evidence.capability,
|
|
1872
|
+
platformDiscoveryAgentType: evidence.agentType,
|
|
1873
|
+
platformDiscoveryA2ASkillId: evidence.a2aSkillId,
|
|
1874
|
+
platformDiscoveryTaskClass: evidence.taskClass,
|
|
1875
|
+
platformDiscoveryRequireA2ADispatch: evidence.requireA2ADispatch,
|
|
1876
|
+
platformDiscoverySurface: evidence.surface,
|
|
1877
|
+
platformDiscoveryStatus: evidence.status,
|
|
1878
|
+
platformDiscoveryCandidateCount: evidence.candidateCount,
|
|
1879
|
+
platformDiscoveryMatchedCount: evidence.matchedCount,
|
|
1880
|
+
}) ?? {});
|
|
1881
|
+
}
|
|
1882
|
+
function a2APeerMetadataWithoutDiscoveryEvidence(metadata) {
|
|
1883
|
+
if (!metadata) {
|
|
1884
|
+
return undefined;
|
|
1885
|
+
}
|
|
1886
|
+
const entries = Object.entries(metadata).filter(([key]) => !key.startsWith("platformDiscovery"));
|
|
1887
|
+
return entries.length > 0 ? Object.fromEntries(entries) : undefined;
|
|
1888
|
+
}
|
|
1889
|
+
function a2ADiscoverySelectionPayload(selection) {
|
|
1890
|
+
if (!selection) {
|
|
1891
|
+
return undefined;
|
|
1892
|
+
}
|
|
1893
|
+
return compactA2AUnknownRecord({
|
|
1894
|
+
source: selection.source,
|
|
1895
|
+
...a2ADiscoveryEvidenceMetadata(selection.evidence),
|
|
1896
|
+
selectedAgentId: selection.selectedAgentId,
|
|
1897
|
+
selectedAgentName: selection.selectedAgentName,
|
|
1898
|
+
selectedEndpointUrl: selection.selectedEndpointUrl,
|
|
1899
|
+
selectedEndpointKind: selection.selectedEndpointKind,
|
|
1900
|
+
score: selection.score,
|
|
1901
|
+
reasons: selection.reasons,
|
|
1902
|
+
candidateCount: selection.candidateCount,
|
|
1903
|
+
matchedCount: selection.matchedCount,
|
|
1904
|
+
});
|
|
1905
|
+
}
|
|
1906
|
+
function compactA2AUnknownRecord(record) {
|
|
1907
|
+
const entries = Object.entries(record).filter(([, value]) => {
|
|
1908
|
+
if (value === undefined) {
|
|
1909
|
+
return false;
|
|
1910
|
+
}
|
|
1911
|
+
return !Array.isArray(value) || value.length > 0;
|
|
1912
|
+
});
|
|
1913
|
+
return entries.length > 0 ? Object.fromEntries(entries) : undefined;
|
|
1914
|
+
}
|
|
1704
1915
|
function compactA2APeerMetadata(record) {
|
|
1705
1916
|
const entries = Object.entries(record).filter((entry) => entry[1] !== undefined);
|
|
1706
1917
|
return entries.length > 0 ? Object.fromEntries(entries) : undefined;
|
|
@@ -1836,6 +2047,7 @@ function printA2AHelp() {
|
|
|
1836
2047
|
maestro a2a delegate --platform --from-agent-id <agent-id> [--to-agent-id <agent-id>|--capability <capability>] --skill <skill-id> <text> [--json]
|
|
1837
2048
|
maestro a2a control <delegation-id> --mode steer|followup|collect|interrupt|cancel [--workspace-id <id>] [message]
|
|
1838
2049
|
maestro a2a graph <delegation-id> [--workspace-id <id>] [--json]
|
|
2050
|
+
maestro a2a telemetry --events <path> --swarm-id <id> [--json]
|
|
1839
2051
|
maestro a2a reply <peer> <task-id> <text> [--wait] [--work-graph]
|
|
1840
2052
|
maestro a2a send <peer> <text> [--wait] [--tasks <path>] [--work-graph]
|
|
1841
2053
|
maestro a2a tasks [peer] [--json] [--refresh] [--work-graph]
|