@evalops/maestro 0.10.50 → 0.10.51
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/dist/agent/agent-outcome.d.ts +54 -0
- package/dist/agent/agent-outcome.d.ts.map +1 -0
- package/dist/agent/agent-outcome.js +142 -0
- package/dist/agent/agent-outcome.js.map +1 -0
- package/dist/agent/agent-resume.d.ts.map +1 -1
- package/dist/agent/agent-resume.js +3 -3
- package/dist/agent/agent-resume.js.map +1 -1
- package/dist/agent/agent-run-summary.d.ts +37 -0
- package/dist/agent/agent-run-summary.d.ts.map +1 -0
- package/dist/agent/agent-run-summary.js +15 -0
- package/dist/agent/agent-run-summary.js.map +1 -0
- package/dist/agent/agent-work-board.d.ts +82 -0
- package/dist/agent/agent-work-board.d.ts.map +1 -0
- package/dist/agent/agent-work-board.js +312 -0
- package/dist/agent/agent-work-board.js.map +1 -0
- package/dist/agent/auto-compaction.d.ts +7 -2
- package/dist/agent/auto-compaction.d.ts.map +1 -1
- package/dist/agent/auto-compaction.js +23 -10
- package/dist/agent/auto-compaction.js.map +1 -1
- package/dist/agent/mission-artifacts.d.ts +62 -0
- package/dist/agent/mission-artifacts.d.ts.map +1 -0
- package/dist/agent/mission-artifacts.js +438 -0
- package/dist/agent/mission-artifacts.js.map +1 -0
- package/dist/agent/mission-manifest.d.ts +139 -3
- package/dist/agent/mission-manifest.d.ts.map +1 -1
- package/dist/agent/mission-manifest.js +549 -3
- package/dist/agent/mission-manifest.js.map +1 -1
- package/dist/agent/mission-store.d.ts +80 -0
- package/dist/agent/mission-store.d.ts.map +1 -0
- package/dist/agent/mission-store.js +603 -0
- package/dist/agent/mission-store.js.map +1 -0
- package/dist/agent/modes.d.ts +2 -2
- package/dist/agent/modes.d.ts.map +1 -1
- package/dist/agent/modes.js +10 -3
- package/dist/agent/modes.js.map +1 -1
- package/dist/agent/providers/codex-app-server.d.ts.map +1 -1
- package/dist/agent/providers/codex-app-server.js +1 -3
- package/dist/agent/providers/codex-app-server.js.map +1 -1
- package/dist/agent/providers/google-gemini-cli.js +203 -107
- package/dist/agent/providers/google.js +100 -41
- package/dist/agent/providers/scripted.d.ts.map +1 -1
- package/dist/agent/providers/scripted.js +1 -3
- package/dist/agent/providers/scripted.js.map +1 -1
- package/dist/agent/providers/validation.d.ts.map +1 -1
- package/dist/agent/providers/validation.js +1 -3
- package/dist/agent/providers/validation.js.map +1 -1
- package/dist/agent/providers/vertex.js +203 -107
- package/dist/agent/snapshot-store.d.ts +32 -0
- package/dist/agent/snapshot-store.d.ts.map +1 -0
- package/dist/agent/snapshot-store.js +195 -0
- package/dist/agent/snapshot-store.js.map +1 -0
- package/dist/agent/specialist-profiles.d.ts +36 -0
- package/dist/agent/specialist-profiles.d.ts.map +1 -0
- package/dist/agent/specialist-profiles.js +159 -0
- package/dist/agent/specialist-profiles.js.map +1 -0
- package/dist/agent/subagent-specs.d.ts +4 -1
- package/dist/agent/subagent-specs.d.ts.map +1 -1
- package/dist/agent/subagent-specs.js +81 -8
- package/dist/agent/subagent-specs.js.map +1 -1
- package/dist/agent/swarm/coverage-gate.d.ts +37 -0
- package/dist/agent/swarm/coverage-gate.d.ts.map +1 -0
- package/dist/agent/swarm/coverage-gate.js +48 -0
- package/dist/agent/swarm/coverage-gate.js.map +1 -0
- package/dist/agent/swarm/executor.d.ts +1 -0
- package/dist/agent/swarm/executor.d.ts.map +1 -1
- package/dist/agent/swarm/executor.js +151 -15
- package/dist/agent/swarm/executor.js.map +1 -1
- package/dist/agent/swarm/orchestrator-prompt.d.ts +25 -0
- package/dist/agent/swarm/orchestrator-prompt.d.ts.map +1 -0
- package/dist/agent/swarm/orchestrator-prompt.js +48 -0
- package/dist/agent/swarm/orchestrator-prompt.js.map +1 -0
- package/dist/agent/swarm/plan-parser.d.ts.map +1 -1
- package/dist/agent/swarm/plan-parser.js +27 -2
- package/dist/agent/swarm/plan-parser.js.map +1 -1
- package/dist/agent/swarm/types.d.ts +17 -0
- package/dist/agent/swarm/types.d.ts.map +1 -1
- package/dist/agent/swarm/types.js.map +1 -1
- package/dist/agent/swarm/validation-directive.d.ts +21 -0
- package/dist/agent/swarm/validation-directive.d.ts.map +1 -0
- package/dist/agent/swarm/validation-directive.js +25 -0
- package/dist/agent/swarm/validation-directive.js.map +1 -0
- package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
- package/dist/agent/transport/tool-execution-bridge.js +4 -1
- package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
- package/dist/api/enterprise-routes.d.ts.map +1 -1
- package/dist/api/enterprise-routes.js +87 -10
- package/dist/api/enterprise-routes.js.map +1 -1
- package/dist/api/org-settings-merge.d.ts +12 -0
- package/dist/api/org-settings-merge.d.ts.map +1 -0
- package/dist/api/org-settings-merge.js +38 -0
- package/dist/api/org-settings-merge.js.map +1 -0
- package/dist/api/user-settings-merge.d.ts +16 -0
- package/dist/api/user-settings-merge.d.ts.map +1 -0
- package/dist/api/user-settings-merge.js +37 -0
- package/dist/api/user-settings-merge.js.map +1 -0
- package/dist/app-server/daemon-lifecycle-api.d.ts.map +1 -1
- package/dist/app-server/daemon-lifecycle-api.js +1 -3
- package/dist/app-server/daemon-lifecycle-api.js.map +1 -1
- package/dist/app-server/external-agent-import-api.d.ts.map +1 -1
- package/dist/app-server/external-agent-import-api.js +1 -3
- package/dist/app-server/external-agent-import-api.js.map +1 -1
- package/dist/app-server/network-governance-api.d.ts.map +1 -1
- package/dist/app-server/network-governance-api.js +1 -3
- package/dist/app-server/network-governance-api.js.map +1 -1
- package/dist/app-server/plugin-bundle-api.d.ts.map +1 -1
- package/dist/app-server/plugin-bundle-api.js +1 -3
- package/dist/app-server/plugin-bundle-api.js.map +1 -1
- package/dist/app-server/policy-control-api.d.ts.map +1 -1
- package/dist/app-server/policy-control-api.js +1 -3
- package/dist/app-server/policy-control-api.js.map +1 -1
- package/dist/app-server/protocol-modes-api.d.ts.map +1 -1
- package/dist/app-server/protocol-modes-api.js +1 -3
- package/dist/app-server/protocol-modes-api.js.map +1 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +15 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/a2a.d.ts.map +1 -1
- package/dist/cli/commands/a2a.js +1 -3
- package/dist/cli/commands/a2a.js.map +1 -1
- package/dist/cli/commands/agents.d.ts +4 -0
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +149 -0
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/mission.d.ts +4 -0
- package/dist/cli/commands/mission.d.ts.map +1 -0
- package/dist/cli/commands/mission.js +196 -0
- package/dist/cli/commands/mission.js.map +1 -0
- package/dist/cli/commands/value.d.ts +10 -0
- package/dist/cli/commands/value.d.ts.map +1 -0
- package/dist/cli/commands/value.js +33 -0
- package/dist/cli/commands/value.js.map +1 -0
- package/dist/cli/headless-protocol.d.ts.map +1 -1
- package/dist/cli/headless-protocol.js +1 -3
- package/dist/cli/headless-protocol.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +10 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/system-prompt.d.ts.map +1 -1
- package/dist/cli/system-prompt.js +38 -7
- package/dist/cli/system-prompt.js.map +1 -1
- package/dist/cli-runtime.js +7756 -2800
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +1 -1
- package/dist/cli-tui/client-tools/client-tool-controller.js +1 -3
- package/dist/cli-tui/client-tools/client-tool-controller.js.map +1 -1
- package/dist/cli-tui/commands/undo-handlers.d.ts.map +1 -1
- package/dist/cli-tui/commands/undo-handlers.js +7 -2
- package/dist/cli-tui/commands/undo-handlers.js.map +1 -1
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts +3 -0
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/skills-controller.js +77 -33
- package/dist/cli-tui/tui-renderer/skills-controller.js.map +1 -1
- package/dist/codex/app-server-client.d.ts.map +1 -1
- package/dist/codex/app-server-client.js +1 -3
- package/dist/codex/app-server-client.js.map +1 -1
- package/dist/codex/compatibility.d.ts.map +1 -1
- package/dist/codex/compatibility.js +1 -3
- package/dist/codex/compatibility.js.map +1 -1
- package/dist/codex/subagent-dispatch-table.d.ts +8 -0
- package/dist/codex/subagent-dispatch-table.d.ts.map +1 -1
- package/dist/codex/subagent-dispatch-table.js +23 -0
- package/dist/codex/subagent-dispatch-table.js.map +1 -1
- package/dist/context/manifest.d.ts.map +1 -1
- package/dist/context/manifest.js +1 -3
- package/dist/context/manifest.js.map +1 -1
- package/dist/conversation/render-model.d.ts +0 -36
- package/dist/conversation/render-model.d.ts.map +1 -1
- package/dist/conversation/render-model.js +1 -3
- package/dist/conversation/render-model.js.map +1 -1
- package/dist/customer-value/ambient-learning.d.ts +75 -0
- package/dist/customer-value/ambient-learning.d.ts.map +1 -0
- package/dist/customer-value/ambient-learning.js +472 -0
- package/dist/customer-value/ambient-learning.js.map +1 -0
- package/dist/customer-value/internal-helpers.d.ts +13 -0
- package/dist/customer-value/internal-helpers.d.ts.map +1 -0
- package/dist/customer-value/internal-helpers.js +70 -0
- package/dist/customer-value/internal-helpers.js.map +1 -0
- package/dist/customer-value/report.d.ts +282 -0
- package/dist/customer-value/report.d.ts.map +1 -0
- package/dist/customer-value/report.js +2085 -0
- package/dist/customer-value/report.js.map +1 -0
- package/dist/db/schema.d.ts +5 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/evalops/agent-bootstrap.d.ts.map +1 -1
- package/dist/evalops/agent-bootstrap.js +1 -3
- package/dist/evalops/agent-bootstrap.js.map +1 -1
- package/dist/evalops/agent-mcp-metadata.d.ts.map +1 -1
- package/dist/evalops/agent-mcp-metadata.js +1 -3
- package/dist/evalops/agent-mcp-metadata.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/installers/maestro-review-workflow.d.ts +38 -0
- package/dist/installers/maestro-review-workflow.d.ts.map +1 -0
- package/dist/installers/maestro-review-workflow.js +163 -0
- package/dist/installers/maestro-review-workflow.js.map +1 -0
- package/dist/load-env.d.ts.map +1 -1
- package/dist/load-env.js +2 -1
- package/dist/load-env.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +92 -3
- package/dist/main.js.map +1 -1
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +1 -3
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/elicitation.d.ts.map +1 -1
- package/dist/mcp/elicitation.js +1 -3
- package/dist/mcp/elicitation.js.map +1 -1
- package/dist/mcp/official-registry.d.ts.map +1 -1
- package/dist/mcp/official-registry.js +1 -3
- package/dist/mcp/official-registry.js.map +1 -1
- package/dist/mcp/workspace-trust.d.ts.map +1 -1
- package/dist/mcp/workspace-trust.js +1 -3
- package/dist/mcp/workspace-trust.js.map +1 -1
- package/dist/memory/service-client.d.ts.map +1 -1
- package/dist/memory/service-client.js +1 -3
- package/dist/memory/service-client.js.map +1 -1
- package/dist/models/config-loader.d.ts.map +1 -1
- package/dist/models/config-loader.js +1 -3
- package/dist/models/config-loader.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts +1 -0
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.js +1 -0
- package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts +61 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts.map +1 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js +183 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js.map +1 -0
- 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.map +1 -1
- package/dist/oauth/connectors.js +1 -3
- package/dist/oauth/connectors.js.map +1 -1
- package/dist/oauth/evalops.d.ts.map +1 -1
- package/dist/oauth/evalops.js +1 -3
- package/dist/oauth/evalops.js.map +1 -1
- package/dist/platform/a2a-client.d.ts.map +1 -1
- package/dist/platform/a2a-client.js +1 -3
- package/dist/platform/a2a-client.js.map +1 -1
- package/dist/platform/a2a-cockpit.d.ts +1 -0
- package/dist/platform/a2a-cockpit.d.ts.map +1 -1
- package/dist/platform/a2a-cockpit.js +42 -11
- package/dist/platform/a2a-cockpit.js.map +1 -1
- package/dist/platform/a2a-completion-audit.d.ts +1 -1
- package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
- package/dist/platform/a2a-completion-audit.js +7 -11
- package/dist/platform/a2a-completion-audit.js.map +1 -1
- package/dist/platform/a2a-maestro-peer.js +16 -0
- package/dist/platform/a2a-maestro-peer.js.map +1 -1
- package/dist/platform/a2a-peer-pairing.d.ts.map +1 -1
- package/dist/platform/a2a-peer-pairing.js +1 -3
- package/dist/platform/a2a-peer-pairing.js.map +1 -1
- package/dist/platform/a2a-peer-registry.d.ts.map +1 -1
- package/dist/platform/a2a-peer-registry.js +1 -3
- package/dist/platform/a2a-peer-registry.js.map +1 -1
- package/dist/platform/a2a-task-ledger.d.ts +20 -0
- package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
- package/dist/platform/a2a-task-ledger.js +207 -11
- package/dist/platform/a2a-task-ledger.js.map +1 -1
- package/dist/platform/a2a-work-graph.d.ts.map +1 -1
- package/dist/platform/a2a-work-graph.js +1 -3
- package/dist/platform/a2a-work-graph.js.map +1 -1
- package/dist/platform/operating-layer.d.ts.map +1 -1
- package/dist/platform/operating-layer.js +14 -8
- package/dist/platform/operating-layer.js.map +1 -1
- package/dist/platform/tool-execution-client.d.ts.map +1 -1
- package/dist/platform/tool-execution-client.js +19 -2
- package/dist/platform/tool-execution-client.js.map +1 -1
- package/dist/providers/auth.d.ts.map +1 -1
- package/dist/providers/auth.js +1 -3
- package/dist/providers/auth.js.map +1 -1
- package/dist/runtime/env.d.ts +9 -1
- package/dist/runtime/env.d.ts.map +1 -1
- package/dist/runtime/env.js +63 -1
- package/dist/runtime/env.js.map +1 -1
- package/dist/safety/policy.d.ts.map +1 -1
- package/dist/safety/policy.js +1 -4
- package/dist/safety/policy.js.map +1 -1
- package/dist/sandbox/docker-sandbox.d.ts.map +1 -1
- package/dist/sandbox/docker-sandbox.js +6 -1
- package/dist/sandbox/docker-sandbox.js.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.js +1 -3
- package/dist/server/handlers/hosted-runner-drain.js.map +1 -1
- package/dist/server/handlers/platform-a2a-push.d.ts.map +1 -1
- package/dist/server/handlers/platform-a2a-push.js +53 -2
- package/dist/server/handlers/platform-a2a-push.js.map +1 -1
- package/dist/server/handlers/runtime-app-server-ws.d.ts.map +1 -1
- package/dist/server/handlers/runtime-app-server-ws.js +1 -3
- package/dist/server/handlers/runtime-app-server-ws.js.map +1 -1
- package/dist/server/headless-runtime-service.d.ts +16 -0
- package/dist/server/headless-runtime-service.d.ts.map +1 -1
- package/dist/server/headless-runtime-service.js +232 -206
- package/dist/server/headless-runtime-service.js.map +1 -1
- package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
- package/dist/server/hosted-agent-runtime-progress.js +12 -3
- package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
- package/dist/server/pending-request-payload.d.ts.map +1 -1
- package/dist/server/pending-request-payload.js +1 -3
- package/dist/server/pending-request-payload.js.map +1 -1
- package/dist/server/route-auth.d.ts.map +1 -1
- package/dist/server/route-auth.js +2 -0
- package/dist/server/route-auth.js.map +1 -1
- package/dist/server/session-serialization.d.ts.map +1 -1
- package/dist/server/session-serialization.js +1 -3
- package/dist/server/session-serialization.js.map +1 -1
- package/dist/services/compliance/normalize.d.ts.map +1 -1
- package/dist/services/compliance/normalize.js +1 -3
- package/dist/services/compliance/normalize.js.map +1 -1
- package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
- package/dist/services/intelligent-router/normalize.js +1 -3
- package/dist/services/intelligent-router/normalize.js.map +1 -1
- package/dist/services/revenue-attribution/normalize.d.ts.map +1 -1
- package/dist/services/revenue-attribution/normalize.js +1 -3
- package/dist/services/revenue-attribution/normalize.js.map +1 -1
- package/dist/services/traces/normalize.d.ts.map +1 -1
- package/dist/services/traces/normalize.js +1 -3
- package/dist/services/traces/normalize.js.map +1 -1
- package/dist/services/workspace-config/normalize.d.ts.map +1 -1
- package/dist/services/workspace-config/normalize.js +1 -3
- package/dist/services/workspace-config/normalize.js.map +1 -1
- package/dist/skills/composer.d.ts.map +1 -1
- package/dist/skills/composer.js +13 -1
- package/dist/skills/composer.js.map +1 -1
- package/dist/skills/index.d.ts +1 -0
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -0
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/learned-guidelines.d.ts +33 -0
- package/dist/skills/learned-guidelines.d.ts.map +1 -0
- package/dist/skills/learned-guidelines.js +291 -0
- package/dist/skills/learned-guidelines.js.map +1 -0
- package/dist/skills/linter.d.ts.map +1 -1
- package/dist/skills/linter.js +1 -3
- package/dist/skills/linter.js.map +1 -1
- package/dist/skills/runtime-activation.d.ts +1 -0
- package/dist/skills/runtime-activation.d.ts.map +1 -1
- package/dist/skills/runtime-activation.js +2 -3
- package/dist/skills/runtime-activation.js.map +1 -1
- package/dist/skills/tool.d.ts.map +1 -1
- package/dist/skills/tool.js +26 -21
- package/dist/skills/tool.js.map +1 -1
- package/dist/skills/trust-cache.d.ts +7 -0
- package/dist/skills/trust-cache.d.ts.map +1 -1
- package/dist/skills/trust-cache.js +16 -0
- package/dist/skills/trust-cache.js.map +1 -1
- package/dist/telemetry/agent-workforce-native-event.d.ts.map +1 -1
- package/dist/telemetry/agent-workforce-native-event.js +1 -3
- package/dist/telemetry/agent-workforce-native-event.js.map +1 -1
- package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
- package/dist/telemetry/maestro-event-bus.js +42 -81
- package/dist/telemetry/maestro-event-bus.js.map +1 -1
- package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -1
- package/dist/telemetry/maestro-platform-replay-fixture.js +1 -3
- package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +54 -43
- package/dist/telemetry.js.map +1 -1
- package/dist/theme/theme-loader.d.ts.map +1 -1
- package/dist/theme/theme-loader.js +1 -3
- package/dist/theme/theme-loader.js.map +1 -1
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +76 -8
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/diff-preview.d.ts.map +1 -1
- package/dist/tools/diff-preview.js +10 -1
- package/dist/tools/diff-preview.js.map +1 -1
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +17 -0
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +9 -0
- package/dist/tools/write.js.map +1 -1
- package/dist/undo/tracker.d.ts +5 -0
- package/dist/undo/tracker.d.ts.map +1 -1
- package/dist/undo/tracker.js +13 -0
- package/dist/undo/tracker.js.map +1 -1
- package/dist/utils/fs.d.ts +1 -1
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +29 -2
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/git-stash.d.ts.map +1 -1
- package/dist/utils/git-stash.js +15 -8
- package/dist/utils/git-stash.js.map +1 -1
- package/dist/utils/json.d.ts +11 -0
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js +9 -0
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/shell-env.d.ts.map +1 -1
- package/dist/utils/shell-env.js +2 -0
- package/dist/utils/shell-env.js.map +1 -1
- package/dist/utils/url-extractor-git.d.ts +26 -0
- package/dist/utils/url-extractor-git.d.ts.map +1 -0
- package/dist/utils/url-extractor-git.js +259 -0
- package/dist/utils/url-extractor-git.js.map +1 -0
- package/dist/utils/url-extractor.d.ts.map +1 -1
- package/dist/utils/url-extractor.js +23 -251
- package/dist/utils/url-extractor.js.map +1 -1
- package/dist/version.json +2 -2
- package/package.json +310 -306
- package/skills/incident-triage/SKILL.md +19 -1
- package/skills/install-code-review/SKILL.md +69 -0
- package/skills/security-review/SKILL.md +68 -0
- package/skills/security-review/reference/rubric.md +85 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/cli/commands/a2a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAIN,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,cAAc,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACN,6BAA6B,EAC7B,6BAA6B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACN,2BAA2B,EAC3B,wCAAwC,EACxC,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEN,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,+BAA+B,GAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAEN,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEN,mBAAmB,GACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACN,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACN,yCAAyC,EAIzC,wBAAwB,EACxB,oCAAoC,EACpC,yBAAyB,EACzB,iCAAiC,EACjC,0BAA0B,EAC1B,yBAAyB,EACzB,6CAA6C,EAC7C,yBAAyB,EACzB,uBAAuB,GACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAEN,WAAW,EACX,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,cAAc,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAEN,4BAA4B,EAC5B,4BAA4B,EAC5B,uCAAuC,EACvC,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IACtE,QAAQ,UAAU,EAAE,CAAC;QACpB,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACZ,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO;QACR,KAAK,QAAQ;YACZ,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO;QACR,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACV,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO;QACR,KAAK,UAAU;YACd,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO;QACR,KAAK,UAAU;YACd,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO;QACR,KAAK,OAAO;YACX,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO;QACR,KAAK,SAAS,CAAC;QACf,KAAK,WAAW;YACf,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO;QACR,KAAK,MAAM;YACV,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO;QACR,KAAK,MAAM;YACV,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY;YAChB,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO;QACR,KAAK,SAAS;YACb,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO;QACR,KAAK,OAAO;YACX,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO;QACR,KAAK,OAAO,CAAC;QACb,KAAK,UAAU;YACd,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO;QACR,KAAK,YAAY;YAChB,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAClC,OAAO;QACR,KAAK,OAAO;YACX,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO;QACR,KAAK,WAAW;YACf,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO;QACR,KAAK,MAAM;YACV,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO;QACR;YACC,YAAY,EAAE,CAAC;IACjB,CAAC;AACF,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAqB;IAClD,MAAM,OAAO,GACZ,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,sBAAsB,CAC1C,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC;QACrC,OAAO;QACP,WAAW,CAAC;YACX,wBAAwB;YACxB,4BAA4B;YAC5B,iBAAiB;YACjB,qBAAqB;SACrB,CAAC;QACF,IAAI,CAAC,8CAA8C,CAAC,CACrD,CAAC;IACF,MAAM,YAAY,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,IAAI,SAAS,GAAwB,IAAI,CAAC;IAC1C,IAAI,CAAC;QACJ,SAAS,GAAG,MAAM,oBAAoB,CAAC;YACtC,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,CAAC;SACd,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACd,iCAAiC,YAAY,KAAK,YAAY,CAAC,KAAK,CAAC,kDAAkD,CACvH,CAAC;QACH,CAAC;IACF,CAAC;IACD,MAAM,OAAO,GAAG,SAAS;QACxB,CAAC,CAAC,wCAAwC,CAAC;YACzC,SAAS;YACT,YAAY;YACZ,WAAW;YACX,MAAM;YACN,KAAK;SACL,CAAC;QACH,CAAC,CAAC,2BAA2B,CAAC;YAC5B,WAAW,EAAE,WAAW,IAAI,kBAAkB;YAC9C,YAAY;YACZ,YAAY;YACZ,MAAM;YACN,KAAK;SACL,CAAC,CAAC;IACL,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CACZ,KAAK,CAAC,GAAG,CACR,oBAAoB,OAAO,CAAC,WAAW,aAAa,OAAO,CAAC,SAAS,0CAA0C,CAC/G,CACD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAqB;IACnD,MAAM,IAAI,GACT,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,+BAA+B,CAAC,OAAO,EAAE;QAC7D,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;QAClC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC;QAC7C,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC;QAC3C,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;QAC7C,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACjD,cAAc,EAAE,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC;QACvD,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;KACtC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CACV,uBAAuB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CACvE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,iGAAiG,CACjG,CACD,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAqB;IAClD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC;QAC7C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;KACtC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CACvE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CACzB,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAClE,CAAC;QACF,OAAO;IACR,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ;YAChC,CAAC,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE;YAC/B,CAAC,CAAC,IAAI,CAAC,SAAS;gBACf,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,GAAG,CACV,GAAG,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,GACrD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,EAC1D,EAAE,CACF,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAqB;IACrD,MAAM,SAAS,GAAG,MAAM,6CAA6C,CAAC;QACrE,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACjD,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;QAC9C,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC;QACxC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;QACtC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QACpC,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC;QACjD,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QACtC,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC;KAChE,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,IAAI,CACH,0KAA0K,CAC1K,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;IACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC;QAC/C,CAAC,CAAC,MAAM,wBAAwB,CAC9B,MAAM,EACN,UAAU,EACV,SAAS,CAAC,iBAAiB,CAC3B;QACF,CAAC,CAAC,EAAE,CAAC;IACN,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CACV,IAAI,CAAC,SAAS,CACb;YACC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACzC,QAAQ;YACR,GAAG,CAAC,SAAS,CAAC,iBAAiB;gBAC9B,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;SACN,EACD,IAAI,EACJ,CAAC,CACD,CACD,CAAC;QACF,OAAO;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,yBAAyB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC1E,OAAO;IACR,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,KAAK,GACV,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC,WAAW,CAAC;QACrE,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CACV,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,GACvD,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EACpE,EAAE,CACF,CAAC;QACF,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,KAAK;gBACJ,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC9D,SAAS,CAAC,eAAe;oBACxB,CAAC,CAAC,WAAW,SAAS,CAAC,eAAe,EAAE;oBACxC,CAAC,CAAC,SAAS;gBACZ,SAAS,CAAC,eAAe;oBACxB,CAAC,CAAC,WAAW,SAAS,CAAC,eAAe,EAAE;oBACxC,CAAC,CAAC,SAAS;aACZ;iBACC,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC,EAAE,CACb,CACD,CAAC;QACH,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,YAAY,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;AACF,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAqB;IACrD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC9D,MAAM,OAAO,GACZ,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;QAChC,WAAW,CAAC;YACX,sBAAsB;YACtB,kBAAkB;YAClB,kBAAkB;SAClB,CAAC,CAAC;IACJ,MAAM,IAAI,GACT,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,WAAW,CAAC,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAC;QAC7D,kBAAkB,CAAC;IACpB,MAAM,WAAW,GAChB,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC;QACnC,WAAW,CAAC;YACX,+BAA+B;YAC/B,2BAA2B;SAC3B,CAAC;QACF,kEAAkE,CAAC;IACpE,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,cAAc,CAClC,MAAM,EACN,gBAAgB,EAChB,6BAA6B,EAAE,CAC/B,CAAC;IACF,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE;QAC9D,iBAAiB;KACjB,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,aAAa;QACtC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;YACpC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;YAC3B,WAAW,CAAC;gBACX,wBAAwB;gBACxB,4BAA4B;gBAC5B,iBAAiB;gBACjB,qBAAqB;aACrB,CAAC;YACF,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,iBAAiB;QAC5B,CAAC,CAAC,6BAA6B,CAAC;YAC9B,iBAAiB;YACjB,mBAAmB,EAClB,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC;gBACpC,WAAW,CAAC;oBACX,0BAA0B;oBAC1B,8BAA8B;iBAC9B,CAAC;YACH,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC;YACpD,eAAe,EAAE,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC;YACzD,aAAa,EAAE,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC;YACtD,aAAa,EAAE,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC;YACtD,eAAe,EAAE,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE;gBAC7D,qBAAqB;aACrB,CAAC;YACF,UAAU,EAAE;gBACX,WAAW,EAAE,sBAAsB;aACnC;SACD,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC/D,IAAI,aAAa,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,SAAS,GAA2C,YAAY,CAAC;IACrE,IAAI,KAA6C,CAAC;IAElD,IAAI,aAAa,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACtE,CAAC;QACD,SAAS,GAAG,WAAW,CAAC;IACzB,CAAC;SAAM,IAAI,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,IAAI,CACH,4EAA4E,CAC5E,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC;YAC7C,WAAW;YACX,EAAE,EAAE,OAAO;YACX,IAAI;YACJ,WAAW;YACX,YAAY;YACZ,QAAQ;YACR,YAAY;YACZ,GAAG;SACH,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,SAAS,GAAG,SAAS,CAAC;QACtB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;SAAM,CAAC;QACP,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC;gBAClD,WAAW;gBACX,EAAE,EAAE,OAAO;gBACX,IAAI;gBACJ,WAAW;gBACX,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,SAAS;gBACpD,YAAY;gBACZ,QAAQ;gBACR,YAAY;gBACZ,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;gBACzC,GAAG;aACH,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC;gBAC7C,WAAW;gBACX,EAAE,EAAE,OAAO;gBACX,IAAI;gBACJ,WAAW;gBACX,YAAY;gBACZ,QAAQ;gBACR,YAAY;gBACZ,GAAG;aACH,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,SAAS,GAAG,SAAS,CAAC;YACtB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC;IACF,CAAC;IAED,MAAM,eAAe,GACpB,KAAK,EAAE,EAAE,IAAI,OAAO,IAAI,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,eAAe;QAChC,CAAC,CAAC,MAAM,0BAA0B,CAAC;YACjC,WAAW;YACX,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,wBAAwB,CAAC,IAAI;YACvE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpB,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;YAC5B,GAAG;SACH,CAAC;QACH,CAAC,CAAC,IAAI,CAAC;IACR,IAAI,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CACV,IAAI,CAAC,SAAS,CACb;YACC,SAAS;YACT,OAAO,EAAE,eAAe;YACxB,KAAK;YACL,SAAS;YACT,GAAG;SACH,EACD,IAAI,EACJ,CAAC,CACD,CACD,CAAC;QACF,OAAO;IACR,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,OAAO,CAAC,GAAG,CACV,SAAS,KAAK,WAAW;QACxB,CAAC,CAAC,mCAAmC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9G,CAAC,CAAC,GAAG,IAAI,sBAAsB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OACxD,GAAG,EAAE,iBAAiB,IAAI,iBAC3B,EAAE,CACJ,CAAC;IACF,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,WAAW,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CACvE,CACD,CAAC;IACF,IAAI,SAAS,EAAE,eAAe,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;AACF,CAAC;AAED,KAAK,UAAU,wBAAwB,CACtC,MAAqB,EACrB,UAAmD,EACnD,iBAAkD;IASlD,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,QAAQ,GAKT,EAAE,CAAC;IACR,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,wBAAwB,CAAC;YACrC,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC;YAC9C,SAAS;YACT,aAAa;YACb,KAAK,EAAE,QAAQ,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,KAAK,GAAyB;YACnC,GAAG,QAAQ;YACX,GAAG,EAAE,SAAS,CAAC,WAAW;YAC1B,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,WAAW;YAC1D,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,QAAQ,EAAE,YAAY;YAC9D,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,QAAQ,EAAE,eAAe;YACvE,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,QAAQ,EAAE,eAAe;YACvE,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI,QAAQ,EAAE,WAAW;YACjE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,QAAQ,EAAE,OAAO;YAChD,YAAY,EAAE;gBACb,GAAG,QAAQ,EAAE,YAAY;gBACzB,GAAG,CAAC,SAAS,CAAC,iBAAiB,KAAK,SAAS;oBAC5C,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,EAAE,CAAC;aACtD;YACD,MAAM,EACL,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACjC,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;oBAC5B,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,KAAK,CAAC,qBAAqB;wBAC9B,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE;wBACxD,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,iBAAiB;wBAC1B,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE;wBAChD,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,KAAK,CAAC,qBAAqB;wBAC9B,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE;wBACxD,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,qBAAqB;wBAC9B,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE;wBACxD,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,kBAAkB;wBAC3B,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE;wBAClD,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,iBAAiB;wBAC1B,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE;wBAChD,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvD,CAAC,CAAC;gBACJ,CAAC,CAAC,QAAQ,EAAE,MAAM;YACpB,QAAQ,EAAE,sBAAsB,CAAC;gBAChC,GAAG,uCAAuC,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAC9D,MAAM,EAAE,yBAAyB;gBACjC,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;gBACnC,iBAAiB,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS;gBAC5C,mBAAmB,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM;gBAC3C,gBAAgB,EAAE,SAAS,CAAC,YAAY;gBACxC,oBAAoB,EAAE,SAAS,CAAC,iBAAiB;gBACjD,GAAG,4BAA4B,CAAC,iBAAiB,CAAC;aAClD,CAAC;YACF,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,GAAG;YACrC,SAAS,EAAE,GAAG;SACd,CAAC;QACF,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAChE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5B,eAAe,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,mBAAmB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1E,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAC7C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAqB;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE;QAC3C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAqB;IAClD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC;QACnC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;QAC9C,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QACxC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;KAC7C,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAClE,CAAC;QACF,OAAO;IACR,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,MAAM,GACX,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW;YAC7B,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,GAAG;YACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,KAAK;gBACJ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC9C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;gBACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;aAC3C;iBACC,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC,EAAE,CACb,CACD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,UAAU,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CACzE,CACD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAAqB;IACpD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;QAC9C,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QACxC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;QAC7C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;QAClC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;KACpC,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CACV;QACC,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,eAAe;QACpE,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,UAAU;QACxC,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,UAAU;QAC/C,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,SAAS;QACtC,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,YAAY;KAC5C,CAAC,IAAI,CAAC,KAAK,CAAC,CACb,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAClE,CAAC;IACH,CAAC;SAAM,CAAC;QACP,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,MAAM,GACX,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAC3C,MAAM,WAAW,GAAG;gBACnB,IAAI,CAAC,UAAU,CAAC,YAAY;oBAC3B,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,UAAU;oBAC3C,CAAC,CAAC,EAAE;gBACL,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;gBACjD,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;aAC3C;iBACC,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO,CAAC,GAAG,CACV,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GACxD,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EACrD,EAAE,CACF,CAAC;YACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,UAAU,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CACzE,CACD,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACP,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY;gBAClC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;gBACnD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,OAAO,CAAC,GAAG,CACV,GAAG,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,uBAAuB,CACjE,IAAI,CAAC,MAAM,CACX,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAChC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CACV,GAAG,2BAA2B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CACjE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAqB;IACjD,MAAM,QAAQ,GACb,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE;QAC3C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;QACtC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;KAC7C,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,uBAAuB,UAAU,EAAE,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,uBAAuB,UAAU,EAAE,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG;QAChB,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,IAAI,CAAC,IAAI;KACpB,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;QAC9C,OAAO,EAAE,mBAAmB,CAAC;YAC5B,SAAS;YACT,SAAS;YACT,IAAI;YACJ,QAAQ;SACR,CAAC;QACF,aAAa,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE;KAC1C,CAAC,CAAC;IACH,MAAM,0BAA0B,CAAC,0BAA0B,EAAE,GAAG,EAAE,CACjE,kBAAkB,CAAC;QAClB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;QACvC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI;QACJ,SAAS;QACT,SAAS;QACT,IAAI,EAAE,SAAS;QACf,QAAQ;KACR,CAAC,CACF,CAAC;IACF,MAAM,IAAI,GAAG,IAAI;QAChB,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC;QACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACb,IAAI,IAAI,EAAE,CAAC;QACV,MAAM,0BAA0B,CAAC,+BAA+B,EAAE,GAAG,EAAE,CACtE,qBAAqB,CAAC;YACrB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI;SACJ,CAAC,CACF,CAAC;IACH,CAAC;IACD,SAAS,CAAC,IAAI,EAAE;QACf,uBAAuB,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;KAC5D,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAqB;IACrD,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;QACvC,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO;IACR,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,QAAQ;QACxB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,CACH,QAAQ;YACP,CAAC,CAAC,kEAAkE;YACpE,CAAC,CAAC,2CAA2C,CAC9C,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,QAAQ;QAC9B,CAAC,CAAC,MAAM,gCAAgC,CAAC,MAAM,CAAC;QAChD,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,IAAI,GAAG,cAAc;QAC1B,CAAC,CAAC,cAAc,CAAC,IAAI;QACrB,CAAC,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE;YAC/B,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;YACtC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;SAC7C,CAAC,CAAC;IACL,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzD,MAAM,SAAS,GAAG,uBAAuB,UAAU,EAAE,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,uBAAuB,UAAU,EAAE,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;QACrD,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,IAAI;QACJ,GAAG;QACH,OAAO;QACP,KAAK;QACL,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS;QACjE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB;KACtD,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,gCAAgC,CAAC;QACvD,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,IAAI;QACJ,GAAG;QACH,OAAO;QACP,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS;QACjE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB;KACtD,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;QAC9C,OAAO,EAAE,mBAAmB,CAAC;YAC5B,SAAS;YACT,SAAS;YACT,IAAI;YACJ,QAAQ,EAAE,kBAAkB;SAC5B,CAAC;QACF,aAAa,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE;KAC1C,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,0BAA0B,CAAC,+BAA+B,EAAE,GAAG,EAAE,CACtE,kBAAkB,CAAC;QAClB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;QACvC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI;QACJ,SAAS;QACT,SAAS;QACT,IAAI,EAAE,YAAY;QAClB,IAAI;QACJ,GAAG;QACH,QAAQ,EAAE,cAAc;KACxB,CAAC,CACF,CAAC;IACF,MAAM,IAAI,GAAG,IAAI;QAChB,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC;QACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACb,IAAI,IAAI,EAAE,CAAC;QACV,MAAM,0BAA0B,CAAC,oCAAoC,EAAE,GAAG,EAAE,CAC3E,qBAAqB,CAAC;YACrB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI;SACJ,CAAC,CACF,CAAC;IACH,CAAC;IACD,SAAS,CAAC,IAAI,EAAE;QACf,uBAAuB,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;KAC5D,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAAqB;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,CACH,kJAAkJ,CAClJ,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAChB,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC;QACrC,WAAW,CAAC;YACX,sBAAsB;YACtB,kBAAkB;YAClB,0BAA0B;YAC1B,kBAAkB;SAClB,CAAC;QACF,IAAI,CACH,uEAAuE,CACvE,CAAC;IACH,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS,IAAI,CAAC,kBAAkB,IAAI,CAAC,OAAO,EAAE,CAAC;QACnD,IAAI,CACH,uEAAuE,CACvE,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC;QAC9C,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACjD,WAAW;QACX,SAAS;QACT,kBAAkB;QAClB,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACjD,aAAa,EAAE,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC;QACtD,cAAc,EAAE,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACxD,cAAc,EAAE;YACf,WAAW,EAAE,yBAAyB;YACtC,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,aAAa;YACrB,WAAW;YACX,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD;QACD,MAAM,EACL,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;YAC9B,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC;KAC5D,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACR,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,OAAO,CAAC,GAAG,CACV,2BAA2B,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,aAAa,CAAC,KACrE,UAAU,EAAE,MAAM,IAAI,WACvB,EAAE,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,UAAU,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,UAAU,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,UAAU,EAAE,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,UAAU,EAAE,cAAc,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,UAAU,EAAE,iBAAiB,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,CACtE,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,wBAAwB,CAChC,IAAY,EACZ,OAA2B,EAC3B,kBAAsC;IAEtC,MAAM,MAAM,GAAG,OAAO,IAAI,kBAAkB,IAAI,UAAU,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,OAAO,wBAAwB,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAAqB;IACpD,MAAM,YAAY,GACjB,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC;QACrC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;QAC1B,IAAI,CAAC,oEAAoE,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,uBAAuB,CACnC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3B,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;QAC1B,IAAI,CAAC,wDAAwD,CAAC,CAC/D,CAAC;IACF,MAAM,OAAO,GACZ,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC;QACzD,YAAY;QACZ,IAAI;QACJ,OAAO,EAAE,OAAO,IAAI,SAAS;QAC7B,cAAc,EAAE,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC;QACvD,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC;QAClD,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC;QAChD,cAAc,EAAE,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACxD,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC;QAChD,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACjD,QAAQ,EAAE;YACT,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC;KACD,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,GAAG,CACV,WAAW,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,IAAI,UAAU,CAAC,KAChE,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,WAC7B,EAAE,CACF,CAAC;IACF,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;AACF,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAqB;IAClD,MAAM,YAAY,GACjB,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACrE,MAAM,gBAAgB,GACrB,UAAU,CAAC,MAAM,EAAE,sBAAsB,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5E,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxC,IAAI,CACH,iFAAiF,CACjF,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC;QACtD,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACjD,YAAY;QACZ,gBAAgB;QAChB,QAAQ,EAAE,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC;QACtD,KAAK,EAAE,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC;KAC/C,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CACV,iCACC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAChE,EAAE,CAAC,IAAI,EAAE,CACT,CAAC;IACF,MAAM,OAAO,GAAG;QACf,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;QAChE,MAAM,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,CAAC,aAAa,MAAM,CAAC,SAAS,EAAE;YACjC,CAAC,CAAC,SAAS;QACZ,MAAM,CAAC,0BAA0B,EAAE,MAAM;YACxC,CAAC,CAAC,mBAAmB,MAAM,CAAC,0BAA0B,CAAC,MAAM,EAAE;YAC/D,CAAC,CAAC,SAAS;KACZ;SACC,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAChE,OAAO;IACR,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,KAAK,GACV,UAAU,EAAE,EAAE;YACd,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CACV,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAChC;YACC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;YAC5D,UAAU,EAAE,MAAM;YAClB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACtC,IAAI,CAAC,UAAU,KAAK,SAAS;gBAC5B,CAAC,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE;gBAC/B,CAAC,CAAC,SAAS;SACZ;aACC,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CACX,EAAE,CACH,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,EAAE,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,UAAU,EAAE,SAAS,CAAC;QACrC,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,KAAK;gBACJ,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;gBACrC,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;aAC1C;iBACC,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC,EAAE,CACb,CACD,CAAC;QACH,CAAC;IACF,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;AACF,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC9C,MAAqB;IAKrB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,6CAA6C,CAAC;QACrE,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACjD,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;QAC9C,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,KAAK;QACjD,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,wBAAwB,CAAC,IAAI;QACvE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE;QAC1C,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC;QACjD,OAAO;QACP,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC;KAChE,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,IAAI,CACH,0KAA0K,CAC1K,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;IACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,yCAAyC,OAAO,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,EAAE;QACpD,OAAO;QACP,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC;KAChE,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC;IACtC,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,yCAAyC,OAAO,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC9C,MAAM,EACN,CAAC,SAAS,CAAC,EACX,SAAS,CAAC,iBAAiB,CAC3B,CAAC;IACF,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,IAAI,CAAC,gDAAgD,OAAO,GAAG,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,8BAA8B,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,SAAS,OAAO,EAAE,CACtF,CACD,CAAC;IACF,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,qBAAqB,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtE,CACD,CAAC;IACF,OAAO;QACN,IAAI,EAAE,MAAM,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE;YAC7C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;YACtC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;SAC7C,CAAC;QACF,kBAAkB,EAAE;YACnB,MAAM,EAAE,yBAAyB;YACjC,QAAQ,EAAE,SAAS,CAAC,iBAAiB;YACrC,cAAc,EACb,SAAS,CAAC,iBAAiB,EAAE,cAAc,IAAI,UAAU,CAAC,MAAM;YACjE,YAAY,EACX,SAAS,CAAC,iBAAiB,EAAE,YAAY,IAAI,UAAU,CAAC,MAAM;YAC/D,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;YACnC,iBAAiB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI;YACvC,mBAAmB,EAAE,SAAS,CAAC,WAAW;YAC1C,oBAAoB,EAAE,SAAS,CAAC,YAAY;YAC5C,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;SACzB;KACD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAC1B,MAAkD,EAClD,OAA2B;IAE3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,0BAA0B,CAAC,KAQnC;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,2BAA2B,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,kBAAkB,GAAG,4BAA4B,CACtD,KAAK,CAAC,kBAAkB,CACxB,CAAC;IACF,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO;QACpC,CAAC,CAAC;YACA,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,EAAE,qBAAqB;gBAC/B,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE;gBACxD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,KAAK,EAAE,iBAAiB;gBAC3B,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,KAAK,EAAE,qBAAqB;gBAC/B,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE;gBACxD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,KAAK,EAAE,qBAAqB;gBAC/B,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE;gBACxD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,KAAK,EAAE,kBAAkB;gBAC5B,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE;gBAClD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,KAAK,EAAE,iBAAiB;gBAC3B,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD;QACF,CAAC,CAAC,SAAS,CAAC;IACb,OAAO;QACN,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,KAAK,CAAC,eAAe;YACxB,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,kBAAkB;YACrB,CAAC,CAAC,EAAE,sBAAsB,EAAE,kBAAkB,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,eAAe;YAClB,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,eAAe,EAAE;YACpD,CAAC,CAAC,EAAE,CAAC;KACN,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CACnC,KAAsE;IAEtE,OAAO,CACN,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,qBAAqB,CAAC;QAC3D,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,uBAAuB,CAAC;QAC7D,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,qBAAqB,CAAC;QAC7D,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,uBAAuB,CAAC;QAC/D,yBAAyB,CACzB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC3B,MAA6D,EAC7D,GAAW;IAEX,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,SAAS,gCAAgC,CAAC,KAOzC;IACA,OAAO,sBAAsB,CAAC;QAC7B,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,cAAc,EAAE,KAAK,CAAC,IAAI;QAC1B,aAAa,EAAE,KAAK,CAAC,GAAG;QACxB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,UAAU,EAAE,KAAK,CAAC,OAAO;QACzB,GAAG,CAAC,KAAK,CAAC,kBAAkB;YAC3B,CAAC,CAAC;gBACA,yBAAyB,EACxB,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ;gBAC5C,+BAA+B,EAC9B,KAAK,CAAC,kBAAkB,CAAC,cAAc;gBACxC,6BAA6B,EAAE,KAAK,CAAC,kBAAkB,CAAC,YAAY;gBACpE,gCAAgC,EAC/B,KAAK,CAAC,kBAAkB,CAAC,eAAe;gBACzC,iCAAiC,EAChC,KAAK,CAAC,kBAAkB,CAAC,oBAAoB;gBAC9C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC,KAAK;aAClD;YACF,CAAC,CAAC,EAAE,CAAC;KACN,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAqB;IAClD,MAAM,QAAQ,GACb,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;QAC1B,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAC1D,MAAM,MAAM,GACX,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;QAC1B,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE;QAC3C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;QACtC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;KAC7C,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,uBAAuB,UAAU,EAAE,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;QAC9C,OAAO,EAAE,mBAAmB,CAAC;YAC5B,SAAS;YACT,SAAS,EAAE,QAAQ,EAAE,SAAS;YAC9B,MAAM;YACN,IAAI;YACJ,QAAQ,EAAE;gBACT,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,gBAAgB,EAAE,MAAM;aACxB;SACD,CAAC;QACF,aAAa,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE;KAC1C,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,0BAA0B,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAClE,kBAAkB,CAAC;QAClB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;QACvC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI;QACJ,SAAS;QACT,QAAQ,EAAE;YACT,WAAW,EAAE,yBAAyB;YACtC,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,gBAAgB,EAAE,MAAM;SACxB;KACD,CAAC,CACF,CAAC;IACF,MAAM,IAAI,GAAG,IAAI;QAChB,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC;QACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACb,IAAI,IAAI,EAAE,CAAC;QACV,MAAM,0BAA0B,CAAC,kCAAkC,EAAE,GAAG,EAAE,CACzE,qBAAqB,CAAC;YACrB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI;SACJ,CAAC,CACF,CAAC;IACH,CAAC;IACD,SAAS,CAAC,IAAI,EAAE;QACf,uBAAuB,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;KAC5D,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAqB;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC5C,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/C,IAAI,CAAC,8DAA8D,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5D,OAAO;IACR,CAAC;IACD,MAAM,4BAA4B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACtC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;KACnC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CACV,IAAI,CAAC,SAAS,CACb;YACC,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACzD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;aAC1B,CAAC,CAAC;SACH,EACD,IAAI,EACJ,CAAC,CACD,CACD,CAAC;QACF,OAAO;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CACV,mBAAmB,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,CACzE,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC1E,OAAO;IACR,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACV,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CACpF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IACjE,CAAC;AACF,CAAC;AAED,KAAK,UAAU,wBAAwB,CACtC,MAAqB,EACrB,QAA4B,EAC5B,IAAY;IAEZ,MAAM,4BAA4B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACtC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;KACnC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;QAC7C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;QACtC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;KAC7C,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,uBAAuB,UAAU,EAAE,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;QAC9C,OAAO,EAAE,mBAAmB,CAAC;YAC5B,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI;YACJ,QAAQ,EAAE;gBACT,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,gBAAgB,EAAE,KAAK,CAAC,MAAM;aAC9B;SACD,CAAC;QACF,aAAa,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE;KAC1C,CAAC,CAAC;IACH,MAAM,SAAS,GAAY;QAC1B,GAAG,IAAI,CAAC,IAAI;QACZ,EAAE,EAAE,KAAK,CAAC,MAAM;QAChB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;KACjD,CAAC;IACF,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,0BAA0B,CAAC,iCAAiC,EAAE,GAAG,EAAE,CACxE,kBAAkB,CAAC;QAClB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;QACvC,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,SAAS;QACT,QAAQ,EAAE;YACT,WAAW,EAAE,+BAA+B;YAC5C,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,gBAAgB,EAAE,KAAK,CAAC,MAAM;SAC9B;KACD,CAAC,CACF,CAAC;IACF,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC;QACzC,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;QACzD,CAAC,CAAC,SAAS,CAAC;IACb,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,0BAA0B,CAC/B,qCAAqC,EACrC,GAAG,EAAE,CACJ,qBAAqB,CAAC;YACrB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI;SACJ,CAAC,CACH,CAAC;IACH,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO;IACR,CAAC;IACD,SAAS,CAAC,IAAI,EAAE;QACf,uBAAuB,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;KAC5D,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAChC,MAAuC,EACvC,QAA4B;IAE5B,OAAO,kBAAkB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACtE,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CACrC,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CACjC,MAAuC,EACvC,QAA4B;IAE5B,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CACH,uFAAuF,CACvF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,MAAqB,EACrB,QAAgB,EAChB,MAAc;IAEd,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACtC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;SACnC,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CACzD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAClC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC;QACb,CAAC;QACD,OAAO,CAAC,KAAK,CACZ,KAAK,CAAC,MAAM,CACX,+DAA+D,YAAY,CAAC,KAAK,CAAC,EAAE,CACpF,CACD,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAqB;IACtD,MAAM,UAAU,GACf,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;QAC9B,IAAI,CAAC,8DAA8D,CAAC,CAAC;IACtE,MAAM,OAAO,GACZ,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;QAChC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;QAC1B,IAAI,CAAC,8DAA8D,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CACV,iBAAiB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,EAAE,CACzF,CAAC;IACF,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,YAAY,UAAU,CAAC,MAAM,CAAC,MAAM,UAAU,UAAU,CAAC,MAAM,CAAC,KAAK,cAAc,UAAU,CAAC,MAAM,CAAC,cAAc,WAAW,UAAU,CAAC,MAAM,CAAC,WAAW,YAAY,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAChN,CACD,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,MAAM,CACX,wBAAwB,UAAU,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAChE,CACD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACV,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,IAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACpC,EAAE,CAAC,IAAI,EAAE,CACT,CAAC;QACF,MAAM,OAAO,GAAG;YACf,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS;YAC7D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;YACrD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS;YAC9D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;YACxD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;SACjD;aACC,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,MAAM,GAAG;YACd,IAAI,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS;gBAC9C,CAAC,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI;gBAC/D,CAAC,CAAC,SAAS;YACZ,IAAI,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS;gBAC3C,CAAC,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI;gBACzD,CAAC,CAAC,SAAS;YACZ,IAAI,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS;gBAC3C,CAAC,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI;gBACzD,CAAC,CAAC,SAAS;SACZ;aACC,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAC/D,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACjE,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,sBAAsB,CACpC,IAAY;IAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAC;IACnE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACjD,CAAC,CAAC,MAAM,CAAC,MAAM;YACf,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,4BAA4B,CACpC,KAAc;IAEd,OAAO,CACN,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAClD,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAqB;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC5C,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACtC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;KACnC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CACV,IAAI,CAAC,SAAS,CACb;YACC,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACzD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;aAC1B,CAAC,CAAC;SACH,EACD,IAAI,EACJ,CAAC,CACD,CACD,CAAC;QACF,OAAO;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CACV,cAAc,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,CACpE,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC7D,OAAO;IACR,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACV,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CACpF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IACjE,CAAC;AACF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAqB;IACjD,MAAM,QAAQ,GACb,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;QAC1B,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAClD,MAAM,MAAM,GACX,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;QAC1B,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE;QAC3C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;QACtC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;KAC7C,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,0BAA0B,CAAC,0BAA0B,EAAE,GAAG,EAAE,CACjE,qBAAqB,CAAC;QACrB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI;KACJ,CAAC,CACF,CAAC;IACF,SAAS,CAAC,IAAI,EAAE;QACf,uBAAuB,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;KAC5D,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAClC,MAAqB,EACrB,UAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACtC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;KACnC,CAAC,CAAC;IACH,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACtE,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,SAAS;QACV,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;YAC7C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;YACtC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;SAC7C,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,qBAAqB,CAAC;YAC3B,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;YACnC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI;SACJ,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,KAAK,UAAU,4BAA4B,CAC1C,MAAqB,EACrB,UAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACtC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;KACnC,CAAC,CAAC;IACH,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACtE,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,SAAS;QACV,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC7C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;gBACtC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC;aAC7C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,qBAAqB,CAAC;gBAC3B,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;gBACnC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI;aACJ,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC;YACb,CAAC;YACD,OAAO,CAAC,KAAK,CACZ,KAAK,CAAC,MAAM,CACX,6CAA6C,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,CACtG,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,cAAc,CAC5B,MAAwB,EACxB,MAAc,EACd,MAAqB;IAErB,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,eAAe,CAAC;IACzE,MAAM,UAAU,GACf,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,wBAAwB,CAAC;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC5E,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QACxB,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACd,kCAAkC,MAAM,gBAAgB,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAC/E,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CACjB,IAAa,EACb,UAAiD,EAAE;IAEnD,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IACjC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAa,EAAE,cAAuB;IACjE,mBAAmB,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,oBAAoB,CAC5B,KAAyB,EACzB,cAAuB;IAEvB,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAC3B,SAA0C,EAC1C,cAAuB;IAEvB,MAAM,OAAO,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO;IACR,CAAC;IACD,MAAM,cAAc,GAAG,gCAAgC,CAAC,SAAS,CAAC,CAAC;IACnE,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,SAAS,EAAE,eAAe,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAE3D,SAAS,uBAAuB,CAAC,YAAoB;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CACxC,oCAAoC,EACpC,EAAE,CACF,CAAC;IACF,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAc;IAC9C,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,SAAS;YACb,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,KAAK,QAAQ;YACZ,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,WAAW;YACf,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,KAAK,SAAS;YACb,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B;YACC,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB;IACpD,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,UAAU;YACd,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,KAAK,SAAS;YACb,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B;YACC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;AACF,CAAC;AAED,KAAK,UAAU,0BAA0B,CACxC,WAAmB,EACnB,MAA8B;IAE9B,IAAI,CAAC;QACJ,MAAM,MAAM,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC;QACb,CAAC;QACD,OAAO,CAAC,KAAK,CACZ,KAAK,CAAC,MAAM,CACX,sCAAsC,WAAW,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,CAC3E,CACD,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,IAAI,CAAC,OAAe;IAC5B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,iCAAiC;IACzC,OAAO,kOAAkO,CAAC;AAC3O,CAAC;AAED,SAAS,uBAAuB,CAC/B,KAAa;IAEb,QAAQ,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,OAAO;YACX,OAAO,yCAAyC,CAAC,KAAK,CAAC;QACxD,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACf,OAAO,yCAAyC,CAAC,QAAQ,CAAC;QAC3D,KAAK,SAAS;YACb,OAAO,yCAAyC,CAAC,OAAO,CAAC;QAC1D,KAAK,WAAW;YACf,OAAO,yCAAyC,CAAC,SAAS,CAAC;QAC5D,KAAK,QAAQ;YACZ,OAAO,yCAAyC,CAAC,MAAM,CAAC;QACzD;YACC,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;AACF,CAAC;AAED,SAAS,YAAY;IACpB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;qFAsBwE,CAAC,CAAC;AACvF,CAAC","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { readFile } from \"node:fs/promises\";\nimport chalk from \"chalk\";\nimport { selectA2ACapabilityPeer } from \"../../platform/a2a-capability-market.js\";\nimport {\n\ttype A2AAgentCard,\n\ttype A2AServiceConfig,\n\ttype A2ATask,\n\tbuildA2AUserMessage,\n\tdiscoverA2AAgentCard,\n\tgetA2ATask,\n\tsendA2AMessage,\n} from \"../../platform/a2a-client.js\";\nimport { buildA2ACockpit } from \"../../platform/a2a-cockpit.js\";\nimport { inspectA2AFleet } from \"../../platform/a2a-fleet.js\";\nimport {\n\tbuildMaestroA2APeerProjection,\n\tdefaultMaestroA2ACapabilities,\n} from \"../../platform/a2a-maestro-peer.js\";\nimport {\n\tcreateA2APeerPairingPayload,\n\tcreateA2APeerPairingPayloadFromAgentCard,\n\tdecodeA2APeerPairingCode,\n\tencodeA2APeerPairingCode,\n\tresolveA2AAgentCardUrl,\n} from \"../../platform/a2a-peer-pairing.js\";\nimport {\n\ttype A2APeerRegistryEntry,\n\tlistA2APeers,\n\tloadA2APeerRegistry,\n\tresolveA2APeer,\n\tsaveA2APeerRegistry,\n\tupsertA2APeerFromPairingPayload,\n} from \"../../platform/a2a-peer-registry.js\";\nimport {\n\ttype A2ATaskLedgerEntry,\n\textractA2ATaskText,\n\tgetA2ATaskLedgerPath,\n\tisActionRequiredA2AState,\n\tisFinalA2AState,\n\tisTerminalA2AState,\n\tlistA2ATaskEntries,\n\tloadA2ATaskLedger,\n\trecordA2ATaskReply,\n\trecordA2ATaskStart,\n\tupdateA2ATaskInLedger,\n} from \"../../platform/a2a-task-ledger.js\";\nimport {\n\ttype A2ATelemetryCloudEventLike,\n\tinspectA2ATelemetry,\n} from \"../../platform/a2a-telemetry-inspect.js\";\nimport {\n\textractA2AWorkGraphMetadata,\n\tformatA2AWorkGraphCodexSubagents,\n\tformatA2AWorkGraphSummary,\n} from \"../../platform/a2a-work-graph.js\";\nimport {\n\tPlatformA2ADelegationTaskControlModeValue,\n\ttype PlatformAgentDiscoveryEvidence,\n\ttype PlatformAgentRegistryA2APeerCandidate,\n\ttype PlatformAgentRegistryAgent,\n\tPlatformAgentStatusValue,\n\tcontrolA2ADelegationTaskWithPlatform,\n\tdelegateAgentWithPlatform,\n\tgetA2ADelegationGraphWithPlatform,\n\theartbeatAgentWithPlatform,\n\tisAgentAlreadyExistsError,\n\tlistA2APeerCandidatesWithEvidenceWithPlatform,\n\tregisterAgentWithPlatform,\n\tupdateAgentWithPlatform,\n} from \"../../platform/agent-registry-client.js\";\nimport { getEnvValue } from \"../../platform/client.js\";\nimport { isAbortError } from \"../../utils/abort-error.js\";\nimport {\n\ttype ParsedA2AArgs,\n\tbooleanFlag,\n\tcanonicalA2ASubcommand,\n\tminutesFlag,\n\tnonNegativeNumberFlag,\n\tnumberFlag,\n\tparseA2AArgs,\n\tstringFlag,\n\tstringListFlag,\n} from \"./a2a/args.js\";\nimport {\n\ttype A2ADiscoverySelection,\n\ta2ADiscoveryEvidenceMetadata,\n\ta2ADiscoverySelectionPayload,\n\ta2APeerMetadataWithoutDiscoveryEvidence,\n\tcompactA2APeerMetadata,\n\tdiscoveredPeerJson,\n\tdiscoveredPeerName,\n\tprintA2ADiscoveryEvidence,\n\tuniqueDiscoveredPeerName,\n} from \"./a2a/discovery.js\";\n\nexport { parseA2AArgs } from \"./a2a/args.js\";\nexport type { ParsedA2AArgs } from \"./a2a/args.js\";\n\nconst DEFAULT_WAIT_MS = 300_000;\nconst DEFAULT_WAIT_INTERVAL_MS = 5_000;\n\nexport async function handleA2ACommand(args: string[]): Promise<void> {\n\tconst parsed = parseA2AArgs(args);\n\tconst subcommand = canonicalA2ASubcommand(parsed.positionals.shift());\n\tswitch (subcommand) {\n\t\tcase \"offer\":\n\t\tcase \"pair\":\n\t\tcase \"create\":\n\t\t\tawait handleA2AOffer(parsed);\n\t\t\treturn;\n\t\tcase \"accept\":\n\t\t\tawait handleA2AAccept(parsed);\n\t\t\treturn;\n\t\tcase \"peers\":\n\t\tcase \"list\":\n\t\t\tawait handleA2APeers(parsed);\n\t\t\treturn;\n\t\tcase \"discover\":\n\t\t\tawait handleA2ADiscover(parsed);\n\t\t\treturn;\n\t\tcase \"register\":\n\t\t\tawait handleA2ARegister(parsed);\n\t\t\treturn;\n\t\tcase \"fleet\":\n\t\t\tawait handleA2AFleet(parsed);\n\t\t\treturn;\n\t\tcase \"cockpit\":\n\t\tcase \"dashboard\":\n\t\t\tawait handleA2ACockpit(parsed);\n\t\t\treturn;\n\t\tcase \"card\":\n\t\t\tawait handleA2ACard(parsed);\n\t\t\treturn;\n\t\tcase \"send\":\n\t\t\tawait handleA2ASend(parsed);\n\t\t\treturn;\n\t\tcase \"delegate\":\n\t\tcase \"delegation\":\n\t\t\tawait handleA2ADelegate(parsed);\n\t\t\treturn;\n\t\tcase \"control\":\n\t\t\tawait handleA2AControl(parsed);\n\t\t\treturn;\n\t\tcase \"graph\":\n\t\t\tawait handleA2AGraph(parsed);\n\t\t\treturn;\n\t\tcase \"reply\":\n\t\tcase \"continue\":\n\t\t\tawait handleA2AReply(parsed);\n\t\t\treturn;\n\t\tcase \"coordinate\":\n\t\t\tawait handleA2ACoordinate(parsed);\n\t\t\treturn;\n\t\tcase \"tasks\":\n\t\t\tawait handleA2ATasks(parsed);\n\t\t\treturn;\n\t\tcase \"telemetry\":\n\t\t\tawait handleA2ATelemetry(parsed);\n\t\t\treturn;\n\t\tcase \"wait\":\n\t\t\tawait handleA2AWait(parsed);\n\t\t\treturn;\n\t\tdefault:\n\t\t\tprintA2AHelp();\n\t}\n}\n\nasync function handleA2AOffer(parsed: ParsedA2AArgs): Promise<void> {\n\tconst baseUrl =\n\t\tstringFlag(parsed, \"--url\") ?? stringFlag(parsed, \"--base-url\");\n\tconst agentCardUrl = resolveA2AAgentCardUrl(\n\t\tstringFlag(parsed, \"--agent-card-url\") ??\n\t\t\tbaseUrl ??\n\t\t\tgetEnvValue([\n\t\t\t\t\"MAESTRO_A2A_PUBLIC_URL\",\n\t\t\t\t\"MAESTRO_CONTROL_PUBLIC_URL\",\n\t\t\t\t\"MAESTRO_A2A_URL\",\n\t\t\t\t\"MAESTRO_CONTROL_URL\",\n\t\t\t]) ??\n\t\t\tfail(\"Provide --url or set MAESTRO_A2A_PUBLIC_URL.\"),\n\t);\n\tconst transportUrl = baseUrlFromAgentCardUrl(agentCardUrl);\n\tconst ttlMs = minutesFlag(parsed, \"--ttl-minutes\") ?? 30 * 60 * 1000;\n\tconst peerId = stringFlag(parsed, \"--peer-id\");\n\tconst displayName = stringFlag(parsed, \"--name\");\n\tlet agentCard: A2AAgentCard | null = null;\n\ttry {\n\t\tagentCard = await discoverA2AAgentCard({\n\t\t\tbaseUrl: transportUrl,\n\t\t\ttimeoutMs: 2_500,\n\t\t\tmaxAttempts: 1,\n\t\t});\n\t} catch (error) {\n\t\tif (!displayName) {\n\t\t\tthrow new Error(\n\t\t\t\t`Could not fetch Agent Card at ${agentCardUrl}: ${errorMessage(error)}. Pass --name to create an offline pairing code.`,\n\t\t\t);\n\t\t}\n\t}\n\tconst payload = agentCard\n\t\t? createA2APeerPairingPayloadFromAgentCard({\n\t\t\t\tagentCard,\n\t\t\t\tagentCardUrl,\n\t\t\t\tdisplayName,\n\t\t\t\tpeerId,\n\t\t\t\tttlMs,\n\t\t\t})\n\t\t: createA2APeerPairingPayload({\n\t\t\t\tdisplayName: displayName ?? \"Maestro A2A Peer\",\n\t\t\t\tagentCardUrl,\n\t\t\t\ttransportUrl,\n\t\t\t\tpeerId,\n\t\t\t\tttlMs,\n\t\t\t});\n\tconst code = encodeA2APeerPairingCode(payload);\n\tconsole.log(code);\n\tconsole.error(\n\t\tchalk.dim(\n\t\t\t`Pairing code for ${payload.displayName}; expires ${payload.expiresAt}. No token or bearer secret is embedded.`,\n\t\t),\n\t);\n}\n\nasync function handleA2AAccept(parsed: ParsedA2AArgs): Promise<void> {\n\tconst code =\n\t\tparsed.positionals.shift() ?? fail(\"Usage: maestro a2a accept <code>\");\n\tconst payload = decodeA2APeerPairingCode(code);\n\tconst result = await upsertA2APeerFromPairingPayload(payload, {\n\t\tname: stringFlag(parsed, \"--name\"),\n\t\tmakeDefault: booleanFlag(parsed, \"--default\"),\n\t\ttokenEnv: stringFlag(parsed, \"--token-env\"),\n\t\ttokenFile: stringFlag(parsed, \"--token-file\"),\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\torganizationId: stringFlag(parsed, \"--organization-id\"),\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t});\n\tconsole.log(\n\t\t`Registered A2A peer ${chalk.bold(result.name)} at ${result.entry.url}`,\n\t);\n\tconsole.log(chalk.dim(`Registry: ${result.path}`));\n\tif (!result.entry.tokenEnv && !result.entry.tokenFile) {\n\t\tconsole.log(\n\t\t\tchalk.dim(\n\t\t\t\t\"No token source configured; add --token-env or --token-file if the peer requires Authorization.\",\n\t\t\t),\n\t\t);\n\t}\n}\n\nasync function handleA2APeers(parsed: ParsedA2AArgs): Promise<void> {\n\tconst { path, registry } = await listA2APeers({\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t});\n\tconsole.log(`A2A peers (${path})`);\n\tconst entries = Object.entries(registry.peers).sort(([left], [right]) =>\n\t\tleft.localeCompare(right),\n\t);\n\tif (entries.length === 0) {\n\t\tconsole.log(\n\t\t\tchalk.dim(\" No peers registered. Run maestro a2a accept <code>.\"),\n\t\t);\n\t\treturn;\n\t}\n\tfor (const [name, peer] of entries) {\n\t\tconst marker = registry.defaultPeer === name ? \"*\" : \" \";\n\t\tconst tokenSource = peer.tokenEnv\n\t\t\t? ` token=env:${peer.tokenEnv}`\n\t\t\t: peer.tokenFile\n\t\t\t\t? \" token=file\"\n\t\t\t\t: \"\";\n\t\tconsole.log(\n\t\t\t`${marker} ${name} ${chalk.dim(peer.url)}${tokenSource}${\n\t\t\t\tpeer.displayName ? chalk.dim(` (${peer.displayName})`) : \"\"\n\t\t\t}`,\n\t\t);\n\t}\n}\n\nasync function handleA2ADiscover(parsed: ParsedA2AArgs): Promise<void> {\n\tconst discovery = await listA2APeerCandidatesWithEvidenceWithPlatform({\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\tcapability: stringFlag(parsed, \"--capability\"),\n\t\tsurface: stringFlag(parsed, \"--surface\"),\n\t\tstatus: stringFlag(parsed, \"--status\"),\n\t\tlimit: numberFlag(parsed, \"--limit\"),\n\t\toffset: nonNegativeNumberFlag(parsed, \"--offset\"),\n\t\tskillId: stringFlag(parsed, \"--skill\"),\n\t\tpreferInternalEndpoint: booleanFlag(parsed, \"--prefer-internal\"),\n\t});\n\tif (!discovery) {\n\t\tfail(\n\t\t\t\"Agent Registry service is not configured. Set AGENT_REGISTRY_SERVICE_URL, AGENT_REGISTRY_SERVICE_TOKEN, AGENT_REGISTRY_ORGANIZATION_ID, and AGENT_REGISTRY_WORKSPACE_ID.\",\n\t\t);\n\t}\n\tconst candidates = discovery.candidates;\n\tconst imported = booleanFlag(parsed, \"--import\")\n\t\t? await importDiscoveredA2APeers(\n\t\t\t\tparsed,\n\t\t\t\tcandidates,\n\t\t\t\tdiscovery.discoveryEvidence,\n\t\t\t)\n\t\t: [];\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(\n\t\t\tJSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tpeers: candidates.map(discoveredPeerJson),\n\t\t\t\t\timported,\n\t\t\t\t\t...(discovery.discoveryEvidence\n\t\t\t\t\t\t? { discoveryEvidence: discovery.discoveryEvidence }\n\t\t\t\t\t\t: {}),\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t);\n\t\treturn;\n\t}\n\tconsole.log(\"Platform A2A peers\");\n\tprintA2ADiscoveryEvidence(discovery.discoveryEvidence);\n\tif (candidates.length === 0) {\n\t\tconsole.log(chalk.dim(\" No Platform agents expose A2A peer endpoints.\"));\n\t\treturn;\n\t}\n\tfor (const candidate of candidates) {\n\t\tconst label =\n\t\t\tcandidate.agent.name ?? candidate.agent.id ?? candidate.endpointUrl;\n\t\tconst skillSummary = candidate.skills.map((skill) => skill.id).join(\", \");\n\t\tconsole.log(\n\t\t\t`${chalk.bold(label)} ${chalk.dim(candidate.endpointUrl)}${\n\t\t\t\tcandidate.agent.status ? chalk.dim(` ${candidate.agent.status}`) : \"\"\n\t\t\t}`,\n\t\t);\n\t\tif (candidate.agent.id || candidate.protocolBinding) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(\n\t\t\t\t\t` ${[\n\t\t\t\t\t\tcandidate.agent.id ? `agent=${candidate.agent.id}` : undefined,\n\t\t\t\t\t\tcandidate.protocolBinding\n\t\t\t\t\t\t\t? `binding=${candidate.protocolBinding}`\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tcandidate.protocolVersion\n\t\t\t\t\t\t\t? `version=${candidate.protocolVersion}`\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tif (skillSummary) {\n\t\t\tconsole.log(chalk.dim(` skills=${skillSummary}`));\n\t\t}\n\t}\n\tif (imported.length > 0) {\n\t\tconsole.log(chalk.dim(`Imported ${imported.length} peer(s).`));\n\t\tconsole.log(chalk.dim(`Registry: ${imported[0]?.path}`));\n\t}\n}\n\nasync function handleA2ARegister(parsed: ParsedA2AArgs): Promise<void> {\n\tconst heartbeatOnly = booleanFlag(parsed, \"--heartbeat-only\");\n\tconst agentId =\n\t\tstringFlag(parsed, \"--agent-id\") ??\n\t\tgetEnvValue([\n\t\t\t\"MAESTRO_A2A_AGENT_ID\",\n\t\t\t\"MAESTRO_AGENT_ID\",\n\t\t\t\"EVALOPS_AGENT_ID\",\n\t\t]);\n\tconst name =\n\t\tstringFlag(parsed, \"--name\") ??\n\t\tgetEnvValue([\"MAESTRO_A2A_AGENT_NAME\", \"MAESTRO_AGENT_NAME\"]) ??\n\t\t\"Maestro A2A Peer\";\n\tconst description =\n\t\tstringFlag(parsed, \"--description\") ??\n\t\tgetEnvValue([\n\t\t\t\"MAESTRO_A2A_AGENT_DESCRIPTION\",\n\t\t\t\"MAESTRO_AGENT_DESCRIPTION\",\n\t\t]) ??\n\t\t\"Maestro peer exposing governed Codex subagent lanes through A2A.\";\n\tconst workspaceId = stringFlag(parsed, \"--workspace-id\");\n\tconst capabilities = stringListFlag(\n\t\tparsed,\n\t\t\"--capabilities\",\n\t\tdefaultMaestroA2ACapabilities(),\n\t);\n\tconst surfaces = stringListFlag(parsed, \"--surface\", [\"a2a\", \"maestro\"]);\n\tconst surfaceTypes = stringListFlag(parsed, \"--surface-types\", [\n\t\t\"SURFACE_MAESTRO\",\n\t]);\n\tconst publicEndpointUrl = heartbeatOnly\n\t\t? undefined\n\t\t: (stringFlag(parsed, \"--public-url\") ??\n\t\t\tstringFlag(parsed, \"--url\") ??\n\t\t\tgetEnvValue([\n\t\t\t\t\"MAESTRO_A2A_PUBLIC_URL\",\n\t\t\t\t\"MAESTRO_CONTROL_PUBLIC_URL\",\n\t\t\t\t\"MAESTRO_A2A_URL\",\n\t\t\t\t\"MAESTRO_CONTROL_URL\",\n\t\t\t]) ??\n\t\t\tfail(\"Provide --url or set MAESTRO_A2A_PUBLIC_URL.\"));\n\tconst a2a = publicEndpointUrl\n\t\t? buildMaestroA2APeerProjection({\n\t\t\t\tpublicEndpointUrl,\n\t\t\t\tinternalEndpointUrl:\n\t\t\t\t\tstringFlag(parsed, \"--internal-url\") ??\n\t\t\t\t\tgetEnvValue([\n\t\t\t\t\t\t\"MAESTRO_A2A_INTERNAL_URL\",\n\t\t\t\t\t\t\"MAESTRO_CONTROL_INTERNAL_URL\",\n\t\t\t\t\t]),\n\t\t\t\tagentCardUrl: stringFlag(parsed, \"--agent-card-url\"),\n\t\t\t\tprotocolVersion: stringFlag(parsed, \"--protocol-version\"),\n\t\t\t\tagentCardETag: stringFlag(parsed, \"--agent-card-etag\"),\n\t\t\t\tagentCardHash: stringFlag(parsed, \"--agent-card-hash\"),\n\t\t\t\tsecuritySchemes: stringListFlag(parsed, \"--security-schemes\", [\n\t\t\t\t\t\"evalops-agent-token\",\n\t\t\t\t]),\n\t\t\t\tattributes: {\n\t\t\t\t\tpublishedBy: \"maestro a2a register\",\n\t\t\t\t},\n\t\t\t})\n\t\t: undefined;\n\tconst updateOnly = booleanFlag(parsed, \"--update-only\");\n\tconst shouldHeartbeat = !booleanFlag(parsed, \"--no-heartbeat\");\n\tif (heartbeatOnly && !shouldHeartbeat) {\n\t\tfail(\"--heartbeat-only cannot be combined with --no-heartbeat.\");\n\t}\n\tlet operation: \"registered\" | \"updated\" | \"heartbeat\" = \"registered\";\n\tlet agent: PlatformAgentRegistryAgent | undefined;\n\n\tif (heartbeatOnly) {\n\t\tif (!agentId) {\n\t\t\tfail(\"Usage: maestro a2a register --heartbeat-only --agent-id <id>\");\n\t\t}\n\t\toperation = \"heartbeat\";\n\t} else if (updateOnly) {\n\t\tif (!agentId) {\n\t\t\tfail(\n\t\t\t\t\"Usage: maestro a2a register --update-only --agent-id <id> --url <base-url>\",\n\t\t\t);\n\t\t}\n\t\tconst updated = await updateAgentWithPlatform({\n\t\t\tworkspaceId,\n\t\t\tid: agentId,\n\t\t\tname,\n\t\t\tdescription,\n\t\t\tcapabilities,\n\t\t\tsurfaces,\n\t\t\tsurfaceTypes,\n\t\t\ta2a,\n\t\t});\n\t\tif (!updated) {\n\t\t\tfail(agentRegistryNotConfiguredMessage());\n\t\t}\n\t\toperation = \"updated\";\n\t\tagent = updated.agent;\n\t} else {\n\t\ttry {\n\t\t\tconst registered = await registerAgentWithPlatform({\n\t\t\t\tworkspaceId,\n\t\t\t\tid: agentId,\n\t\t\t\tname,\n\t\t\t\tdescription,\n\t\t\t\tagentType: stringFlag(parsed, \"--type\") ?? \"maestro\",\n\t\t\t\tcapabilities,\n\t\t\t\tsurfaces,\n\t\t\t\tsurfaceTypes,\n\t\t\t\townerId: stringFlag(parsed, \"--owner-id\"),\n\t\t\t\ta2a,\n\t\t\t});\n\t\t\tif (!registered) {\n\t\t\t\tfail(agentRegistryNotConfiguredMessage());\n\t\t\t}\n\t\t\tagent = registered.agent;\n\t\t} catch (error) {\n\t\t\tif (!agentId || !isAgentAlreadyExistsError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst updated = await updateAgentWithPlatform({\n\t\t\t\tworkspaceId,\n\t\t\t\tid: agentId,\n\t\t\t\tname,\n\t\t\t\tdescription,\n\t\t\t\tcapabilities,\n\t\t\t\tsurfaces,\n\t\t\t\tsurfaceTypes,\n\t\t\t\ta2a,\n\t\t\t});\n\t\t\tif (!updated) {\n\t\t\t\tfail(agentRegistryNotConfiguredMessage());\n\t\t\t}\n\t\t\toperation = \"updated\";\n\t\t\tagent = updated.agent;\n\t\t}\n\t}\n\n\tconst resolvedAgentId =\n\t\tagent?.id ?? agentId ?? fail(\"Agent Registry did not return an agent id.\");\n\tconst heartbeat = shouldHeartbeat\n\t\t? await heartbeatAgentWithPlatform({\n\t\t\t\tworkspaceId,\n\t\t\t\tagentId: resolvedAgentId,\n\t\t\t\tstatus: stringFlag(parsed, \"--status\") ?? PlatformAgentStatusValue.Idle,\n\t\t\t\tsurface: surfaces[0],\n\t\t\t\tsurfaceType: surfaceTypes[0],\n\t\t\t\ta2a,\n\t\t\t})\n\t\t: null;\n\tif (shouldHeartbeat && !heartbeat) {\n\t\tfail(agentRegistryNotConfiguredMessage());\n\t}\n\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(\n\t\t\tJSON.stringify(\n\t\t\t\t{\n\t\t\t\t\toperation,\n\t\t\t\t\tagentId: resolvedAgentId,\n\t\t\t\t\tagent,\n\t\t\t\t\theartbeat,\n\t\t\t\t\ta2a,\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t);\n\t\treturn;\n\t}\n\n\tconst verb = operation === \"registered\" ? \"Registered\" : \"Updated\";\n\tconsole.log(\n\t\toperation === \"heartbeat\"\n\t\t\t? `Sent Platform A2A heartbeat for ${chalk.bold(resolvedAgentId)}${a2a ? ` at ${a2a.publicEndpointUrl}` : \"\"}`\n\t\t\t: `${verb} Platform A2A peer ${chalk.bold(resolvedAgentId)} at ${\n\t\t\t\t\ta2a?.publicEndpointUrl ?? publicEndpointUrl\n\t\t\t\t}`,\n\t);\n\tconsole.log(\n\t\tchalk.dim(\n\t\t\t`Skills: ${a2a?.skills?.map((skill) => skill.id).join(\", \") ?? \"none\"}`,\n\t\t),\n\t);\n\tif (heartbeat?.nextHeartbeatBy) {\n\t\tconsole.log(chalk.dim(`Next heartbeat by: ${heartbeat.nextHeartbeatBy}`));\n\t}\n}\n\nasync function importDiscoveredA2APeers(\n\tparsed: ParsedA2AArgs,\n\tcandidates: PlatformAgentRegistryA2APeerCandidate[],\n\tdiscoveryEvidence?: PlatformAgentDiscoveryEvidence,\n): Promise<\n\tArray<{\n\t\tname: string;\n\t\tpath: string;\n\t\turl: string;\n\t\tagentId?: string;\n\t}>\n> {\n\tconst registryPath = stringFlag(parsed, \"--registry\");\n\tconst registry = await loadA2APeerRegistry({ path: registryPath });\n\tconst now = new Date().toISOString();\n\tconst makeDefault = booleanFlag(parsed, \"--default\");\n\tlet defaultAssigned = false;\n\tconst importedNames = new Set<string>();\n\tconst imported: Array<{\n\t\tname: string;\n\t\tpath: string;\n\t\turl: string;\n\t\tagentId?: string;\n\t}> = [];\n\tcandidates.forEach((candidate, index) => {\n\t\tconst name = uniqueDiscoveredPeerName({\n\t\t\tbaseName: discoveredPeerName(candidate, index),\n\t\t\tcandidate,\n\t\t\timportedNames,\n\t\t\tpeers: registry.peers,\n\t\t});\n\t\tconst previous = registry.peers[name];\n\t\tconst entry: A2APeerRegistryEntry = {\n\t\t\t...previous,\n\t\t\turl: candidate.endpointUrl,\n\t\t\tdisplayName: candidate.agent.name ?? previous?.displayName,\n\t\t\tagentCardUrl: candidate.agentCardUrl ?? previous?.agentCardUrl,\n\t\t\tprotocolBinding: candidate.protocolBinding ?? previous?.protocolBinding,\n\t\t\tprotocolVersion: candidate.protocolVersion ?? previous?.protocolVersion,\n\t\t\tworkspaceId: candidate.agent.workspaceId ?? previous?.workspaceId,\n\t\t\tagentId: candidate.agent.id ?? previous?.agentId,\n\t\t\tcapabilities: {\n\t\t\t\t...previous?.capabilities,\n\t\t\t\t...(candidate.pushNotifications === undefined\n\t\t\t\t\t? {}\n\t\t\t\t\t: { pushNotifications: candidate.pushNotifications }),\n\t\t\t},\n\t\t\tskills:\n\t\t\t\tcandidate.skills.length > 0\n\t\t\t\t\t? candidate.skills.map((skill) => ({\n\t\t\t\t\t\t\tid: skill.id,\n\t\t\t\t\t\t\tname: skill.name ?? skill.id,\n\t\t\t\t\t\t\t...(skill.description ? { description: skill.description } : {}),\n\t\t\t\t\t\t\t...(skill.tags ? { tags: skill.tags } : {}),\n\t\t\t\t\t\t\t...(skill.inputModes ? { inputModes: skill.inputModes } : {}),\n\t\t\t\t\t\t\t...(skill.outputModes ? { outputModes: skill.outputModes } : {}),\n\t\t\t\t\t\t\t...(skill.requiredContextGrants\n\t\t\t\t\t\t\t\t? { requiredContextGrants: skill.requiredContextGrants }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.approvalPolicyRef\n\t\t\t\t\t\t\t\t? { approvalPolicyRef: skill.approvalPolicyRef }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.maxAutonomy ? { maxAutonomy: skill.maxAutonomy } : {}),\n\t\t\t\t\t\t\t...(skill.requiredArtifactKinds\n\t\t\t\t\t\t\t\t? { requiredArtifactKinds: skill.requiredArtifactKinds }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.optionalArtifactKinds\n\t\t\t\t\t\t\t\t? { optionalArtifactKinds: skill.optionalArtifactKinds }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.allowedTaskClasses\n\t\t\t\t\t\t\t\t? { allowedTaskClasses: skill.allowedTaskClasses }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.deniedTaskClasses\n\t\t\t\t\t\t\t\t? { deniedTaskClasses: skill.deniedTaskClasses }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.attributes ? { attributes: skill.attributes } : {}),\n\t\t\t\t\t\t\t...(skill.metadata ? { metadata: skill.metadata } : {}),\n\t\t\t\t\t\t}))\n\t\t\t\t\t: previous?.skills,\n\t\t\tmetadata: compactA2APeerMetadata({\n\t\t\t\t...a2APeerMetadataWithoutDiscoveryEvidence(previous?.metadata),\n\t\t\t\tsource: \"platform-agent-registry\",\n\t\t\t\tplatformAgentId: candidate.agent.id,\n\t\t\t\tplatformAgentType: candidate.agent.agentType,\n\t\t\t\tplatformAgentStatus: candidate.agent.status,\n\t\t\t\tselectedEndpoint: candidate.endpointKind,\n\t\t\t\ta2aPushNotifications: candidate.pushNotifications,\n\t\t\t\t...a2ADiscoveryEvidenceMetadata(discoveryEvidence),\n\t\t\t}),\n\t\t\tcreatedAt: previous?.createdAt ?? now,\n\t\t\tupdatedAt: now,\n\t\t};\n\t\tregistry.peers[name] = entry;\n\t\tif ((makeDefault || !registry.defaultPeer) && !defaultAssigned) {\n\t\t\tregistry.defaultPeer = name;\n\t\t\tdefaultAssigned = true;\n\t\t}\n\t\timported.push({\n\t\t\tname,\n\t\t\tpath: \"\",\n\t\t\turl: entry.url,\n\t\t\t...(entry.agentId ? { agentId: entry.agentId } : {}),\n\t\t});\n\t});\n\treturn saveA2APeerRegistry(registry, { path: registryPath }).then((path) =>\n\t\timported.map((entry) => ({ ...entry, path })),\n\t);\n}\n\nasync function handleA2ACard(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName = parsed.positionals.shift();\n\tconst peer = await resolveA2APeer(peerName, {\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t});\n\tconst card = await discoverA2AAgentCard(peer.config);\n\tconsole.log(JSON.stringify(card, null, 2));\n}\n\nasync function handleA2AFleet(parsed: ParsedA2AArgs): Promise<void> {\n\tconst fleet = await inspectA2AFleet({\n\t\tregistryPath: stringFlag(parsed, \"--registry\"),\n\t\ttasksPath: stringFlag(parsed, \"--tasks\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t});\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(JSON.stringify(fleet, null, 2));\n\t\treturn;\n\t}\n\tconsole.log(`A2A fleet (${fleet.registryPath})`);\n\tif (fleet.peers.length === 0) {\n\t\tconsole.log(\n\t\t\tchalk.dim(\" No peers registered. Run maestro a2a accept <code>.\"),\n\t\t);\n\t\treturn;\n\t}\n\tfor (const peer of fleet.peers) {\n\t\tconst status =\n\t\t\tpeer.status === \"online\" ? chalk.green(\"online\") : chalk.yellow(\"down\");\n\t\tconst label = peer.displayName\n\t\t\t? `${peer.name} (${peer.displayName})`\n\t\t\t: peer.name;\n\t\tconsole.log(`${status} ${chalk.bold(label)} ${chalk.dim(peer.url)}`);\n\t\tif (peer.model || peer.cwd || peer.auth) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(\n\t\t\t\t\t` ${[\n\t\t\t\t\t\tpeer.model ? `model=${peer.model}` : undefined,\n\t\t\t\t\t\tpeer.cwd ? `cwd=${peer.cwd}` : undefined,\n\t\t\t\t\t\tpeer.auth ? `auth=${peer.auth}` : undefined,\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tif (peer.lastTask) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(\n\t\t\t\t\t` last=${peer.lastTask.id} ${peer.lastTask.state} ${peer.lastTask.text}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tif (peer.error) {\n\t\t\tconsole.log(chalk.dim(` error=${peer.error}`));\n\t\t}\n\t}\n}\n\nasync function handleA2ACockpit(parsed: ParsedA2AArgs): Promise<void> {\n\tconst cockpit = await buildA2ACockpit({\n\t\tregistryPath: stringFlag(parsed, \"--registry\"),\n\t\ttasksPath: stringFlag(parsed, \"--tasks\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t\tpeer: stringFlag(parsed, \"--peer\"),\n\t\tlimit: numberFlag(parsed, \"--limit\"),\n\t});\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(JSON.stringify(cockpit, null, 2));\n\t\treturn;\n\t}\n\n\tconsole.log(`A2A cockpit (${cockpit.registryPath})`);\n\tconsole.log(chalk.dim(` tasks=${cockpit.tasksPath}`));\n\tconsole.log(\n\t\t[\n\t\t\t`${cockpit.counts.onlinePeers}/${cockpit.counts.peers} peers online`,\n\t\t\t`${cockpit.counts.runningTasks} running`,\n\t\t\t`${cockpit.counts.actionRequiredTasks} waiting`,\n\t\t\t`${cockpit.counts.failedTasks} failed`,\n\t\t\t`${cockpit.counts.completedTasks} completed`,\n\t\t].join(\" · \"),\n\t);\n\tconsole.log(chalk.bold(\"\\nPeers\"));\n\tif (cockpit.peers.length === 0) {\n\t\tconsole.log(\n\t\t\tchalk.dim(\" No peers registered. Run maestro a2a accept <code>.\"),\n\t\t);\n\t} else {\n\t\tfor (const peer of cockpit.peers) {\n\t\t\tconst status =\n\t\t\t\tpeer.status === \"online\" ? chalk.green(\"online\") : chalk.yellow(\"down\");\n\t\t\tconst waiting = peer.taskCounts.actionRequiredTasks;\n\t\t\tconst failed = peer.taskCounts.failedTasks;\n\t\t\tconst taskSummary = [\n\t\t\t\tpeer.taskCounts.runningTasks\n\t\t\t\t\t? `${peer.taskCounts.runningTasks} running`\n\t\t\t\t\t: \"\",\n\t\t\t\twaiting ? chalk.yellow(`${waiting} waiting`) : \"\",\n\t\t\t\tfailed ? chalk.red(`${failed} failed`) : \"\",\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(\", \");\n\t\t\tconsole.log(\n\t\t\t\t`${status} ${chalk.bold(peer.name)} ${chalk.dim(peer.url)}${\n\t\t\t\t\ttaskSummary ? ` ${chalk.dim(`(${taskSummary})`)}` : \"\"\n\t\t\t\t}`,\n\t\t\t);\n\t\t\tif (peer.lastTask) {\n\t\t\t\tconsole.log(\n\t\t\t\t\tchalk.dim(\n\t\t\t\t\t\t` last=${peer.lastTask.id} ${peer.lastTask.state} ${peer.lastTask.text}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (peer.error) {\n\t\t\t\tconsole.log(chalk.dim(` error=${peer.error}`));\n\t\t\t}\n\t\t}\n\t}\n\n\tconsole.log(chalk.bold(\"\\nTasks\"));\n\tif (cockpit.tasks.length === 0) {\n\t\tconsole.log(chalk.dim(\" No delegated tasks recorded yet.\"));\n\t} else {\n\t\tfor (const task of cockpit.tasks) {\n\t\t\tconst peerLabel = task.orphanedPeer\n\t\t\t\t? `${task.peer} ${chalk.yellow(\"(orphaned peer)\")}`\n\t\t\t\t: task.peer;\n\t\t\tconsole.log(\n\t\t\t\t`${peerLabel} ${chalk.bold(task.taskId)} ${formatCockpitTaskStatus(\n\t\t\t\t\ttask.status,\n\t\t\t\t)} ${chalk.dim(task.updatedAt)}`,\n\t\t\t);\n\t\t\tconsole.log(chalk.dim(` ${task.text}`));\n\t\t\tif (task.nextCommand) {\n\t\t\t\tconsole.log(chalk.dim(` next: ${task.nextCommand}`));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (cockpit.nextActions.length > 0) {\n\t\tconsole.log(chalk.bold(\"\\nNext actions\"));\n\t\tfor (const action of cockpit.nextActions) {\n\t\t\tconsole.log(\n\t\t\t\t`${formatCockpitActionSeverity(action.severity)} ${action.label}`,\n\t\t\t);\n\t\t\tconsole.log(chalk.dim(` ${action.command}`));\n\t\t}\n\t}\n}\n\nasync function handleA2ASend(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName =\n\t\tparsed.positionals.shift() ?? fail(\"Usage: maestro a2a send <peer> <text>\");\n\tconst text = parsed.positionals.join(\" \").trim();\n\tif (!text) {\n\t\tfail(\"Usage: maestro a2a send <peer> <text>\");\n\t}\n\tconst peer = await resolveA2APeer(peerName, {\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t});\n\tconst wait = booleanFlag(parsed, \"--wait\");\n\tconst messageId = `maestro-a2a-message-${randomUUID()}`;\n\tconst contextId = `maestro-a2a-context-${randomUUID()}`;\n\tconst metadata = {\n\t\trequestKind: \"maestro-peer-message\",\n\t\trelayPeer: peer.name,\n\t};\n\tconst sent = await sendA2AMessage(peer.config, {\n\t\tmessage: buildA2AUserMessage({\n\t\t\tmessageId,\n\t\t\tcontextId,\n\t\t\ttext,\n\t\t\tmetadata,\n\t\t}),\n\t\tconfiguration: { returnImmediately: true },\n\t});\n\tawait persistA2ALedgerBestEffort(\"record sent task locally\", () =>\n\t\trecordA2ATaskStart({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: peer.name,\n\t\t\tpeerDisplayName: peer.entry.displayName,\n\t\t\ttask: sent.task,\n\t\t\ttext,\n\t\t\tmessageId,\n\t\t\tcontextId,\n\t\t\tkind: \"message\",\n\t\t\tmetadata,\n\t\t}),\n\t);\n\tconst task = wait\n\t\t? await waitForA2ATask(peer.config, sent.task.id, parsed)\n\t\t: sent.task;\n\tif (wait) {\n\t\tawait persistA2ALedgerBestEffort(\"sync sent task result locally\", () =>\n\t\t\tupdateA2ATaskInLedger({\n\t\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\t\tpeer: peer.name,\n\t\t\t\ttask,\n\t\t\t}),\n\t\t);\n\t}\n\tprintTask(task, {\n\t\tincludeWorkGraphDetails: booleanFlag(parsed, \"--work-graph\"),\n\t});\n}\n\nasync function handleA2ADelegate(parsed: ParsedA2AArgs): Promise<void> {\n\tif (booleanFlag(parsed, \"--platform\")) {\n\t\tawait handleA2APlatformDelegate(parsed);\n\t\treturn;\n\t}\n\tconst discover = booleanFlag(parsed, \"--discover\");\n\tconst peerName = discover\n\t\t? undefined\n\t\t: (parsed.positionals.shift() ??\n\t\t\tfail(\"Usage: maestro a2a delegate <peer> <text>\"));\n\tconst text = parsed.positionals.join(\" \").trim();\n\tif (!text) {\n\t\tfail(\n\t\t\tdiscover\n\t\t\t\t? \"Usage: maestro a2a delegate --discover --skill <skill-id> <text>\"\n\t\t\t\t: \"Usage: maestro a2a delegate <peer> <text>\",\n\t\t);\n\t}\n\tconst discoveredPeer = discover\n\t\t? await resolveDiscoveredA2ADelegatePeer(parsed)\n\t\t: undefined;\n\tconst peer = discoveredPeer\n\t\t? discoveredPeer.peer\n\t\t: await resolveA2APeer(peerName, {\n\t\t\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\t\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t\t\t});\n\tconst wait = booleanFlag(parsed, \"--wait\");\n\tconst role = stringFlag(parsed, \"--role\");\n\tconst cwd = stringFlag(parsed, \"--cwd\") ?? process.cwd();\n\tconst messageId = `maestro-a2a-message-${randomUUID()}`;\n\tconst contextId = `maestro-a2a-context-${randomUUID()}`;\n\tconst skillId = stringFlag(parsed, \"--skill\");\n\tconst skill = selectA2APeerSkill(peer.entry.skills, skillId);\n\tconst delegationMetadata = buildA2ADelegationMetadata({\n\t\tpeerName: peer.name,\n\t\trole,\n\t\tcwd,\n\t\tskillId,\n\t\tskill,\n\t\tdiscoverySource: discover ? \"platform-agent-registry\" : undefined,\n\t\tdiscoverySelection: discoveredPeer?.discoverySelection,\n\t});\n\tconst ledgerMetadata = buildA2ADelegationLedgerMetadata({\n\t\tpeerName: peer.name,\n\t\trole,\n\t\tcwd,\n\t\tskillId,\n\t\tdiscoverySource: discover ? \"platform-agent-registry\" : undefined,\n\t\tdiscoverySelection: discoveredPeer?.discoverySelection,\n\t});\n\tconst sent = await sendA2AMessage(peer.config, {\n\t\tmessage: buildA2AUserMessage({\n\t\t\tmessageId,\n\t\t\tcontextId,\n\t\t\ttext,\n\t\t\tmetadata: delegationMetadata,\n\t\t}),\n\t\tconfiguration: { returnImmediately: true },\n\t});\n\tconsole.log(`Delegated to ${chalk.bold(peer.name)} as task ${sent.task.id}`);\n\tawait persistA2ALedgerBestEffort(\"record delegated task locally\", () =>\n\t\trecordA2ATaskStart({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: peer.name,\n\t\t\tpeerDisplayName: peer.entry.displayName,\n\t\t\ttask: sent.task,\n\t\t\ttext,\n\t\t\tmessageId,\n\t\t\tcontextId,\n\t\t\tkind: \"delegation\",\n\t\t\trole,\n\t\t\tcwd,\n\t\t\tmetadata: ledgerMetadata,\n\t\t}),\n\t);\n\tconst task = wait\n\t\t? await waitForA2ATask(peer.config, sent.task.id, parsed)\n\t\t: sent.task;\n\tif (wait) {\n\t\tawait persistA2ALedgerBestEffort(\"sync delegated task result locally\", () =>\n\t\t\tupdateA2ATaskInLedger({\n\t\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\t\tpeer: peer.name,\n\t\t\t\ttask,\n\t\t\t}),\n\t\t);\n\t}\n\tprintTask(task, {\n\t\tincludeWorkGraphDetails: booleanFlag(parsed, \"--work-graph\"),\n\t});\n}\n\nasync function handleA2APlatformDelegate(parsed: ParsedA2AArgs): Promise<void> {\n\tconst text = parsed.positionals.join(\" \").trim();\n\tif (!text) {\n\t\tfail(\n\t\t\t\"Usage: maestro a2a delegate --platform --from-agent-id <agent-id> [--to-agent-id <agent-id>|--capability <capability>] --skill <skill-id> <text>\",\n\t\t);\n\t}\n\tconst fromAgentId =\n\t\tstringFlag(parsed, \"--from-agent-id\") ??\n\t\tgetEnvValue([\n\t\t\t\"MAESTRO_A2A_AGENT_ID\",\n\t\t\t\"MAESTRO_AGENT_ID\",\n\t\t\t\"MAESTRO_EVALOPS_AGENT_ID\",\n\t\t\t\"EVALOPS_AGENT_ID\",\n\t\t]) ??\n\t\tfail(\n\t\t\t\"Provide --from-agent-id or set MAESTRO_A2A_AGENT_ID/MAESTRO_AGENT_ID.\",\n\t\t);\n\tconst toAgentId = stringFlag(parsed, \"--to-agent-id\");\n\tconst requiredCapability = stringFlag(parsed, \"--capability\");\n\tconst skillId = stringFlag(parsed, \"--skill\");\n\tif (!toAgentId && !requiredCapability && !skillId) {\n\t\tfail(\n\t\t\t\"Provide --to-agent-id, --capability, or --skill for Platform routing.\",\n\t\t);\n\t}\n\tconst role = stringFlag(parsed, \"--role\");\n\tconst cwd = stringFlag(parsed, \"--cwd\") ?? process.cwd();\n\tconst requestedAt = new Date().toISOString();\n\tconst result = await delegateAgentWithPlatform({\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\tfromAgentId,\n\t\ttoAgentId,\n\t\trequiredCapability,\n\t\ta2aSkillId: skillId,\n\t\tobjectiveId: stringFlag(parsed, \"--objective-id\"),\n\t\tworkflowRunId: stringFlag(parsed, \"--workflow-run-id\"),\n\t\tworkflowStepId: stringFlag(parsed, \"--workflow-step-id\"),\n\t\tcontextPayload: {\n\t\t\trequestKind: \"maestro-peer-delegation\",\n\t\t\ttransport: \"platform-a2a\",\n\t\t\tprompt: text,\n\t\t\tsource: \"maestro-cli\",\n\t\t\trequestedAt,\n\t\t\t...(role ? { role } : {}),\n\t\t\t...(cwd ? { cwd } : {}),\n\t\t\t...(skillId ? { a2aSkillId: skillId } : {}),\n\t\t\t...(requiredCapability ? { requiredCapability } : {}),\n\t\t},\n\t\treason:\n\t\t\tstringFlag(parsed, \"--reason\") ??\n\t\t\tplatformDelegationReason(text, skillId, requiredCapability),\n\t});\n\tif (!result) {\n\t\tfail(agentRegistryNotConfiguredMessage());\n\t}\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(JSON.stringify(result, null, 2));\n\t\treturn;\n\t}\n\tconst delegation = result.delegation;\n\tconsole.log(\n\t\t`Platform A2A delegation ${chalk.bold(delegation?.id ?? \"(submitted)\")}: ${\n\t\t\tdelegation?.status ?? \"submitted\"\n\t\t}`,\n\t);\n\tconsole.log(chalk.dim(`From: ${fromAgentId}`));\n\tif (delegation?.toAgentId ?? toAgentId) {\n\t\tconsole.log(chalk.dim(`To: ${delegation?.toAgentId ?? toAgentId}`));\n\t}\n\tif (delegation?.a2aTaskId) {\n\t\tconsole.log(chalk.dim(`Remote task: ${delegation.a2aTaskId}`));\n\t}\n\tif (delegation?.a2aEndpointUrl) {\n\t\tconsole.log(chalk.dim(`Endpoint: ${delegation.a2aEndpointUrl}`));\n\t}\n\tif (delegation?.a2aDispatchStatus) {\n\t\tconsole.log(chalk.dim(`Dispatch: ${delegation.a2aDispatchStatus}`));\n\t}\n\tif (delegation?.a2aResumeWaitContracts?.length) {\n\t\tconsole.log(\n\t\t\tchalk.dim(`Resume waits: ${delegation.a2aResumeWaitContracts.length}`),\n\t\t);\n\t}\n}\n\nfunction platformDelegationReason(\n\ttext: string,\n\tskillId: string | undefined,\n\trequiredCapability: string | undefined,\n): string {\n\tconst target = skillId ?? requiredCapability ?? \"a2a peer\";\n\tconst compact = text.replace(/\\s+/g, \" \").trim();\n\treturn `maestro a2a delegate ${target}: ${compact.slice(0, 120)}`;\n}\n\nasync function handleA2AControl(parsed: ParsedA2AArgs): Promise<void> {\n\tconst delegationId =\n\t\tstringFlag(parsed, \"--delegation-id\") ??\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a control <delegation-id> --mode <mode> [message]\");\n\tconst mode = normalizeA2AControlMode(\n\t\tstringFlag(parsed, \"--mode\") ??\n\t\t\tparsed.positionals.shift() ??\n\t\t\tfail(\"Provide --mode steer|followup|collect|interrupt|cancel\"),\n\t);\n\tconst message =\n\t\tstringFlag(parsed, \"--message\") ?? parsed.positionals.join(\" \").trim();\n\tconst result = await controlA2ADelegationTaskWithPlatform({\n\t\tdelegationId,\n\t\tmode,\n\t\tmessage: message || undefined,\n\t\tidempotencyKey: stringFlag(parsed, \"--idempotency-key\"),\n\t\ttargetRunId: stringFlag(parsed, \"--target-run-id\"),\n\t\tchildRunId: stringFlag(parsed, \"--child-run-id\"),\n\t\tsubagentLaneId: stringFlag(parsed, \"--subagent-lane-id\"),\n\t\tworkItemId: stringFlag(parsed, \"--work-item-id\"),\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\tmetadata: {\n\t\t\tsource: \"maestro-cli\",\n\t\t\trequestedAt: new Date().toISOString(),\n\t\t},\n\t});\n\tif (!result) {\n\t\tfail(agentRegistryNotConfiguredMessage());\n\t}\n\tconsole.log(\n\t\t`Control ${chalk.bold(result.remoteTask?.controlId ?? \"(queued)\")}: ${\n\t\t\tresult.remoteTask?.state ?? \"submitted\"\n\t\t}`,\n\t);\n\tif (result.remoteTask?.taskId) {\n\t\tconsole.log(chalk.dim(`Task: ${result.remoteTask.taskId}`));\n\t}\n\tif (result.delegation?.id) {\n\t\tconsole.log(chalk.dim(`Delegation: ${result.delegation.id}`));\n\t}\n}\n\nasync function handleA2AGraph(parsed: ParsedA2AArgs): Promise<void> {\n\tconst delegationId =\n\t\tstringFlag(parsed, \"--delegation-id\") ?? parsed.positionals.shift();\n\tconst rootDelegationId =\n\t\tstringFlag(parsed, \"--root-delegation-id\") ?? stringFlag(parsed, \"--root\");\n\tif (!delegationId && !rootDelegationId) {\n\t\tfail(\n\t\t\t\"Usage: maestro a2a graph <delegation-id> [--root <root-delegation-id>] [--json]\",\n\t\t);\n\t}\n\tconst result = await getA2ADelegationGraphWithPlatform({\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\tdelegationId,\n\t\trootDelegationId,\n\t\tmaxDepth: nonNegativeNumberFlag(parsed, \"--max-depth\"),\n\t\tlimit: nonNegativeNumberFlag(parsed, \"--limit\"),\n\t});\n\tif (!result) {\n\t\tfail(agentRegistryNotConfiguredMessage());\n\t}\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(JSON.stringify(result, null, 2));\n\t\treturn;\n\t}\n\tconsole.log(\n\t\t`Platform A2A delegation graph ${\n\t\t\tresult.rootDelegationId ? chalk.dim(result.rootDelegationId) : \"\"\n\t\t}`.trim(),\n\t);\n\tconst summary = [\n\t\tresult.total !== undefined ? `total=${result.total}` : undefined,\n\t\tresult.truncated !== undefined\n\t\t\t? `truncated=${result.truncated}`\n\t\t\t: undefined,\n\t\tresult.missingParentDelegationIds?.length\n\t\t\t? `missing_parents=${result.missingParentDelegationIds.length}`\n\t\t\t: undefined,\n\t]\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n\tif (summary) {\n\t\tconsole.log(chalk.dim(` ${summary}`));\n\t}\n\tif (result.nodes.length === 0) {\n\t\tconsole.log(chalk.dim(\" No delegation graph nodes returned.\"));\n\t\treturn;\n\t}\n\tfor (const node of result.nodes) {\n\t\tconst delegation = node.delegation;\n\t\tconst label =\n\t\t\tdelegation?.id ??\n\t\t\t(node.depth !== undefined ? `depth-${node.depth}` : \"delegation\");\n\t\tconsole.log(\n\t\t\t`${chalk.bold(label)} ${chalk.dim(\n\t\t\t\t[\n\t\t\t\t\tnode.depth !== undefined ? `depth=${node.depth}` : undefined,\n\t\t\t\t\tdelegation?.status,\n\t\t\t\t\tnode.terminal ? \"terminal\" : undefined,\n\t\t\t\t\tnode.childCount !== undefined\n\t\t\t\t\t\t? `children=${node.childCount}`\n\t\t\t\t\t\t: undefined,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \"),\n\t\t\t)}`,\n\t\t);\n\t\tconst lineage = delegation?.a2aDelegationChain?.join(\" -> \");\n\t\tconst taskId = delegation?.a2aTaskId;\n\t\tif (taskId || lineage) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(\n\t\t\t\t\t` ${[\n\t\t\t\t\t\ttaskId ? `task=${taskId}` : undefined,\n\t\t\t\t\t\tlineage ? `lineage=${lineage}` : undefined,\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\tif (result.edges.length > 0) {\n\t\tconsole.log(chalk.dim(` edges=${result.edges.length}`));\n\t}\n}\n\nasync function resolveDiscoveredA2ADelegatePeer(\n\tparsed: ParsedA2AArgs,\n): Promise<{\n\tpeer: Awaited<ReturnType<typeof resolveA2APeer>>;\n\tdiscoverySelection: A2ADiscoverySelection;\n}> {\n\tconst skillId = stringFlag(parsed, \"--skill\");\n\tif (!skillId) {\n\t\tfail(\"Usage: maestro a2a delegate --discover --skill <skill-id> <text>\");\n\t}\n\tconst discovery = await listA2APeerCandidatesWithEvidenceWithPlatform({\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\tcapability: stringFlag(parsed, \"--capability\"),\n\t\tsurface: stringFlag(parsed, \"--surface\") ?? \"a2a\",\n\t\tstatus: stringFlag(parsed, \"--status\") ?? PlatformAgentStatusValue.Idle,\n\t\tlimit: numberFlag(parsed, \"--limit\") ?? 10,\n\t\toffset: nonNegativeNumberFlag(parsed, \"--offset\"),\n\t\tskillId,\n\t\tpreferInternalEndpoint: booleanFlag(parsed, \"--prefer-internal\"),\n\t});\n\tif (!discovery) {\n\t\tfail(\n\t\t\t\"Agent Registry service is not configured. Set AGENT_REGISTRY_SERVICE_URL, AGENT_REGISTRY_SERVICE_TOKEN, AGENT_REGISTRY_ORGANIZATION_ID, and AGENT_REGISTRY_WORKSPACE_ID.\",\n\t\t);\n\t}\n\tconst candidates = discovery.candidates;\n\tif (candidates.length === 0) {\n\t\tfail(`No Platform A2A peers advertise skill ${skillId}.`);\n\t}\n\tconst selected = selectA2ACapabilityPeer(candidates, {\n\t\tskillId,\n\t\tpreferInternalEndpoint: booleanFlag(parsed, \"--prefer-internal\"),\n\t});\n\tconst candidate = selected?.candidate;\n\tif (!candidate || !selected) {\n\t\tfail(`No Platform A2A peers advertise skill ${skillId}.`);\n\t}\n\tconst imported = await importDiscoveredA2APeers(\n\t\tparsed,\n\t\t[candidate],\n\t\tdiscovery.discoveryEvidence,\n\t);\n\tconst importedPeer = imported[0];\n\tif (!importedPeer) {\n\t\tfail(`Could not import Platform A2A peer for skill ${skillId}.`);\n\t}\n\tconsole.log(\n\t\tchalk.dim(\n\t\t\t`Selected Platform A2A peer ${importedPeer.name} (${importedPeer.url}) for ${skillId}`,\n\t\t),\n\t);\n\tconsole.log(\n\t\tchalk.dim(\n\t\t\t`Capability score: ${selected.score} (${selected.reasons.join(\", \")})`,\n\t\t),\n\t);\n\treturn {\n\t\tpeer: await resolveA2APeer(importedPeer.name, {\n\t\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t\t}),\n\t\tdiscoverySelection: {\n\t\t\tsource: \"platform-agent-registry\",\n\t\t\tevidence: discovery.discoveryEvidence,\n\t\t\tcandidateCount:\n\t\t\t\tdiscovery.discoveryEvidence?.candidateCount ?? candidates.length,\n\t\t\tmatchedCount:\n\t\t\t\tdiscovery.discoveryEvidence?.matchedCount ?? candidates.length,\n\t\t\tselectedAgentId: candidate.agent.id,\n\t\t\tselectedAgentName: candidate.agent.name,\n\t\t\tselectedEndpointUrl: candidate.endpointUrl,\n\t\t\tselectedEndpointKind: candidate.endpointKind,\n\t\t\tscore: selected.score,\n\t\t\treasons: selected.reasons,\n\t\t},\n\t};\n}\n\nfunction selectA2APeerSkill(\n\tskills: A2APeerRegistryEntry[\"skills\"] | undefined,\n\tskillId: string | undefined,\n): NonNullable<A2APeerRegistryEntry[\"skills\"]>[number] | undefined {\n\tif (!skillId) {\n\t\treturn undefined;\n\t}\n\treturn skills?.find((skill) => skill.id === skillId);\n}\n\nfunction buildA2ADelegationMetadata(input: {\n\tpeerName: string;\n\trole?: string;\n\tcwd?: string;\n\tskillId?: string;\n\tskill?: NonNullable<A2APeerRegistryEntry[\"skills\"]>[number];\n\tdiscoverySource?: string;\n\tdiscoverySelection?: A2ADiscoverySelection;\n}): Record<string, unknown> {\n\tconst skill = input.skill;\n\tconst subagentRequestMetadataPath = a2ASkillRequestMetadataPath(skill);\n\tconst discoverySelection = a2ADiscoverySelectionPayload(\n\t\tinput.discoverySelection,\n\t);\n\tconst subagentRequest = input.skillId\n\t\t? {\n\t\t\t\tskillId: input.skillId,\n\t\t\t\t...(skill?.name ? { skillName: skill.name } : {}),\n\t\t\t\t...(skill?.description ? { description: skill.description } : {}),\n\t\t\t\t...(input.role ? { role: input.role } : {}),\n\t\t\t\t...(input.cwd ? { cwd: input.cwd } : {}),\n\t\t\t\t...(skill?.requiredContextGrants\n\t\t\t\t\t? { requiredContextGrants: skill.requiredContextGrants }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.approvalPolicyRef\n\t\t\t\t\t? { approvalPolicyRef: skill.approvalPolicyRef }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.maxAutonomy ? { maxAutonomy: skill.maxAutonomy } : {}),\n\t\t\t\t...(skill?.requiredArtifactKinds\n\t\t\t\t\t? { requiredArtifactKinds: skill.requiredArtifactKinds }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.optionalArtifactKinds\n\t\t\t\t\t? { optionalArtifactKinds: skill.optionalArtifactKinds }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.allowedTaskClasses\n\t\t\t\t\t? { allowedTaskClasses: skill.allowedTaskClasses }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.deniedTaskClasses\n\t\t\t\t\t? { deniedTaskClasses: skill.deniedTaskClasses }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.attributes ? { attributes: skill.attributes } : {}),\n\t\t\t\t...(skill?.metadata ? { metadata: skill.metadata } : {}),\n\t\t\t}\n\t\t: undefined;\n\treturn {\n\t\trequestKind: \"maestro-peer-delegation\",\n\t\trelayPeer: input.peerName,\n\t\t...(input.role ? { delegationRole: input.role } : {}),\n\t\t...(input.cwd ? { delegationCwd: input.cwd } : {}),\n\t\t...(input.discoverySource\n\t\t\t? { discoverySource: input.discoverySource }\n\t\t\t: {}),\n\t\t...(input.skillId ? { a2aSkillId: input.skillId } : {}),\n\t\t...(discoverySelection\n\t\t\t? { \"evalops.a2aDiscovery\": discoverySelection }\n\t\t\t: {}),\n\t\t...(subagentRequest\n\t\t\t? { [subagentRequestMetadataPath]: subagentRequest }\n\t\t\t: {}),\n\t};\n}\n\nfunction a2ASkillRequestMetadataPath(\n\tskill: NonNullable<A2APeerRegistryEntry[\"skills\"]>[number] | undefined,\n): string {\n\treturn (\n\t\tstringMetadataValue(skill?.metadata, \"requestMetadataPath\") ??\n\t\tstringMetadataValue(skill?.metadata, \"request_metadata_path\") ??\n\t\tstringMetadataValue(skill?.attributes, \"requestMetadataPath\") ??\n\t\tstringMetadataValue(skill?.attributes, \"request_metadata_path\") ??\n\t\t\"evalops.subagentRequest\"\n\t);\n}\n\nfunction stringMetadataValue(\n\trecord: Record<string, string | number | boolean> | undefined,\n\tkey: string,\n): string | undefined {\n\tconst value = record?.[key];\n\tif (typeof value !== \"string\") {\n\t\treturn undefined;\n\t}\n\tconst trimmed = value.trim();\n\treturn trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction buildA2ADelegationLedgerMetadata(input: {\n\tpeerName: string;\n\trole?: string;\n\tcwd?: string;\n\tskillId?: string;\n\tdiscoverySource?: string;\n\tdiscoverySelection?: A2ADiscoverySelection;\n}): Record<string, string | number | boolean> | undefined {\n\treturn compactA2APeerMetadata({\n\t\trequestKind: \"maestro-peer-delegation\",\n\t\trelayPeer: input.peerName,\n\t\tdelegationRole: input.role,\n\t\tdelegationCwd: input.cwd,\n\t\tdiscoverySource: input.discoverySource,\n\t\ta2aSkillId: input.skillId,\n\t\t...(input.discoverySelection\n\t\t\t? {\n\t\t\t\t\tplatformDiscoveryDecision:\n\t\t\t\t\t\tinput.discoverySelection.evidence?.decision,\n\t\t\t\t\tplatformDiscoveryCandidateCount:\n\t\t\t\t\t\tinput.discoverySelection.candidateCount,\n\t\t\t\t\tplatformDiscoveryMatchedCount: input.discoverySelection.matchedCount,\n\t\t\t\t\tplatformDiscoverySelectedAgentId:\n\t\t\t\t\t\tinput.discoverySelection.selectedAgentId,\n\t\t\t\t\tplatformDiscoverySelectedEndpoint:\n\t\t\t\t\t\tinput.discoverySelection.selectedEndpointKind,\n\t\t\t\t\ta2aCapabilityScore: input.discoverySelection.score,\n\t\t\t\t}\n\t\t\t: {}),\n\t});\n}\n\nasync function handleA2AReply(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName =\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a reply <peer> <task-id> <text>\");\n\tconst taskId =\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a reply <peer> <task-id> <text>\");\n\tconst text = parsed.positionals.join(\" \").trim();\n\tif (!text) {\n\t\tfail(\"Usage: maestro a2a reply <peer> <task-id> <text>\");\n\t}\n\tconst peer = await resolveA2APeer(peerName, {\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t});\n\tconst existing = await loadA2AReplyLedgerEntry(parsed, peer.name, taskId);\n\tconst wait = booleanFlag(parsed, \"--wait\");\n\tconst messageId = `maestro-a2a-message-${randomUUID()}`;\n\tconst sent = await sendA2AMessage(peer.config, {\n\t\tmessage: buildA2AUserMessage({\n\t\t\tmessageId,\n\t\t\tcontextId: existing?.contextId,\n\t\t\ttaskId,\n\t\t\ttext,\n\t\t\tmetadata: {\n\t\t\t\trequestKind: \"maestro-peer-task-reply\",\n\t\t\t\trelayPeer: peer.name,\n\t\t\t\treferencedTaskId: taskId,\n\t\t\t},\n\t\t}),\n\t\tconfiguration: { returnImmediately: true },\n\t});\n\tconsole.log(`Replied to ${chalk.bold(peer.name)} task ${sent.task.id}`);\n\tawait persistA2ALedgerBestEffort(\"record task reply locally\", () =>\n\t\trecordA2ATaskReply({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: peer.name,\n\t\t\tpeerDisplayName: peer.entry.displayName,\n\t\t\ttask: sent.task,\n\t\t\ttext,\n\t\t\tmessageId,\n\t\t\tmetadata: {\n\t\t\t\trequestKind: \"maestro-peer-task-reply\",\n\t\t\t\trelayPeer: peer.name,\n\t\t\t\treferencedTaskId: taskId,\n\t\t\t},\n\t\t}),\n\t);\n\tconst task = wait\n\t\t? await waitForA2ATask(peer.config, sent.task.id, parsed)\n\t\t: sent.task;\n\tif (wait) {\n\t\tawait persistA2ALedgerBestEffort(\"sync replied task result locally\", () =>\n\t\t\tupdateA2ATaskInLedger({\n\t\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\t\tpeer: peer.name,\n\t\t\t\ttask,\n\t\t\t}),\n\t\t);\n\t}\n\tprintTask(task, {\n\t\tincludeWorkGraphDetails: booleanFlag(parsed, \"--work-graph\"),\n\t});\n}\n\nasync function handleA2ACoordinate(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName = parsed.positionals.shift();\n\tif (parsed.positionals.length > 0) {\n\t\tfail(\"Usage: maestro a2a coordinate [peer] [--reply <text>] [--wait]\");\n\t}\n\tconst replyText = stringFlag(parsed, \"--reply\");\n\tif (parsed.flags.has(\"--reply\") && !replyText) {\n\t\tfail(\"Usage: maestro a2a coordinate [peer] --reply <text> [--wait]\");\n\t}\n\tif (replyText) {\n\t\tawait handleA2ACoordinateReply(parsed, peerName, replyText);\n\t\treturn;\n\t}\n\tawait refreshA2ANonFinalTaskLedger(parsed, peerName);\n\tconst ledger = await loadA2ATaskLedger({\n\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t});\n\tconst tasks = actionableA2ATaskEntries(ledger, peerName);\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(\n\t\t\tJSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tpath: getA2ATaskLedgerPath(stringFlag(parsed, \"--tasks\")),\n\t\t\t\t\ttasks: tasks.map((entry) => ({\n\t\t\t\t\t\tid: entry.id,\n\t\t\t\t\t\tkind: entry.kind,\n\t\t\t\t\t\tpeer: entry.peer,\n\t\t\t\t\t\ttaskId: entry.taskId,\n\t\t\t\t\t\tcontextId: entry.contextId,\n\t\t\t\t\t\tstate: entry.state,\n\t\t\t\t\t\ttext: entry.text,\n\t\t\t\t\t\tresponseText: entry.responseText,\n\t\t\t\t\t\tworkGraph: entry.workGraph,\n\t\t\t\t\t\tupdatedAt: entry.updatedAt,\n\t\t\t\t\t})),\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t);\n\t\treturn;\n\t}\n\tconsole.log(\n\t\t`A2A coordinate (${getA2ATaskLedgerPath(stringFlag(parsed, \"--tasks\"))})`,\n\t);\n\tif (tasks.length === 0) {\n\t\tconsole.log(chalk.dim(\" No actionable A2A tasks require coordination.\"));\n\t\treturn;\n\t}\n\tfor (const task of tasks) {\n\t\tconsole.log(\n\t\t\t`${task.peer} ${chalk.bold(task.taskId)} ${task.state} ${chalk.dim(task.updatedAt)}`,\n\t\t);\n\t\tconsole.log(chalk.dim(` ${task.text}`));\n\t\tif (task.responseText) {\n\t\t\tconsole.log(` ${task.responseText}`);\n\t\t}\n\t\tprintLedgerWorkGraph(task, booleanFlag(parsed, \"--work-graph\"));\n\t}\n}\n\nasync function handleA2ACoordinateReply(\n\tparsed: ParsedA2AArgs,\n\tpeerName: string | undefined,\n\ttext: string,\n): Promise<void> {\n\tawait refreshA2ANonFinalTaskLedger(parsed, peerName);\n\tconst ledger = await loadA2ATaskLedger({\n\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t});\n\tconst entry = selectCoordinateReplyTask(ledger, peerName);\n\tif (!entry) {\n\t\tfail(\"No actionable A2A task is waiting for coordinator input.\");\n\t}\n\tconst peer = await resolveA2APeer(entry.peer, {\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t});\n\tconst messageId = `maestro-a2a-message-${randomUUID()}`;\n\tconst sent = await sendA2AMessage(peer.config, {\n\t\tmessage: buildA2AUserMessage({\n\t\t\tmessageId,\n\t\t\tcontextId: entry.contextId,\n\t\t\ttaskId: entry.taskId,\n\t\t\ttext,\n\t\t\tmetadata: {\n\t\t\t\trequestKind: \"maestro-peer-coordinate-reply\",\n\t\t\t\trelayPeer: peer.name,\n\t\t\t\treferencedTaskId: entry.taskId,\n\t\t\t},\n\t\t}),\n\t\tconfiguration: { returnImmediately: true },\n\t});\n\tconst replyTask: A2ATask = {\n\t\t...sent.task,\n\t\tid: entry.taskId,\n\t\tcontextId: sent.task.contextId ?? entry.contextId,\n\t};\n\tconst json = booleanFlag(parsed, \"--json\");\n\tif (!json) {\n\t\tconsole.log(`Coordinated ${chalk.bold(peer.name)} task ${entry.taskId}`);\n\t}\n\tawait persistA2ALedgerBestEffort(\"record coordinate reply locally\", () =>\n\t\trecordA2ATaskReply({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: peer.name,\n\t\t\tpeerDisplayName: peer.entry.displayName,\n\t\t\ttask: replyTask,\n\t\t\ttext,\n\t\t\tmessageId,\n\t\t\tmetadata: {\n\t\t\t\trequestKind: \"maestro-peer-coordinate-reply\",\n\t\t\t\trelayPeer: peer.name,\n\t\t\t\treferencedTaskId: entry.taskId,\n\t\t\t},\n\t\t}),\n\t);\n\tconst task = booleanFlag(parsed, \"--wait\")\n\t\t? await waitForA2ATask(peer.config, entry.taskId, parsed)\n\t\t: replyTask;\n\tif (booleanFlag(parsed, \"--wait\")) {\n\t\tawait persistA2ALedgerBestEffort(\n\t\t\t\"sync coordinate task result locally\",\n\t\t\t() =>\n\t\t\t\tupdateA2ATaskInLedger({\n\t\t\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\t\t\tpeer: peer.name,\n\t\t\t\t\ttask,\n\t\t\t\t}),\n\t\t);\n\t}\n\tif (json) {\n\t\tconsole.log(JSON.stringify({ peer: peer.name, task }, null, 2));\n\t\treturn;\n\t}\n\tprintTask(task, {\n\t\tincludeWorkGraphDetails: booleanFlag(parsed, \"--work-graph\"),\n\t});\n}\n\nfunction actionableA2ATaskEntries(\n\tledger: { tasks: A2ATaskLedgerEntry[] },\n\tpeerName: string | undefined,\n): A2ATaskLedgerEntry[] {\n\treturn listA2ATaskEntries(ledger, { peer: peerName }).filter((entry) =>\n\t\tisActionRequiredA2AState(entry.state),\n\t);\n}\n\nfunction selectCoordinateReplyTask(\n\tledger: { tasks: A2ATaskLedgerEntry[] },\n\tpeerName: string | undefined,\n): A2ATaskLedgerEntry | undefined {\n\tconst tasks = actionableA2ATaskEntries(ledger, peerName);\n\tif (tasks.length > 1) {\n\t\tfail(\n\t\t\t\"Multiple actionable A2A tasks found; use `maestro a2a reply <peer> <task-id> <text>`.\",\n\t\t);\n\t}\n\treturn tasks[0];\n}\n\nasync function loadA2AReplyLedgerEntry(\n\tparsed: ParsedA2AArgs,\n\tpeerName: string,\n\ttaskId: string,\n): Promise<A2ATaskLedgerEntry | undefined> {\n\ttry {\n\t\tconst ledger = await loadA2ATaskLedger({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t});\n\t\treturn listA2ATaskEntries(ledger, { peer: peerName }).find(\n\t\t\t(entry) => entry.taskId === taskId,\n\t\t);\n\t} catch (error) {\n\t\tif (isAbortError(error)) {\n\t\t\tthrow error;\n\t\t}\n\t\tconsole.error(\n\t\t\tchalk.yellow(\n\t\t\t\t`A2A task ledger warning: could not load task reply context: ${errorMessage(error)}`,\n\t\t\t),\n\t\t);\n\t\treturn undefined;\n\t}\n}\n\nasync function handleA2ATelemetry(parsed: ParsedA2AArgs): Promise<void> {\n\tconst eventsPath =\n\t\tstringFlag(parsed, \"--events\") ??\n\t\tfail(\"Usage: maestro a2a telemetry --events <path> --swarm-id <id>\");\n\tconst swarmId =\n\t\tstringFlag(parsed, \"--swarm-id\") ??\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a telemetry --events <path> --swarm-id <id>\");\n\tconst events = await loadA2ATelemetryEvents(eventsPath);\n\tconst inspection = inspectA2ATelemetry({ swarmId, events });\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(JSON.stringify(inspection, null, 2));\n\t\treturn;\n\t}\n\tconsole.log(\n\t\t`A2A telemetry ${chalk.bold(swarmId)} ${inspection.complete ? \"complete\" : \"incomplete\"}`,\n\t);\n\tconsole.log(\n\t\tchalk.dim(\n\t\t\t` events=${inspection.counts.events} lanes=${inspection.counts.lanes} completed=${inspection.counts.completedLanes} failed=${inspection.counts.failedLanes} missing=${inspection.counts.missingTelemetryLanes}`,\n\t\t),\n\t);\n\tif (inspection.counts.orderingAnomalyLanes > 0) {\n\t\tconsole.log(\n\t\t\tchalk.yellow(\n\t\t\t\t` ordering_anomalies=${inspection.counts.orderingAnomalyLanes}`,\n\t\t\t),\n\t\t);\n\t}\n\tfor (const lane of inspection.lanes) {\n\t\tconsole.log(\n\t\t\t`${lane.laneId} ${lane.status ?? \"(unknown)\"} ${\n\t\t\t\tlane.peer ? chalk.dim(lane.peer) : \"\"\n\t\t\t}`.trim(),\n\t\t);\n\t\tconst details = [\n\t\t\tlane.parentTaskId ? `parent=${lane.parentTaskId}` : undefined,\n\t\t\tlane.a2aTaskId ? `task=${lane.a2aTaskId}` : undefined,\n\t\t\tlane.a2aMessageId ? `message=${lane.a2aMessageId}` : undefined,\n\t\t\tlane.contextId ? `context=${lane.contextId}` : undefined,\n\t\t\tlane.source ? `source=${lane.source}` : undefined,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \");\n\t\tif (details) {\n\t\t\tconsole.log(chalk.dim(` ${details}`));\n\t\t}\n\t\tconst timing = [\n\t\t\tlane.timing.selectionToDispatchMs !== undefined\n\t\t\t\t? `selected_to_dispatch=${lane.timing.selectionToDispatchMs}ms`\n\t\t\t\t: undefined,\n\t\t\tlane.timing.observedDurationMs !== undefined\n\t\t\t\t? `observed_duration=${lane.timing.observedDurationMs}ms`\n\t\t\t\t: undefined,\n\t\t\tlane.timing.reportedDurationMs !== undefined\n\t\t\t\t? `reported_duration=${lane.timing.reportedDurationMs}ms`\n\t\t\t\t: undefined,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \");\n\t\tif (timing) {\n\t\t\tconsole.log(chalk.dim(` ${timing}`));\n\t\t}\n\t\tif (lane.missingEventTypes.length > 0) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.yellow(` missing: ${lane.missingEventTypes.join(\", \")}`),\n\t\t\t);\n\t\t}\n\t\tif (lane.orderingAnomalies.length > 0) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.yellow(` anomalies: ${lane.orderingAnomalies.join(\", \")}`),\n\t\t\t);\n\t\t}\n\t}\n}\n\nasync function loadA2ATelemetryEvents(\n\tpath: string,\n): Promise<A2ATelemetryCloudEventLike[]> {\n\tconst parsed = JSON.parse(await readFile(path, \"utf8\")) as unknown;\n\tconst events = Array.isArray(parsed)\n\t\t? parsed\n\t\t: isRecord(parsed) && Array.isArray(parsed.events)\n\t\t\t? parsed.events\n\t\t\t: undefined;\n\tif (!events) {\n\t\tthrow new Error(\"A2A telemetry events file must be an array or { events }\");\n\t}\n\treturn events.filter(isA2ATelemetryCloudEventLike);\n}\n\nfunction isA2ATelemetryCloudEventLike(\n\tvalue: unknown,\n): value is A2ATelemetryCloudEventLike {\n\treturn (\n\t\tisRecord(value) &&\n\t\ttypeof value.type === \"string\" &&\n\t\t(value.data === undefined || isRecord(value.data))\n\t);\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn Boolean(value && typeof value === \"object\" && !Array.isArray(value));\n}\n\nasync function handleA2ATasks(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName = parsed.positionals.shift();\n\tif (booleanFlag(parsed, \"--refresh\")) {\n\t\tawait refreshA2ATaskLedger(parsed, peerName);\n\t}\n\tconst ledger = await loadA2ATaskLedger({\n\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t});\n\tconst tasks = listA2ATaskEntries(ledger, { peer: peerName });\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(\n\t\t\tJSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tpath: getA2ATaskLedgerPath(stringFlag(parsed, \"--tasks\")),\n\t\t\t\t\ttasks: tasks.map((entry) => ({\n\t\t\t\t\t\tid: entry.id,\n\t\t\t\t\t\tkind: entry.kind,\n\t\t\t\t\t\tpeer: entry.peer,\n\t\t\t\t\t\ttaskId: entry.taskId,\n\t\t\t\t\t\tstate: entry.state,\n\t\t\t\t\t\ttext: entry.text,\n\t\t\t\t\t\tresponseText: entry.responseText,\n\t\t\t\t\t\tworkGraph: entry.workGraph,\n\t\t\t\t\t\tupdatedAt: entry.updatedAt,\n\t\t\t\t\t})),\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t);\n\t\treturn;\n\t}\n\tconsole.log(\n\t\t`A2A tasks (${getA2ATaskLedgerPath(stringFlag(parsed, \"--tasks\"))})`,\n\t);\n\tif (tasks.length === 0) {\n\t\tconsole.log(chalk.dim(\" No delegated tasks recorded yet.\"));\n\t\treturn;\n\t}\n\tfor (const task of tasks) {\n\t\tconsole.log(\n\t\t\t`${task.peer} ${chalk.bold(task.taskId)} ${task.state} ${chalk.dim(task.updatedAt)}`,\n\t\t);\n\t\tconsole.log(chalk.dim(` ${task.text}`));\n\t\tif (task.responseText) {\n\t\t\tconsole.log(` ${task.responseText}`);\n\t\t}\n\t\tprintLedgerWorkGraph(task, booleanFlag(parsed, \"--work-graph\"));\n\t}\n}\n\nasync function handleA2AWait(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName =\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a wait <peer> <task-id>\");\n\tconst taskId =\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a wait <peer> <task-id>\");\n\tconst peer = await resolveA2APeer(peerName, {\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t});\n\tconst task = await waitForA2ATask(peer.config, taskId, parsed);\n\tawait persistA2ALedgerBestEffort(\"sync task result locally\", () =>\n\t\tupdateA2ATaskInLedger({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: peer.name,\n\t\t\ttask,\n\t\t}),\n\t);\n\tprintTask(task, {\n\t\tincludeWorkGraphDetails: booleanFlag(parsed, \"--work-graph\"),\n\t});\n}\n\nasync function refreshA2ATaskLedger(\n\tparsed: ParsedA2AArgs,\n\tpeerFilter: string | undefined,\n): Promise<void> {\n\tconst ledger = await loadA2ATaskLedger({\n\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t});\n\tfor (const entry of listA2ATaskEntries(ledger, { peer: peerFilter })) {\n\t\tif (isTerminalA2AState(entry.state)) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst peer = await resolveA2APeer(entry.peer, {\n\t\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t\t});\n\t\tconst task = await getA2ATask(peer.config, entry.taskId);\n\t\tawait updateA2ATaskInLedger({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: entry.peer,\n\t\t\ttask,\n\t\t});\n\t}\n}\n\nasync function refreshA2ANonFinalTaskLedger(\n\tparsed: ParsedA2AArgs,\n\tpeerFilter: string | undefined,\n): Promise<void> {\n\tconst ledger = await loadA2ATaskLedger({\n\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t});\n\tfor (const entry of listA2ATaskEntries(ledger, { peer: peerFilter })) {\n\t\tif (isFinalA2AState(entry.state)) {\n\t\t\tcontinue;\n\t\t}\n\t\ttry {\n\t\t\tconst peer = await resolveA2APeer(entry.peer, {\n\t\t\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\t\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t\t\t});\n\t\t\tconst task = await getA2ATask(peer.config, entry.taskId);\n\t\t\tawait updateA2ATaskInLedger({\n\t\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\t\tpeer: entry.peer,\n\t\t\t\ttask,\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconsole.error(\n\t\t\t\tchalk.yellow(\n\t\t\t\t\t`A2A coordinate warning: could not refresh ${entry.peer} task ${entry.taskId}: ${errorMessage(error)}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n}\n\nasync function waitForA2ATask(\n\tconfig: A2AServiceConfig,\n\ttaskId: string,\n\tparsed: ParsedA2AArgs,\n): Promise<A2ATask> {\n\tconst maxWaitMs = numberFlag(parsed, \"--max-wait-ms\") ?? DEFAULT_WAIT_MS;\n\tconst intervalMs =\n\t\tnumberFlag(parsed, \"--interval-ms\") ?? DEFAULT_WAIT_INTERVAL_MS;\n\tconst deadline = Date.now() + maxWaitMs;\n\tlet lastTask = await getA2ATask(config, taskId);\n\twhile (!isTerminalA2AState(lastTask.status.state) && Date.now() < deadline) {\n\t\tawait sleep(intervalMs);\n\t\tlastTask = await getA2ATask(config, taskId);\n\t}\n\tif (!isTerminalA2AState(lastTask.status.state)) {\n\t\tthrow new Error(\n\t\t\t`Timed out waiting for A2A task ${taskId}; last state ${lastTask.status.state}`,\n\t\t);\n\t}\n\treturn lastTask;\n}\n\nfunction printTask(\n\ttask: A2ATask,\n\toptions: { includeWorkGraphDetails?: boolean } = {},\n): void {\n\tconsole.log(`Task ${task.id}: ${task.status.state}`);\n\tconst text = a2aTaskText(task);\n\tif (text) {\n\t\tconsole.log(text);\n\t}\n\tprintTaskWorkGraph(task, Boolean(options.includeWorkGraphDetails));\n}\n\nfunction a2aTaskText(task: A2ATask): string | undefined {\n\treturn extractA2ATaskText(task);\n}\n\nfunction printTaskWorkGraph(task: A2ATask, includeDetails: boolean): void {\n\tprintWorkGraphLines(extractA2AWorkGraphMetadata(task), includeDetails);\n}\n\nfunction printLedgerWorkGraph(\n\tentry: A2ATaskLedgerEntry,\n\tincludeDetails: boolean,\n): void {\n\tprintWorkGraphLines(entry.workGraph, includeDetails);\n}\n\nfunction printWorkGraphLines(\n\tworkGraph: A2ATaskLedgerEntry[\"workGraph\"],\n\tincludeDetails: boolean,\n): void {\n\tconst summary = formatA2AWorkGraphSummary(workGraph);\n\tif (summary) {\n\t\tconsole.log(chalk.dim(` ${summary}`));\n\t}\n\tif (!includeDetails) {\n\t\treturn;\n\t}\n\tconst codexSubagents = formatA2AWorkGraphCodexSubagents(workGraph);\n\tif (codexSubagents) {\n\t\tconsole.log(chalk.dim(` ${codexSubagents}`));\n\t}\n\tif (workGraph?.correlationPath) {\n\t\tconsole.log(chalk.dim(` Correlation: ${workGraph.correlationPath}`));\n\t}\n}\n\nexport const isA2AWaitCompletionState = isTerminalA2AState;\n\nfunction baseUrlFromAgentCardUrl(agentCardUrl: string): string {\n\tconst parsed = new URL(agentCardUrl);\n\tparsed.pathname = parsed.pathname.replace(\n\t\t/\\/\\.well-known\\/agent-card\\.json$/u,\n\t\t\"\",\n\t);\n\tparsed.search = \"\";\n\tparsed.hash = \"\";\n\treturn parsed.toString().replace(/\\/+$/u, \"\");\n}\n\nfunction formatCockpitTaskStatus(status: string): string {\n\tswitch (status) {\n\t\tcase \"waiting\":\n\t\t\treturn chalk.yellow(status);\n\t\tcase \"failed\":\n\t\t\treturn chalk.red(status);\n\t\tcase \"completed\":\n\t\t\treturn chalk.green(status);\n\t\tcase \"running\":\n\t\t\treturn chalk.cyan(status);\n\t\tdefault:\n\t\t\treturn chalk.dim(status);\n\t}\n}\n\nfunction formatCockpitActionSeverity(severity: string): string {\n\tswitch (severity) {\n\t\tcase \"critical\":\n\t\t\treturn chalk.red(\"!\");\n\t\tcase \"warning\":\n\t\t\treturn chalk.yellow(\"!\");\n\t\tdefault:\n\t\t\treturn chalk.cyan(\">\");\n\t}\n}\n\nasync function persistA2ALedgerBestEffort(\n\tdescription: string,\n\taction: () => Promise<unknown>,\n): Promise<void> {\n\ttry {\n\t\tawait action();\n\t} catch (error) {\n\t\tif (isAbortError(error)) {\n\t\t\tthrow error;\n\t\t}\n\t\tconsole.error(\n\t\t\tchalk.yellow(\n\t\t\t\t`A2A task ledger warning: could not ${description}: ${errorMessage(error)}`,\n\t\t\t),\n\t\t);\n\t}\n}\n\nfunction fail(message: string): never {\n\tthrow new Error(message);\n}\n\nfunction sleep(ms: number): Promise<void> {\n\treturn new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nfunction errorMessage(error: unknown): string {\n\treturn error instanceof Error ? error.message : String(error);\n}\n\nfunction agentRegistryNotConfiguredMessage(): string {\n\treturn \"Agent Registry service is not configured. Set AGENT_REGISTRY_SERVICE_URL, AGENT_REGISTRY_SERVICE_TOKEN, AGENT_REGISTRY_ORGANIZATION_ID, and AGENT_REGISTRY_WORKSPACE_ID, or pass --workspace-id with shared EvalOps credentials.\";\n}\n\nfunction normalizeA2AControlMode(\n\tvalue: string,\n): PlatformA2ADelegationTaskControlModeValue {\n\tswitch (value.toLowerCase()) {\n\t\tcase \"steer\":\n\t\t\treturn PlatformA2ADelegationTaskControlModeValue.Steer;\n\t\tcase \"followup\":\n\t\tcase \"follow-up\":\n\t\t\treturn PlatformA2ADelegationTaskControlModeValue.Followup;\n\t\tcase \"collect\":\n\t\t\treturn PlatformA2ADelegationTaskControlModeValue.Collect;\n\t\tcase \"interrupt\":\n\t\t\treturn PlatformA2ADelegationTaskControlModeValue.Interrupt;\n\t\tcase \"cancel\":\n\t\t\treturn PlatformA2ADelegationTaskControlModeValue.Cancel;\n\t\tdefault:\n\t\t\tthrow new Error(`Unsupported A2A control mode: ${value}`);\n\t}\n}\n\nfunction printA2AHelp(): void {\n\tconsole.log(`Usage:\n maestro a2a offer --url <base-url> [--name <display-name>] [--peer-id <id>]\n maestro a2a accept <pairing-code> [--name <peer>] [--default] [--token-env ENV]\n maestro a2a peers\n maestro a2a discover [--capability <capability>] [--skill <skill-id>] [--import]\n maestro a2a register --url <base-url> [--agent-id <id>] [--workspace-id <id>] [--json]\n maestro a2a fleet [--json]\n maestro a2a cockpit [--peer <peer>] [--json]\n maestro a2a card <peer>\n maestro a2a coordinate [peer] [--reply <text>] [--wait] [--json] [--work-graph]\n maestro a2a delegate <peer> <text> [--role <role>] [--cwd <path>] [--wait] [--work-graph]\n maestro a2a delegate --discover --skill <skill-id> <text> [--capability <capability>] [--prefer-internal]\n maestro a2a delegate --platform --from-agent-id <agent-id> [--to-agent-id <agent-id>|--capability <capability>] --skill <skill-id> <text> [--json]\n maestro a2a control <delegation-id> --mode steer|followup|collect|interrupt|cancel [--workspace-id <id>] [message]\n maestro a2a graph <delegation-id> [--workspace-id <id>] [--json]\n maestro a2a telemetry --events <path> --swarm-id <id> [--json]\n maestro a2a reply <peer> <task-id> <text> [--wait] [--work-graph]\n maestro a2a send <peer> <text> [--wait] [--tasks <path>] [--work-graph]\n maestro a2a tasks [peer] [--json] [--refresh] [--work-graph]\n maestro a2a wait <peer> <task-id> [--work-graph]\n\nPairing codes carry Agent Card and transport coordinates only. Configure auth with\n--token-env or --token-file when accepting a peer; bearer tokens are never embedded.`);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/cli/commands/a2a.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { readFile } from \"node:fs/promises\";\nimport chalk from \"chalk\";\nimport { selectA2ACapabilityPeer } from \"../../platform/a2a-capability-market.js\";\nimport {\n\ttype A2AAgentCard,\n\ttype A2AServiceConfig,\n\ttype A2ATask,\n\tbuildA2AUserMessage,\n\tdiscoverA2AAgentCard,\n\tgetA2ATask,\n\tsendA2AMessage,\n} from \"../../platform/a2a-client.js\";\nimport { buildA2ACockpit } from \"../../platform/a2a-cockpit.js\";\nimport { inspectA2AFleet } from \"../../platform/a2a-fleet.js\";\nimport {\n\tbuildMaestroA2APeerProjection,\n\tdefaultMaestroA2ACapabilities,\n} from \"../../platform/a2a-maestro-peer.js\";\nimport {\n\tcreateA2APeerPairingPayload,\n\tcreateA2APeerPairingPayloadFromAgentCard,\n\tdecodeA2APeerPairingCode,\n\tencodeA2APeerPairingCode,\n\tresolveA2AAgentCardUrl,\n} from \"../../platform/a2a-peer-pairing.js\";\nimport {\n\ttype A2APeerRegistryEntry,\n\tlistA2APeers,\n\tloadA2APeerRegistry,\n\tresolveA2APeer,\n\tsaveA2APeerRegistry,\n\tupsertA2APeerFromPairingPayload,\n} from \"../../platform/a2a-peer-registry.js\";\nimport {\n\ttype A2ATaskLedgerEntry,\n\textractA2ATaskText,\n\tgetA2ATaskLedgerPath,\n\tisActionRequiredA2AState,\n\tisFinalA2AState,\n\tisTerminalA2AState,\n\tlistA2ATaskEntries,\n\tloadA2ATaskLedger,\n\trecordA2ATaskReply,\n\trecordA2ATaskStart,\n\tupdateA2ATaskInLedger,\n} from \"../../platform/a2a-task-ledger.js\";\nimport {\n\ttype A2ATelemetryCloudEventLike,\n\tinspectA2ATelemetry,\n} from \"../../platform/a2a-telemetry-inspect.js\";\nimport {\n\textractA2AWorkGraphMetadata,\n\tformatA2AWorkGraphCodexSubagents,\n\tformatA2AWorkGraphSummary,\n} from \"../../platform/a2a-work-graph.js\";\nimport {\n\tPlatformA2ADelegationTaskControlModeValue,\n\ttype PlatformAgentDiscoveryEvidence,\n\ttype PlatformAgentRegistryA2APeerCandidate,\n\ttype PlatformAgentRegistryAgent,\n\tPlatformAgentStatusValue,\n\tcontrolA2ADelegationTaskWithPlatform,\n\tdelegateAgentWithPlatform,\n\tgetA2ADelegationGraphWithPlatform,\n\theartbeatAgentWithPlatform,\n\tisAgentAlreadyExistsError,\n\tlistA2APeerCandidatesWithEvidenceWithPlatform,\n\tregisterAgentWithPlatform,\n\tupdateAgentWithPlatform,\n} from \"../../platform/agent-registry-client.js\";\nimport { getEnvValue } from \"../../platform/client.js\";\nimport { isAbortError } from \"../../utils/abort-error.js\";\nimport { isRecord } from \"../../utils/json.js\";\nimport {\n\ttype ParsedA2AArgs,\n\tbooleanFlag,\n\tcanonicalA2ASubcommand,\n\tminutesFlag,\n\tnonNegativeNumberFlag,\n\tnumberFlag,\n\tparseA2AArgs,\n\tstringFlag,\n\tstringListFlag,\n} from \"./a2a/args.js\";\nimport {\n\ttype A2ADiscoverySelection,\n\ta2ADiscoveryEvidenceMetadata,\n\ta2ADiscoverySelectionPayload,\n\ta2APeerMetadataWithoutDiscoveryEvidence,\n\tcompactA2APeerMetadata,\n\tdiscoveredPeerJson,\n\tdiscoveredPeerName,\n\tprintA2ADiscoveryEvidence,\n\tuniqueDiscoveredPeerName,\n} from \"./a2a/discovery.js\";\n\nexport { parseA2AArgs } from \"./a2a/args.js\";\nexport type { ParsedA2AArgs } from \"./a2a/args.js\";\n\nconst DEFAULT_WAIT_MS = 300_000;\nconst DEFAULT_WAIT_INTERVAL_MS = 5_000;\n\nexport async function handleA2ACommand(args: string[]): Promise<void> {\n\tconst parsed = parseA2AArgs(args);\n\tconst subcommand = canonicalA2ASubcommand(parsed.positionals.shift());\n\tswitch (subcommand) {\n\t\tcase \"offer\":\n\t\tcase \"pair\":\n\t\tcase \"create\":\n\t\t\tawait handleA2AOffer(parsed);\n\t\t\treturn;\n\t\tcase \"accept\":\n\t\t\tawait handleA2AAccept(parsed);\n\t\t\treturn;\n\t\tcase \"peers\":\n\t\tcase \"list\":\n\t\t\tawait handleA2APeers(parsed);\n\t\t\treturn;\n\t\tcase \"discover\":\n\t\t\tawait handleA2ADiscover(parsed);\n\t\t\treturn;\n\t\tcase \"register\":\n\t\t\tawait handleA2ARegister(parsed);\n\t\t\treturn;\n\t\tcase \"fleet\":\n\t\t\tawait handleA2AFleet(parsed);\n\t\t\treturn;\n\t\tcase \"cockpit\":\n\t\tcase \"dashboard\":\n\t\t\tawait handleA2ACockpit(parsed);\n\t\t\treturn;\n\t\tcase \"card\":\n\t\t\tawait handleA2ACard(parsed);\n\t\t\treturn;\n\t\tcase \"send\":\n\t\t\tawait handleA2ASend(parsed);\n\t\t\treturn;\n\t\tcase \"delegate\":\n\t\tcase \"delegation\":\n\t\t\tawait handleA2ADelegate(parsed);\n\t\t\treturn;\n\t\tcase \"control\":\n\t\t\tawait handleA2AControl(parsed);\n\t\t\treturn;\n\t\tcase \"graph\":\n\t\t\tawait handleA2AGraph(parsed);\n\t\t\treturn;\n\t\tcase \"reply\":\n\t\tcase \"continue\":\n\t\t\tawait handleA2AReply(parsed);\n\t\t\treturn;\n\t\tcase \"coordinate\":\n\t\t\tawait handleA2ACoordinate(parsed);\n\t\t\treturn;\n\t\tcase \"tasks\":\n\t\t\tawait handleA2ATasks(parsed);\n\t\t\treturn;\n\t\tcase \"telemetry\":\n\t\t\tawait handleA2ATelemetry(parsed);\n\t\t\treturn;\n\t\tcase \"wait\":\n\t\t\tawait handleA2AWait(parsed);\n\t\t\treturn;\n\t\tdefault:\n\t\t\tprintA2AHelp();\n\t}\n}\n\nasync function handleA2AOffer(parsed: ParsedA2AArgs): Promise<void> {\n\tconst baseUrl =\n\t\tstringFlag(parsed, \"--url\") ?? stringFlag(parsed, \"--base-url\");\n\tconst agentCardUrl = resolveA2AAgentCardUrl(\n\t\tstringFlag(parsed, \"--agent-card-url\") ??\n\t\t\tbaseUrl ??\n\t\t\tgetEnvValue([\n\t\t\t\t\"MAESTRO_A2A_PUBLIC_URL\",\n\t\t\t\t\"MAESTRO_CONTROL_PUBLIC_URL\",\n\t\t\t\t\"MAESTRO_A2A_URL\",\n\t\t\t\t\"MAESTRO_CONTROL_URL\",\n\t\t\t]) ??\n\t\t\tfail(\"Provide --url or set MAESTRO_A2A_PUBLIC_URL.\"),\n\t);\n\tconst transportUrl = baseUrlFromAgentCardUrl(agentCardUrl);\n\tconst ttlMs = minutesFlag(parsed, \"--ttl-minutes\") ?? 30 * 60 * 1000;\n\tconst peerId = stringFlag(parsed, \"--peer-id\");\n\tconst displayName = stringFlag(parsed, \"--name\");\n\tlet agentCard: A2AAgentCard | null = null;\n\ttry {\n\t\tagentCard = await discoverA2AAgentCard({\n\t\t\tbaseUrl: transportUrl,\n\t\t\ttimeoutMs: 2_500,\n\t\t\tmaxAttempts: 1,\n\t\t});\n\t} catch (error) {\n\t\tif (!displayName) {\n\t\t\tthrow new Error(\n\t\t\t\t`Could not fetch Agent Card at ${agentCardUrl}: ${errorMessage(error)}. Pass --name to create an offline pairing code.`,\n\t\t\t);\n\t\t}\n\t}\n\tconst payload = agentCard\n\t\t? createA2APeerPairingPayloadFromAgentCard({\n\t\t\t\tagentCard,\n\t\t\t\tagentCardUrl,\n\t\t\t\tdisplayName,\n\t\t\t\tpeerId,\n\t\t\t\tttlMs,\n\t\t\t})\n\t\t: createA2APeerPairingPayload({\n\t\t\t\tdisplayName: displayName ?? \"Maestro A2A Peer\",\n\t\t\t\tagentCardUrl,\n\t\t\t\ttransportUrl,\n\t\t\t\tpeerId,\n\t\t\t\tttlMs,\n\t\t\t});\n\tconst code = encodeA2APeerPairingCode(payload);\n\tconsole.log(code);\n\tconsole.error(\n\t\tchalk.dim(\n\t\t\t`Pairing code for ${payload.displayName}; expires ${payload.expiresAt}. No token or bearer secret is embedded.`,\n\t\t),\n\t);\n}\n\nasync function handleA2AAccept(parsed: ParsedA2AArgs): Promise<void> {\n\tconst code =\n\t\tparsed.positionals.shift() ?? fail(\"Usage: maestro a2a accept <code>\");\n\tconst payload = decodeA2APeerPairingCode(code);\n\tconst result = await upsertA2APeerFromPairingPayload(payload, {\n\t\tname: stringFlag(parsed, \"--name\"),\n\t\tmakeDefault: booleanFlag(parsed, \"--default\"),\n\t\ttokenEnv: stringFlag(parsed, \"--token-env\"),\n\t\ttokenFile: stringFlag(parsed, \"--token-file\"),\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\torganizationId: stringFlag(parsed, \"--organization-id\"),\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t});\n\tconsole.log(\n\t\t`Registered A2A peer ${chalk.bold(result.name)} at ${result.entry.url}`,\n\t);\n\tconsole.log(chalk.dim(`Registry: ${result.path}`));\n\tif (!result.entry.tokenEnv && !result.entry.tokenFile) {\n\t\tconsole.log(\n\t\t\tchalk.dim(\n\t\t\t\t\"No token source configured; add --token-env or --token-file if the peer requires Authorization.\",\n\t\t\t),\n\t\t);\n\t}\n}\n\nasync function handleA2APeers(parsed: ParsedA2AArgs): Promise<void> {\n\tconst { path, registry } = await listA2APeers({\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t});\n\tconsole.log(`A2A peers (${path})`);\n\tconst entries = Object.entries(registry.peers).sort(([left], [right]) =>\n\t\tleft.localeCompare(right),\n\t);\n\tif (entries.length === 0) {\n\t\tconsole.log(\n\t\t\tchalk.dim(\" No peers registered. Run maestro a2a accept <code>.\"),\n\t\t);\n\t\treturn;\n\t}\n\tfor (const [name, peer] of entries) {\n\t\tconst marker = registry.defaultPeer === name ? \"*\" : \" \";\n\t\tconst tokenSource = peer.tokenEnv\n\t\t\t? ` token=env:${peer.tokenEnv}`\n\t\t\t: peer.tokenFile\n\t\t\t\t? \" token=file\"\n\t\t\t\t: \"\";\n\t\tconsole.log(\n\t\t\t`${marker} ${name} ${chalk.dim(peer.url)}${tokenSource}${\n\t\t\t\tpeer.displayName ? chalk.dim(` (${peer.displayName})`) : \"\"\n\t\t\t}`,\n\t\t);\n\t}\n}\n\nasync function handleA2ADiscover(parsed: ParsedA2AArgs): Promise<void> {\n\tconst discovery = await listA2APeerCandidatesWithEvidenceWithPlatform({\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\tcapability: stringFlag(parsed, \"--capability\"),\n\t\tsurface: stringFlag(parsed, \"--surface\"),\n\t\tstatus: stringFlag(parsed, \"--status\"),\n\t\tlimit: numberFlag(parsed, \"--limit\"),\n\t\toffset: nonNegativeNumberFlag(parsed, \"--offset\"),\n\t\tskillId: stringFlag(parsed, \"--skill\"),\n\t\tpreferInternalEndpoint: booleanFlag(parsed, \"--prefer-internal\"),\n\t});\n\tif (!discovery) {\n\t\tfail(\n\t\t\t\"Agent Registry service is not configured. Set AGENT_REGISTRY_SERVICE_URL, AGENT_REGISTRY_SERVICE_TOKEN, AGENT_REGISTRY_ORGANIZATION_ID, and AGENT_REGISTRY_WORKSPACE_ID.\",\n\t\t);\n\t}\n\tconst candidates = discovery.candidates;\n\tconst imported = booleanFlag(parsed, \"--import\")\n\t\t? await importDiscoveredA2APeers(\n\t\t\t\tparsed,\n\t\t\t\tcandidates,\n\t\t\t\tdiscovery.discoveryEvidence,\n\t\t\t)\n\t\t: [];\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(\n\t\t\tJSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tpeers: candidates.map(discoveredPeerJson),\n\t\t\t\t\timported,\n\t\t\t\t\t...(discovery.discoveryEvidence\n\t\t\t\t\t\t? { discoveryEvidence: discovery.discoveryEvidence }\n\t\t\t\t\t\t: {}),\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t);\n\t\treturn;\n\t}\n\tconsole.log(\"Platform A2A peers\");\n\tprintA2ADiscoveryEvidence(discovery.discoveryEvidence);\n\tif (candidates.length === 0) {\n\t\tconsole.log(chalk.dim(\" No Platform agents expose A2A peer endpoints.\"));\n\t\treturn;\n\t}\n\tfor (const candidate of candidates) {\n\t\tconst label =\n\t\t\tcandidate.agent.name ?? candidate.agent.id ?? candidate.endpointUrl;\n\t\tconst skillSummary = candidate.skills.map((skill) => skill.id).join(\", \");\n\t\tconsole.log(\n\t\t\t`${chalk.bold(label)} ${chalk.dim(candidate.endpointUrl)}${\n\t\t\t\tcandidate.agent.status ? chalk.dim(` ${candidate.agent.status}`) : \"\"\n\t\t\t}`,\n\t\t);\n\t\tif (candidate.agent.id || candidate.protocolBinding) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(\n\t\t\t\t\t` ${[\n\t\t\t\t\t\tcandidate.agent.id ? `agent=${candidate.agent.id}` : undefined,\n\t\t\t\t\t\tcandidate.protocolBinding\n\t\t\t\t\t\t\t? `binding=${candidate.protocolBinding}`\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tcandidate.protocolVersion\n\t\t\t\t\t\t\t? `version=${candidate.protocolVersion}`\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tif (skillSummary) {\n\t\t\tconsole.log(chalk.dim(` skills=${skillSummary}`));\n\t\t}\n\t}\n\tif (imported.length > 0) {\n\t\tconsole.log(chalk.dim(`Imported ${imported.length} peer(s).`));\n\t\tconsole.log(chalk.dim(`Registry: ${imported[0]?.path}`));\n\t}\n}\n\nasync function handleA2ARegister(parsed: ParsedA2AArgs): Promise<void> {\n\tconst heartbeatOnly = booleanFlag(parsed, \"--heartbeat-only\");\n\tconst agentId =\n\t\tstringFlag(parsed, \"--agent-id\") ??\n\t\tgetEnvValue([\n\t\t\t\"MAESTRO_A2A_AGENT_ID\",\n\t\t\t\"MAESTRO_AGENT_ID\",\n\t\t\t\"EVALOPS_AGENT_ID\",\n\t\t]);\n\tconst name =\n\t\tstringFlag(parsed, \"--name\") ??\n\t\tgetEnvValue([\"MAESTRO_A2A_AGENT_NAME\", \"MAESTRO_AGENT_NAME\"]) ??\n\t\t\"Maestro A2A Peer\";\n\tconst description =\n\t\tstringFlag(parsed, \"--description\") ??\n\t\tgetEnvValue([\n\t\t\t\"MAESTRO_A2A_AGENT_DESCRIPTION\",\n\t\t\t\"MAESTRO_AGENT_DESCRIPTION\",\n\t\t]) ??\n\t\t\"Maestro peer exposing governed Codex subagent lanes through A2A.\";\n\tconst workspaceId = stringFlag(parsed, \"--workspace-id\");\n\tconst capabilities = stringListFlag(\n\t\tparsed,\n\t\t\"--capabilities\",\n\t\tdefaultMaestroA2ACapabilities(),\n\t);\n\tconst surfaces = stringListFlag(parsed, \"--surface\", [\"a2a\", \"maestro\"]);\n\tconst surfaceTypes = stringListFlag(parsed, \"--surface-types\", [\n\t\t\"SURFACE_MAESTRO\",\n\t]);\n\tconst publicEndpointUrl = heartbeatOnly\n\t\t? undefined\n\t\t: (stringFlag(parsed, \"--public-url\") ??\n\t\t\tstringFlag(parsed, \"--url\") ??\n\t\t\tgetEnvValue([\n\t\t\t\t\"MAESTRO_A2A_PUBLIC_URL\",\n\t\t\t\t\"MAESTRO_CONTROL_PUBLIC_URL\",\n\t\t\t\t\"MAESTRO_A2A_URL\",\n\t\t\t\t\"MAESTRO_CONTROL_URL\",\n\t\t\t]) ??\n\t\t\tfail(\"Provide --url or set MAESTRO_A2A_PUBLIC_URL.\"));\n\tconst a2a = publicEndpointUrl\n\t\t? buildMaestroA2APeerProjection({\n\t\t\t\tpublicEndpointUrl,\n\t\t\t\tinternalEndpointUrl:\n\t\t\t\t\tstringFlag(parsed, \"--internal-url\") ??\n\t\t\t\t\tgetEnvValue([\n\t\t\t\t\t\t\"MAESTRO_A2A_INTERNAL_URL\",\n\t\t\t\t\t\t\"MAESTRO_CONTROL_INTERNAL_URL\",\n\t\t\t\t\t]),\n\t\t\t\tagentCardUrl: stringFlag(parsed, \"--agent-card-url\"),\n\t\t\t\tprotocolVersion: stringFlag(parsed, \"--protocol-version\"),\n\t\t\t\tagentCardETag: stringFlag(parsed, \"--agent-card-etag\"),\n\t\t\t\tagentCardHash: stringFlag(parsed, \"--agent-card-hash\"),\n\t\t\t\tsecuritySchemes: stringListFlag(parsed, \"--security-schemes\", [\n\t\t\t\t\t\"evalops-agent-token\",\n\t\t\t\t]),\n\t\t\t\tattributes: {\n\t\t\t\t\tpublishedBy: \"maestro a2a register\",\n\t\t\t\t},\n\t\t\t})\n\t\t: undefined;\n\tconst updateOnly = booleanFlag(parsed, \"--update-only\");\n\tconst shouldHeartbeat = !booleanFlag(parsed, \"--no-heartbeat\");\n\tif (heartbeatOnly && !shouldHeartbeat) {\n\t\tfail(\"--heartbeat-only cannot be combined with --no-heartbeat.\");\n\t}\n\tlet operation: \"registered\" | \"updated\" | \"heartbeat\" = \"registered\";\n\tlet agent: PlatformAgentRegistryAgent | undefined;\n\n\tif (heartbeatOnly) {\n\t\tif (!agentId) {\n\t\t\tfail(\"Usage: maestro a2a register --heartbeat-only --agent-id <id>\");\n\t\t}\n\t\toperation = \"heartbeat\";\n\t} else if (updateOnly) {\n\t\tif (!agentId) {\n\t\t\tfail(\n\t\t\t\t\"Usage: maestro a2a register --update-only --agent-id <id> --url <base-url>\",\n\t\t\t);\n\t\t}\n\t\tconst updated = await updateAgentWithPlatform({\n\t\t\tworkspaceId,\n\t\t\tid: agentId,\n\t\t\tname,\n\t\t\tdescription,\n\t\t\tcapabilities,\n\t\t\tsurfaces,\n\t\t\tsurfaceTypes,\n\t\t\ta2a,\n\t\t});\n\t\tif (!updated) {\n\t\t\tfail(agentRegistryNotConfiguredMessage());\n\t\t}\n\t\toperation = \"updated\";\n\t\tagent = updated.agent;\n\t} else {\n\t\ttry {\n\t\t\tconst registered = await registerAgentWithPlatform({\n\t\t\t\tworkspaceId,\n\t\t\t\tid: agentId,\n\t\t\t\tname,\n\t\t\t\tdescription,\n\t\t\t\tagentType: stringFlag(parsed, \"--type\") ?? \"maestro\",\n\t\t\t\tcapabilities,\n\t\t\t\tsurfaces,\n\t\t\t\tsurfaceTypes,\n\t\t\t\townerId: stringFlag(parsed, \"--owner-id\"),\n\t\t\t\ta2a,\n\t\t\t});\n\t\t\tif (!registered) {\n\t\t\t\tfail(agentRegistryNotConfiguredMessage());\n\t\t\t}\n\t\t\tagent = registered.agent;\n\t\t} catch (error) {\n\t\t\tif (!agentId || !isAgentAlreadyExistsError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst updated = await updateAgentWithPlatform({\n\t\t\t\tworkspaceId,\n\t\t\t\tid: agentId,\n\t\t\t\tname,\n\t\t\t\tdescription,\n\t\t\t\tcapabilities,\n\t\t\t\tsurfaces,\n\t\t\t\tsurfaceTypes,\n\t\t\t\ta2a,\n\t\t\t});\n\t\t\tif (!updated) {\n\t\t\t\tfail(agentRegistryNotConfiguredMessage());\n\t\t\t}\n\t\t\toperation = \"updated\";\n\t\t\tagent = updated.agent;\n\t\t}\n\t}\n\n\tconst resolvedAgentId =\n\t\tagent?.id ?? agentId ?? fail(\"Agent Registry did not return an agent id.\");\n\tconst heartbeat = shouldHeartbeat\n\t\t? await heartbeatAgentWithPlatform({\n\t\t\t\tworkspaceId,\n\t\t\t\tagentId: resolvedAgentId,\n\t\t\t\tstatus: stringFlag(parsed, \"--status\") ?? PlatformAgentStatusValue.Idle,\n\t\t\t\tsurface: surfaces[0],\n\t\t\t\tsurfaceType: surfaceTypes[0],\n\t\t\t\ta2a,\n\t\t\t})\n\t\t: null;\n\tif (shouldHeartbeat && !heartbeat) {\n\t\tfail(agentRegistryNotConfiguredMessage());\n\t}\n\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(\n\t\t\tJSON.stringify(\n\t\t\t\t{\n\t\t\t\t\toperation,\n\t\t\t\t\tagentId: resolvedAgentId,\n\t\t\t\t\tagent,\n\t\t\t\t\theartbeat,\n\t\t\t\t\ta2a,\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t);\n\t\treturn;\n\t}\n\n\tconst verb = operation === \"registered\" ? \"Registered\" : \"Updated\";\n\tconsole.log(\n\t\toperation === \"heartbeat\"\n\t\t\t? `Sent Platform A2A heartbeat for ${chalk.bold(resolvedAgentId)}${a2a ? ` at ${a2a.publicEndpointUrl}` : \"\"}`\n\t\t\t: `${verb} Platform A2A peer ${chalk.bold(resolvedAgentId)} at ${\n\t\t\t\t\ta2a?.publicEndpointUrl ?? publicEndpointUrl\n\t\t\t\t}`,\n\t);\n\tconsole.log(\n\t\tchalk.dim(\n\t\t\t`Skills: ${a2a?.skills?.map((skill) => skill.id).join(\", \") ?? \"none\"}`,\n\t\t),\n\t);\n\tif (heartbeat?.nextHeartbeatBy) {\n\t\tconsole.log(chalk.dim(`Next heartbeat by: ${heartbeat.nextHeartbeatBy}`));\n\t}\n}\n\nasync function importDiscoveredA2APeers(\n\tparsed: ParsedA2AArgs,\n\tcandidates: PlatformAgentRegistryA2APeerCandidate[],\n\tdiscoveryEvidence?: PlatformAgentDiscoveryEvidence,\n): Promise<\n\tArray<{\n\t\tname: string;\n\t\tpath: string;\n\t\turl: string;\n\t\tagentId?: string;\n\t}>\n> {\n\tconst registryPath = stringFlag(parsed, \"--registry\");\n\tconst registry = await loadA2APeerRegistry({ path: registryPath });\n\tconst now = new Date().toISOString();\n\tconst makeDefault = booleanFlag(parsed, \"--default\");\n\tlet defaultAssigned = false;\n\tconst importedNames = new Set<string>();\n\tconst imported: Array<{\n\t\tname: string;\n\t\tpath: string;\n\t\turl: string;\n\t\tagentId?: string;\n\t}> = [];\n\tcandidates.forEach((candidate, index) => {\n\t\tconst name = uniqueDiscoveredPeerName({\n\t\t\tbaseName: discoveredPeerName(candidate, index),\n\t\t\tcandidate,\n\t\t\timportedNames,\n\t\t\tpeers: registry.peers,\n\t\t});\n\t\tconst previous = registry.peers[name];\n\t\tconst entry: A2APeerRegistryEntry = {\n\t\t\t...previous,\n\t\t\turl: candidate.endpointUrl,\n\t\t\tdisplayName: candidate.agent.name ?? previous?.displayName,\n\t\t\tagentCardUrl: candidate.agentCardUrl ?? previous?.agentCardUrl,\n\t\t\tprotocolBinding: candidate.protocolBinding ?? previous?.protocolBinding,\n\t\t\tprotocolVersion: candidate.protocolVersion ?? previous?.protocolVersion,\n\t\t\tworkspaceId: candidate.agent.workspaceId ?? previous?.workspaceId,\n\t\t\tagentId: candidate.agent.id ?? previous?.agentId,\n\t\t\tcapabilities: {\n\t\t\t\t...previous?.capabilities,\n\t\t\t\t...(candidate.pushNotifications === undefined\n\t\t\t\t\t? {}\n\t\t\t\t\t: { pushNotifications: candidate.pushNotifications }),\n\t\t\t},\n\t\t\tskills:\n\t\t\t\tcandidate.skills.length > 0\n\t\t\t\t\t? candidate.skills.map((skill) => ({\n\t\t\t\t\t\t\tid: skill.id,\n\t\t\t\t\t\t\tname: skill.name ?? skill.id,\n\t\t\t\t\t\t\t...(skill.description ? { description: skill.description } : {}),\n\t\t\t\t\t\t\t...(skill.tags ? { tags: skill.tags } : {}),\n\t\t\t\t\t\t\t...(skill.inputModes ? { inputModes: skill.inputModes } : {}),\n\t\t\t\t\t\t\t...(skill.outputModes ? { outputModes: skill.outputModes } : {}),\n\t\t\t\t\t\t\t...(skill.requiredContextGrants\n\t\t\t\t\t\t\t\t? { requiredContextGrants: skill.requiredContextGrants }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.approvalPolicyRef\n\t\t\t\t\t\t\t\t? { approvalPolicyRef: skill.approvalPolicyRef }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.maxAutonomy ? { maxAutonomy: skill.maxAutonomy } : {}),\n\t\t\t\t\t\t\t...(skill.requiredArtifactKinds\n\t\t\t\t\t\t\t\t? { requiredArtifactKinds: skill.requiredArtifactKinds }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.optionalArtifactKinds\n\t\t\t\t\t\t\t\t? { optionalArtifactKinds: skill.optionalArtifactKinds }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.allowedTaskClasses\n\t\t\t\t\t\t\t\t? { allowedTaskClasses: skill.allowedTaskClasses }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.deniedTaskClasses\n\t\t\t\t\t\t\t\t? { deniedTaskClasses: skill.deniedTaskClasses }\n\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t...(skill.attributes ? { attributes: skill.attributes } : {}),\n\t\t\t\t\t\t\t...(skill.metadata ? { metadata: skill.metadata } : {}),\n\t\t\t\t\t\t}))\n\t\t\t\t\t: previous?.skills,\n\t\t\tmetadata: compactA2APeerMetadata({\n\t\t\t\t...a2APeerMetadataWithoutDiscoveryEvidence(previous?.metadata),\n\t\t\t\tsource: \"platform-agent-registry\",\n\t\t\t\tplatformAgentId: candidate.agent.id,\n\t\t\t\tplatformAgentType: candidate.agent.agentType,\n\t\t\t\tplatformAgentStatus: candidate.agent.status,\n\t\t\t\tselectedEndpoint: candidate.endpointKind,\n\t\t\t\ta2aPushNotifications: candidate.pushNotifications,\n\t\t\t\t...a2ADiscoveryEvidenceMetadata(discoveryEvidence),\n\t\t\t}),\n\t\t\tcreatedAt: previous?.createdAt ?? now,\n\t\t\tupdatedAt: now,\n\t\t};\n\t\tregistry.peers[name] = entry;\n\t\tif ((makeDefault || !registry.defaultPeer) && !defaultAssigned) {\n\t\t\tregistry.defaultPeer = name;\n\t\t\tdefaultAssigned = true;\n\t\t}\n\t\timported.push({\n\t\t\tname,\n\t\t\tpath: \"\",\n\t\t\turl: entry.url,\n\t\t\t...(entry.agentId ? { agentId: entry.agentId } : {}),\n\t\t});\n\t});\n\treturn saveA2APeerRegistry(registry, { path: registryPath }).then((path) =>\n\t\timported.map((entry) => ({ ...entry, path })),\n\t);\n}\n\nasync function handleA2ACard(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName = parsed.positionals.shift();\n\tconst peer = await resolveA2APeer(peerName, {\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t});\n\tconst card = await discoverA2AAgentCard(peer.config);\n\tconsole.log(JSON.stringify(card, null, 2));\n}\n\nasync function handleA2AFleet(parsed: ParsedA2AArgs): Promise<void> {\n\tconst fleet = await inspectA2AFleet({\n\t\tregistryPath: stringFlag(parsed, \"--registry\"),\n\t\ttasksPath: stringFlag(parsed, \"--tasks\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t});\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(JSON.stringify(fleet, null, 2));\n\t\treturn;\n\t}\n\tconsole.log(`A2A fleet (${fleet.registryPath})`);\n\tif (fleet.peers.length === 0) {\n\t\tconsole.log(\n\t\t\tchalk.dim(\" No peers registered. Run maestro a2a accept <code>.\"),\n\t\t);\n\t\treturn;\n\t}\n\tfor (const peer of fleet.peers) {\n\t\tconst status =\n\t\t\tpeer.status === \"online\" ? chalk.green(\"online\") : chalk.yellow(\"down\");\n\t\tconst label = peer.displayName\n\t\t\t? `${peer.name} (${peer.displayName})`\n\t\t\t: peer.name;\n\t\tconsole.log(`${status} ${chalk.bold(label)} ${chalk.dim(peer.url)}`);\n\t\tif (peer.model || peer.cwd || peer.auth) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(\n\t\t\t\t\t` ${[\n\t\t\t\t\t\tpeer.model ? `model=${peer.model}` : undefined,\n\t\t\t\t\t\tpeer.cwd ? `cwd=${peer.cwd}` : undefined,\n\t\t\t\t\t\tpeer.auth ? `auth=${peer.auth}` : undefined,\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tif (peer.lastTask) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(\n\t\t\t\t\t` last=${peer.lastTask.id} ${peer.lastTask.state} ${peer.lastTask.text}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tif (peer.error) {\n\t\t\tconsole.log(chalk.dim(` error=${peer.error}`));\n\t\t}\n\t}\n}\n\nasync function handleA2ACockpit(parsed: ParsedA2AArgs): Promise<void> {\n\tconst cockpit = await buildA2ACockpit({\n\t\tregistryPath: stringFlag(parsed, \"--registry\"),\n\t\ttasksPath: stringFlag(parsed, \"--tasks\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t\tpeer: stringFlag(parsed, \"--peer\"),\n\t\tlimit: numberFlag(parsed, \"--limit\"),\n\t});\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(JSON.stringify(cockpit, null, 2));\n\t\treturn;\n\t}\n\n\tconsole.log(`A2A cockpit (${cockpit.registryPath})`);\n\tconsole.log(chalk.dim(` tasks=${cockpit.tasksPath}`));\n\tconsole.log(\n\t\t[\n\t\t\t`${cockpit.counts.onlinePeers}/${cockpit.counts.peers} peers online`,\n\t\t\t`${cockpit.counts.runningTasks} running`,\n\t\t\t`${cockpit.counts.actionRequiredTasks} waiting`,\n\t\t\t`${cockpit.counts.failedTasks} failed`,\n\t\t\t`${cockpit.counts.completedTasks} completed`,\n\t\t].join(\" · \"),\n\t);\n\tconsole.log(chalk.bold(\"\\nPeers\"));\n\tif (cockpit.peers.length === 0) {\n\t\tconsole.log(\n\t\t\tchalk.dim(\" No peers registered. Run maestro a2a accept <code>.\"),\n\t\t);\n\t} else {\n\t\tfor (const peer of cockpit.peers) {\n\t\t\tconst status =\n\t\t\t\tpeer.status === \"online\" ? chalk.green(\"online\") : chalk.yellow(\"down\");\n\t\t\tconst waiting = peer.taskCounts.actionRequiredTasks;\n\t\t\tconst failed = peer.taskCounts.failedTasks;\n\t\t\tconst taskSummary = [\n\t\t\t\tpeer.taskCounts.runningTasks\n\t\t\t\t\t? `${peer.taskCounts.runningTasks} running`\n\t\t\t\t\t: \"\",\n\t\t\t\twaiting ? chalk.yellow(`${waiting} waiting`) : \"\",\n\t\t\t\tfailed ? chalk.red(`${failed} failed`) : \"\",\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(\", \");\n\t\t\tconsole.log(\n\t\t\t\t`${status} ${chalk.bold(peer.name)} ${chalk.dim(peer.url)}${\n\t\t\t\t\ttaskSummary ? ` ${chalk.dim(`(${taskSummary})`)}` : \"\"\n\t\t\t\t}`,\n\t\t\t);\n\t\t\tif (peer.lastTask) {\n\t\t\t\tconsole.log(\n\t\t\t\t\tchalk.dim(\n\t\t\t\t\t\t` last=${peer.lastTask.id} ${peer.lastTask.state} ${peer.lastTask.text}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (peer.error) {\n\t\t\t\tconsole.log(chalk.dim(` error=${peer.error}`));\n\t\t\t}\n\t\t}\n\t}\n\n\tconsole.log(chalk.bold(\"\\nTasks\"));\n\tif (cockpit.tasks.length === 0) {\n\t\tconsole.log(chalk.dim(\" No delegated tasks recorded yet.\"));\n\t} else {\n\t\tfor (const task of cockpit.tasks) {\n\t\t\tconst peerLabel = task.orphanedPeer\n\t\t\t\t? `${task.peer} ${chalk.yellow(\"(orphaned peer)\")}`\n\t\t\t\t: task.peer;\n\t\t\tconsole.log(\n\t\t\t\t`${peerLabel} ${chalk.bold(task.taskId)} ${formatCockpitTaskStatus(\n\t\t\t\t\ttask.status,\n\t\t\t\t)} ${chalk.dim(task.updatedAt)}`,\n\t\t\t);\n\t\t\tconsole.log(chalk.dim(` ${task.text}`));\n\t\t\tif (task.nextCommand) {\n\t\t\t\tconsole.log(chalk.dim(` next: ${task.nextCommand}`));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (cockpit.nextActions.length > 0) {\n\t\tconsole.log(chalk.bold(\"\\nNext actions\"));\n\t\tfor (const action of cockpit.nextActions) {\n\t\t\tconsole.log(\n\t\t\t\t`${formatCockpitActionSeverity(action.severity)} ${action.label}`,\n\t\t\t);\n\t\t\tconsole.log(chalk.dim(` ${action.command}`));\n\t\t}\n\t}\n}\n\nasync function handleA2ASend(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName =\n\t\tparsed.positionals.shift() ?? fail(\"Usage: maestro a2a send <peer> <text>\");\n\tconst text = parsed.positionals.join(\" \").trim();\n\tif (!text) {\n\t\tfail(\"Usage: maestro a2a send <peer> <text>\");\n\t}\n\tconst peer = await resolveA2APeer(peerName, {\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t});\n\tconst wait = booleanFlag(parsed, \"--wait\");\n\tconst messageId = `maestro-a2a-message-${randomUUID()}`;\n\tconst contextId = `maestro-a2a-context-${randomUUID()}`;\n\tconst metadata = {\n\t\trequestKind: \"maestro-peer-message\",\n\t\trelayPeer: peer.name,\n\t};\n\tconst sent = await sendA2AMessage(peer.config, {\n\t\tmessage: buildA2AUserMessage({\n\t\t\tmessageId,\n\t\t\tcontextId,\n\t\t\ttext,\n\t\t\tmetadata,\n\t\t}),\n\t\tconfiguration: { returnImmediately: true },\n\t});\n\tawait persistA2ALedgerBestEffort(\"record sent task locally\", () =>\n\t\trecordA2ATaskStart({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: peer.name,\n\t\t\tpeerDisplayName: peer.entry.displayName,\n\t\t\ttask: sent.task,\n\t\t\ttext,\n\t\t\tmessageId,\n\t\t\tcontextId,\n\t\t\tkind: \"message\",\n\t\t\tmetadata,\n\t\t}),\n\t);\n\tconst task = wait\n\t\t? await waitForA2ATask(peer.config, sent.task.id, parsed)\n\t\t: sent.task;\n\tif (wait) {\n\t\tawait persistA2ALedgerBestEffort(\"sync sent task result locally\", () =>\n\t\t\tupdateA2ATaskInLedger({\n\t\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\t\tpeer: peer.name,\n\t\t\t\ttask,\n\t\t\t}),\n\t\t);\n\t}\n\tprintTask(task, {\n\t\tincludeWorkGraphDetails: booleanFlag(parsed, \"--work-graph\"),\n\t});\n}\n\nasync function handleA2ADelegate(parsed: ParsedA2AArgs): Promise<void> {\n\tif (booleanFlag(parsed, \"--platform\")) {\n\t\tawait handleA2APlatformDelegate(parsed);\n\t\treturn;\n\t}\n\tconst discover = booleanFlag(parsed, \"--discover\");\n\tconst peerName = discover\n\t\t? undefined\n\t\t: (parsed.positionals.shift() ??\n\t\t\tfail(\"Usage: maestro a2a delegate <peer> <text>\"));\n\tconst text = parsed.positionals.join(\" \").trim();\n\tif (!text) {\n\t\tfail(\n\t\t\tdiscover\n\t\t\t\t? \"Usage: maestro a2a delegate --discover --skill <skill-id> <text>\"\n\t\t\t\t: \"Usage: maestro a2a delegate <peer> <text>\",\n\t\t);\n\t}\n\tconst discoveredPeer = discover\n\t\t? await resolveDiscoveredA2ADelegatePeer(parsed)\n\t\t: undefined;\n\tconst peer = discoveredPeer\n\t\t? discoveredPeer.peer\n\t\t: await resolveA2APeer(peerName, {\n\t\t\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\t\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t\t\t});\n\tconst wait = booleanFlag(parsed, \"--wait\");\n\tconst role = stringFlag(parsed, \"--role\");\n\tconst cwd = stringFlag(parsed, \"--cwd\") ?? process.cwd();\n\tconst messageId = `maestro-a2a-message-${randomUUID()}`;\n\tconst contextId = `maestro-a2a-context-${randomUUID()}`;\n\tconst skillId = stringFlag(parsed, \"--skill\");\n\tconst skill = selectA2APeerSkill(peer.entry.skills, skillId);\n\tconst delegationMetadata = buildA2ADelegationMetadata({\n\t\tpeerName: peer.name,\n\t\trole,\n\t\tcwd,\n\t\tskillId,\n\t\tskill,\n\t\tdiscoverySource: discover ? \"platform-agent-registry\" : undefined,\n\t\tdiscoverySelection: discoveredPeer?.discoverySelection,\n\t});\n\tconst ledgerMetadata = buildA2ADelegationLedgerMetadata({\n\t\tpeerName: peer.name,\n\t\trole,\n\t\tcwd,\n\t\tskillId,\n\t\tdiscoverySource: discover ? \"platform-agent-registry\" : undefined,\n\t\tdiscoverySelection: discoveredPeer?.discoverySelection,\n\t});\n\tconst sent = await sendA2AMessage(peer.config, {\n\t\tmessage: buildA2AUserMessage({\n\t\t\tmessageId,\n\t\t\tcontextId,\n\t\t\ttext,\n\t\t\tmetadata: delegationMetadata,\n\t\t}),\n\t\tconfiguration: { returnImmediately: true },\n\t});\n\tconsole.log(`Delegated to ${chalk.bold(peer.name)} as task ${sent.task.id}`);\n\tawait persistA2ALedgerBestEffort(\"record delegated task locally\", () =>\n\t\trecordA2ATaskStart({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: peer.name,\n\t\t\tpeerDisplayName: peer.entry.displayName,\n\t\t\ttask: sent.task,\n\t\t\ttext,\n\t\t\tmessageId,\n\t\t\tcontextId,\n\t\t\tkind: \"delegation\",\n\t\t\trole,\n\t\t\tcwd,\n\t\t\tmetadata: ledgerMetadata,\n\t\t}),\n\t);\n\tconst task = wait\n\t\t? await waitForA2ATask(peer.config, sent.task.id, parsed)\n\t\t: sent.task;\n\tif (wait) {\n\t\tawait persistA2ALedgerBestEffort(\"sync delegated task result locally\", () =>\n\t\t\tupdateA2ATaskInLedger({\n\t\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\t\tpeer: peer.name,\n\t\t\t\ttask,\n\t\t\t}),\n\t\t);\n\t}\n\tprintTask(task, {\n\t\tincludeWorkGraphDetails: booleanFlag(parsed, \"--work-graph\"),\n\t});\n}\n\nasync function handleA2APlatformDelegate(parsed: ParsedA2AArgs): Promise<void> {\n\tconst text = parsed.positionals.join(\" \").trim();\n\tif (!text) {\n\t\tfail(\n\t\t\t\"Usage: maestro a2a delegate --platform --from-agent-id <agent-id> [--to-agent-id <agent-id>|--capability <capability>] --skill <skill-id> <text>\",\n\t\t);\n\t}\n\tconst fromAgentId =\n\t\tstringFlag(parsed, \"--from-agent-id\") ??\n\t\tgetEnvValue([\n\t\t\t\"MAESTRO_A2A_AGENT_ID\",\n\t\t\t\"MAESTRO_AGENT_ID\",\n\t\t\t\"MAESTRO_EVALOPS_AGENT_ID\",\n\t\t\t\"EVALOPS_AGENT_ID\",\n\t\t]) ??\n\t\tfail(\n\t\t\t\"Provide --from-agent-id or set MAESTRO_A2A_AGENT_ID/MAESTRO_AGENT_ID.\",\n\t\t);\n\tconst toAgentId = stringFlag(parsed, \"--to-agent-id\");\n\tconst requiredCapability = stringFlag(parsed, \"--capability\");\n\tconst skillId = stringFlag(parsed, \"--skill\");\n\tif (!toAgentId && !requiredCapability && !skillId) {\n\t\tfail(\n\t\t\t\"Provide --to-agent-id, --capability, or --skill for Platform routing.\",\n\t\t);\n\t}\n\tconst role = stringFlag(parsed, \"--role\");\n\tconst cwd = stringFlag(parsed, \"--cwd\") ?? process.cwd();\n\tconst requestedAt = new Date().toISOString();\n\tconst result = await delegateAgentWithPlatform({\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\tfromAgentId,\n\t\ttoAgentId,\n\t\trequiredCapability,\n\t\ta2aSkillId: skillId,\n\t\tobjectiveId: stringFlag(parsed, \"--objective-id\"),\n\t\tworkflowRunId: stringFlag(parsed, \"--workflow-run-id\"),\n\t\tworkflowStepId: stringFlag(parsed, \"--workflow-step-id\"),\n\t\tcontextPayload: {\n\t\t\trequestKind: \"maestro-peer-delegation\",\n\t\t\ttransport: \"platform-a2a\",\n\t\t\tprompt: text,\n\t\t\tsource: \"maestro-cli\",\n\t\t\trequestedAt,\n\t\t\t...(role ? { role } : {}),\n\t\t\t...(cwd ? { cwd } : {}),\n\t\t\t...(skillId ? { a2aSkillId: skillId } : {}),\n\t\t\t...(requiredCapability ? { requiredCapability } : {}),\n\t\t},\n\t\treason:\n\t\t\tstringFlag(parsed, \"--reason\") ??\n\t\t\tplatformDelegationReason(text, skillId, requiredCapability),\n\t});\n\tif (!result) {\n\t\tfail(agentRegistryNotConfiguredMessage());\n\t}\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(JSON.stringify(result, null, 2));\n\t\treturn;\n\t}\n\tconst delegation = result.delegation;\n\tconsole.log(\n\t\t`Platform A2A delegation ${chalk.bold(delegation?.id ?? \"(submitted)\")}: ${\n\t\t\tdelegation?.status ?? \"submitted\"\n\t\t}`,\n\t);\n\tconsole.log(chalk.dim(`From: ${fromAgentId}`));\n\tif (delegation?.toAgentId ?? toAgentId) {\n\t\tconsole.log(chalk.dim(`To: ${delegation?.toAgentId ?? toAgentId}`));\n\t}\n\tif (delegation?.a2aTaskId) {\n\t\tconsole.log(chalk.dim(`Remote task: ${delegation.a2aTaskId}`));\n\t}\n\tif (delegation?.a2aEndpointUrl) {\n\t\tconsole.log(chalk.dim(`Endpoint: ${delegation.a2aEndpointUrl}`));\n\t}\n\tif (delegation?.a2aDispatchStatus) {\n\t\tconsole.log(chalk.dim(`Dispatch: ${delegation.a2aDispatchStatus}`));\n\t}\n\tif (delegation?.a2aResumeWaitContracts?.length) {\n\t\tconsole.log(\n\t\t\tchalk.dim(`Resume waits: ${delegation.a2aResumeWaitContracts.length}`),\n\t\t);\n\t}\n}\n\nfunction platformDelegationReason(\n\ttext: string,\n\tskillId: string | undefined,\n\trequiredCapability: string | undefined,\n): string {\n\tconst target = skillId ?? requiredCapability ?? \"a2a peer\";\n\tconst compact = text.replace(/\\s+/g, \" \").trim();\n\treturn `maestro a2a delegate ${target}: ${compact.slice(0, 120)}`;\n}\n\nasync function handleA2AControl(parsed: ParsedA2AArgs): Promise<void> {\n\tconst delegationId =\n\t\tstringFlag(parsed, \"--delegation-id\") ??\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a control <delegation-id> --mode <mode> [message]\");\n\tconst mode = normalizeA2AControlMode(\n\t\tstringFlag(parsed, \"--mode\") ??\n\t\t\tparsed.positionals.shift() ??\n\t\t\tfail(\"Provide --mode steer|followup|collect|interrupt|cancel\"),\n\t);\n\tconst message =\n\t\tstringFlag(parsed, \"--message\") ?? parsed.positionals.join(\" \").trim();\n\tconst result = await controlA2ADelegationTaskWithPlatform({\n\t\tdelegationId,\n\t\tmode,\n\t\tmessage: message || undefined,\n\t\tidempotencyKey: stringFlag(parsed, \"--idempotency-key\"),\n\t\ttargetRunId: stringFlag(parsed, \"--target-run-id\"),\n\t\tchildRunId: stringFlag(parsed, \"--child-run-id\"),\n\t\tsubagentLaneId: stringFlag(parsed, \"--subagent-lane-id\"),\n\t\tworkItemId: stringFlag(parsed, \"--work-item-id\"),\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\tmetadata: {\n\t\t\tsource: \"maestro-cli\",\n\t\t\trequestedAt: new Date().toISOString(),\n\t\t},\n\t});\n\tif (!result) {\n\t\tfail(agentRegistryNotConfiguredMessage());\n\t}\n\tconsole.log(\n\t\t`Control ${chalk.bold(result.remoteTask?.controlId ?? \"(queued)\")}: ${\n\t\t\tresult.remoteTask?.state ?? \"submitted\"\n\t\t}`,\n\t);\n\tif (result.remoteTask?.taskId) {\n\t\tconsole.log(chalk.dim(`Task: ${result.remoteTask.taskId}`));\n\t}\n\tif (result.delegation?.id) {\n\t\tconsole.log(chalk.dim(`Delegation: ${result.delegation.id}`));\n\t}\n}\n\nasync function handleA2AGraph(parsed: ParsedA2AArgs): Promise<void> {\n\tconst delegationId =\n\t\tstringFlag(parsed, \"--delegation-id\") ?? parsed.positionals.shift();\n\tconst rootDelegationId =\n\t\tstringFlag(parsed, \"--root-delegation-id\") ?? stringFlag(parsed, \"--root\");\n\tif (!delegationId && !rootDelegationId) {\n\t\tfail(\n\t\t\t\"Usage: maestro a2a graph <delegation-id> [--root <root-delegation-id>] [--json]\",\n\t\t);\n\t}\n\tconst result = await getA2ADelegationGraphWithPlatform({\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\tdelegationId,\n\t\trootDelegationId,\n\t\tmaxDepth: nonNegativeNumberFlag(parsed, \"--max-depth\"),\n\t\tlimit: nonNegativeNumberFlag(parsed, \"--limit\"),\n\t});\n\tif (!result) {\n\t\tfail(agentRegistryNotConfiguredMessage());\n\t}\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(JSON.stringify(result, null, 2));\n\t\treturn;\n\t}\n\tconsole.log(\n\t\t`Platform A2A delegation graph ${\n\t\t\tresult.rootDelegationId ? chalk.dim(result.rootDelegationId) : \"\"\n\t\t}`.trim(),\n\t);\n\tconst summary = [\n\t\tresult.total !== undefined ? `total=${result.total}` : undefined,\n\t\tresult.truncated !== undefined\n\t\t\t? `truncated=${result.truncated}`\n\t\t\t: undefined,\n\t\tresult.missingParentDelegationIds?.length\n\t\t\t? `missing_parents=${result.missingParentDelegationIds.length}`\n\t\t\t: undefined,\n\t]\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n\tif (summary) {\n\t\tconsole.log(chalk.dim(` ${summary}`));\n\t}\n\tif (result.nodes.length === 0) {\n\t\tconsole.log(chalk.dim(\" No delegation graph nodes returned.\"));\n\t\treturn;\n\t}\n\tfor (const node of result.nodes) {\n\t\tconst delegation = node.delegation;\n\t\tconst label =\n\t\t\tdelegation?.id ??\n\t\t\t(node.depth !== undefined ? `depth-${node.depth}` : \"delegation\");\n\t\tconsole.log(\n\t\t\t`${chalk.bold(label)} ${chalk.dim(\n\t\t\t\t[\n\t\t\t\t\tnode.depth !== undefined ? `depth=${node.depth}` : undefined,\n\t\t\t\t\tdelegation?.status,\n\t\t\t\t\tnode.terminal ? \"terminal\" : undefined,\n\t\t\t\t\tnode.childCount !== undefined\n\t\t\t\t\t\t? `children=${node.childCount}`\n\t\t\t\t\t\t: undefined,\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(\" \"),\n\t\t\t)}`,\n\t\t);\n\t\tconst lineage = delegation?.a2aDelegationChain?.join(\" -> \");\n\t\tconst taskId = delegation?.a2aTaskId;\n\t\tif (taskId || lineage) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(\n\t\t\t\t\t` ${[\n\t\t\t\t\t\ttaskId ? `task=${taskId}` : undefined,\n\t\t\t\t\t\tlineage ? `lineage=${lineage}` : undefined,\n\t\t\t\t\t]\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\" \")}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\tif (result.edges.length > 0) {\n\t\tconsole.log(chalk.dim(` edges=${result.edges.length}`));\n\t}\n}\n\nasync function resolveDiscoveredA2ADelegatePeer(\n\tparsed: ParsedA2AArgs,\n): Promise<{\n\tpeer: Awaited<ReturnType<typeof resolveA2APeer>>;\n\tdiscoverySelection: A2ADiscoverySelection;\n}> {\n\tconst skillId = stringFlag(parsed, \"--skill\");\n\tif (!skillId) {\n\t\tfail(\"Usage: maestro a2a delegate --discover --skill <skill-id> <text>\");\n\t}\n\tconst discovery = await listA2APeerCandidatesWithEvidenceWithPlatform({\n\t\tworkspaceId: stringFlag(parsed, \"--workspace-id\"),\n\t\tcapability: stringFlag(parsed, \"--capability\"),\n\t\tsurface: stringFlag(parsed, \"--surface\") ?? \"a2a\",\n\t\tstatus: stringFlag(parsed, \"--status\") ?? PlatformAgentStatusValue.Idle,\n\t\tlimit: numberFlag(parsed, \"--limit\") ?? 10,\n\t\toffset: nonNegativeNumberFlag(parsed, \"--offset\"),\n\t\tskillId,\n\t\tpreferInternalEndpoint: booleanFlag(parsed, \"--prefer-internal\"),\n\t});\n\tif (!discovery) {\n\t\tfail(\n\t\t\t\"Agent Registry service is not configured. Set AGENT_REGISTRY_SERVICE_URL, AGENT_REGISTRY_SERVICE_TOKEN, AGENT_REGISTRY_ORGANIZATION_ID, and AGENT_REGISTRY_WORKSPACE_ID.\",\n\t\t);\n\t}\n\tconst candidates = discovery.candidates;\n\tif (candidates.length === 0) {\n\t\tfail(`No Platform A2A peers advertise skill ${skillId}.`);\n\t}\n\tconst selected = selectA2ACapabilityPeer(candidates, {\n\t\tskillId,\n\t\tpreferInternalEndpoint: booleanFlag(parsed, \"--prefer-internal\"),\n\t});\n\tconst candidate = selected?.candidate;\n\tif (!candidate || !selected) {\n\t\tfail(`No Platform A2A peers advertise skill ${skillId}.`);\n\t}\n\tconst imported = await importDiscoveredA2APeers(\n\t\tparsed,\n\t\t[candidate],\n\t\tdiscovery.discoveryEvidence,\n\t);\n\tconst importedPeer = imported[0];\n\tif (!importedPeer) {\n\t\tfail(`Could not import Platform A2A peer for skill ${skillId}.`);\n\t}\n\tconsole.log(\n\t\tchalk.dim(\n\t\t\t`Selected Platform A2A peer ${importedPeer.name} (${importedPeer.url}) for ${skillId}`,\n\t\t),\n\t);\n\tconsole.log(\n\t\tchalk.dim(\n\t\t\t`Capability score: ${selected.score} (${selected.reasons.join(\", \")})`,\n\t\t),\n\t);\n\treturn {\n\t\tpeer: await resolveA2APeer(importedPeer.name, {\n\t\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t\t}),\n\t\tdiscoverySelection: {\n\t\t\tsource: \"platform-agent-registry\",\n\t\t\tevidence: discovery.discoveryEvidence,\n\t\t\tcandidateCount:\n\t\t\t\tdiscovery.discoveryEvidence?.candidateCount ?? candidates.length,\n\t\t\tmatchedCount:\n\t\t\t\tdiscovery.discoveryEvidence?.matchedCount ?? candidates.length,\n\t\t\tselectedAgentId: candidate.agent.id,\n\t\t\tselectedAgentName: candidate.agent.name,\n\t\t\tselectedEndpointUrl: candidate.endpointUrl,\n\t\t\tselectedEndpointKind: candidate.endpointKind,\n\t\t\tscore: selected.score,\n\t\t\treasons: selected.reasons,\n\t\t},\n\t};\n}\n\nfunction selectA2APeerSkill(\n\tskills: A2APeerRegistryEntry[\"skills\"] | undefined,\n\tskillId: string | undefined,\n): NonNullable<A2APeerRegistryEntry[\"skills\"]>[number] | undefined {\n\tif (!skillId) {\n\t\treturn undefined;\n\t}\n\treturn skills?.find((skill) => skill.id === skillId);\n}\n\nfunction buildA2ADelegationMetadata(input: {\n\tpeerName: string;\n\trole?: string;\n\tcwd?: string;\n\tskillId?: string;\n\tskill?: NonNullable<A2APeerRegistryEntry[\"skills\"]>[number];\n\tdiscoverySource?: string;\n\tdiscoverySelection?: A2ADiscoverySelection;\n}): Record<string, unknown> {\n\tconst skill = input.skill;\n\tconst subagentRequestMetadataPath = a2ASkillRequestMetadataPath(skill);\n\tconst discoverySelection = a2ADiscoverySelectionPayload(\n\t\tinput.discoverySelection,\n\t);\n\tconst subagentRequest = input.skillId\n\t\t? {\n\t\t\t\tskillId: input.skillId,\n\t\t\t\t...(skill?.name ? { skillName: skill.name } : {}),\n\t\t\t\t...(skill?.description ? { description: skill.description } : {}),\n\t\t\t\t...(input.role ? { role: input.role } : {}),\n\t\t\t\t...(input.cwd ? { cwd: input.cwd } : {}),\n\t\t\t\t...(skill?.requiredContextGrants\n\t\t\t\t\t? { requiredContextGrants: skill.requiredContextGrants }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.approvalPolicyRef\n\t\t\t\t\t? { approvalPolicyRef: skill.approvalPolicyRef }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.maxAutonomy ? { maxAutonomy: skill.maxAutonomy } : {}),\n\t\t\t\t...(skill?.requiredArtifactKinds\n\t\t\t\t\t? { requiredArtifactKinds: skill.requiredArtifactKinds }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.optionalArtifactKinds\n\t\t\t\t\t? { optionalArtifactKinds: skill.optionalArtifactKinds }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.allowedTaskClasses\n\t\t\t\t\t? { allowedTaskClasses: skill.allowedTaskClasses }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.deniedTaskClasses\n\t\t\t\t\t? { deniedTaskClasses: skill.deniedTaskClasses }\n\t\t\t\t\t: {}),\n\t\t\t\t...(skill?.attributes ? { attributes: skill.attributes } : {}),\n\t\t\t\t...(skill?.metadata ? { metadata: skill.metadata } : {}),\n\t\t\t}\n\t\t: undefined;\n\treturn {\n\t\trequestKind: \"maestro-peer-delegation\",\n\t\trelayPeer: input.peerName,\n\t\t...(input.role ? { delegationRole: input.role } : {}),\n\t\t...(input.cwd ? { delegationCwd: input.cwd } : {}),\n\t\t...(input.discoverySource\n\t\t\t? { discoverySource: input.discoverySource }\n\t\t\t: {}),\n\t\t...(input.skillId ? { a2aSkillId: input.skillId } : {}),\n\t\t...(discoverySelection\n\t\t\t? { \"evalops.a2aDiscovery\": discoverySelection }\n\t\t\t: {}),\n\t\t...(subagentRequest\n\t\t\t? { [subagentRequestMetadataPath]: subagentRequest }\n\t\t\t: {}),\n\t};\n}\n\nfunction a2ASkillRequestMetadataPath(\n\tskill: NonNullable<A2APeerRegistryEntry[\"skills\"]>[number] | undefined,\n): string {\n\treturn (\n\t\tstringMetadataValue(skill?.metadata, \"requestMetadataPath\") ??\n\t\tstringMetadataValue(skill?.metadata, \"request_metadata_path\") ??\n\t\tstringMetadataValue(skill?.attributes, \"requestMetadataPath\") ??\n\t\tstringMetadataValue(skill?.attributes, \"request_metadata_path\") ??\n\t\t\"evalops.subagentRequest\"\n\t);\n}\n\nfunction stringMetadataValue(\n\trecord: Record<string, string | number | boolean> | undefined,\n\tkey: string,\n): string | undefined {\n\tconst value = record?.[key];\n\tif (typeof value !== \"string\") {\n\t\treturn undefined;\n\t}\n\tconst trimmed = value.trim();\n\treturn trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction buildA2ADelegationLedgerMetadata(input: {\n\tpeerName: string;\n\trole?: string;\n\tcwd?: string;\n\tskillId?: string;\n\tdiscoverySource?: string;\n\tdiscoverySelection?: A2ADiscoverySelection;\n}): Record<string, string | number | boolean> | undefined {\n\treturn compactA2APeerMetadata({\n\t\trequestKind: \"maestro-peer-delegation\",\n\t\trelayPeer: input.peerName,\n\t\tdelegationRole: input.role,\n\t\tdelegationCwd: input.cwd,\n\t\tdiscoverySource: input.discoverySource,\n\t\ta2aSkillId: input.skillId,\n\t\t...(input.discoverySelection\n\t\t\t? {\n\t\t\t\t\tplatformDiscoveryDecision:\n\t\t\t\t\t\tinput.discoverySelection.evidence?.decision,\n\t\t\t\t\tplatformDiscoveryCandidateCount:\n\t\t\t\t\t\tinput.discoverySelection.candidateCount,\n\t\t\t\t\tplatformDiscoveryMatchedCount: input.discoverySelection.matchedCount,\n\t\t\t\t\tplatformDiscoverySelectedAgentId:\n\t\t\t\t\t\tinput.discoverySelection.selectedAgentId,\n\t\t\t\t\tplatformDiscoverySelectedEndpoint:\n\t\t\t\t\t\tinput.discoverySelection.selectedEndpointKind,\n\t\t\t\t\ta2aCapabilityScore: input.discoverySelection.score,\n\t\t\t\t}\n\t\t\t: {}),\n\t});\n}\n\nasync function handleA2AReply(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName =\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a reply <peer> <task-id> <text>\");\n\tconst taskId =\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a reply <peer> <task-id> <text>\");\n\tconst text = parsed.positionals.join(\" \").trim();\n\tif (!text) {\n\t\tfail(\"Usage: maestro a2a reply <peer> <task-id> <text>\");\n\t}\n\tconst peer = await resolveA2APeer(peerName, {\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t});\n\tconst existing = await loadA2AReplyLedgerEntry(parsed, peer.name, taskId);\n\tconst wait = booleanFlag(parsed, \"--wait\");\n\tconst messageId = `maestro-a2a-message-${randomUUID()}`;\n\tconst sent = await sendA2AMessage(peer.config, {\n\t\tmessage: buildA2AUserMessage({\n\t\t\tmessageId,\n\t\t\tcontextId: existing?.contextId,\n\t\t\ttaskId,\n\t\t\ttext,\n\t\t\tmetadata: {\n\t\t\t\trequestKind: \"maestro-peer-task-reply\",\n\t\t\t\trelayPeer: peer.name,\n\t\t\t\treferencedTaskId: taskId,\n\t\t\t},\n\t\t}),\n\t\tconfiguration: { returnImmediately: true },\n\t});\n\tconsole.log(`Replied to ${chalk.bold(peer.name)} task ${sent.task.id}`);\n\tawait persistA2ALedgerBestEffort(\"record task reply locally\", () =>\n\t\trecordA2ATaskReply({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: peer.name,\n\t\t\tpeerDisplayName: peer.entry.displayName,\n\t\t\ttask: sent.task,\n\t\t\ttext,\n\t\t\tmessageId,\n\t\t\tmetadata: {\n\t\t\t\trequestKind: \"maestro-peer-task-reply\",\n\t\t\t\trelayPeer: peer.name,\n\t\t\t\treferencedTaskId: taskId,\n\t\t\t},\n\t\t}),\n\t);\n\tconst task = wait\n\t\t? await waitForA2ATask(peer.config, sent.task.id, parsed)\n\t\t: sent.task;\n\tif (wait) {\n\t\tawait persistA2ALedgerBestEffort(\"sync replied task result locally\", () =>\n\t\t\tupdateA2ATaskInLedger({\n\t\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\t\tpeer: peer.name,\n\t\t\t\ttask,\n\t\t\t}),\n\t\t);\n\t}\n\tprintTask(task, {\n\t\tincludeWorkGraphDetails: booleanFlag(parsed, \"--work-graph\"),\n\t});\n}\n\nasync function handleA2ACoordinate(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName = parsed.positionals.shift();\n\tif (parsed.positionals.length > 0) {\n\t\tfail(\"Usage: maestro a2a coordinate [peer] [--reply <text>] [--wait]\");\n\t}\n\tconst replyText = stringFlag(parsed, \"--reply\");\n\tif (parsed.flags.has(\"--reply\") && !replyText) {\n\t\tfail(\"Usage: maestro a2a coordinate [peer] --reply <text> [--wait]\");\n\t}\n\tif (replyText) {\n\t\tawait handleA2ACoordinateReply(parsed, peerName, replyText);\n\t\treturn;\n\t}\n\tawait refreshA2ANonFinalTaskLedger(parsed, peerName);\n\tconst ledger = await loadA2ATaskLedger({\n\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t});\n\tconst tasks = actionableA2ATaskEntries(ledger, peerName);\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(\n\t\t\tJSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tpath: getA2ATaskLedgerPath(stringFlag(parsed, \"--tasks\")),\n\t\t\t\t\ttasks: tasks.map((entry) => ({\n\t\t\t\t\t\tid: entry.id,\n\t\t\t\t\t\tkind: entry.kind,\n\t\t\t\t\t\tpeer: entry.peer,\n\t\t\t\t\t\ttaskId: entry.taskId,\n\t\t\t\t\t\tcontextId: entry.contextId,\n\t\t\t\t\t\tstate: entry.state,\n\t\t\t\t\t\ttext: entry.text,\n\t\t\t\t\t\tresponseText: entry.responseText,\n\t\t\t\t\t\tworkGraph: entry.workGraph,\n\t\t\t\t\t\tupdatedAt: entry.updatedAt,\n\t\t\t\t\t})),\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t);\n\t\treturn;\n\t}\n\tconsole.log(\n\t\t`A2A coordinate (${getA2ATaskLedgerPath(stringFlag(parsed, \"--tasks\"))})`,\n\t);\n\tif (tasks.length === 0) {\n\t\tconsole.log(chalk.dim(\" No actionable A2A tasks require coordination.\"));\n\t\treturn;\n\t}\n\tfor (const task of tasks) {\n\t\tconsole.log(\n\t\t\t`${task.peer} ${chalk.bold(task.taskId)} ${task.state} ${chalk.dim(task.updatedAt)}`,\n\t\t);\n\t\tconsole.log(chalk.dim(` ${task.text}`));\n\t\tif (task.responseText) {\n\t\t\tconsole.log(` ${task.responseText}`);\n\t\t}\n\t\tprintLedgerWorkGraph(task, booleanFlag(parsed, \"--work-graph\"));\n\t}\n}\n\nasync function handleA2ACoordinateReply(\n\tparsed: ParsedA2AArgs,\n\tpeerName: string | undefined,\n\ttext: string,\n): Promise<void> {\n\tawait refreshA2ANonFinalTaskLedger(parsed, peerName);\n\tconst ledger = await loadA2ATaskLedger({\n\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t});\n\tconst entry = selectCoordinateReplyTask(ledger, peerName);\n\tif (!entry) {\n\t\tfail(\"No actionable A2A task is waiting for coordinator input.\");\n\t}\n\tconst peer = await resolveA2APeer(entry.peer, {\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t});\n\tconst messageId = `maestro-a2a-message-${randomUUID()}`;\n\tconst sent = await sendA2AMessage(peer.config, {\n\t\tmessage: buildA2AUserMessage({\n\t\t\tmessageId,\n\t\t\tcontextId: entry.contextId,\n\t\t\ttaskId: entry.taskId,\n\t\t\ttext,\n\t\t\tmetadata: {\n\t\t\t\trequestKind: \"maestro-peer-coordinate-reply\",\n\t\t\t\trelayPeer: peer.name,\n\t\t\t\treferencedTaskId: entry.taskId,\n\t\t\t},\n\t\t}),\n\t\tconfiguration: { returnImmediately: true },\n\t});\n\tconst replyTask: A2ATask = {\n\t\t...sent.task,\n\t\tid: entry.taskId,\n\t\tcontextId: sent.task.contextId ?? entry.contextId,\n\t};\n\tconst json = booleanFlag(parsed, \"--json\");\n\tif (!json) {\n\t\tconsole.log(`Coordinated ${chalk.bold(peer.name)} task ${entry.taskId}`);\n\t}\n\tawait persistA2ALedgerBestEffort(\"record coordinate reply locally\", () =>\n\t\trecordA2ATaskReply({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: peer.name,\n\t\t\tpeerDisplayName: peer.entry.displayName,\n\t\t\ttask: replyTask,\n\t\t\ttext,\n\t\t\tmessageId,\n\t\t\tmetadata: {\n\t\t\t\trequestKind: \"maestro-peer-coordinate-reply\",\n\t\t\t\trelayPeer: peer.name,\n\t\t\t\treferencedTaskId: entry.taskId,\n\t\t\t},\n\t\t}),\n\t);\n\tconst task = booleanFlag(parsed, \"--wait\")\n\t\t? await waitForA2ATask(peer.config, entry.taskId, parsed)\n\t\t: replyTask;\n\tif (booleanFlag(parsed, \"--wait\")) {\n\t\tawait persistA2ALedgerBestEffort(\n\t\t\t\"sync coordinate task result locally\",\n\t\t\t() =>\n\t\t\t\tupdateA2ATaskInLedger({\n\t\t\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\t\t\tpeer: peer.name,\n\t\t\t\t\ttask,\n\t\t\t\t}),\n\t\t);\n\t}\n\tif (json) {\n\t\tconsole.log(JSON.stringify({ peer: peer.name, task }, null, 2));\n\t\treturn;\n\t}\n\tprintTask(task, {\n\t\tincludeWorkGraphDetails: booleanFlag(parsed, \"--work-graph\"),\n\t});\n}\n\nfunction actionableA2ATaskEntries(\n\tledger: { tasks: A2ATaskLedgerEntry[] },\n\tpeerName: string | undefined,\n): A2ATaskLedgerEntry[] {\n\treturn listA2ATaskEntries(ledger, { peer: peerName }).filter((entry) =>\n\t\tisActionRequiredA2AState(entry.state),\n\t);\n}\n\nfunction selectCoordinateReplyTask(\n\tledger: { tasks: A2ATaskLedgerEntry[] },\n\tpeerName: string | undefined,\n): A2ATaskLedgerEntry | undefined {\n\tconst tasks = actionableA2ATaskEntries(ledger, peerName);\n\tif (tasks.length > 1) {\n\t\tfail(\n\t\t\t\"Multiple actionable A2A tasks found; use `maestro a2a reply <peer> <task-id> <text>`.\",\n\t\t);\n\t}\n\treturn tasks[0];\n}\n\nasync function loadA2AReplyLedgerEntry(\n\tparsed: ParsedA2AArgs,\n\tpeerName: string,\n\ttaskId: string,\n): Promise<A2ATaskLedgerEntry | undefined> {\n\ttry {\n\t\tconst ledger = await loadA2ATaskLedger({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t});\n\t\treturn listA2ATaskEntries(ledger, { peer: peerName }).find(\n\t\t\t(entry) => entry.taskId === taskId,\n\t\t);\n\t} catch (error) {\n\t\tif (isAbortError(error)) {\n\t\t\tthrow error;\n\t\t}\n\t\tconsole.error(\n\t\t\tchalk.yellow(\n\t\t\t\t`A2A task ledger warning: could not load task reply context: ${errorMessage(error)}`,\n\t\t\t),\n\t\t);\n\t\treturn undefined;\n\t}\n}\n\nasync function handleA2ATelemetry(parsed: ParsedA2AArgs): Promise<void> {\n\tconst eventsPath =\n\t\tstringFlag(parsed, \"--events\") ??\n\t\tfail(\"Usage: maestro a2a telemetry --events <path> --swarm-id <id>\");\n\tconst swarmId =\n\t\tstringFlag(parsed, \"--swarm-id\") ??\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a telemetry --events <path> --swarm-id <id>\");\n\tconst events = await loadA2ATelemetryEvents(eventsPath);\n\tconst inspection = inspectA2ATelemetry({ swarmId, events });\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(JSON.stringify(inspection, null, 2));\n\t\treturn;\n\t}\n\tconsole.log(\n\t\t`A2A telemetry ${chalk.bold(swarmId)} ${inspection.complete ? \"complete\" : \"incomplete\"}`,\n\t);\n\tconsole.log(\n\t\tchalk.dim(\n\t\t\t` events=${inspection.counts.events} lanes=${inspection.counts.lanes} completed=${inspection.counts.completedLanes} failed=${inspection.counts.failedLanes} missing=${inspection.counts.missingTelemetryLanes}`,\n\t\t),\n\t);\n\tif (inspection.counts.orderingAnomalyLanes > 0) {\n\t\tconsole.log(\n\t\t\tchalk.yellow(\n\t\t\t\t` ordering_anomalies=${inspection.counts.orderingAnomalyLanes}`,\n\t\t\t),\n\t\t);\n\t}\n\tfor (const lane of inspection.lanes) {\n\t\tconsole.log(\n\t\t\t`${lane.laneId} ${lane.status ?? \"(unknown)\"} ${\n\t\t\t\tlane.peer ? chalk.dim(lane.peer) : \"\"\n\t\t\t}`.trim(),\n\t\t);\n\t\tconst details = [\n\t\t\tlane.parentTaskId ? `parent=${lane.parentTaskId}` : undefined,\n\t\t\tlane.a2aTaskId ? `task=${lane.a2aTaskId}` : undefined,\n\t\t\tlane.a2aMessageId ? `message=${lane.a2aMessageId}` : undefined,\n\t\t\tlane.contextId ? `context=${lane.contextId}` : undefined,\n\t\t\tlane.source ? `source=${lane.source}` : undefined,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \");\n\t\tif (details) {\n\t\t\tconsole.log(chalk.dim(` ${details}`));\n\t\t}\n\t\tconst timing = [\n\t\t\tlane.timing.selectionToDispatchMs !== undefined\n\t\t\t\t? `selected_to_dispatch=${lane.timing.selectionToDispatchMs}ms`\n\t\t\t\t: undefined,\n\t\t\tlane.timing.observedDurationMs !== undefined\n\t\t\t\t? `observed_duration=${lane.timing.observedDurationMs}ms`\n\t\t\t\t: undefined,\n\t\t\tlane.timing.reportedDurationMs !== undefined\n\t\t\t\t? `reported_duration=${lane.timing.reportedDurationMs}ms`\n\t\t\t\t: undefined,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \");\n\t\tif (timing) {\n\t\t\tconsole.log(chalk.dim(` ${timing}`));\n\t\t}\n\t\tif (lane.missingEventTypes.length > 0) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.yellow(` missing: ${lane.missingEventTypes.join(\", \")}`),\n\t\t\t);\n\t\t}\n\t\tif (lane.orderingAnomalies.length > 0) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.yellow(` anomalies: ${lane.orderingAnomalies.join(\", \")}`),\n\t\t\t);\n\t\t}\n\t}\n}\n\nasync function loadA2ATelemetryEvents(\n\tpath: string,\n): Promise<A2ATelemetryCloudEventLike[]> {\n\tconst parsed = JSON.parse(await readFile(path, \"utf8\")) as unknown;\n\tconst events = Array.isArray(parsed)\n\t\t? parsed\n\t\t: isRecord(parsed) && Array.isArray(parsed.events)\n\t\t\t? parsed.events\n\t\t\t: undefined;\n\tif (!events) {\n\t\tthrow new Error(\"A2A telemetry events file must be an array or { events }\");\n\t}\n\treturn events.filter(isA2ATelemetryCloudEventLike);\n}\n\nfunction isA2ATelemetryCloudEventLike(\n\tvalue: unknown,\n): value is A2ATelemetryCloudEventLike {\n\treturn (\n\t\tisRecord(value) &&\n\t\ttypeof value.type === \"string\" &&\n\t\t(value.data === undefined || isRecord(value.data))\n\t);\n}\n\nasync function handleA2ATasks(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName = parsed.positionals.shift();\n\tif (booleanFlag(parsed, \"--refresh\")) {\n\t\tawait refreshA2ATaskLedger(parsed, peerName);\n\t}\n\tconst ledger = await loadA2ATaskLedger({\n\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t});\n\tconst tasks = listA2ATaskEntries(ledger, { peer: peerName });\n\tif (booleanFlag(parsed, \"--json\")) {\n\t\tconsole.log(\n\t\t\tJSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tpath: getA2ATaskLedgerPath(stringFlag(parsed, \"--tasks\")),\n\t\t\t\t\ttasks: tasks.map((entry) => ({\n\t\t\t\t\t\tid: entry.id,\n\t\t\t\t\t\tkind: entry.kind,\n\t\t\t\t\t\tpeer: entry.peer,\n\t\t\t\t\t\ttaskId: entry.taskId,\n\t\t\t\t\t\tstate: entry.state,\n\t\t\t\t\t\ttext: entry.text,\n\t\t\t\t\t\tresponseText: entry.responseText,\n\t\t\t\t\t\tworkGraph: entry.workGraph,\n\t\t\t\t\t\tupdatedAt: entry.updatedAt,\n\t\t\t\t\t})),\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t);\n\t\treturn;\n\t}\n\tconsole.log(\n\t\t`A2A tasks (${getA2ATaskLedgerPath(stringFlag(parsed, \"--tasks\"))})`,\n\t);\n\tif (tasks.length === 0) {\n\t\tconsole.log(chalk.dim(\" No delegated tasks recorded yet.\"));\n\t\treturn;\n\t}\n\tfor (const task of tasks) {\n\t\tconsole.log(\n\t\t\t`${task.peer} ${chalk.bold(task.taskId)} ${task.state} ${chalk.dim(task.updatedAt)}`,\n\t\t);\n\t\tconsole.log(chalk.dim(` ${task.text}`));\n\t\tif (task.responseText) {\n\t\t\tconsole.log(` ${task.responseText}`);\n\t\t}\n\t\tprintLedgerWorkGraph(task, booleanFlag(parsed, \"--work-graph\"));\n\t}\n}\n\nasync function handleA2AWait(parsed: ParsedA2AArgs): Promise<void> {\n\tconst peerName =\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a wait <peer> <task-id>\");\n\tconst taskId =\n\t\tparsed.positionals.shift() ??\n\t\tfail(\"Usage: maestro a2a wait <peer> <task-id>\");\n\tconst peer = await resolveA2APeer(peerName, {\n\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t});\n\tconst task = await waitForA2ATask(peer.config, taskId, parsed);\n\tawait persistA2ALedgerBestEffort(\"sync task result locally\", () =>\n\t\tupdateA2ATaskInLedger({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: peer.name,\n\t\t\ttask,\n\t\t}),\n\t);\n\tprintTask(task, {\n\t\tincludeWorkGraphDetails: booleanFlag(parsed, \"--work-graph\"),\n\t});\n}\n\nasync function refreshA2ATaskLedger(\n\tparsed: ParsedA2AArgs,\n\tpeerFilter: string | undefined,\n): Promise<void> {\n\tconst ledger = await loadA2ATaskLedger({\n\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t});\n\tfor (const entry of listA2ATaskEntries(ledger, { peer: peerFilter })) {\n\t\tif (isTerminalA2AState(entry.state)) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst peer = await resolveA2APeer(entry.peer, {\n\t\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t\t});\n\t\tconst task = await getA2ATask(peer.config, entry.taskId);\n\t\tawait updateA2ATaskInLedger({\n\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\tpeer: entry.peer,\n\t\t\ttask,\n\t\t});\n\t}\n}\n\nasync function refreshA2ANonFinalTaskLedger(\n\tparsed: ParsedA2AArgs,\n\tpeerFilter: string | undefined,\n): Promise<void> {\n\tconst ledger = await loadA2ATaskLedger({\n\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t});\n\tfor (const entry of listA2ATaskEntries(ledger, { peer: peerFilter })) {\n\t\tif (isFinalA2AState(entry.state)) {\n\t\t\tcontinue;\n\t\t}\n\t\ttry {\n\t\t\tconst peer = await resolveA2APeer(entry.peer, {\n\t\t\t\tpath: stringFlag(parsed, \"--registry\"),\n\t\t\t\ttimeoutMs: numberFlag(parsed, \"--timeout-ms\"),\n\t\t\t});\n\t\t\tconst task = await getA2ATask(peer.config, entry.taskId);\n\t\t\tawait updateA2ATaskInLedger({\n\t\t\t\tpath: stringFlag(parsed, \"--tasks\"),\n\t\t\t\tpeer: entry.peer,\n\t\t\t\ttask,\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconsole.error(\n\t\t\t\tchalk.yellow(\n\t\t\t\t\t`A2A coordinate warning: could not refresh ${entry.peer} task ${entry.taskId}: ${errorMessage(error)}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n}\n\nasync function waitForA2ATask(\n\tconfig: A2AServiceConfig,\n\ttaskId: string,\n\tparsed: ParsedA2AArgs,\n): Promise<A2ATask> {\n\tconst maxWaitMs = numberFlag(parsed, \"--max-wait-ms\") ?? DEFAULT_WAIT_MS;\n\tconst intervalMs =\n\t\tnumberFlag(parsed, \"--interval-ms\") ?? DEFAULT_WAIT_INTERVAL_MS;\n\tconst deadline = Date.now() + maxWaitMs;\n\tlet lastTask = await getA2ATask(config, taskId);\n\twhile (!isTerminalA2AState(lastTask.status.state) && Date.now() < deadline) {\n\t\tawait sleep(intervalMs);\n\t\tlastTask = await getA2ATask(config, taskId);\n\t}\n\tif (!isTerminalA2AState(lastTask.status.state)) {\n\t\tthrow new Error(\n\t\t\t`Timed out waiting for A2A task ${taskId}; last state ${lastTask.status.state}`,\n\t\t);\n\t}\n\treturn lastTask;\n}\n\nfunction printTask(\n\ttask: A2ATask,\n\toptions: { includeWorkGraphDetails?: boolean } = {},\n): void {\n\tconsole.log(`Task ${task.id}: ${task.status.state}`);\n\tconst text = a2aTaskText(task);\n\tif (text) {\n\t\tconsole.log(text);\n\t}\n\tprintTaskWorkGraph(task, Boolean(options.includeWorkGraphDetails));\n}\n\nfunction a2aTaskText(task: A2ATask): string | undefined {\n\treturn extractA2ATaskText(task);\n}\n\nfunction printTaskWorkGraph(task: A2ATask, includeDetails: boolean): void {\n\tprintWorkGraphLines(extractA2AWorkGraphMetadata(task), includeDetails);\n}\n\nfunction printLedgerWorkGraph(\n\tentry: A2ATaskLedgerEntry,\n\tincludeDetails: boolean,\n): void {\n\tprintWorkGraphLines(entry.workGraph, includeDetails);\n}\n\nfunction printWorkGraphLines(\n\tworkGraph: A2ATaskLedgerEntry[\"workGraph\"],\n\tincludeDetails: boolean,\n): void {\n\tconst summary = formatA2AWorkGraphSummary(workGraph);\n\tif (summary) {\n\t\tconsole.log(chalk.dim(` ${summary}`));\n\t}\n\tif (!includeDetails) {\n\t\treturn;\n\t}\n\tconst codexSubagents = formatA2AWorkGraphCodexSubagents(workGraph);\n\tif (codexSubagents) {\n\t\tconsole.log(chalk.dim(` ${codexSubagents}`));\n\t}\n\tif (workGraph?.correlationPath) {\n\t\tconsole.log(chalk.dim(` Correlation: ${workGraph.correlationPath}`));\n\t}\n}\n\nexport const isA2AWaitCompletionState = isTerminalA2AState;\n\nfunction baseUrlFromAgentCardUrl(agentCardUrl: string): string {\n\tconst parsed = new URL(agentCardUrl);\n\tparsed.pathname = parsed.pathname.replace(\n\t\t/\\/\\.well-known\\/agent-card\\.json$/u,\n\t\t\"\",\n\t);\n\tparsed.search = \"\";\n\tparsed.hash = \"\";\n\treturn parsed.toString().replace(/\\/+$/u, \"\");\n}\n\nfunction formatCockpitTaskStatus(status: string): string {\n\tswitch (status) {\n\t\tcase \"waiting\":\n\t\t\treturn chalk.yellow(status);\n\t\tcase \"failed\":\n\t\t\treturn chalk.red(status);\n\t\tcase \"completed\":\n\t\t\treturn chalk.green(status);\n\t\tcase \"running\":\n\t\t\treturn chalk.cyan(status);\n\t\tdefault:\n\t\t\treturn chalk.dim(status);\n\t}\n}\n\nfunction formatCockpitActionSeverity(severity: string): string {\n\tswitch (severity) {\n\t\tcase \"critical\":\n\t\t\treturn chalk.red(\"!\");\n\t\tcase \"warning\":\n\t\t\treturn chalk.yellow(\"!\");\n\t\tdefault:\n\t\t\treturn chalk.cyan(\">\");\n\t}\n}\n\nasync function persistA2ALedgerBestEffort(\n\tdescription: string,\n\taction: () => Promise<unknown>,\n): Promise<void> {\n\ttry {\n\t\tawait action();\n\t} catch (error) {\n\t\tif (isAbortError(error)) {\n\t\t\tthrow error;\n\t\t}\n\t\tconsole.error(\n\t\t\tchalk.yellow(\n\t\t\t\t`A2A task ledger warning: could not ${description}: ${errorMessage(error)}`,\n\t\t\t),\n\t\t);\n\t}\n}\n\nfunction fail(message: string): never {\n\tthrow new Error(message);\n}\n\nfunction sleep(ms: number): Promise<void> {\n\treturn new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nfunction errorMessage(error: unknown): string {\n\treturn error instanceof Error ? error.message : String(error);\n}\n\nfunction agentRegistryNotConfiguredMessage(): string {\n\treturn \"Agent Registry service is not configured. Set AGENT_REGISTRY_SERVICE_URL, AGENT_REGISTRY_SERVICE_TOKEN, AGENT_REGISTRY_ORGANIZATION_ID, and AGENT_REGISTRY_WORKSPACE_ID, or pass --workspace-id with shared EvalOps credentials.\";\n}\n\nfunction normalizeA2AControlMode(\n\tvalue: string,\n): PlatformA2ADelegationTaskControlModeValue {\n\tswitch (value.toLowerCase()) {\n\t\tcase \"steer\":\n\t\t\treturn PlatformA2ADelegationTaskControlModeValue.Steer;\n\t\tcase \"followup\":\n\t\tcase \"follow-up\":\n\t\t\treturn PlatformA2ADelegationTaskControlModeValue.Followup;\n\t\tcase \"collect\":\n\t\t\treturn PlatformA2ADelegationTaskControlModeValue.Collect;\n\t\tcase \"interrupt\":\n\t\t\treturn PlatformA2ADelegationTaskControlModeValue.Interrupt;\n\t\tcase \"cancel\":\n\t\t\treturn PlatformA2ADelegationTaskControlModeValue.Cancel;\n\t\tdefault:\n\t\t\tthrow new Error(`Unsupported A2A control mode: ${value}`);\n\t}\n}\n\nfunction printA2AHelp(): void {\n\tconsole.log(`Usage:\n maestro a2a offer --url <base-url> [--name <display-name>] [--peer-id <id>]\n maestro a2a accept <pairing-code> [--name <peer>] [--default] [--token-env ENV]\n maestro a2a peers\n maestro a2a discover [--capability <capability>] [--skill <skill-id>] [--import]\n maestro a2a register --url <base-url> [--agent-id <id>] [--workspace-id <id>] [--json]\n maestro a2a fleet [--json]\n maestro a2a cockpit [--peer <peer>] [--json]\n maestro a2a card <peer>\n maestro a2a coordinate [peer] [--reply <text>] [--wait] [--json] [--work-graph]\n maestro a2a delegate <peer> <text> [--role <role>] [--cwd <path>] [--wait] [--work-graph]\n maestro a2a delegate --discover --skill <skill-id> <text> [--capability <capability>] [--prefer-internal]\n maestro a2a delegate --platform --from-agent-id <agent-id> [--to-agent-id <agent-id>|--capability <capability>] --skill <skill-id> <text> [--json]\n maestro a2a control <delegation-id> --mode steer|followup|collect|interrupt|cancel [--workspace-id <id>] [message]\n maestro a2a graph <delegation-id> [--workspace-id <id>] [--json]\n maestro a2a telemetry --events <path> --swarm-id <id> [--json]\n maestro a2a reply <peer> <task-id> <text> [--wait] [--work-graph]\n maestro a2a send <peer> <text> [--wait] [--tasks <path>] [--work-graph]\n maestro a2a tasks [peer] [--json] [--refresh] [--work-graph]\n maestro a2a wait <peer> <task-id> [--work-graph]\n\nPairing codes carry Agent Card and transport coordinates only. Configure auth with\n--token-env or --token-file when accepting a peer; bearer tokens are never embedded.`);\n}\n"]}
|