@evalops/maestro 0.10.50 → 0.10.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -3
- 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/agent.d.ts.map +1 -1
- package/dist/agent/agent.js.map +1 -1
- 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/compaction.d.ts.map +1 -1
- package/dist/agent/compaction.js +1 -1
- package/dist/agent/compaction.js.map +1 -1
- package/dist/agent/context-handoff.d.ts.map +1 -1
- package/dist/agent/context-handoff.js +2 -1
- package/dist/agent/context-handoff.js.map +1 -1
- package/dist/agent/index.d.ts +8 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +8 -1
- package/dist/agent/index.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 +3 -3
- package/dist/agent/modes.d.ts.map +1 -1
- package/dist/agent/modes.js +66 -3
- package/dist/agent/modes.js.map +1 -1
- package/dist/agent/oracle-consultation-policy.d.ts +22 -0
- package/dist/agent/oracle-consultation-policy.d.ts.map +1 -0
- package/dist/agent/oracle-consultation-policy.js +72 -0
- package/dist/agent/oracle-consultation-policy.js.map +1 -0
- package/dist/agent/oracle-policy-experiment.d.ts +27 -0
- package/dist/agent/oracle-policy-experiment.d.ts.map +1 -0
- package/dist/agent/oracle-policy-experiment.js +59 -0
- package/dist/agent/oracle-policy-experiment.js.map +1 -0
- package/dist/agent/oracle-policy-rollout.d.ts +42 -0
- package/dist/agent/oracle-policy-rollout.d.ts.map +1 -0
- package/dist/agent/oracle-policy-rollout.js +80 -0
- package/dist/agent/oracle-policy-rollout.js.map +1 -0
- package/dist/agent/plugin-agent-api.d.ts +13 -0
- package/dist/agent/plugin-agent-api.d.ts.map +1 -0
- package/dist/agent/plugin-agent-api.js +11 -0
- package/dist/agent/plugin-agent-api.js.map +1 -0
- package/dist/agent/plugin-agent-loader.d.ts +17 -0
- package/dist/agent/plugin-agent-loader.d.ts.map +1 -0
- package/dist/agent/plugin-agent-loader.js +81 -0
- package/dist/agent/plugin-agent-loader.js.map +1 -0
- package/dist/agent/plugin-agent-registry.d.ts +62 -0
- package/dist/agent/plugin-agent-registry.d.ts.map +1 -0
- package/dist/agent/plugin-agent-registry.js +109 -0
- package/dist/agent/plugin-agent-registry.js.map +1 -0
- package/dist/agent/profile-loader.d.ts +7 -0
- package/dist/agent/profile-loader.d.ts.map +1 -0
- package/dist/agent/profile-loader.js +115 -0
- package/dist/agent/profile-loader.js.map +1 -0
- package/dist/agent/profiles.d.ts +30 -0
- package/dist/agent/profiles.d.ts.map +1 -0
- package/dist/agent/profiles.js +146 -0
- package/dist/agent/profiles.js.map +1 -0
- package/dist/agent/prompt-cache.d.ts +0 -4
- package/dist/agent/prompt-cache.d.ts.map +1 -1
- package/dist/agent/prompt-cache.js +1 -7
- package/dist/agent/prompt-cache.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 +204 -107
- package/dist/agent/providers/google.js +101 -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 +204 -107
- package/dist/agent/routing-receipt.d.ts +34 -0
- package/dist/agent/routing-receipt.d.ts.map +1 -0
- package/dist/agent/routing-receipt.js +55 -0
- package/dist/agent/routing-receipt.js.map +1 -0
- package/dist/agent/skill-artifact-metadata.d.ts +14 -0
- package/dist/agent/skill-artifact-metadata.d.ts.map +1 -0
- package/dist/agent/skill-artifact-metadata.js +49 -0
- package/dist/agent/skill-artifact-metadata.js.map +1 -0
- 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 +5 -2
- package/dist/agent/subagent-specs.d.ts.map +1 -1
- package/dist/agent/subagent-specs.js +83 -10
- 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/token-counter.d.ts +40 -0
- package/dist/agent/token-counter.d.ts.map +1 -0
- package/dist/agent/token-counter.js +74 -0
- package/dist/agent/token-counter.js.map +1 -0
- package/dist/agent/transport/events.d.ts +1 -1
- package/dist/agent/transport/events.d.ts.map +1 -1
- package/dist/agent/transport/events.js +1 -1
- package/dist/agent/transport/events.js.map +1 -1
- 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/agent/types.d.ts +4 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.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 +2 -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/app-server/session-api.d.ts.map +1 -1
- package/dist/app-server/session-api.js +15 -2
- package/dist/app-server/session-api.js.map +1 -1
- package/dist/audit/logger.d.ts +5 -5
- package/dist/cli/args.d.ts +4 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +33 -1
- 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/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/direct-runtime-command.d.ts +1 -0
- package/dist/cli/direct-runtime-command.d.ts.map +1 -1
- package/dist/cli/direct-runtime-command.js +25 -3
- package/dist/cli/direct-runtime-command.js.map +1 -1
- 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/headless.d.ts +3 -19
- package/dist/cli/headless.d.ts.map +1 -1
- package/dist/cli/headless.js +8 -619
- package/dist/cli/headless.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +13 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/native-tui-launcher.d.ts +126 -0
- package/dist/cli/native-tui-launcher.d.ts.map +1 -0
- package/dist/cli/native-tui-launcher.js +425 -0
- package/dist/cli/native-tui-launcher.js.map +1 -0
- package/dist/cli/rpc-mode.d.ts +3 -27
- package/dist/cli/rpc-mode.d.ts.map +1 -1
- package/dist/cli/rpc-mode.js +8 -177
- package/dist/cli/rpc-mode.js.map +1 -1
- package/dist/cli/session.d.ts +11 -19
- package/dist/cli/session.d.ts.map +1 -1
- package/dist/cli/session.js +6 -64
- package/dist/cli/session.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-command-runtime.d.ts.map +1 -1
- package/dist/cli-command-runtime.js +26 -24
- package/dist/cli-command-runtime.js.map +1 -1
- package/dist/cli-runtime.js +41729 -121859
- 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/config/env-vars.d.ts +12 -0
- package/dist/config/env-vars.d.ts.map +1 -1
- package/dist/config/env-vars.js +12 -0
- package/dist/config/env-vars.js.map +1 -1
- package/dist/config/ui-state.d.ts +32 -0
- package/dist/config/ui-state.d.ts.map +1 -0
- package/dist/config/ui-state.js +88 -0
- package/dist/config/ui-state.js.map +1 -0
- 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/context/repo-map.d.ts.map +1 -1
- package/dist/context/repo-map.js +1 -7
- package/dist/context/repo-map.js.map +1 -1
- package/dist/context/token-optimizer.d.ts.map +1 -1
- package/dist/context/token-optimizer.js +1 -8
- package/dist/context/token-optimizer.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 +7 -3
- 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/hooks/notification-hooks.d.ts +1 -1
- package/dist/hooks/notification-hooks.d.ts.map +1 -1
- package/dist/hooks/notification-hooks.js.map +1 -1
- package/dist/hooks/tui-surface.d.ts +35 -0
- package/dist/hooks/tui-surface.d.ts.map +1 -0
- package/dist/hooks/tui-surface.js +11 -0
- package/dist/hooks/tui-surface.js.map +1 -0
- package/dist/hooks/types.d.ts +2 -1
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/hooks/types.js.map +1 -1
- package/dist/hooks/typescript-loader.d.ts.map +1 -1
- package/dist/hooks/typescript-loader.js.map +1 -1
- package/dist/hooks/ui-context.d.ts.map +1 -1
- package/dist/hooks/ui-context.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 +201 -840
- 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 +5 -5
- 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 +46 -0
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.js +3 -0
- package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +284 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js +41 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.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/dist/schemas.d.ts +986 -0
- package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/schemas.js +49 -0
- package/dist/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts +56 -0
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts.map +1 -0
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.js +86 -0
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.js.map +1 -0
- package/dist/node_modules/@evalops/contracts/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/packages/discovery.d.ts.map +1 -1
- package/dist/packages/discovery.js +1 -0
- package/dist/packages/discovery.js.map +1 -1
- package/dist/packages/inspection.d.ts.map +1 -1
- package/dist/packages/inspection.js +7 -1
- package/dist/packages/inspection.js.map +1 -1
- package/dist/packages/loader.d.ts.map +1 -1
- package/dist/packages/loader.js +8 -1
- package/dist/packages/loader.js.map +1 -1
- package/dist/packages/runtime.d.ts +1 -0
- package/dist/packages/runtime.d.ts.map +1 -1
- package/dist/packages/runtime.js +9 -1
- package/dist/packages/runtime.js.map +1 -1
- package/dist/packages/types.d.ts +6 -0
- package/dist/packages/types.d.ts.map +1 -1
- package/dist/packages/types.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/agent-runtime.d.ts +22 -6
- package/dist/runtime/agent-runtime.d.ts.map +1 -1
- package/dist/runtime/agent-runtime.js +1 -1
- package/dist/runtime/agent-runtime.js.map +1 -1
- package/dist/runtime/env.d.ts +10 -1
- package/dist/runtime/env.d.ts.map +1 -1
- package/dist/runtime/env.js +64 -1
- package/dist/runtime/env.js.map +1 -1
- package/dist/runtime/prompt-queue.d.ts.map +1 -0
- package/dist/runtime/prompt-queue.js.map +1 -0
- 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/chat-ws.d.ts +2 -1
- package/dist/server/handlers/chat-ws.d.ts.map +1 -1
- package/dist/server/handlers/chat-ws.js +150 -5
- package/dist/server/handlers/chat-ws.js.map +1 -1
- package/dist/server/handlers/chat.d.ts.map +1 -1
- package/dist/server/handlers/chat.js +78 -5
- package/dist/server/handlers/chat.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/package.d.ts.map +1 -1
- package/dist/server/handlers/package.js +1 -0
- package/dist/server/handlers/package.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/queue.js +1 -1
- package/dist/server/handlers/queue.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/handlers/ui.js +1 -1
- package/dist/server/handlers/ui.js.map +1 -1
- package/dist/server/handlers/zen.js +1 -1
- package/dist/server/handlers/zen.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/hosted-session-manager.d.ts +3 -0
- package/dist/server/hosted-session-manager.d.ts.map +1 -1
- package/dist/server/hosted-session-manager.js +26 -0
- package/dist/server/hosted-session-manager.js.map +1 -1
- package/dist/server/model-selection.d.ts +1 -0
- package/dist/server/model-selection.d.ts.map +1 -1
- package/dist/server/model-selection.js +4 -0
- package/dist/server/model-selection.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 +4 -3
- package/dist/server/session-serialization.js.map +1 -1
- package/dist/server/session-timeline.d.ts.map +1 -1
- package/dist/server/session-timeline.js +1 -1
- package/dist/server/session-timeline.js.map +1 -1
- package/dist/server/sse-session.d.ts +2 -0
- package/dist/server/sse-session.d.ts.map +1 -1
- package/dist/server/sse-session.js +3 -0
- package/dist/server/sse-session.js.map +1 -1
- package/dist/server/stores/ui-store.d.ts +1 -1
- package/dist/server/stores/ui-store.d.ts.map +1 -1
- package/dist/server/stores/ui-store.js.map +1 -1
- package/dist/server/utils/token-estimator.d.ts +2 -2
- package/dist/server/utils/token-estimator.d.ts.map +1 -1
- package/dist/server/utils/token-estimator.js +2 -12
- package/dist/server/utils/token-estimator.js.map +1 -1
- package/dist/server/validation.d.ts +54 -0
- package/dist/server/validation.d.ts.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/image-providers/cost.d.ts +70 -0
- package/dist/services/image-providers/cost.d.ts.map +1 -0
- package/dist/services/image-providers/cost.js +164 -0
- package/dist/services/image-providers/cost.js.map +1 -0
- package/dist/services/image-providers/flux.d.ts +40 -0
- package/dist/services/image-providers/flux.d.ts.map +1 -0
- package/dist/services/image-providers/flux.js +99 -0
- package/dist/services/image-providers/flux.js.map +1 -0
- package/dist/services/image-providers/index.d.ts +24 -0
- package/dist/services/image-providers/index.d.ts.map +1 -0
- package/dist/services/image-providers/index.js +27 -0
- package/dist/services/image-providers/index.js.map +1 -0
- package/dist/services/image-providers/masks.d.ts +51 -0
- package/dist/services/image-providers/masks.d.ts.map +1 -0
- package/dist/services/image-providers/masks.js +132 -0
- package/dist/services/image-providers/masks.js.map +1 -0
- package/dist/services/image-providers/openai.d.ts +35 -0
- package/dist/services/image-providers/openai.d.ts.map +1 -0
- package/dist/services/image-providers/openai.js +93 -0
- package/dist/services/image-providers/openai.js.map +1 -0
- package/dist/services/image-providers/types.d.ts +61 -0
- package/dist/services/image-providers/types.d.ts.map +1 -0
- package/dist/services/image-providers/types.js +17 -0
- package/dist/services/image-providers/types.js.map +1 -0
- package/dist/services/intelligent-router/index.d.ts +1 -0
- package/dist/services/intelligent-router/index.d.ts.map +1 -1
- package/dist/services/intelligent-router/index.js +1 -0
- package/dist/services/intelligent-router/index.js.map +1 -1
- package/dist/services/intelligent-router/normalize.d.ts +1 -0
- package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
- package/dist/services/intelligent-router/normalize.js +18 -3
- package/dist/services/intelligent-router/normalize.js.map +1 -1
- package/dist/services/intelligent-router/outcome.d.ts +19 -0
- package/dist/services/intelligent-router/outcome.d.ts.map +1 -0
- package/dist/services/intelligent-router/outcome.js +51 -0
- package/dist/services/intelligent-router/outcome.js.map +1 -0
- package/dist/services/intelligent-router/recorder.d.ts +2 -0
- package/dist/services/intelligent-router/recorder.d.ts.map +1 -1
- package/dist/services/intelligent-router/recorder.js +72 -1
- package/dist/services/intelligent-router/recorder.js.map +1 -1
- package/dist/services/intelligent-router/service.d.ts +1 -0
- package/dist/services/intelligent-router/service.d.ts.map +1 -1
- package/dist/services/intelligent-router/service.js +60 -11
- package/dist/services/intelligent-router/service.js.map +1 -1
- package/dist/services/intelligent-router/types.d.ts +18 -0
- package/dist/services/intelligent-router/types.d.ts.map +1 -1
- package/dist/services/intelligent-router/types.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/middleware.d.ts +2 -0
- package/dist/services/workspace-config/middleware.d.ts.map +1 -1
- package/dist/services/workspace-config/middleware.js +25 -28
- package/dist/services/workspace-config/middleware.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/session/agent-lineage-projection.d.ts +30 -0
- package/dist/session/agent-lineage-projection.d.ts.map +1 -0
- package/dist/session/agent-lineage-projection.js +109 -0
- package/dist/session/agent-lineage-projection.js.map +1 -0
- package/dist/session/manager.d.ts +3 -0
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +24 -0
- package/dist/session/manager.js.map +1 -1
- package/dist/session/session-graph-projection.d.ts +11 -0
- package/dist/session/session-graph-projection.d.ts.map +1 -1
- package/dist/session/session-graph-projection.js +28 -0
- package/dist/session/session-graph-projection.js.map +1 -1
- package/dist/session/types.d.ts +2 -0
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session/types.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 +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/maestro-publisher-conformance-fixture.js.map +1 -1
- package/dist/telemetry/oracle-policy.d.ts +6 -0
- package/dist/telemetry/oracle-policy.d.ts.map +1 -0
- package/dist/telemetry/oracle-policy.js +17 -0
- package/dist/telemetry/oracle-policy.js.map +1 -0
- package/dist/telemetry/wide-events.d.ts +1 -1
- package/dist/telemetry/wide-events.d.ts.map +1 -1
- package/dist/telemetry/wide-events.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/theme/theme.d.ts +2 -8
- package/dist/theme/theme.d.ts.map +1 -1
- package/dist/theme/theme.js +7 -0
- package/dist/theme/theme.js.map +1 -1
- package/dist/theme/tui-theme-helpers.d.ts +2 -1
- package/dist/theme/tui-theme-helpers.d.ts.map +1 -1
- package/dist/theme/tui-theme-helpers.js.map +1 -1
- package/dist/theme/tui-theme-types.d.ts +39 -0
- package/dist/theme/tui-theme-types.d.ts.map +1 -0
- package/dist/theme/tui-theme-types.js +10 -0
- package/dist/theme/tui-theme-types.js.map +1 -0
- 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/index.d.ts +199 -160
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/lazy-registry.d.ts.map +1 -1
- package/dist/tools/lazy-registry.js +1 -0
- package/dist/tools/lazy-registry.js.map +1 -1
- package/dist/tools/oracle.d.ts +9 -0
- package/dist/tools/oracle.d.ts.map +1 -1
- package/dist/tools/oracle.js +26 -24
- package/dist/tools/oracle.js.map +1 -1
- package/dist/tools/painter.d.ts +73 -0
- package/dist/tools/painter.d.ts.map +1 -0
- package/dist/tools/painter.js +283 -0
- package/dist/tools/painter.js.map +1 -0
- package/dist/tools/typebox-tool.d.ts.map +1 -1
- package/dist/tools/typebox-tool.js +1 -1
- package/dist/tools/typebox-tool.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/terminal-image.d.ts +52 -0
- package/dist/utils/terminal-image.d.ts.map +1 -0
- package/dist/utils/terminal-image.js +95 -0
- package/dist/utils/terminal-image.js.map +1 -0
- package/dist/utils/terminal-text.d.ts +11 -0
- package/dist/utils/terminal-text.d.ts.map +1 -0
- package/dist/utils/terminal-text.js +21 -0
- package/dist/utils/terminal-text.js.map +1 -0
- 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/dist/web-server.d.ts.map +1 -1
- package/dist/web-server.js +24 -2
- package/dist/web-server.js.map +1 -1
- package/package.json +312 -306
- package/skills/incident-triage/SKILL.md +20 -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
- package/dist/cli/commands/agents.d.ts +0 -20
- package/dist/cli/commands/agents.d.ts.map +0 -1
- package/dist/cli/commands/agents.js +0 -280
- package/dist/cli/commands/agents.js.map +0 -1
- package/dist/cli/commands/anthropic.d.ts +0 -2
- package/dist/cli/commands/anthropic.d.ts.map +0 -1
- package/dist/cli/commands/anthropic.js +0 -6
- package/dist/cli/commands/anthropic.js.map +0 -1
- package/dist/cli/commands/cost.d.ts +0 -13
- package/dist/cli/commands/cost.d.ts.map +0 -1
- package/dist/cli/commands/cost.js +0 -143
- package/dist/cli/commands/cost.js.map +0 -1
- package/dist/cli/commands/exec-constants.d.ts +0 -3
- package/dist/cli/commands/exec-constants.d.ts.map +0 -1
- package/dist/cli/commands/exec-constants.js +0 -3
- package/dist/cli/commands/exec-constants.js.map +0 -1
- package/dist/cli/commands/exec.d.ts +0 -19
- package/dist/cli/commands/exec.d.ts.map +0 -1
- package/dist/cli/commands/exec.js +0 -207
- package/dist/cli/commands/exec.js.map +0 -1
- package/dist/cli/commands/hooks.d.ts +0 -2
- package/dist/cli/commands/hooks.d.ts.map +0 -1
- package/dist/cli/commands/hooks.js +0 -25
- package/dist/cli/commands/hooks.js.map +0 -1
- package/dist/cli/commands/hosted-runner.d.ts +0 -25
- package/dist/cli/commands/hosted-runner.d.ts.map +0 -1
- package/dist/cli/commands/hosted-runner.js +0 -278
- package/dist/cli/commands/hosted-runner.js.map +0 -1
- package/dist/cli/commands/memory.d.ts +0 -2
- package/dist/cli/commands/memory.d.ts.map +0 -1
- package/dist/cli/commands/memory.js +0 -208
- package/dist/cli/commands/memory.js.map +0 -1
- package/dist/cli/commands/models.d.ts +0 -3
- package/dist/cli/commands/models.d.ts.map +0 -1
- package/dist/cli/commands/models.js +0 -154
- package/dist/cli/commands/models.js.map +0 -1
- package/dist/cli/commands/modes.d.ts +0 -8
- package/dist/cli/commands/modes.d.ts.map +0 -1
- package/dist/cli/commands/modes.js +0 -151
- package/dist/cli/commands/modes.js.map +0 -1
- package/dist/cli/commands/openai.d.ts +0 -2
- package/dist/cli/commands/openai.d.ts.map +0 -1
- package/dist/cli/commands/openai.js +0 -116
- package/dist/cli/commands/openai.js.map +0 -1
- package/dist/cli/commands/session-transfer.d.ts +0 -5
- package/dist/cli/commands/session-transfer.d.ts.map +0 -1
- package/dist/cli/commands/session-transfer.js +0 -43
- package/dist/cli/commands/session-transfer.js.map +0 -1
- package/dist/cli/commands/sessions.d.ts +0 -8
- package/dist/cli/commands/sessions.d.ts.map +0 -1
- package/dist/cli/commands/sessions.js +0 -152
- package/dist/cli/commands/sessions.js.map +0 -1
- package/dist/cli/commands/skill.d.ts +0 -10
- package/dist/cli/commands/skill.d.ts.map +0 -1
- package/dist/cli/commands/skill.js +0 -303
- package/dist/cli/commands/skill.js.map +0 -1
- package/dist/cli/commands/stats.d.ts +0 -7
- package/dist/cli/commands/stats.d.ts.map +0 -1
- package/dist/cli/commands/stats.js +0 -167
- package/dist/cli/commands/stats.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -2
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -11
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/update.d.ts +0 -12
- package/dist/cli/commands/update.d.ts.map +0 -1
- package/dist/cli/commands/update.js +0 -148
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/cli-tui/about-view.d.ts +0 -48
- package/dist/cli-tui/about-view.d.ts.map +0 -1
- package/dist/cli-tui/about-view.js +0 -206
- package/dist/cli-tui/about-view.js.map +0 -1
- package/dist/cli-tui/agent-event-router.d.ts +0 -28
- package/dist/cli-tui/agent-event-router.d.ts.map +0 -1
- package/dist/cli-tui/agent-event-router.js +0 -126
- package/dist/cli-tui/agent-event-router.js.map +0 -1
- package/dist/cli-tui/approval/approval-controller.d.ts +0 -28
- package/dist/cli-tui/approval/approval-controller.d.ts.map +0 -1
- package/dist/cli-tui/approval/approval-controller.js +0 -99
- package/dist/cli-tui/approval/approval-controller.js.map +0 -1
- package/dist/cli-tui/approval/approval-modal.d.ts +0 -26
- package/dist/cli-tui/approval/approval-modal.d.ts.map +0 -1
- package/dist/cli-tui/approval/approval-modal.js +0 -143
- package/dist/cli-tui/approval/approval-modal.js.map +0 -1
- package/dist/cli-tui/assistant-message.d.ts +0 -41
- package/dist/cli-tui/assistant-message.d.ts.map +0 -1
- package/dist/cli-tui/assistant-message.js +0 -236
- package/dist/cli-tui/assistant-message.js.map +0 -1
- package/dist/cli-tui/auth-state.d.ts +0 -7
- package/dist/cli-tui/auth-state.d.ts.map +0 -1
- package/dist/cli-tui/auth-state.js +0 -46
- package/dist/cli-tui/auth-state.js.map +0 -1
- package/dist/cli-tui/background/background-tasks-controller.d.ts +0 -31
- package/dist/cli-tui/background/background-tasks-controller.d.ts.map +0 -1
- package/dist/cli-tui/background/background-tasks-controller.js +0 -84
- package/dist/cli-tui/background/background-tasks-controller.js.map +0 -1
- package/dist/cli-tui/base-view.d.ts +0 -111
- package/dist/cli-tui/base-view.d.ts.map +0 -1
- package/dist/cli-tui/base-view.js +0 -145
- package/dist/cli-tui/base-view.js.map +0 -1
- package/dist/cli-tui/bash/background-launcher.d.ts +0 -14
- package/dist/cli-tui/bash/background-launcher.d.ts.map +0 -1
- package/dist/cli-tui/bash/background-launcher.js +0 -50
- package/dist/cli-tui/bash/background-launcher.js.map +0 -1
- package/dist/cli-tui/bash/bash-autocomplete.d.ts +0 -40
- package/dist/cli-tui/bash/bash-autocomplete.d.ts.map +0 -1
- package/dist/cli-tui/bash/bash-autocomplete.js +0 -347
- package/dist/cli-tui/bash/bash-autocomplete.js.map +0 -1
- package/dist/cli-tui/bash/bash-history.d.ts +0 -21
- package/dist/cli-tui/bash/bash-history.d.ts.map +0 -1
- package/dist/cli-tui/bash/bash-history.js +0 -72
- package/dist/cli-tui/bash/bash-history.js.map +0 -1
- package/dist/cli-tui/bash/bash-syntax.d.ts +0 -5
- package/dist/cli-tui/bash/bash-syntax.d.ts.map +0 -1
- package/dist/cli-tui/bash/bash-syntax.js +0 -176
- package/dist/cli-tui/bash/bash-syntax.js.map +0 -1
- package/dist/cli-tui/bash/index.d.ts +0 -4
- package/dist/cli-tui/bash/index.d.ts.map +0 -1
- package/dist/cli-tui/bash/index.js +0 -4
- package/dist/cli-tui/bash/index.js.map +0 -1
- package/dist/cli-tui/bash-mode-view.d.ts +0 -86
- package/dist/cli-tui/bash-mode-view.d.ts.map +0 -1
- package/dist/cli-tui/bash-mode-view.js +0 -560
- package/dist/cli-tui/bash-mode-view.js.map +0 -1
- package/dist/cli-tui/bash-shell-block.d.ts +0 -50
- package/dist/cli-tui/bash-shell-block.d.ts.map +0 -1
- package/dist/cli-tui/bash-shell-block.js +0 -119
- package/dist/cli-tui/bash-shell-block.js.map +0 -1
- package/dist/cli-tui/changelog-view.d.ts +0 -13
- package/dist/cli-tui/changelog-view.d.ts.map +0 -1
- package/dist/cli-tui/changelog-view.js +0 -34
- package/dist/cli-tui/changelog-view.js.map +0 -1
- package/dist/cli-tui/clean-mode.d.ts +0 -13
- package/dist/cli-tui/clean-mode.d.ts.map +0 -1
- package/dist/cli-tui/clean-mode.js +0 -32
- package/dist/cli-tui/clean-mode.js.map +0 -1
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts +0 -41
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +0 -1
- package/dist/cli-tui/client-tools/client-tool-controller.js +0 -862
- package/dist/cli-tui/client-tools/client-tool-controller.js.map +0 -1
- package/dist/cli-tui/client-tools/local-client-tool-service.d.ts +0 -33
- package/dist/cli-tui/client-tools/local-client-tool-service.d.ts.map +0 -1
- package/dist/cli-tui/client-tools/local-client-tool-service.js +0 -94
- package/dist/cli-tui/client-tools/local-client-tool-service.js.map +0 -1
- package/dist/cli-tui/commands/a2a-handlers.d.ts +0 -7
- package/dist/cli-tui/commands/a2a-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/a2a-handlers.js +0 -215
- package/dist/cli-tui/commands/a2a-handlers.js.map +0 -1
- package/dist/cli-tui/commands/access-command.d.ts +0 -3
- package/dist/cli-tui/commands/access-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/access-command.js +0 -89
- package/dist/cli-tui/commands/access-command.js.map +0 -1
- package/dist/cli-tui/commands/argument-parser.d.ts +0 -12
- package/dist/cli-tui/commands/argument-parser.d.ts.map +0 -1
- package/dist/cli-tui/commands/argument-parser.js +0 -135
- package/dist/cli-tui/commands/argument-parser.js.map +0 -1
- package/dist/cli-tui/commands/audit-command.d.ts +0 -5
- package/dist/cli-tui/commands/audit-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/audit-command.js +0 -35
- package/dist/cli-tui/commands/audit-command.js.map +0 -1
- package/dist/cli-tui/commands/background-handlers.d.ts +0 -14
- package/dist/cli-tui/commands/background-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/background-handlers.js +0 -115
- package/dist/cli-tui/commands/background-handlers.js.map +0 -1
- package/dist/cli-tui/commands/command-catalog.d.ts +0 -29
- package/dist/cli-tui/commands/command-catalog.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-catalog.js +0 -666
- package/dist/cli-tui/commands/command-catalog.js.map +0 -1
- package/dist/cli-tui/commands/command-registry-adapter.d.ts +0 -12
- package/dist/cli-tui/commands/command-registry-adapter.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-registry-adapter.js +0 -129
- package/dist/cli-tui/commands/command-registry-adapter.js.map +0 -1
- package/dist/cli-tui/commands/command-suite-catalog.d.ts +0 -14
- package/dist/cli-tui/commands/command-suite-catalog.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-suite-catalog.js +0 -147
- package/dist/cli-tui/commands/command-suite-catalog.js.map +0 -1
- package/dist/cli-tui/commands/command-suite-handlers.d.ts +0 -111
- package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-suite-handlers.js +0 -110
- package/dist/cli-tui/commands/command-suite-handlers.js.map +0 -1
- package/dist/cli-tui/commands/composer-handlers.d.ts +0 -8
- package/dist/cli-tui/commands/composer-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/composer-handlers.js +0 -90
- package/dist/cli-tui/commands/composer-handlers.js.map +0 -1
- package/dist/cli-tui/commands/framework-handlers.d.ts +0 -18
- package/dist/cli-tui/commands/framework-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/framework-handlers.js +0 -57
- package/dist/cli-tui/commands/framework-handlers.js.map +0 -1
- package/dist/cli-tui/commands/guardian-handlers.d.ts +0 -20
- package/dist/cli-tui/commands/guardian-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/guardian-handlers.js +0 -48
- package/dist/cli-tui/commands/guardian-handlers.js.map +0 -1
- package/dist/cli-tui/commands/handlers/mode-handler.d.ts +0 -32
- package/dist/cli-tui/commands/handlers/mode-handler.d.ts.map +0 -1
- package/dist/cli-tui/commands/handlers/mode-handler.js +0 -153
- package/dist/cli-tui/commands/handlers/mode-handler.js.map +0 -1
- package/dist/cli-tui/commands/hotkeys-command.d.ts +0 -8
- package/dist/cli-tui/commands/hotkeys-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/hotkeys-command.js +0 -61
- package/dist/cli-tui/commands/hotkeys-command.js.map +0 -1
- package/dist/cli-tui/commands/limits-command.d.ts +0 -3
- package/dist/cli-tui/commands/limits-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/limits-command.js +0 -88
- package/dist/cli-tui/commands/limits-command.js.map +0 -1
- package/dist/cli-tui/commands/mcp-handlers.d.ts +0 -12
- package/dist/cli-tui/commands/mcp-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/mcp-handlers.js +0 -1306
- package/dist/cli-tui/commands/mcp-handlers.js.map +0 -1
- package/dist/cli-tui/commands/memory-handlers.d.ts +0 -28
- package/dist/cli-tui/commands/memory-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/memory-handlers.js +0 -414
- package/dist/cli-tui/commands/memory-handlers.js.map +0 -1
- package/dist/cli-tui/commands/otel-handlers.d.ts +0 -11
- package/dist/cli-tui/commands/otel-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/otel-handlers.js +0 -20
- package/dist/cli-tui/commands/otel-handlers.js.map +0 -1
- package/dist/cli-tui/commands/package-handlers.d.ts +0 -30
- package/dist/cli-tui/commands/package-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/package-handlers.js +0 -499
- package/dist/cli-tui/commands/package-handlers.js.map +0 -1
- package/dist/cli-tui/commands/pii-command.d.ts +0 -3
- package/dist/cli-tui/commands/pii-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/pii-command.js +0 -54
- package/dist/cli-tui/commands/pii-command.js.map +0 -1
- package/dist/cli-tui/commands/registry.d.ts +0 -3
- package/dist/cli-tui/commands/registry.d.ts.map +0 -1
- package/dist/cli-tui/commands/registry.js +0 -36
- package/dist/cli-tui/commands/registry.js.map +0 -1
- package/dist/cli-tui/commands/safety-handlers.d.ts +0 -36
- package/dist/cli-tui/commands/safety-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/safety-handlers.js +0 -62
- package/dist/cli-tui/commands/safety-handlers.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +0 -26
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.js +0 -79
- package/dist/cli-tui/commands/subcommands/auth-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/config-commands.d.ts +0 -23
- package/dist/cli-tui/commands/subcommands/config-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/config-commands.js +0 -61
- package/dist/cli-tui/commands/subcommands/config-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/diag-commands.d.ts +0 -46
- package/dist/cli-tui/commands/subcommands/diag-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/diag-commands.js +0 -163
- package/dist/cli-tui/commands/subcommands/diag-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/git-commands.d.ts +0 -18
- package/dist/cli-tui/commands/subcommands/git-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/git-commands.js +0 -50
- package/dist/cli-tui/commands/subcommands/git-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/index.d.ts +0 -18
- package/dist/cli-tui/commands/subcommands/index.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/index.js +0 -18
- package/dist/cli-tui/commands/subcommands/index.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/safety-commands.d.ts +0 -26
- package/dist/cli-tui/commands/subcommands/safety-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/safety-commands.js +0 -149
- package/dist/cli-tui/commands/subcommands/safety-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/session-commands.d.ts +0 -36
- package/dist/cli-tui/commands/subcommands/session-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/session-commands.js +0 -112
- package/dist/cli-tui/commands/subcommands/session-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/tools-commands.d.ts +0 -27
- package/dist/cli-tui/commands/subcommands/tools-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/tools-commands.js +0 -80
- package/dist/cli-tui/commands/subcommands/tools-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/ui-commands.d.ts +0 -30
- package/dist/cli-tui/commands/subcommands/ui-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/ui-commands.js +0 -74
- package/dist/cli-tui/commands/subcommands/ui-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/undo-commands.d.ts +0 -25
- package/dist/cli-tui/commands/subcommands/undo-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/undo-commands.js +0 -74
- package/dist/cli-tui/commands/subcommands/undo-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/usage-commands.d.ts +0 -19
- package/dist/cli-tui/commands/subcommands/usage-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/usage-commands.js +0 -63
- package/dist/cli-tui/commands/subcommands/usage-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/utils.d.ts +0 -127
- package/dist/cli-tui/commands/subcommands/utils.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/utils.js +0 -395
- package/dist/cli-tui/commands/subcommands/utils.js.map +0 -1
- package/dist/cli-tui/commands/types.d.ts +0 -105
- package/dist/cli-tui/commands/types.d.ts.map +0 -1
- package/dist/cli-tui/commands/types.js +0 -2
- package/dist/cli-tui/commands/types.js.map +0 -1
- package/dist/cli-tui/commands/undo-handlers.d.ts +0 -29
- package/dist/cli-tui/commands/undo-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/undo-handlers.js +0 -300
- package/dist/cli-tui/commands/undo-handlers.js.map +0 -1
- package/dist/cli-tui/commands/utility-handlers.d.ts +0 -55
- package/dist/cli-tui/commands/utility-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/utility-handlers.js +0 -137
- package/dist/cli-tui/commands/utility-handlers.js.map +0 -1
- package/dist/cli-tui/commands/workflow-handlers.d.ts +0 -22
- package/dist/cli-tui/commands/workflow-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/workflow-handlers.js +0 -227
- package/dist/cli-tui/commands/workflow-handlers.js.map +0 -1
- package/dist/cli-tui/compact-boundary-message.d.ts +0 -9
- package/dist/cli-tui/compact-boundary-message.d.ts.map +0 -1
- package/dist/cli-tui/compact-boundary-message.js +0 -18
- package/dist/cli-tui/compact-boundary-message.js.map +0 -1
- package/dist/cli-tui/compaction-recovery.d.ts +0 -6
- package/dist/cli-tui/compaction-recovery.d.ts.map +0 -1
- package/dist/cli-tui/compaction-recovery.js +0 -13
- package/dist/cli-tui/compaction-recovery.js.map +0 -1
- package/dist/cli-tui/config-view.d.ts +0 -30
- package/dist/cli-tui/config-view.d.ts.map +0 -1
- package/dist/cli-tui/config-view.js +0 -255
- package/dist/cli-tui/config-view.js.map +0 -1
- package/dist/cli-tui/context-view.d.ts +0 -20
- package/dist/cli-tui/context-view.d.ts.map +0 -1
- package/dist/cli-tui/context-view.js +0 -191
- package/dist/cli-tui/context-view.js.map +0 -1
- package/dist/cli-tui/custom-editor.d.ts +0 -25
- package/dist/cli-tui/custom-editor.d.ts.map +0 -1
- package/dist/cli-tui/custom-editor.js +0 -241
- package/dist/cli-tui/custom-editor.js.map +0 -1
- package/dist/cli-tui/editor-view.d.ts +0 -34
- package/dist/cli-tui/editor-view.d.ts.map +0 -1
- package/dist/cli-tui/editor-view.js +0 -102
- package/dist/cli-tui/editor-view.js.map +0 -1
- package/dist/cli-tui/feedback-view.d.ts +0 -35
- package/dist/cli-tui/feedback-view.d.ts.map +0 -1
- package/dist/cli-tui/feedback-view.js +0 -271
- package/dist/cli-tui/feedback-view.js.map +0 -1
- package/dist/cli-tui/footer.d.ts +0 -56
- package/dist/cli-tui/footer.d.ts.map +0 -1
- package/dist/cli-tui/footer.js +0 -228
- package/dist/cli-tui/footer.js.map +0 -1
- package/dist/cli-tui/git/commit-modal.d.ts +0 -14
- package/dist/cli-tui/git/commit-modal.d.ts.map +0 -1
- package/dist/cli-tui/git/commit-modal.js +0 -56
- package/dist/cli-tui/git/commit-modal.js.map +0 -1
- package/dist/cli-tui/git/git-preview-modal.d.ts +0 -40
- package/dist/cli-tui/git/git-preview-modal.d.ts.map +0 -1
- package/dist/cli-tui/git/git-preview-modal.js +0 -123
- package/dist/cli-tui/git/git-preview-modal.js.map +0 -1
- package/dist/cli-tui/git/git-view.d.ts +0 -65
- package/dist/cli-tui/git/git-view.d.ts.map +0 -1
- package/dist/cli-tui/git/git-view.js +0 -529
- package/dist/cli-tui/git/git-view.js.map +0 -1
- package/dist/cli-tui/history/history-config.d.ts +0 -7
- package/dist/cli-tui/history/history-config.d.ts.map +0 -1
- package/dist/cli-tui/history/history-config.js +0 -49
- package/dist/cli-tui/history/history-config.js.map +0 -1
- package/dist/cli-tui/history/prompt-history.d.ts +0 -33
- package/dist/cli-tui/history/prompt-history.d.ts.map +0 -1
- package/dist/cli-tui/history/prompt-history.js +0 -185
- package/dist/cli-tui/history/prompt-history.js.map +0 -1
- package/dist/cli-tui/history/tool-history.d.ts +0 -50
- package/dist/cli-tui/history/tool-history.d.ts.map +0 -1
- package/dist/cli-tui/history/tool-history.js +0 -253
- package/dist/cli-tui/history/tool-history.js.map +0 -1
- package/dist/cli-tui/hook-message.d.ts +0 -13
- package/dist/cli-tui/hook-message.d.ts.map +0 -1
- package/dist/cli-tui/hook-message.js +0 -56
- package/dist/cli-tui/hook-message.js.map +0 -1
- package/dist/cli-tui/hooks/hook-input-modal.d.ts +0 -22
- package/dist/cli-tui/hooks/hook-input-modal.d.ts.map +0 -1
- package/dist/cli-tui/hooks/hook-input-modal.js +0 -63
- package/dist/cli-tui/hooks/hook-input-modal.js.map +0 -1
- package/dist/cli-tui/hotkeys-view.d.ts +0 -13
- package/dist/cli-tui/hotkeys-view.d.ts.map +0 -1
- package/dist/cli-tui/hotkeys-view.js +0 -96
- package/dist/cli-tui/hotkeys-view.js.map +0 -1
- package/dist/cli-tui/import-view.d.ts +0 -28
- package/dist/cli-tui/import-view.d.ts.map +0 -1
- package/dist/cli-tui/import-view.js +0 -184
- package/dist/cli-tui/import-view.js.map +0 -1
- package/dist/cli-tui/info-view.d.ts +0 -18
- package/dist/cli-tui/info-view.d.ts.map +0 -1
- package/dist/cli-tui/info-view.js +0 -107
- package/dist/cli-tui/info-view.js.map +0 -1
- package/dist/cli-tui/instruction-panel.d.ts +0 -11
- package/dist/cli-tui/instruction-panel.d.ts.map +0 -1
- package/dist/cli-tui/instruction-panel.js +0 -86
- package/dist/cli-tui/instruction-panel.js.map +0 -1
- package/dist/cli-tui/interrupt-controller.d.ts +0 -78
- package/dist/cli-tui/interrupt-controller.d.ts.map +0 -1
- package/dist/cli-tui/interrupt-controller.js +0 -104
- package/dist/cli-tui/interrupt-controller.js.map +0 -1
- package/dist/cli-tui/keybindings-config.d.ts +0 -27
- package/dist/cli-tui/keybindings-config.d.ts.map +0 -1
- package/dist/cli-tui/keybindings-config.js +0 -372
- package/dist/cli-tui/keybindings-config.js.map +0 -1
- package/dist/cli-tui/keybindings-watcher.d.ts +0 -8
- package/dist/cli-tui/keybindings-watcher.d.ts.map +0 -1
- package/dist/cli-tui/keybindings-watcher.js +0 -56
- package/dist/cli-tui/keybindings-watcher.js.map +0 -1
- package/dist/cli-tui/keybindings.d.ts +0 -13
- package/dist/cli-tui/keybindings.d.ts.map +0 -1
- package/dist/cli-tui/keybindings.js +0 -223
- package/dist/cli-tui/keybindings.js.map +0 -1
- package/dist/cli-tui/loader/loader-stage-manager.d.ts +0 -43
- package/dist/cli-tui/loader/loader-stage-manager.d.ts.map +0 -1
- package/dist/cli-tui/loader/loader-stage-manager.js +0 -241
- package/dist/cli-tui/loader/loader-stage-manager.js.map +0 -1
- package/dist/cli-tui/loader/loader-stage-telemetry.d.ts +0 -14
- package/dist/cli-tui/loader/loader-stage-telemetry.d.ts.map +0 -1
- package/dist/cli-tui/loader/loader-stage-telemetry.js +0 -34
- package/dist/cli-tui/loader/loader-stage-telemetry.js.map +0 -1
- package/dist/cli-tui/loader/loader-view.d.ts +0 -41
- package/dist/cli-tui/loader/loader-view.d.ts.map +0 -1
- package/dist/cli-tui/loader/loader-view.js +0 -162
- package/dist/cli-tui/loader/loader-view.js.map +0 -1
- package/dist/cli-tui/lsp-view.d.ts +0 -21
- package/dist/cli-tui/lsp-view.d.ts.map +0 -1
- package/dist/cli-tui/lsp-view.js +0 -183
- package/dist/cli-tui/lsp-view.js.map +0 -1
- package/dist/cli-tui/mermaid-renderer.d.ts +0 -2
- package/dist/cli-tui/mermaid-renderer.d.ts.map +0 -1
- package/dist/cli-tui/mermaid-renderer.js +0 -391
- package/dist/cli-tui/mermaid-renderer.js.map +0 -1
- package/dist/cli-tui/message-view.d.ts +0 -27
- package/dist/cli-tui/message-view.d.ts.map +0 -1
- package/dist/cli-tui/message-view.js +0 -169
- package/dist/cli-tui/message-view.js.map +0 -1
- package/dist/cli-tui/modal-manager.d.ts +0 -77
- package/dist/cli-tui/modal-manager.d.ts.map +0 -1
- package/dist/cli-tui/modal-manager.js +0 -131
- package/dist/cli-tui/modal-manager.js.map +0 -1
- package/dist/cli-tui/notification-view.d.ts +0 -16
- package/dist/cli-tui/notification-view.d.ts.map +0 -1
- package/dist/cli-tui/notification-view.js +0 -53
- package/dist/cli-tui/notification-view.js.map +0 -1
- package/dist/cli-tui/oauth/index.d.ts +0 -2
- package/dist/cli-tui/oauth/index.d.ts.map +0 -1
- package/dist/cli-tui/oauth/index.js +0 -2
- package/dist/cli-tui/oauth/index.js.map +0 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.d.ts +0 -65
- package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +0 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.js +0 -400
- package/dist/cli-tui/oauth/oauth-flow-controller.js.map +0 -1
- package/dist/cli-tui/ollama-view.d.ts +0 -38
- package/dist/cli-tui/ollama-view.d.ts.map +0 -1
- package/dist/cli-tui/ollama-view.js +0 -395
- package/dist/cli-tui/ollama-view.js.map +0 -1
- package/dist/cli-tui/paste/index.d.ts +0 -2
- package/dist/cli-tui/paste/index.d.ts.map +0 -1
- package/dist/cli-tui/paste/index.js +0 -2
- package/dist/cli-tui/paste/index.js.map +0 -1
- package/dist/cli-tui/paste/paste-handler.d.ts +0 -54
- package/dist/cli-tui/paste/paste-handler.d.ts.map +0 -1
- package/dist/cli-tui/paste/paste-handler.js +0 -128
- package/dist/cli-tui/paste/paste-handler.js.map +0 -1
- package/dist/cli-tui/plan/plan-controller.d.ts +0 -28
- package/dist/cli-tui/plan/plan-controller.d.ts.map +0 -1
- package/dist/cli-tui/plan/plan-controller.js +0 -66
- package/dist/cli-tui/plan/plan-controller.js.map +0 -1
- package/dist/cli-tui/plan-panel-modal.d.ts +0 -28
- package/dist/cli-tui/plan-panel-modal.d.ts.map +0 -1
- package/dist/cli-tui/plan-panel-modal.js +0 -193
- package/dist/cli-tui/plan-panel-modal.js.map +0 -1
- package/dist/cli-tui/plan-view.d.ts +0 -57
- package/dist/cli-tui/plan-view.d.ts.map +0 -1
- package/dist/cli-tui/plan-view.js +0 -404
- package/dist/cli-tui/plan-view.js.map +0 -1
- package/dist/cli-tui/prompt-queue.d.ts.map +0 -1
- package/dist/cli-tui/prompt-queue.js.map +0 -1
- package/dist/cli-tui/queue/follow-up-shortcut.d.ts +0 -6
- package/dist/cli-tui/queue/follow-up-shortcut.d.ts.map +0 -1
- package/dist/cli-tui/queue/follow-up-shortcut.js +0 -12
- package/dist/cli-tui/queue/follow-up-shortcut.js.map +0 -1
- package/dist/cli-tui/queue/index.d.ts +0 -3
- package/dist/cli-tui/queue/index.d.ts.map +0 -1
- package/dist/cli-tui/queue/index.js +0 -3
- package/dist/cli-tui/queue/index.js.map +0 -1
- package/dist/cli-tui/queue/queue-controller.d.ts +0 -109
- package/dist/cli-tui/queue/queue-controller.d.ts.map +0 -1
- package/dist/cli-tui/queue/queue-controller.js +0 -327
- package/dist/cli-tui/queue/queue-controller.js.map +0 -1
- package/dist/cli-tui/queue/queue-panel-controller.d.ts +0 -34
- package/dist/cli-tui/queue/queue-panel-controller.d.ts.map +0 -1
- package/dist/cli-tui/queue/queue-panel-controller.js +0 -163
- package/dist/cli-tui/queue/queue-panel-controller.js.map +0 -1
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts +0 -7
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts.map +0 -1
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.js +0 -14
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.js.map +0 -1
- package/dist/cli-tui/queue-panel-modal.d.ts +0 -26
- package/dist/cli-tui/queue-panel-modal.d.ts.map +0 -1
- package/dist/cli-tui/queue-panel-modal.js +0 -159
- package/dist/cli-tui/queue-panel-modal.js.map +0 -1
- package/dist/cli-tui/run/run-command-view.d.ts +0 -17
- package/dist/cli-tui/run/run-command-view.d.ts.map +0 -1
- package/dist/cli-tui/run/run-command-view.js +0 -62
- package/dist/cli-tui/run/run-command-view.js.map +0 -1
- package/dist/cli-tui/run/run-controller.d.ts +0 -24
- package/dist/cli-tui/run/run-controller.d.ts.map +0 -1
- package/dist/cli-tui/run/run-controller.js +0 -38
- package/dist/cli-tui/run/run-controller.js.map +0 -1
- package/dist/cli-tui/run/run-shell-command.d.ts +0 -13
- package/dist/cli-tui/run/run-shell-command.d.ts.map +0 -1
- package/dist/cli-tui/run/run-shell-command.js +0 -51
- package/dist/cli-tui/run/run-shell-command.js.map +0 -1
- package/dist/cli-tui/run/streaming-shell-command.d.ts +0 -19
- package/dist/cli-tui/run/streaming-shell-command.d.ts.map +0 -1
- package/dist/cli-tui/run/streaming-shell-command.js +0 -107
- package/dist/cli-tui/run/streaming-shell-command.js.map +0 -1
- package/dist/cli-tui/search/file-search-view.d.ts +0 -22
- package/dist/cli-tui/search/file-search-view.d.ts.map +0 -1
- package/dist/cli-tui/search/file-search-view.js +0 -68
- package/dist/cli-tui/search/file-search-view.js.map +0 -1
- package/dist/cli-tui/search/file-search.d.ts +0 -13
- package/dist/cli-tui/search/file-search.d.ts.map +0 -1
- package/dist/cli-tui/search/file-search.js +0 -52
- package/dist/cli-tui/search/file-search.js.map +0 -1
- package/dist/cli-tui/security-status.d.ts +0 -83
- package/dist/cli-tui/security-status.d.ts.map +0 -1
- package/dist/cli-tui/security-status.js +0 -214
- package/dist/cli-tui/security-status.js.map +0 -1
- package/dist/cli-tui/selectors/base-selector.d.ts +0 -27
- package/dist/cli-tui/selectors/base-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/base-selector.js +0 -47
- package/dist/cli-tui/selectors/base-selector.js.map +0 -1
- package/dist/cli-tui/selectors/branch-summary-modal.d.ts +0 -18
- package/dist/cli-tui/selectors/branch-summary-modal.d.ts.map +0 -1
- package/dist/cli-tui/selectors/branch-summary-modal.js +0 -24
- package/dist/cli-tui/selectors/branch-summary-modal.js.map +0 -1
- package/dist/cli-tui/selectors/model-selector-view.d.ts +0 -22
- package/dist/cli-tui/selectors/model-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/model-selector-view.js +0 -31
- package/dist/cli-tui/selectors/model-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/model-selector.d.ts +0 -30
- package/dist/cli-tui/selectors/model-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/model-selector.js +0 -218
- package/dist/cli-tui/selectors/model-selector.js.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector-view.d.ts +0 -20
- package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector-view.js +0 -28
- package/dist/cli-tui/selectors/oauth-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector.d.ts +0 -19
- package/dist/cli-tui/selectors/oauth-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector.js +0 -120
- package/dist/cli-tui/selectors/oauth-selector.js.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts +0 -19
- package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector-view.js +0 -29
- package/dist/cli-tui/selectors/queue-mode-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector.d.ts +0 -5
- package/dist/cli-tui/selectors/queue-mode-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector.js +0 -34
- package/dist/cli-tui/selectors/queue-mode-selector.js.map +0 -1
- package/dist/cli-tui/selectors/report-selector-view.d.ts +0 -17
- package/dist/cli-tui/selectors/report-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/report-selector-view.js +0 -29
- package/dist/cli-tui/selectors/report-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/report-selector.d.ts +0 -7
- package/dist/cli-tui/selectors/report-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/report-selector.js +0 -31
- package/dist/cli-tui/selectors/report-selector.js.map +0 -1
- package/dist/cli-tui/selectors/theme-selector-view.d.ts +0 -19
- package/dist/cli-tui/selectors/theme-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/theme-selector-view.js +0 -41
- package/dist/cli-tui/selectors/theme-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/theme-selector.d.ts +0 -14
- package/dist/cli-tui/selectors/theme-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/theme-selector.js +0 -46
- package/dist/cli-tui/selectors/theme-selector.js.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector-view.d.ts +0 -20
- package/dist/cli-tui/selectors/thinking-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector-view.js +0 -31
- package/dist/cli-tui/selectors/thinking-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector.d.ts +0 -9
- package/dist/cli-tui/selectors/thinking-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector.js +0 -47
- package/dist/cli-tui/selectors/thinking-selector.js.map +0 -1
- package/dist/cli-tui/selectors/tree-selector-view.d.ts +0 -32
- package/dist/cli-tui/selectors/tree-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/tree-selector-view.js +0 -407
- package/dist/cli-tui/selectors/tree-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/tree-selector.d.ts +0 -27
- package/dist/cli-tui/selectors/tree-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/tree-selector.js +0 -194
- package/dist/cli-tui/selectors/tree-selector.js.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector-view.d.ts +0 -25
- package/dist/cli-tui/selectors/user-message-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector-view.js +0 -101
- package/dist/cli-tui/selectors/user-message-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector.d.ts +0 -30
- package/dist/cli-tui/selectors/user-message-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector.js +0 -114
- package/dist/cli-tui/selectors/user-message-selector.js.map +0 -1
- package/dist/cli-tui/session/branch-controller.d.ts +0 -65
- package/dist/cli-tui/session/branch-controller.d.ts.map +0 -1
- package/dist/cli-tui/session/branch-controller.js +0 -125
- package/dist/cli-tui/session/branch-controller.js.map +0 -1
- package/dist/cli-tui/session/conversation-compactor.d.ts +0 -64
- package/dist/cli-tui/session/conversation-compactor.d.ts.map +0 -1
- package/dist/cli-tui/session/conversation-compactor.js +0 -77
- package/dist/cli-tui/session/conversation-compactor.js.map +0 -1
- package/dist/cli-tui/session/session-context.d.ts +0 -59
- package/dist/cli-tui/session/session-context.d.ts.map +0 -1
- package/dist/cli-tui/session/session-context.js +0 -79
- package/dist/cli-tui/session/session-context.js.map +0 -1
- package/dist/cli-tui/session/session-data-provider.d.ts +0 -23
- package/dist/cli-tui/session/session-data-provider.d.ts.map +0 -1
- package/dist/cli-tui/session/session-data-provider.js +0 -22
- package/dist/cli-tui/session/session-data-provider.js.map +0 -1
- package/dist/cli-tui/session/session-list.d.ts +0 -18
- package/dist/cli-tui/session/session-list.d.ts.map +0 -1
- package/dist/cli-tui/session/session-list.js +0 -103
- package/dist/cli-tui/session/session-list.js.map +0 -1
- package/dist/cli-tui/session/session-selector.d.ts +0 -12
- package/dist/cli-tui/session/session-selector.d.ts.map +0 -1
- package/dist/cli-tui/session/session-selector.js +0 -37
- package/dist/cli-tui/session/session-selector.js.map +0 -1
- package/dist/cli-tui/session/session-summary-controller.d.ts +0 -24
- package/dist/cli-tui/session/session-summary-controller.d.ts.map +0 -1
- package/dist/cli-tui/session/session-summary-controller.js +0 -96
- package/dist/cli-tui/session/session-summary-controller.js.map +0 -1
- package/dist/cli-tui/session/session-switcher-view.d.ts +0 -20
- package/dist/cli-tui/session/session-switcher-view.d.ts.map +0 -1
- package/dist/cli-tui/session/session-switcher-view.js +0 -43
- package/dist/cli-tui/session/session-switcher-view.js.map +0 -1
- package/dist/cli-tui/session/session-switcher.d.ts +0 -38
- package/dist/cli-tui/session/session-switcher.d.ts.map +0 -1
- package/dist/cli-tui/session/session-switcher.js +0 -204
- package/dist/cli-tui/session/session-switcher.js.map +0 -1
- package/dist/cli-tui/session/session-view.d.ts +0 -46
- package/dist/cli-tui/session/session-view.d.ts.map +0 -1
- package/dist/cli-tui/session/session-view.js +0 -311
- package/dist/cli-tui/session/session-view.js.map +0 -1
- package/dist/cli-tui/slash/index.d.ts +0 -2
- package/dist/cli-tui/slash/index.d.ts.map +0 -1
- package/dist/cli-tui/slash/index.js +0 -2
- package/dist/cli-tui/slash/index.js.map +0 -1
- package/dist/cli-tui/slash/slash-command-matcher.d.ts +0 -55
- package/dist/cli-tui/slash/slash-command-matcher.d.ts.map +0 -1
- package/dist/cli-tui/slash/slash-command-matcher.js +0 -113
- package/dist/cli-tui/slash/slash-command-matcher.js.map +0 -1
- package/dist/cli-tui/smart-autocomplete-provider.d.ts +0 -5
- package/dist/cli-tui/smart-autocomplete-provider.d.ts.map +0 -1
- package/dist/cli-tui/smart-autocomplete-provider.js +0 -44
- package/dist/cli-tui/smart-autocomplete-provider.js.map +0 -1
- package/dist/cli-tui/startup-announcements.d.ts +0 -15
- package/dist/cli-tui/startup-announcements.d.ts.map +0 -1
- package/dist/cli-tui/startup-announcements.js +0 -75
- package/dist/cli-tui/startup-announcements.js.map +0 -1
- package/dist/cli-tui/status/cost-view.d.ts +0 -27
- package/dist/cli-tui/status/cost-view.d.ts.map +0 -1
- package/dist/cli-tui/status/cost-view.js +0 -212
- package/dist/cli-tui/status/cost-view.js.map +0 -1
- package/dist/cli-tui/status/diagnostics-templates.d.ts +0 -34
- package/dist/cli-tui/status/diagnostics-templates.d.ts.map +0 -1
- package/dist/cli-tui/status/diagnostics-templates.js +0 -167
- package/dist/cli-tui/status/diagnostics-templates.js.map +0 -1
- package/dist/cli-tui/status/diagnostics-view.d.ts +0 -48
- package/dist/cli-tui/status/diagnostics-view.d.ts.map +0 -1
- package/dist/cli-tui/status/diagnostics-view.js +0 -249
- package/dist/cli-tui/status/diagnostics-view.js.map +0 -1
- package/dist/cli-tui/status/diagnostics.d.ts +0 -39
- package/dist/cli-tui/status/diagnostics.d.ts.map +0 -1
- package/dist/cli-tui/status/diagnostics.js +0 -286
- package/dist/cli-tui/status/diagnostics.js.map +0 -1
- package/dist/cli-tui/status/health-snapshot.d.ts +0 -17
- package/dist/cli-tui/status/health-snapshot.d.ts.map +0 -1
- package/dist/cli-tui/status/health-snapshot.js +0 -28
- package/dist/cli-tui/status/health-snapshot.js.map +0 -1
- package/dist/cli-tui/status/quota-view.d.ts +0 -37
- package/dist/cli-tui/status/quota-view.d.ts.map +0 -1
- package/dist/cli-tui/status/quota-view.js +0 -309
- package/dist/cli-tui/status/quota-view.js.map +0 -1
- package/dist/cli-tui/status/telemetry-view.d.ts +0 -23
- package/dist/cli-tui/status/telemetry-view.d.ts.map +0 -1
- package/dist/cli-tui/status/telemetry-view.js +0 -77
- package/dist/cli-tui/status/telemetry-view.js.map +0 -1
- package/dist/cli-tui/status/training-view.d.ts +0 -23
- package/dist/cli-tui/status/training-view.d.ts.map +0 -1
- package/dist/cli-tui/status/training-view.js +0 -71
- package/dist/cli-tui/status/training-view.js.map +0 -1
- package/dist/cli-tui/streaming-view.d.ts +0 -43
- package/dist/cli-tui/streaming-view.d.ts.map +0 -1
- package/dist/cli-tui/streaming-view.js +0 -176
- package/dist/cli-tui/streaming-view.js.map +0 -1
- package/dist/cli-tui/terminal/index.d.ts +0 -2
- package/dist/cli-tui/terminal/index.d.ts.map +0 -1
- package/dist/cli-tui/terminal/index.js +0 -2
- package/dist/cli-tui/terminal/index.js.map +0 -1
- package/dist/cli-tui/terminal/terminal-utils.d.ts +0 -44
- package/dist/cli-tui/terminal/terminal-utils.d.ts.map +0 -1
- package/dist/cli-tui/terminal/terminal-utils.js +0 -145
- package/dist/cli-tui/terminal/terminal-utils.js.map +0 -1
- package/dist/cli-tui/tips/tip-scheduler.d.ts +0 -19
- package/dist/cli-tui/tips/tip-scheduler.d.ts.map +0 -1
- package/dist/cli-tui/tips/tip-scheduler.js +0 -135
- package/dist/cli-tui/tips/tip-scheduler.js.map +0 -1
- package/dist/cli-tui/tool-execution.d.ts +0 -76
- package/dist/cli-tui/tool-execution.d.ts.map +0 -1
- package/dist/cli-tui/tool-execution.js +0 -217
- package/dist/cli-tui/tool-execution.js.map +0 -1
- package/dist/cli-tui/tool-output-view.d.ts +0 -22
- package/dist/cli-tui/tool-output-view.d.ts.map +0 -1
- package/dist/cli-tui/tool-output-view.js +0 -71
- package/dist/cli-tui/tool-output-view.js.map +0 -1
- package/dist/cli-tui/tool-renderers/index.d.ts +0 -4
- package/dist/cli-tui/tool-renderers/index.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/index.js +0 -19
- package/dist/cli-tui/tool-renderers/index.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-bash.d.ts +0 -6
- package/dist/cli-tui/tool-renderers/render-bash.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-bash.js +0 -90
- package/dist/cli-tui/tool-renderers/render-bash.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-batch.d.ts +0 -12
- package/dist/cli-tui/tool-renderers/render-batch.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-batch.js +0 -133
- package/dist/cli-tui/tool-renderers/render-batch.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-edit.d.ts +0 -6
- package/dist/cli-tui/tool-renderers/render-edit.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-edit.js +0 -125
- package/dist/cli-tui/tool-renderers/render-edit.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-generic.d.ts +0 -6
- package/dist/cli-tui/tool-renderers/render-generic.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-generic.js +0 -66
- package/dist/cli-tui/tool-renderers/render-generic.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-read.d.ts +0 -9
- package/dist/cli-tui/tool-renderers/render-read.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-read.js +0 -108
- package/dist/cli-tui/tool-renderers/render-read.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-style.d.ts +0 -21
- package/dist/cli-tui/tool-renderers/render-style.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-style.js +0 -51
- package/dist/cli-tui/tool-renderers/render-style.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-write.d.ts +0 -5
- package/dist/cli-tui/tool-renderers/render-write.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-write.js +0 -60
- package/dist/cli-tui/tool-renderers/render-write.js.map +0 -1
- package/dist/cli-tui/tool-renderers/types.d.ts +0 -20
- package/dist/cli-tui/tool-renderers/types.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/types.js +0 -2
- package/dist/cli-tui/tool-renderers/types.js.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts +0 -29
- package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-controller.js +0 -110
- package/dist/cli-tui/tool-retry/tool-retry-controller.js.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts +0 -27
- package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-modal.js +0 -118
- package/dist/cli-tui/tool-retry/tool-retry-modal.js.map +0 -1
- package/dist/cli-tui/tool-status-view.d.ts +0 -32
- package/dist/cli-tui/tool-status-view.d.ts.map +0 -1
- package/dist/cli-tui/tool-status-view.js +0 -86
- package/dist/cli-tui/tool-status-view.js.map +0 -1
- package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts +0 -59
- package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/agent-event-bridge.js +0 -129
- package/dist/cli-tui/tui-renderer/agent-event-bridge.js.map +0 -1
- package/dist/cli-tui/tui-renderer/approval-setup.d.ts +0 -13
- package/dist/cli-tui/tui-renderer/approval-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/approval-setup.js +0 -5
- package/dist/cli-tui/tui-renderer/approval-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/attachment-controller.d.ts +0 -54
- package/dist/cli-tui/tui-renderer/attachment-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/attachment-controller.js +0 -160
- package/dist/cli-tui/tui-renderer/attachment-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts +0 -9
- package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/background-tasks-setup.js +0 -7
- package/dist/cli-tui/tui-renderer/background-tasks-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/branch-controller.d.ts +0 -41
- package/dist/cli-tui/tui-renderer/branch-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/branch-controller.js +0 -102
- package/dist/cli-tui/tui-renderer/branch-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/clear-controller.d.ts +0 -75
- package/dist/cli-tui/tui-renderer/clear-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/clear-controller.js +0 -75
- package/dist/cli-tui/tui-renderer/clear-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts +0 -14
- package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/client-tools-setup.js +0 -5
- package/dist/cli-tui/tui-renderer/client-tools-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts +0 -111
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.js +0 -163
- package/dist/cli-tui/tui-renderer/command-registry-options.js.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry.d.ts +0 -16
- package/dist/cli-tui/tui-renderer/command-registry.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry.js +0 -23
- package/dist/cli-tui/tui-renderer/command-registry.js.map +0 -1
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +0 -29
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/command-suite-wiring.js +0 -108
- package/dist/cli-tui/tui-renderer/command-suite-wiring.js.map +0 -1
- package/dist/cli-tui/tui-renderer/compaction-controller.d.ts +0 -100
- package/dist/cli-tui/tui-renderer/compaction-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/compaction-controller.js +0 -160
- package/dist/cli-tui/tui-renderer/compaction-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts +0 -42
- package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/custom-commands-controller.js +0 -106
- package/dist/cli-tui/tui-renderer/custom-commands-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts +0 -37
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.js +0 -139
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.js.map +0 -1
- package/dist/cli-tui/tui-renderer/editor-bindings.d.ts +0 -21
- package/dist/cli-tui/tui-renderer/editor-bindings.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/editor-bindings.js +0 -76
- package/dist/cli-tui/tui-renderer/editor-bindings.js.map +0 -1
- package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts +0 -90
- package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/footer-hints-controller.js +0 -152
- package/dist/cli-tui/tui-renderer/footer-hints-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/history-controller.d.ts +0 -35
- package/dist/cli-tui/tui-renderer/history-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/history-controller.js +0 -153
- package/dist/cli-tui/tui-renderer/history-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts +0 -83
- package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/hook-ui-controller.js +0 -309
- package/dist/cli-tui/tui-renderer/hook-ui-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/initial-preferences.d.ts +0 -19
- package/dist/cli-tui/tui-renderer/initial-preferences.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/initial-preferences.js +0 -54
- package/dist/cli-tui/tui-renderer/initial-preferences.js.map +0 -1
- package/dist/cli-tui/tui-renderer/input-controller.d.ts +0 -56
- package/dist/cli-tui/tui-renderer/input-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/input-controller.js +0 -104
- package/dist/cli-tui/tui-renderer/input-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts +0 -19
- package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/interrupt-setup.js +0 -18
- package/dist/cli-tui/tui-renderer/interrupt-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/loader-setup.d.ts +0 -14
- package/dist/cli-tui/tui-renderer/loader-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/loader-setup.js +0 -13
- package/dist/cli-tui/tui-renderer/loader-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts +0 -55
- package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/mcp-events-setup.js +0 -143
- package/dist/cli-tui/tui-renderer/mcp-events-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/misc-handlers.d.ts +0 -59
- package/dist/cli-tui/tui-renderer/misc-handlers.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/misc-handlers.js +0 -143
- package/dist/cli-tui/tui-renderer/misc-handlers.js.map +0 -1
- package/dist/cli-tui/tui-renderer/oauth-setup.d.ts +0 -14
- package/dist/cli-tui/tui-renderer/oauth-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/oauth-setup.js +0 -26
- package/dist/cli-tui/tui-renderer/oauth-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/plan-setup.d.ts +0 -19
- package/dist/cli-tui/tui-renderer/plan-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/plan-setup.js +0 -23
- package/dist/cli-tui/tui-renderer/plan-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts +0 -21
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js +0 -64
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js.map +0 -1
- package/dist/cli-tui/tui-renderer/queue-setup.d.ts +0 -18
- package/dist/cli-tui/tui-renderer/queue-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/queue-setup.js +0 -42
- package/dist/cli-tui/tui-renderer/queue-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts +0 -53
- package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/quick-settings-controller.js +0 -100
- package/dist/cli-tui/tui-renderer/quick-settings-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/session-setup.d.ts +0 -31
- package/dist/cli-tui/tui-renderer/session-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/session-setup.js +0 -45
- package/dist/cli-tui/tui-renderer/session-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/session-state-controller.d.ts +0 -66
- package/dist/cli-tui/tui-renderer/session-state-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/session-state-controller.js +0 -139
- package/dist/cli-tui/tui-renderer/session-state-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts +0 -70
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/skills-controller.js +0 -411
- package/dist/cli-tui/tui-renderer/skills-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts +0 -90
- package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/slash-hint-controller.js +0 -131
- package/dist/cli-tui/tui-renderer/slash-hint-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts +0 -13
- package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/tool-retry-setup.js +0 -5
- package/dist/cli-tui/tui-renderer/tool-retry-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts +0 -38
- package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/tooling-views-setup.js +0 -48
- package/dist/cli-tui/tui-renderer/tooling-views-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +0 -70
- package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.js +0 -184
- package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts +0 -13
- package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-setup.js +0 -11
- package/dist/cli-tui/tui-renderer/ui-state-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts +0 -26
- package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/utility-views-setup.js +0 -23
- package/dist/cli-tui/tui-renderer/utility-views-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/viewport-controller.d.ts +0 -33
- package/dist/cli-tui/tui-renderer/viewport-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/viewport-controller.js +0 -98
- package/dist/cli-tui/tui-renderer/viewport-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer.d.ts +0 -268
- package/dist/cli-tui/tui-renderer.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer.js +0 -2131
- package/dist/cli-tui/tui-renderer.js.map +0 -1
- package/dist/cli-tui/ui-state.d.ts +0 -27
- package/dist/cli-tui/ui-state.d.ts.map +0 -1
- package/dist/cli-tui/ui-state.js +0 -88
- package/dist/cli-tui/ui-state.js.map +0 -1
- package/dist/cli-tui/update-view.d.ts +0 -16
- package/dist/cli-tui/update-view.d.ts.map +0 -1
- package/dist/cli-tui/update-view.js +0 -45
- package/dist/cli-tui/update-view.js.map +0 -1
- package/dist/cli-tui/user-message.d.ts +0 -17
- package/dist/cli-tui/user-message.d.ts.map +0 -1
- package/dist/cli-tui/user-message.js +0 -83
- package/dist/cli-tui/user-message.js.map +0 -1
- package/dist/cli-tui/utils/borders.d.ts +0 -131
- package/dist/cli-tui/utils/borders.d.ts.map +0 -1
- package/dist/cli-tui/utils/borders.js +0 -254
- package/dist/cli-tui/utils/borders.js.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette-view.d.ts +0 -22
- package/dist/cli-tui/utils/commands/command-palette-view.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette-view.js +0 -31
- package/dist/cli-tui/utils/commands/command-palette-view.js.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette.d.ts +0 -29
- package/dist/cli-tui/utils/commands/command-palette.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette.js +0 -213
- package/dist/cli-tui/utils/commands/command-palette.js.map +0 -1
- package/dist/cli-tui/utils/commands/command-registry-builder.d.ts +0 -8
- package/dist/cli-tui/utils/commands/command-registry-builder.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/command-registry-builder.js +0 -9
- package/dist/cli-tui/utils/commands/command-registry-builder.js.map +0 -1
- package/dist/cli-tui/utils/commands/review-prompt.d.ts +0 -10
- package/dist/cli-tui/utils/commands/review-prompt.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/review-prompt.js +0 -90
- package/dist/cli-tui/utils/commands/review-prompt.js.map +0 -1
- package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts +0 -15
- package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/slash-hint-bar.js +0 -106
- package/dist/cli-tui/utils/commands/slash-hint-bar.js.map +0 -1
- package/dist/cli-tui/utils/env-detect.d.ts +0 -11
- package/dist/cli-tui/utils/env-detect.d.ts.map +0 -1
- package/dist/cli-tui/utils/env-detect.js +0 -107
- package/dist/cli-tui/utils/env-detect.js.map +0 -1
- package/dist/cli-tui/utils/external-editor.d.ts +0 -7
- package/dist/cli-tui/utils/external-editor.d.ts.map +0 -1
- package/dist/cli-tui/utils/external-editor.js +0 -53
- package/dist/cli-tui/utils/external-editor.js.map +0 -1
- package/dist/cli-tui/utils/footer-utils.d.ts +0 -169
- package/dist/cli-tui/utils/footer-utils.d.ts.map +0 -1
- package/dist/cli-tui/utils/footer-utils.js +0 -716
- package/dist/cli-tui/utils/footer-utils.js.map +0 -1
- package/dist/cli-tui/utils/footer-visual-widgets.d.ts +0 -38
- package/dist/cli-tui/utils/footer-visual-widgets.d.ts.map +0 -1
- package/dist/cli-tui/utils/footer-visual-widgets.js +0 -141
- package/dist/cli-tui/utils/footer-visual-widgets.js.map +0 -1
- package/dist/cli-tui/utils/git-branch-tracker.d.ts +0 -38
- package/dist/cli-tui/utils/git-branch-tracker.d.ts.map +0 -1
- package/dist/cli-tui/utils/git-branch-tracker.js +0 -90
- package/dist/cli-tui/utils/git-branch-tracker.js.map +0 -1
- package/dist/cli-tui/utils/glyphs.d.ts +0 -207
- package/dist/cli-tui/utils/glyphs.d.ts.map +0 -1
- package/dist/cli-tui/utils/glyphs.js +0 -249
- package/dist/cli-tui/utils/glyphs.js.map +0 -1
- package/dist/cli-tui/utils/layout.d.ts +0 -77
- package/dist/cli-tui/utils/layout.d.ts.map +0 -1
- package/dist/cli-tui/utils/layout.js +0 -83
- package/dist/cli-tui/utils/layout.js.map +0 -1
- package/dist/cli-tui/utils/links.d.ts +0 -2
- package/dist/cli-tui/utils/links.d.ts.map +0 -1
- package/dist/cli-tui/utils/links.js +0 -14
- package/dist/cli-tui/utils/links.js.map +0 -1
- package/dist/cli-tui/utils/motion.d.ts +0 -4
- package/dist/cli-tui/utils/motion.d.ts.map +0 -1
- package/dist/cli-tui/utils/motion.js +0 -28
- package/dist/cli-tui/utils/motion.js.map +0 -1
- package/dist/cli-tui/utils/runtime-badges.d.ts +0 -26
- package/dist/cli-tui/utils/runtime-badges.d.ts.map +0 -1
- package/dist/cli-tui/utils/runtime-badges.js +0 -178
- package/dist/cli-tui/utils/runtime-badges.js.map +0 -1
- package/dist/cli-tui/utils/shimmer.d.ts +0 -12
- package/dist/cli-tui/utils/shimmer.d.ts.map +0 -1
- package/dist/cli-tui/utils/shimmer.js +0 -57
- package/dist/cli-tui/utils/shimmer.js.map +0 -1
- package/dist/cli-tui/utils/stage-labels.d.ts +0 -9
- package/dist/cli-tui/utils/stage-labels.d.ts.map +0 -1
- package/dist/cli-tui/utils/stage-labels.js +0 -65
- package/dist/cli-tui/utils/stage-labels.js.map +0 -1
- package/dist/cli-tui/utils/text-formatting.d.ts +0 -13
- package/dist/cli-tui/utils/text-formatting.d.ts.map +0 -1
- package/dist/cli-tui/utils/text-formatting.js +0 -109
- package/dist/cli-tui/utils/text-formatting.js.map +0 -1
- package/dist/cli-tui/utils/text-preview.d.ts +0 -10
- package/dist/cli-tui/utils/text-preview.d.ts.map +0 -1
- package/dist/cli-tui/utils/text-preview.js +0 -26
- package/dist/cli-tui/utils/text-preview.js.map +0 -1
- package/dist/cli-tui/utils/tool-text-utils.d.ts +0 -42
- package/dist/cli-tui/utils/tool-text-utils.d.ts.map +0 -1
- package/dist/cli-tui/utils/tool-text-utils.js +0 -361
- package/dist/cli-tui/utils/tool-text-utils.js.map +0 -1
- package/dist/cli-tui/welcome-animation.d.ts +0 -24
- package/dist/cli-tui/welcome-animation.d.ts.map +0 -1
- package/dist/cli-tui/welcome-animation.js +0 -99
- package/dist/cli-tui/welcome-animation.js.map +0 -1
- package/dist/cli-tui/welcome-colors.d.ts +0 -3
- package/dist/cli-tui/welcome-colors.d.ts.map +0 -1
- package/dist/cli-tui/welcome-colors.js +0 -39
- package/dist/cli-tui/welcome-colors.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts +0 -304
- package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/autocomplete.js +0 -712
- package/dist/node_modules/@evalops/tui/dist/autocomplete.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts +0 -185
- package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/editor.js +0 -1460
- package/dist/node_modules/@evalops/tui/dist/components/editor.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/input.d.ts +0 -117
- package/dist/node_modules/@evalops/tui/dist/components/input.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/input.js +0 -391
- package/dist/node_modules/@evalops/tui/dist/components/input.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts +0 -256
- package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/layout.js +0 -478
- package/dist/node_modules/@evalops/tui/dist/components/layout.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts +0 -199
- package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/loader.js +0 -374
- package/dist/node_modules/@evalops/tui/dist/components/loader.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts +0 -65
- package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/markdown.js +0 -562
- package/dist/node_modules/@evalops/tui/dist/components/markdown.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts +0 -262
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js +0 -575
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts +0 -131
- package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/select-list.js +0 -257
- package/dist/node_modules/@evalops/tui/dist/components/select-list.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts +0 -11
- package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/spacer.js +0 -19
- package/dist/node_modules/@evalops/tui/dist/components/spacer.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts +0 -22
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.js +0 -44
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/text.d.ts +0 -26
- package/dist/node_modules/@evalops/tui/dist/components/text.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/text.js +0 -181
- package/dist/node_modules/@evalops/tui/dist/components/text.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts +0 -15
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js +0 -84
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/index.d.ts +0 -87
- package/dist/node_modules/@evalops/tui/dist/index.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/index.js +0 -85
- package/dist/node_modules/@evalops/tui/dist/index.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/keymap.d.ts +0 -189
- package/dist/node_modules/@evalops/tui/dist/keymap.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/keymap.js +0 -363
- package/dist/node_modules/@evalops/tui/dist/keymap.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts +0 -25
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js +0 -828
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts +0 -40
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js +0 -474
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/terminal.d.ts +0 -201
- package/dist/node_modules/@evalops/tui/dist/terminal.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/terminal.js +0 -241
- package/dist/node_modules/@evalops/tui/dist/terminal.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/tui.d.ts +0 -263
- package/dist/node_modules/@evalops/tui/dist/tui.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/tui.js +0 -694
- package/dist/node_modules/@evalops/tui/dist/tui.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts +0 -14
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js +0 -44
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils.d.ts +0 -32
- package/dist/node_modules/@evalops/tui/dist/utils.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils.js +0 -556
- package/dist/node_modules/@evalops/tui/dist/utils.js.map +0 -1
- package/dist/node_modules/@evalops/tui/package.json +0 -58
- package/dist/skills/artifact-metadata.d.ts +0 -16
- package/dist/skills/artifact-metadata.d.ts.map +0 -1
- package/dist/skills/artifact-metadata.js +0 -86
- package/dist/skills/artifact-metadata.js.map +0 -1
- package/dist/skills/composer-diagnostics.d.ts +0 -69
- package/dist/skills/composer-diagnostics.d.ts.map +0 -1
- package/dist/skills/composer-diagnostics.js +0 -78
- package/dist/skills/composer-diagnostics.js.map +0 -1
- package/dist/skills/composer.d.ts +0 -19
- package/dist/skills/composer.d.ts.map +0 -1
- package/dist/skills/composer.js +0 -52
- package/dist/skills/composer.js.map +0 -1
- package/dist/skills/eval-harness.d.ts +0 -38
- package/dist/skills/eval-harness.d.ts.map +0 -1
- package/dist/skills/eval-harness.js +0 -112
- package/dist/skills/eval-harness.js.map +0 -1
- package/dist/skills/index.d.ts +0 -40
- package/dist/skills/index.d.ts.map +0 -1
- package/dist/skills/index.js +0 -40
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/linter.d.ts +0 -36
- package/dist/skills/linter.d.ts.map +0 -1
- package/dist/skills/linter.js +0 -399
- package/dist/skills/linter.js.map +0 -1
- package/dist/skills/loader.d.ts +0 -252
- package/dist/skills/loader.d.ts.map +0 -1
- package/dist/skills/loader.js +0 -957
- package/dist/skills/loader.js.map +0 -1
- package/dist/skills/package-contract.d.ts +0 -45
- package/dist/skills/package-contract.d.ts.map +0 -1
- package/dist/skills/package-contract.js +0 -153
- package/dist/skills/package-contract.js.map +0 -1
- package/dist/skills/runtime-activation.d.ts +0 -68
- package/dist/skills/runtime-activation.d.ts.map +0 -1
- package/dist/skills/runtime-activation.js +0 -228
- package/dist/skills/runtime-activation.js.map +0 -1
- package/dist/skills/scaffold-from-template.d.ts +0 -58
- package/dist/skills/scaffold-from-template.d.ts.map +0 -1
- package/dist/skills/scaffold-from-template.js +0 -72
- package/dist/skills/scaffold-from-template.js.map +0 -1
- package/dist/skills/scaffolder.d.ts +0 -65
- package/dist/skills/scaffolder.d.ts.map +0 -1
- package/dist/skills/scaffolder.js +0 -167
- package/dist/skills/scaffolder.js.map +0 -1
- package/dist/skills/service-client.d.ts +0 -56
- package/dist/skills/service-client.d.ts.map +0 -1
- package/dist/skills/service-client.js +0 -266
- package/dist/skills/service-client.js.map +0 -1
- package/dist/skills/skill-templates.d.ts +0 -70
- package/dist/skills/skill-templates.d.ts.map +0 -1
- package/dist/skills/skill-templates.js +0 -154
- package/dist/skills/skill-templates.js.map +0 -1
- package/dist/skills/tool.d.ts +0 -21
- package/dist/skills/tool.d.ts.map +0 -1
- package/dist/skills/tool.js +0 -334
- package/dist/skills/tool.js.map +0 -1
- package/dist/skills/trust-cache.d.ts +0 -58
- package/dist/skills/trust-cache.d.ts.map +0 -1
- package/dist/skills/trust-cache.js +0 -130
- package/dist/skills/trust-cache.js.map +0 -1
- package/dist/skills/types.d.ts +0 -91
- package/dist/skills/types.d.ts.map +0 -1
- package/dist/skills/types.js +0 -8
- package/dist/skills/types.js.map +0 -1
- /package/dist/{cli-tui → runtime}/prompt-queue.d.ts +0 -0
- /package/dist/{cli-tui → runtime}/prompt-queue.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inspectA2AFleet } from "./a2a-fleet.js";
|
|
2
2
|
import { hasA2AOwnershipRecordMarkers, hasA2AOwnershipScope, matchesA2AOwnershipScope, } from "./a2a-ownership.js";
|
|
3
|
-
import { isActionRequiredA2AState, isFinalA2AState, isTerminalA2AState, listA2ATaskEntries, loadA2ATaskLedger, } from "./a2a-task-ledger.js";
|
|
3
|
+
import { isActionRequiredA2AState, isCompletedA2AState, isFailedA2AState, isFinalA2AState, isTerminalA2AState, listA2ATaskEntries, loadA2ATaskLedger, normalizeA2AState, } from "./a2a-task-ledger.js";
|
|
4
4
|
export async function buildA2ACockpit(options = {}) {
|
|
5
5
|
if (!hasA2AOwnershipScope(options.ownershipScope)) {
|
|
6
6
|
return buildA2ACockpitUnscoped(options);
|
|
@@ -197,7 +197,7 @@ function nextActionForTask(task) {
|
|
|
197
197
|
severity: "critical",
|
|
198
198
|
peer: task.peer,
|
|
199
199
|
taskId: task.taskId,
|
|
200
|
-
reason: "Peer returned an input-required or auth-required A2A state.",
|
|
200
|
+
reason: taskActionReason(task, "Peer returned an input-required or auth-required A2A state."),
|
|
201
201
|
};
|
|
202
202
|
}
|
|
203
203
|
if (task.status === "running") {
|
|
@@ -209,7 +209,7 @@ function nextActionForTask(task) {
|
|
|
209
209
|
severity: "info",
|
|
210
210
|
peer: task.peer,
|
|
211
211
|
taskId: task.taskId,
|
|
212
|
-
reason: "Task is still non-terminal in the local A2A ledger.",
|
|
212
|
+
reason: taskActionReason(task, "Task is still non-terminal in the local A2A ledger."),
|
|
213
213
|
};
|
|
214
214
|
}
|
|
215
215
|
if (task.status === "failed") {
|
|
@@ -220,11 +220,45 @@ function nextActionForTask(task) {
|
|
|
220
220
|
severity: "warning",
|
|
221
221
|
peer: task.peer,
|
|
222
222
|
taskId: task.taskId,
|
|
223
|
-
reason: "Task reached a failed, rejected, or canceled final state.",
|
|
223
|
+
reason: taskActionReason(task, "Task reached a failed, rejected, or canceled final state."),
|
|
224
224
|
};
|
|
225
225
|
}
|
|
226
226
|
return undefined;
|
|
227
227
|
}
|
|
228
|
+
function taskActionReason(task, baseReason) {
|
|
229
|
+
const workGraphReason = workGraphPressureReason(task.workGraph);
|
|
230
|
+
return workGraphReason ? `${baseReason} ${workGraphReason}` : baseReason;
|
|
231
|
+
}
|
|
232
|
+
function workGraphPressureReason(workGraph) {
|
|
233
|
+
if (!workGraph) {
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
236
|
+
const pressure = [
|
|
237
|
+
countReason("blocked work item", workGraph.blockedItemCount),
|
|
238
|
+
countReason("waiting work item", workGraph.waitingItemCount),
|
|
239
|
+
countReason("pending tool call", workGraph.pendingToolCallCount),
|
|
240
|
+
countReason("open wait", workGraph.waitItemCount),
|
|
241
|
+
].filter((part) => Boolean(part));
|
|
242
|
+
if (pressure.length === 0) {
|
|
243
|
+
return undefined;
|
|
244
|
+
}
|
|
245
|
+
return `Work graph shows ${joinReasonParts(pressure)}.`;
|
|
246
|
+
}
|
|
247
|
+
function countReason(label, count) {
|
|
248
|
+
if (!count || count <= 0) {
|
|
249
|
+
return undefined;
|
|
250
|
+
}
|
|
251
|
+
return `${count} ${label}${count === 1 ? "" : "s"}`;
|
|
252
|
+
}
|
|
253
|
+
function joinReasonParts(parts) {
|
|
254
|
+
if (parts.length <= 1) {
|
|
255
|
+
return parts[0] ?? "";
|
|
256
|
+
}
|
|
257
|
+
if (parts.length === 2) {
|
|
258
|
+
return `${parts[0]} and ${parts[1]}`;
|
|
259
|
+
}
|
|
260
|
+
return `${parts.slice(0, -1).join(", ")}, and ${parts.at(-1)}`;
|
|
261
|
+
}
|
|
228
262
|
function taskCommand(entry, status) {
|
|
229
263
|
if (status === "waiting") {
|
|
230
264
|
return `maestro a2a reply ${shellQuote(entry.peer)} ${shellQuote(entry.taskId)} <response> --wait --work-graph`;
|
|
@@ -234,7 +268,7 @@ function taskCommand(entry, status) {
|
|
|
234
268
|
}
|
|
235
269
|
return undefined;
|
|
236
270
|
}
|
|
237
|
-
function classifyTaskState(state) {
|
|
271
|
+
export function classifyTaskState(state) {
|
|
238
272
|
const normalized = normalizeState(state);
|
|
239
273
|
if (!normalized) {
|
|
240
274
|
return "unknown";
|
|
@@ -242,13 +276,10 @@ function classifyTaskState(state) {
|
|
|
242
276
|
if (isActionRequiredA2AState(normalized)) {
|
|
243
277
|
return "waiting";
|
|
244
278
|
}
|
|
245
|
-
if (normalized
|
|
279
|
+
if (isCompletedA2AState(normalized)) {
|
|
246
280
|
return "completed";
|
|
247
281
|
}
|
|
248
|
-
if (normalized
|
|
249
|
-
normalized.includes("REJECTED") ||
|
|
250
|
-
normalized.includes("CANCELED") ||
|
|
251
|
-
normalized.includes("CANCELLED")) {
|
|
282
|
+
if (isFailedA2AState(normalized)) {
|
|
252
283
|
return "failed";
|
|
253
284
|
}
|
|
254
285
|
if (!isFinalA2AState(normalized)) {
|
|
@@ -291,7 +322,7 @@ function cleanPeer(peer) {
|
|
|
291
322
|
return trimmed ? trimmed : undefined;
|
|
292
323
|
}
|
|
293
324
|
function normalizeState(state) {
|
|
294
|
-
return state
|
|
325
|
+
return normalizeA2AState(state);
|
|
295
326
|
}
|
|
296
327
|
function shellQuote(value) {
|
|
297
328
|
if (/^[A-Za-z0-9_./:-]+$/u.test(value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a-cockpit.js","sourceRoot":"","sources":["../../src/platform/a2a-cockpit.ts"],"names":[],"mappings":"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","sourcesContent":["import { type A2AFleetSummary, inspectA2AFleet } from \"./a2a-fleet.js\";\nimport {\n\ttype A2AOwnershipScope,\n\thasA2AOwnershipRecordMarkers,\n\thasA2AOwnershipScope,\n\tmatchesA2AOwnershipScope,\n} from \"./a2a-ownership.js\";\nimport {\n\ttype A2ATaskLedgerEntry,\n\ttype A2ATaskLedgerFile,\n\tisActionRequiredA2AState,\n\tisFinalA2AState,\n\tisTerminalA2AState,\n\tlistA2ATaskEntries,\n\tloadA2ATaskLedger,\n} from \"./a2a-task-ledger.js\";\nimport type { A2AWorkGraphMetadata } from \"./a2a-work-graph.js\";\n\nexport type A2ACockpitTaskStatus =\n\t| \"waiting\"\n\t| \"running\"\n\t| \"completed\"\n\t| \"failed\"\n\t| \"unknown\";\n\nexport type A2ACockpitNextActionSeverity = \"info\" | \"warning\" | \"critical\";\n\nexport interface A2ACockpitOptions {\n\tregistryPath?: string;\n\ttasksPath?: string;\n\ttimeoutMs?: number;\n\tpeer?: string;\n\tlimit?: number;\n\townershipScope?: A2AOwnershipScope;\n}\n\nexport interface A2ACockpitSummary {\n\tgeneratedAt: string;\n\tregistryPath: string;\n\ttasksPath: string;\n\tpeer?: string;\n\tcounts: A2ACockpitCounts;\n\tpeers: A2ACockpitPeerSummary[];\n\ttasks: A2ACockpitTaskSummary[];\n\tnextActions: A2ACockpitNextAction[];\n}\n\nexport interface A2ACockpitCounts {\n\tpeers: number;\n\tonlinePeers: number;\n\tunreachablePeers: number;\n\ttasks: number;\n\trunningTasks: number;\n\tactionRequiredTasks: number;\n\tfailedTasks: number;\n\tcompletedTasks: number;\n}\n\nexport interface A2ACockpitPeerSummary {\n\tname: string;\n\tdisplayName?: string;\n\turl: string;\n\tstatus: \"online\" | \"unreachable\";\n\terror?: string;\n\tauth?: string;\n\tmodel?: string;\n\tcwd?: string;\n\ttaskCounts: Pick<\n\t\tA2ACockpitCounts,\n\t\t| \"tasks\"\n\t\t| \"runningTasks\"\n\t\t| \"actionRequiredTasks\"\n\t\t| \"failedTasks\"\n\t\t| \"completedTasks\"\n\t>;\n\tlastTask?: {\n\t\tid: string;\n\t\tstate: string;\n\t\tstatus: A2ACockpitTaskStatus;\n\t\tupdatedAt: string;\n\t\ttext: string;\n\t};\n}\n\nexport interface A2ACockpitTaskSummary {\n\tledgerId: string;\n\tpeer: string;\n\tpeerDisplayName?: string;\n\torphanedPeer?: boolean;\n\ttaskId: string;\n\tstate: string;\n\tstatus: A2ACockpitTaskStatus;\n\trequiresInput: boolean;\n\tterminal: boolean;\n\tfinal: boolean;\n\ttext: string;\n\tresponseText?: string;\n\tupdatedAt: string;\n\tcompletedAt?: string;\n\tworkGraph?: A2AWorkGraphMetadata;\n\tnextCommand?: string;\n}\n\nexport interface A2ACockpitNextAction {\n\tid: string;\n\tlabel: string;\n\tcommand: string;\n\tseverity: A2ACockpitNextActionSeverity;\n\tpeer: string;\n\ttaskId?: string;\n\treason: string;\n}\n\nexport interface SummarizeA2ACockpitInput {\n\tfleet: A2AFleetSummary;\n\tledger: A2ATaskLedgerFile;\n\tpeer?: string;\n\tlimit?: number;\n\tgeneratedAt?: string;\n\townershipScope?: A2AOwnershipScope;\n}\n\nexport async function buildA2ACockpit(\n\toptions: A2ACockpitOptions = {},\n): Promise<A2ACockpitSummary> {\n\tif (!hasA2AOwnershipScope(options.ownershipScope)) {\n\t\treturn buildA2ACockpitUnscoped(options);\n\t}\n\tconst ledger = await loadA2ATaskLedger({ path: options.tasksPath });\n\tconst fleet = await inspectA2AFleet({\n\t\tregistryPath: options.registryPath,\n\t\ttasksPath: options.tasksPath,\n\t\ttimeoutMs: options.timeoutMs,\n\t\townershipScope: options.ownershipScope,\n\t\tincludePeerNames: scopedLedgerPeerNames(ledger, options.ownershipScope),\n\t});\n\treturn summarizeA2ACockpit({\n\t\tfleet,\n\t\tledger,\n\t\tpeer: options.peer,\n\t\tlimit: options.limit,\n\t\townershipScope: options.ownershipScope,\n\t});\n}\n\nasync function buildA2ACockpitUnscoped(\n\toptions: A2ACockpitOptions,\n): Promise<A2ACockpitSummary> {\n\tconst [fleet, ledger] = await Promise.all([\n\t\tinspectA2AFleet({\n\t\t\tregistryPath: options.registryPath,\n\t\t\ttasksPath: options.tasksPath,\n\t\t\ttimeoutMs: options.timeoutMs,\n\t\t}),\n\t\tloadA2ATaskLedger({ path: options.tasksPath }),\n\t]);\n\treturn summarizeA2ACockpit({\n\t\tfleet,\n\t\tledger,\n\t\tpeer: options.peer,\n\t\tlimit: options.limit,\n\t});\n}\n\nexport function summarizeA2ACockpit(\n\tinput: SummarizeA2ACockpitInput,\n): A2ACockpitSummary {\n\tconst peerFilter = cleanPeer(input.peer);\n\tconst limit = normalizeLimit(input.limit);\n\tconst hasOwnershipScope = hasA2AOwnershipScope(input.ownershipScope);\n\tconst scopedOwnedPeerNames = new Set(\n\t\thasOwnershipScope\n\t\t\t? input.fleet.peers\n\t\t\t\t\t.filter((peer) =>\n\t\t\t\t\t\tmatchesA2AOwnershipScope(peer, input.ownershipScope),\n\t\t\t\t\t)\n\t\t\t\t\t.map((peer) => peer.name)\n\t\t\t: [],\n\t);\n\tconst scopedLedger = filterLedgerForOwnership(\n\t\tinput.ledger,\n\t\tinput.ownershipScope,\n\t\tscopedOwnedPeerNames,\n\t);\n\tconst scopedTaskPeerNames = new Set(\n\t\tscopedLedger.tasks.map((task) => task.peer),\n\t);\n\tconst peers = input.fleet.peers\n\t\t.filter(\n\t\t\t(peer) =>\n\t\t\t\t!hasOwnershipScope ||\n\t\t\t\tscopedOwnedPeerNames.has(peer.name) ||\n\t\t\t\tscopedTaskPeerNames.has(peer.name),\n\t\t)\n\t\t.filter((peer) => !peerFilter || peer.name === peerFilter)\n\t\t.map((peer) => summarizePeer(peer, scopedLedger));\n\tconst registeredPeerNames = new Set(peers.map((peer) => peer.name));\n\tconst tasks = listA2ATaskEntries(scopedLedger, { peer: peerFilter })\n\t\t.map((task) => summarizeTask(task, registeredPeerNames))\n\t\t.sort(compareTasksForCockpit);\n\tconst limitedTasks = tasks.slice(0, limit);\n\tconst counts = summarizeCounts(peers, tasks);\n\treturn {\n\t\tgeneratedAt: input.generatedAt ?? input.fleet.generatedAt,\n\t\tregistryPath: input.fleet.registryPath,\n\t\ttasksPath: input.fleet.tasksPath,\n\t\t...(peerFilter ? { peer: peerFilter } : {}),\n\t\tcounts,\n\t\tpeers,\n\t\ttasks: limitedTasks,\n\t\tnextActions: summarizeNextActions(peers, tasks, limit),\n\t};\n}\n\nfunction filterLedgerForOwnership(\n\tledger: A2ATaskLedgerFile,\n\tscope: A2AOwnershipScope | undefined,\n\townedPeerNames: ReadonlySet<string> = new Set(),\n): A2ATaskLedgerFile {\n\tif (!hasA2AOwnershipScope(scope)) {\n\t\treturn ledger;\n\t}\n\treturn {\n\t\ttasks: ledger.tasks.filter((entry) =>\n\t\t\thasA2AOwnershipRecordMarkers(entry)\n\t\t\t\t? matchesA2AOwnershipScope(entry, scope)\n\t\t\t\t: ownedPeerNames.has(entry.peer),\n\t\t),\n\t};\n}\n\nfunction scopedLedgerPeerNames(\n\tledger: A2ATaskLedgerFile,\n\tscope: A2AOwnershipScope,\n): string[] {\n\treturn [\n\t\t...new Set(\n\t\t\tledger.tasks\n\t\t\t\t.filter(\n\t\t\t\t\t(entry) =>\n\t\t\t\t\t\thasA2AOwnershipRecordMarkers(entry) &&\n\t\t\t\t\t\tmatchesA2AOwnershipScope(entry, scope),\n\t\t\t\t)\n\t\t\t\t.map((entry) => entry.peer),\n\t\t),\n\t];\n}\n\nfunction summarizePeer(\n\tpeer: A2AFleetSummary[\"peers\"][number],\n\tledger: A2ATaskLedgerFile,\n): A2ACockpitPeerSummary {\n\tconst tasks = listA2ATaskEntries(ledger, { peer: peer.name }).map((task) =>\n\t\tsummarizeTask(task),\n\t);\n\tconst lastTask = tasks[0];\n\treturn {\n\t\tname: peer.name,\n\t\t...(peer.displayName ? { displayName: peer.displayName } : {}),\n\t\turl: peer.url,\n\t\tstatus: peer.status,\n\t\t...(peer.error ? { error: peer.error } : {}),\n\t\t...(peer.auth ? { auth: peer.auth } : {}),\n\t\t...(peer.model ? { model: peer.model } : {}),\n\t\t...(peer.cwd ? { cwd: peer.cwd } : {}),\n\t\ttaskCounts: {\n\t\t\ttasks: tasks.length,\n\t\t\trunningTasks: tasks.filter((task) => task.status === \"running\").length,\n\t\t\tactionRequiredTasks: tasks.filter((task) => task.status === \"waiting\")\n\t\t\t\t.length,\n\t\t\tfailedTasks: tasks.filter((task) => task.status === \"failed\").length,\n\t\t\tcompletedTasks: tasks.filter((task) => task.status === \"completed\")\n\t\t\t\t.length,\n\t\t},\n\t\t...(lastTask\n\t\t\t? {\n\t\t\t\t\tlastTask: {\n\t\t\t\t\t\tid: lastTask.taskId,\n\t\t\t\t\t\tstate: lastTask.state,\n\t\t\t\t\t\tstatus: lastTask.status,\n\t\t\t\t\t\tupdatedAt: lastTask.updatedAt,\n\t\t\t\t\t\ttext: lastTask.text,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t: {}),\n\t};\n}\n\nfunction summarizeTask(\n\tentry: A2ATaskLedgerEntry,\n\tregisteredPeerNames?: ReadonlySet<string>,\n): A2ACockpitTaskSummary {\n\tconst status = classifyTaskState(entry.state);\n\tconst requiresInput = isActionRequiredA2AState(entry.state);\n\tconst terminal = isTerminalA2AState(entry.state);\n\tconst final = isFinalA2AState(entry.state);\n\tconst orphanedPeer =\n\t\tregisteredPeerNames !== undefined && !registeredPeerNames.has(entry.peer);\n\tconst nextCommand = orphanedPeer ? undefined : taskCommand(entry, status);\n\treturn {\n\t\tledgerId: entry.id,\n\t\tpeer: entry.peer,\n\t\t...(entry.peerDisplayName\n\t\t\t? { peerDisplayName: entry.peerDisplayName }\n\t\t\t: {}),\n\t\t...(orphanedPeer ? { orphanedPeer: true } : {}),\n\t\ttaskId: entry.taskId,\n\t\tstate: entry.state,\n\t\tstatus,\n\t\trequiresInput,\n\t\tterminal,\n\t\tfinal,\n\t\ttext: entry.text,\n\t\t...(entry.responseText ? { responseText: entry.responseText } : {}),\n\t\tupdatedAt: entry.updatedAt,\n\t\t...(entry.completedAt ? { completedAt: entry.completedAt } : {}),\n\t\t...(entry.workGraph ? { workGraph: entry.workGraph } : {}),\n\t\t...(nextCommand ? { nextCommand } : {}),\n\t};\n}\n\nfunction summarizeCounts(\n\tpeers: A2ACockpitPeerSummary[],\n\ttasks: A2ACockpitTaskSummary[],\n): A2ACockpitCounts {\n\treturn {\n\t\tpeers: peers.length,\n\t\tonlinePeers: peers.filter((peer) => peer.status === \"online\").length,\n\t\tunreachablePeers: peers.filter((peer) => peer.status === \"unreachable\")\n\t\t\t.length,\n\t\ttasks: tasks.length,\n\t\trunningTasks: tasks.filter((task) => task.status === \"running\").length,\n\t\tactionRequiredTasks: tasks.filter((task) => task.status === \"waiting\")\n\t\t\t.length,\n\t\tfailedTasks: tasks.filter((task) => task.status === \"failed\").length,\n\t\tcompletedTasks: tasks.filter((task) => task.status === \"completed\").length,\n\t};\n}\n\nfunction summarizeNextActions(\n\tpeers: A2ACockpitPeerSummary[],\n\ttasks: A2ACockpitTaskSummary[],\n\tlimit: number,\n): A2ACockpitNextAction[] {\n\tconst actions = tasks\n\t\t.map((task) => nextActionForTask(task))\n\t\t.filter((action): action is A2ACockpitNextAction => Boolean(action))\n\t\t.slice(0, limit);\n\tif (actions.length > 0) {\n\t\treturn actions;\n\t}\n\treturn peers\n\t\t.filter(\n\t\t\t(peer) => peer.status === \"online\" && peer.taskCounts.runningTasks === 0,\n\t\t)\n\t\t.slice(0, limit)\n\t\t.map((peer) => ({\n\t\t\tid: `delegate:${peer.name}`,\n\t\t\tlabel: `Delegate fresh work to ${peer.name}`,\n\t\t\tcommand: `maestro a2a delegate ${shellQuote(peer.name)} <objective> --wait --work-graph`,\n\t\t\tseverity: \"info\",\n\t\t\tpeer: peer.name,\n\t\t\treason:\n\t\t\t\t\"Peer is reachable and has no active local A2A task in the ledger.\",\n\t\t}));\n}\n\nfunction nextActionForTask(\n\ttask: A2ACockpitTaskSummary,\n): A2ACockpitNextAction | undefined {\n\tif (task.orphanedPeer) {\n\t\treturn undefined;\n\t}\n\tif (task.status === \"waiting\") {\n\t\treturn {\n\t\t\tid: `reply:${task.peer}:${task.taskId}`,\n\t\t\tlabel: `Reply to ${task.peer} task ${task.taskId}`,\n\t\t\tcommand: `maestro a2a reply ${shellQuote(task.peer)} ${shellQuote(task.taskId)} <response> --wait --work-graph`,\n\t\t\tseverity: \"critical\",\n\t\t\tpeer: task.peer,\n\t\t\ttaskId: task.taskId,\n\t\t\treason: \"Peer returned an input-required or auth-required A2A state.\",\n\t\t};\n\t}\n\tif (task.status === \"running\") {\n\t\treturn {\n\t\t\tid: `wait:${task.peer}:${task.taskId}`,\n\t\t\tlabel: `Wait for ${task.peer} task ${task.taskId}`,\n\t\t\tcommand:\n\t\t\t\ttask.nextCommand ??\n\t\t\t\t`maestro a2a wait ${shellQuote(task.peer)} ${shellQuote(task.taskId)} --work-graph`,\n\t\t\tseverity: \"info\",\n\t\t\tpeer: task.peer,\n\t\t\ttaskId: task.taskId,\n\t\t\treason: \"Task is still non-terminal in the local A2A ledger.\",\n\t\t};\n\t}\n\tif (task.status === \"failed\") {\n\t\treturn {\n\t\t\tid: `refresh:${task.peer}:${task.taskId}`,\n\t\t\tlabel: `Refresh failed ${task.peer} task ${task.taskId}`,\n\t\t\tcommand: `maestro a2a tasks ${shellQuote(task.peer)} --refresh --work-graph`,\n\t\t\tseverity: \"warning\",\n\t\t\tpeer: task.peer,\n\t\t\ttaskId: task.taskId,\n\t\t\treason: \"Task reached a failed, rejected, or canceled final state.\",\n\t\t};\n\t}\n\treturn undefined;\n}\n\nfunction taskCommand(\n\tentry: A2ATaskLedgerEntry,\n\tstatus: A2ACockpitTaskStatus,\n): string | undefined {\n\tif (status === \"waiting\") {\n\t\treturn `maestro a2a reply ${shellQuote(entry.peer)} ${shellQuote(entry.taskId)} <response> --wait --work-graph`;\n\t}\n\tif (status === \"running\") {\n\t\treturn `maestro a2a wait ${shellQuote(entry.peer)} ${shellQuote(entry.taskId)} --work-graph`;\n\t}\n\treturn undefined;\n}\n\nfunction classifyTaskState(state: string): A2ACockpitTaskStatus {\n\tconst normalized = normalizeState(state);\n\tif (!normalized) {\n\t\treturn \"unknown\";\n\t}\n\tif (isActionRequiredA2AState(normalized)) {\n\t\treturn \"waiting\";\n\t}\n\tif (normalized.includes(\"COMPLETED\")) {\n\t\treturn \"completed\";\n\t}\n\tif (\n\t\tnormalized.includes(\"FAILED\") ||\n\t\tnormalized.includes(\"REJECTED\") ||\n\t\tnormalized.includes(\"CANCELED\") ||\n\t\tnormalized.includes(\"CANCELLED\")\n\t) {\n\t\treturn \"failed\";\n\t}\n\tif (!isFinalA2AState(normalized)) {\n\t\treturn \"running\";\n\t}\n\treturn \"unknown\";\n}\n\nfunction compareTasksForCockpit(\n\tleft: A2ACockpitTaskSummary,\n\tright: A2ACockpitTaskSummary,\n): number {\n\tconst urgency = taskUrgency(right.status) - taskUrgency(left.status);\n\tif (urgency !== 0) {\n\t\treturn urgency;\n\t}\n\treturn right.updatedAt.localeCompare(left.updatedAt);\n}\n\nfunction taskUrgency(status: A2ACockpitTaskStatus): number {\n\tswitch (status) {\n\t\tcase \"waiting\":\n\t\t\treturn 4;\n\t\tcase \"failed\":\n\t\t\treturn 3;\n\t\tcase \"running\":\n\t\t\treturn 2;\n\t\tcase \"unknown\":\n\t\t\treturn 1;\n\t\tcase \"completed\":\n\t\t\treturn 0;\n\t}\n}\n\nfunction normalizeLimit(limit: number | undefined): number {\n\tif (limit === undefined) {\n\t\treturn 8;\n\t}\n\tif (!Number.isFinite(limit) || limit <= 0) {\n\t\treturn 8;\n\t}\n\treturn Math.min(Math.floor(limit), 50);\n}\n\nfunction cleanPeer(peer: string | undefined): string | undefined {\n\tconst trimmed = peer?.trim();\n\treturn trimmed ? trimmed : undefined;\n}\n\nfunction normalizeState(state: string): string {\n\treturn state.toUpperCase().replace(/[\\s-]+/gu, \"_\");\n}\n\nfunction shellQuote(value: string): string {\n\tif (/^[A-Za-z0-9_./:-]+$/u.test(value)) {\n\t\treturn value;\n\t}\n\treturn `'${value.replace(/'/gu, \"'\\\\''\")}'`;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"a2a-cockpit.js","sourceRoot":"","sources":["../../src/platform/a2a-cockpit.ts"],"names":[],"mappings":"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","sourcesContent":["import { type A2AFleetSummary, inspectA2AFleet } from \"./a2a-fleet.js\";\nimport {\n\ttype A2AOwnershipScope,\n\thasA2AOwnershipRecordMarkers,\n\thasA2AOwnershipScope,\n\tmatchesA2AOwnershipScope,\n} from \"./a2a-ownership.js\";\nimport {\n\ttype A2ATaskLedgerEntry,\n\ttype A2ATaskLedgerFile,\n\tisActionRequiredA2AState,\n\tisCompletedA2AState,\n\tisFailedA2AState,\n\tisFinalA2AState,\n\tisTerminalA2AState,\n\tlistA2ATaskEntries,\n\tloadA2ATaskLedger,\n\tnormalizeA2AState,\n} from \"./a2a-task-ledger.js\";\nimport type { A2AWorkGraphMetadata } from \"./a2a-work-graph.js\";\n\nexport type A2ACockpitTaskStatus =\n\t| \"waiting\"\n\t| \"running\"\n\t| \"completed\"\n\t| \"failed\"\n\t| \"unknown\";\n\nexport type A2ACockpitNextActionSeverity = \"info\" | \"warning\" | \"critical\";\n\nexport interface A2ACockpitOptions {\n\tregistryPath?: string;\n\ttasksPath?: string;\n\ttimeoutMs?: number;\n\tpeer?: string;\n\tlimit?: number;\n\townershipScope?: A2AOwnershipScope;\n}\n\nexport interface A2ACockpitSummary {\n\tgeneratedAt: string;\n\tregistryPath: string;\n\ttasksPath: string;\n\tpeer?: string;\n\tcounts: A2ACockpitCounts;\n\tpeers: A2ACockpitPeerSummary[];\n\ttasks: A2ACockpitTaskSummary[];\n\tnextActions: A2ACockpitNextAction[];\n}\n\nexport interface A2ACockpitCounts {\n\tpeers: number;\n\tonlinePeers: number;\n\tunreachablePeers: number;\n\ttasks: number;\n\trunningTasks: number;\n\tactionRequiredTasks: number;\n\tfailedTasks: number;\n\tcompletedTasks: number;\n}\n\nexport interface A2ACockpitPeerSummary {\n\tname: string;\n\tdisplayName?: string;\n\turl: string;\n\tstatus: \"online\" | \"unreachable\";\n\terror?: string;\n\tauth?: string;\n\tmodel?: string;\n\tcwd?: string;\n\ttaskCounts: Pick<\n\t\tA2ACockpitCounts,\n\t\t| \"tasks\"\n\t\t| \"runningTasks\"\n\t\t| \"actionRequiredTasks\"\n\t\t| \"failedTasks\"\n\t\t| \"completedTasks\"\n\t>;\n\tlastTask?: {\n\t\tid: string;\n\t\tstate: string;\n\t\tstatus: A2ACockpitTaskStatus;\n\t\tupdatedAt: string;\n\t\ttext: string;\n\t};\n}\n\nexport interface A2ACockpitTaskSummary {\n\tledgerId: string;\n\tpeer: string;\n\tpeerDisplayName?: string;\n\torphanedPeer?: boolean;\n\ttaskId: string;\n\tstate: string;\n\tstatus: A2ACockpitTaskStatus;\n\trequiresInput: boolean;\n\tterminal: boolean;\n\tfinal: boolean;\n\ttext: string;\n\tresponseText?: string;\n\tupdatedAt: string;\n\tcompletedAt?: string;\n\tworkGraph?: A2AWorkGraphMetadata;\n\tnextCommand?: string;\n}\n\nexport interface A2ACockpitNextAction {\n\tid: string;\n\tlabel: string;\n\tcommand: string;\n\tseverity: A2ACockpitNextActionSeverity;\n\tpeer: string;\n\ttaskId?: string;\n\treason: string;\n}\n\nexport interface SummarizeA2ACockpitInput {\n\tfleet: A2AFleetSummary;\n\tledger: A2ATaskLedgerFile;\n\tpeer?: string;\n\tlimit?: number;\n\tgeneratedAt?: string;\n\townershipScope?: A2AOwnershipScope;\n}\n\nexport async function buildA2ACockpit(\n\toptions: A2ACockpitOptions = {},\n): Promise<A2ACockpitSummary> {\n\tif (!hasA2AOwnershipScope(options.ownershipScope)) {\n\t\treturn buildA2ACockpitUnscoped(options);\n\t}\n\tconst ledger = await loadA2ATaskLedger({ path: options.tasksPath });\n\tconst fleet = await inspectA2AFleet({\n\t\tregistryPath: options.registryPath,\n\t\ttasksPath: options.tasksPath,\n\t\ttimeoutMs: options.timeoutMs,\n\t\townershipScope: options.ownershipScope,\n\t\tincludePeerNames: scopedLedgerPeerNames(ledger, options.ownershipScope),\n\t});\n\treturn summarizeA2ACockpit({\n\t\tfleet,\n\t\tledger,\n\t\tpeer: options.peer,\n\t\tlimit: options.limit,\n\t\townershipScope: options.ownershipScope,\n\t});\n}\n\nasync function buildA2ACockpitUnscoped(\n\toptions: A2ACockpitOptions,\n): Promise<A2ACockpitSummary> {\n\tconst [fleet, ledger] = await Promise.all([\n\t\tinspectA2AFleet({\n\t\t\tregistryPath: options.registryPath,\n\t\t\ttasksPath: options.tasksPath,\n\t\t\ttimeoutMs: options.timeoutMs,\n\t\t}),\n\t\tloadA2ATaskLedger({ path: options.tasksPath }),\n\t]);\n\treturn summarizeA2ACockpit({\n\t\tfleet,\n\t\tledger,\n\t\tpeer: options.peer,\n\t\tlimit: options.limit,\n\t});\n}\n\nexport function summarizeA2ACockpit(\n\tinput: SummarizeA2ACockpitInput,\n): A2ACockpitSummary {\n\tconst peerFilter = cleanPeer(input.peer);\n\tconst limit = normalizeLimit(input.limit);\n\tconst hasOwnershipScope = hasA2AOwnershipScope(input.ownershipScope);\n\tconst scopedOwnedPeerNames = new Set(\n\t\thasOwnershipScope\n\t\t\t? input.fleet.peers\n\t\t\t\t\t.filter((peer) =>\n\t\t\t\t\t\tmatchesA2AOwnershipScope(peer, input.ownershipScope),\n\t\t\t\t\t)\n\t\t\t\t\t.map((peer) => peer.name)\n\t\t\t: [],\n\t);\n\tconst scopedLedger = filterLedgerForOwnership(\n\t\tinput.ledger,\n\t\tinput.ownershipScope,\n\t\tscopedOwnedPeerNames,\n\t);\n\tconst scopedTaskPeerNames = new Set(\n\t\tscopedLedger.tasks.map((task) => task.peer),\n\t);\n\tconst peers = input.fleet.peers\n\t\t.filter(\n\t\t\t(peer) =>\n\t\t\t\t!hasOwnershipScope ||\n\t\t\t\tscopedOwnedPeerNames.has(peer.name) ||\n\t\t\t\tscopedTaskPeerNames.has(peer.name),\n\t\t)\n\t\t.filter((peer) => !peerFilter || peer.name === peerFilter)\n\t\t.map((peer) => summarizePeer(peer, scopedLedger));\n\tconst registeredPeerNames = new Set(peers.map((peer) => peer.name));\n\tconst tasks = listA2ATaskEntries(scopedLedger, { peer: peerFilter })\n\t\t.map((task) => summarizeTask(task, registeredPeerNames))\n\t\t.sort(compareTasksForCockpit);\n\tconst limitedTasks = tasks.slice(0, limit);\n\tconst counts = summarizeCounts(peers, tasks);\n\treturn {\n\t\tgeneratedAt: input.generatedAt ?? input.fleet.generatedAt,\n\t\tregistryPath: input.fleet.registryPath,\n\t\ttasksPath: input.fleet.tasksPath,\n\t\t...(peerFilter ? { peer: peerFilter } : {}),\n\t\tcounts,\n\t\tpeers,\n\t\ttasks: limitedTasks,\n\t\tnextActions: summarizeNextActions(peers, tasks, limit),\n\t};\n}\n\nfunction filterLedgerForOwnership(\n\tledger: A2ATaskLedgerFile,\n\tscope: A2AOwnershipScope | undefined,\n\townedPeerNames: ReadonlySet<string> = new Set(),\n): A2ATaskLedgerFile {\n\tif (!hasA2AOwnershipScope(scope)) {\n\t\treturn ledger;\n\t}\n\treturn {\n\t\ttasks: ledger.tasks.filter((entry) =>\n\t\t\thasA2AOwnershipRecordMarkers(entry)\n\t\t\t\t? matchesA2AOwnershipScope(entry, scope)\n\t\t\t\t: ownedPeerNames.has(entry.peer),\n\t\t),\n\t};\n}\n\nfunction scopedLedgerPeerNames(\n\tledger: A2ATaskLedgerFile,\n\tscope: A2AOwnershipScope,\n): string[] {\n\treturn [\n\t\t...new Set(\n\t\t\tledger.tasks\n\t\t\t\t.filter(\n\t\t\t\t\t(entry) =>\n\t\t\t\t\t\thasA2AOwnershipRecordMarkers(entry) &&\n\t\t\t\t\t\tmatchesA2AOwnershipScope(entry, scope),\n\t\t\t\t)\n\t\t\t\t.map((entry) => entry.peer),\n\t\t),\n\t];\n}\n\nfunction summarizePeer(\n\tpeer: A2AFleetSummary[\"peers\"][number],\n\tledger: A2ATaskLedgerFile,\n): A2ACockpitPeerSummary {\n\tconst tasks = listA2ATaskEntries(ledger, { peer: peer.name }).map((task) =>\n\t\tsummarizeTask(task),\n\t);\n\tconst lastTask = tasks[0];\n\treturn {\n\t\tname: peer.name,\n\t\t...(peer.displayName ? { displayName: peer.displayName } : {}),\n\t\turl: peer.url,\n\t\tstatus: peer.status,\n\t\t...(peer.error ? { error: peer.error } : {}),\n\t\t...(peer.auth ? { auth: peer.auth } : {}),\n\t\t...(peer.model ? { model: peer.model } : {}),\n\t\t...(peer.cwd ? { cwd: peer.cwd } : {}),\n\t\ttaskCounts: {\n\t\t\ttasks: tasks.length,\n\t\t\trunningTasks: tasks.filter((task) => task.status === \"running\").length,\n\t\t\tactionRequiredTasks: tasks.filter((task) => task.status === \"waiting\")\n\t\t\t\t.length,\n\t\t\tfailedTasks: tasks.filter((task) => task.status === \"failed\").length,\n\t\t\tcompletedTasks: tasks.filter((task) => task.status === \"completed\")\n\t\t\t\t.length,\n\t\t},\n\t\t...(lastTask\n\t\t\t? {\n\t\t\t\t\tlastTask: {\n\t\t\t\t\t\tid: lastTask.taskId,\n\t\t\t\t\t\tstate: lastTask.state,\n\t\t\t\t\t\tstatus: lastTask.status,\n\t\t\t\t\t\tupdatedAt: lastTask.updatedAt,\n\t\t\t\t\t\ttext: lastTask.text,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t: {}),\n\t};\n}\n\nfunction summarizeTask(\n\tentry: A2ATaskLedgerEntry,\n\tregisteredPeerNames?: ReadonlySet<string>,\n): A2ACockpitTaskSummary {\n\tconst status = classifyTaskState(entry.state);\n\tconst requiresInput = isActionRequiredA2AState(entry.state);\n\tconst terminal = isTerminalA2AState(entry.state);\n\tconst final = isFinalA2AState(entry.state);\n\tconst orphanedPeer =\n\t\tregisteredPeerNames !== undefined && !registeredPeerNames.has(entry.peer);\n\tconst nextCommand = orphanedPeer ? undefined : taskCommand(entry, status);\n\treturn {\n\t\tledgerId: entry.id,\n\t\tpeer: entry.peer,\n\t\t...(entry.peerDisplayName\n\t\t\t? { peerDisplayName: entry.peerDisplayName }\n\t\t\t: {}),\n\t\t...(orphanedPeer ? { orphanedPeer: true } : {}),\n\t\ttaskId: entry.taskId,\n\t\tstate: entry.state,\n\t\tstatus,\n\t\trequiresInput,\n\t\tterminal,\n\t\tfinal,\n\t\ttext: entry.text,\n\t\t...(entry.responseText ? { responseText: entry.responseText } : {}),\n\t\tupdatedAt: entry.updatedAt,\n\t\t...(entry.completedAt ? { completedAt: entry.completedAt } : {}),\n\t\t...(entry.workGraph ? { workGraph: entry.workGraph } : {}),\n\t\t...(nextCommand ? { nextCommand } : {}),\n\t};\n}\n\nfunction summarizeCounts(\n\tpeers: A2ACockpitPeerSummary[],\n\ttasks: A2ACockpitTaskSummary[],\n): A2ACockpitCounts {\n\treturn {\n\t\tpeers: peers.length,\n\t\tonlinePeers: peers.filter((peer) => peer.status === \"online\").length,\n\t\tunreachablePeers: peers.filter((peer) => peer.status === \"unreachable\")\n\t\t\t.length,\n\t\ttasks: tasks.length,\n\t\trunningTasks: tasks.filter((task) => task.status === \"running\").length,\n\t\tactionRequiredTasks: tasks.filter((task) => task.status === \"waiting\")\n\t\t\t.length,\n\t\tfailedTasks: tasks.filter((task) => task.status === \"failed\").length,\n\t\tcompletedTasks: tasks.filter((task) => task.status === \"completed\").length,\n\t};\n}\n\nfunction summarizeNextActions(\n\tpeers: A2ACockpitPeerSummary[],\n\ttasks: A2ACockpitTaskSummary[],\n\tlimit: number,\n): A2ACockpitNextAction[] {\n\tconst actions = tasks\n\t\t.map((task) => nextActionForTask(task))\n\t\t.filter((action): action is A2ACockpitNextAction => Boolean(action))\n\t\t.slice(0, limit);\n\tif (actions.length > 0) {\n\t\treturn actions;\n\t}\n\treturn peers\n\t\t.filter(\n\t\t\t(peer) => peer.status === \"online\" && peer.taskCounts.runningTasks === 0,\n\t\t)\n\t\t.slice(0, limit)\n\t\t.map((peer) => ({\n\t\t\tid: `delegate:${peer.name}`,\n\t\t\tlabel: `Delegate fresh work to ${peer.name}`,\n\t\t\tcommand: `maestro a2a delegate ${shellQuote(peer.name)} <objective> --wait --work-graph`,\n\t\t\tseverity: \"info\",\n\t\t\tpeer: peer.name,\n\t\t\treason:\n\t\t\t\t\"Peer is reachable and has no active local A2A task in the ledger.\",\n\t\t}));\n}\n\nfunction nextActionForTask(\n\ttask: A2ACockpitTaskSummary,\n): A2ACockpitNextAction | undefined {\n\tif (task.orphanedPeer) {\n\t\treturn undefined;\n\t}\n\tif (task.status === \"waiting\") {\n\t\treturn {\n\t\t\tid: `reply:${task.peer}:${task.taskId}`,\n\t\t\tlabel: `Reply to ${task.peer} task ${task.taskId}`,\n\t\t\tcommand: `maestro a2a reply ${shellQuote(task.peer)} ${shellQuote(task.taskId)} <response> --wait --work-graph`,\n\t\t\tseverity: \"critical\",\n\t\t\tpeer: task.peer,\n\t\t\ttaskId: task.taskId,\n\t\t\treason: taskActionReason(\n\t\t\t\ttask,\n\t\t\t\t\"Peer returned an input-required or auth-required A2A state.\",\n\t\t\t),\n\t\t};\n\t}\n\tif (task.status === \"running\") {\n\t\treturn {\n\t\t\tid: `wait:${task.peer}:${task.taskId}`,\n\t\t\tlabel: `Wait for ${task.peer} task ${task.taskId}`,\n\t\t\tcommand:\n\t\t\t\ttask.nextCommand ??\n\t\t\t\t`maestro a2a wait ${shellQuote(task.peer)} ${shellQuote(task.taskId)} --work-graph`,\n\t\t\tseverity: \"info\",\n\t\t\tpeer: task.peer,\n\t\t\ttaskId: task.taskId,\n\t\t\treason: taskActionReason(\n\t\t\t\ttask,\n\t\t\t\t\"Task is still non-terminal in the local A2A ledger.\",\n\t\t\t),\n\t\t};\n\t}\n\tif (task.status === \"failed\") {\n\t\treturn {\n\t\t\tid: `refresh:${task.peer}:${task.taskId}`,\n\t\t\tlabel: `Refresh failed ${task.peer} task ${task.taskId}`,\n\t\t\tcommand: `maestro a2a tasks ${shellQuote(task.peer)} --refresh --work-graph`,\n\t\t\tseverity: \"warning\",\n\t\t\tpeer: task.peer,\n\t\t\ttaskId: task.taskId,\n\t\t\treason: taskActionReason(\n\t\t\t\ttask,\n\t\t\t\t\"Task reached a failed, rejected, or canceled final state.\",\n\t\t\t),\n\t\t};\n\t}\n\treturn undefined;\n}\n\nfunction taskActionReason(\n\ttask: A2ACockpitTaskSummary,\n\tbaseReason: string,\n): string {\n\tconst workGraphReason = workGraphPressureReason(task.workGraph);\n\treturn workGraphReason ? `${baseReason} ${workGraphReason}` : baseReason;\n}\n\nfunction workGraphPressureReason(\n\tworkGraph: A2ACockpitTaskSummary[\"workGraph\"],\n): string | undefined {\n\tif (!workGraph) {\n\t\treturn undefined;\n\t}\n\tconst pressure = [\n\t\tcountReason(\"blocked work item\", workGraph.blockedItemCount),\n\t\tcountReason(\"waiting work item\", workGraph.waitingItemCount),\n\t\tcountReason(\"pending tool call\", workGraph.pendingToolCallCount),\n\t\tcountReason(\"open wait\", workGraph.waitItemCount),\n\t].filter((part): part is string => Boolean(part));\n\tif (pressure.length === 0) {\n\t\treturn undefined;\n\t}\n\treturn `Work graph shows ${joinReasonParts(pressure)}.`;\n}\n\nfunction countReason(\n\tlabel: string,\n\tcount: number | undefined,\n): string | undefined {\n\tif (!count || count <= 0) {\n\t\treturn undefined;\n\t}\n\treturn `${count} ${label}${count === 1 ? \"\" : \"s\"}`;\n}\n\nfunction joinReasonParts(parts: string[]): string {\n\tif (parts.length <= 1) {\n\t\treturn parts[0] ?? \"\";\n\t}\n\tif (parts.length === 2) {\n\t\treturn `${parts[0]} and ${parts[1]}`;\n\t}\n\treturn `${parts.slice(0, -1).join(\", \")}, and ${parts.at(-1)}`;\n}\n\nfunction taskCommand(\n\tentry: A2ATaskLedgerEntry,\n\tstatus: A2ACockpitTaskStatus,\n): string | undefined {\n\tif (status === \"waiting\") {\n\t\treturn `maestro a2a reply ${shellQuote(entry.peer)} ${shellQuote(entry.taskId)} <response> --wait --work-graph`;\n\t}\n\tif (status === \"running\") {\n\t\treturn `maestro a2a wait ${shellQuote(entry.peer)} ${shellQuote(entry.taskId)} --work-graph`;\n\t}\n\treturn undefined;\n}\n\nexport function classifyTaskState(state: string): A2ACockpitTaskStatus {\n\tconst normalized = normalizeState(state);\n\tif (!normalized) {\n\t\treturn \"unknown\";\n\t}\n\tif (isActionRequiredA2AState(normalized)) {\n\t\treturn \"waiting\";\n\t}\n\tif (isCompletedA2AState(normalized)) {\n\t\treturn \"completed\";\n\t}\n\tif (isFailedA2AState(normalized)) {\n\t\treturn \"failed\";\n\t}\n\tif (!isFinalA2AState(normalized)) {\n\t\treturn \"running\";\n\t}\n\treturn \"unknown\";\n}\n\nfunction compareTasksForCockpit(\n\tleft: A2ACockpitTaskSummary,\n\tright: A2ACockpitTaskSummary,\n): number {\n\tconst urgency = taskUrgency(right.status) - taskUrgency(left.status);\n\tif (urgency !== 0) {\n\t\treturn urgency;\n\t}\n\treturn right.updatedAt.localeCompare(left.updatedAt);\n}\n\nfunction taskUrgency(status: A2ACockpitTaskStatus): number {\n\tswitch (status) {\n\t\tcase \"waiting\":\n\t\t\treturn 4;\n\t\tcase \"failed\":\n\t\t\treturn 3;\n\t\tcase \"running\":\n\t\t\treturn 2;\n\t\tcase \"unknown\":\n\t\t\treturn 1;\n\t\tcase \"completed\":\n\t\t\treturn 0;\n\t}\n}\n\nfunction normalizeLimit(limit: number | undefined): number {\n\tif (limit === undefined) {\n\t\treturn 8;\n\t}\n\tif (!Number.isFinite(limit) || limit <= 0) {\n\t\treturn 8;\n\t}\n\treturn Math.min(Math.floor(limit), 50);\n}\n\nfunction cleanPeer(peer: string | undefined): string | undefined {\n\tconst trimmed = peer?.trim();\n\treturn trimmed ? trimmed : undefined;\n}\n\nfunction normalizeState(state: string): string {\n\treturn normalizeA2AState(state);\n}\nfunction shellQuote(value: string): string {\n\tif (/^[A-Za-z0-9_./:-]+$/u.test(value)) {\n\t\treturn value;\n\t}\n\treturn `'${value.replace(/'/gu, \"'\\\\''\")}'`;\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SwarmState } from "../agent/swarm/types.js";
|
|
2
2
|
import type { A2ATaskLedgerFile } from "./a2a-task-ledger.js";
|
|
3
3
|
export declare const A2A_COMPLETION_AUDIT_SCHEMA = "evalops.maestro.a2a-completion-audit.v2";
|
|
4
|
-
export type A2ACompletionSignalKey = "status" | "artifact" | "task" | "workGraph" | "push" | "correlation";
|
|
4
|
+
export type A2ACompletionSignalKey = "status" | "artifact" | "task" | "workGraph" | "transcript" | "push" | "correlation";
|
|
5
5
|
export interface A2ACompletionAuditLane {
|
|
6
6
|
laneId: string;
|
|
7
7
|
parentTaskId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a-completion-audit.d.ts","sourceRoot":"","sources":["../../src/platform/a2a-completion-audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"a2a-completion-audit.d.ts","sourceRoot":"","sources":["../../src/platform/a2a-completion-audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,yBAAyB,CAAC;AAMzE,OAAO,KAAK,EAEX,iBAAiB,EACjB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,2BAA2B,4CACE,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAC/B,QAAQ,GACR,UAAU,GACV,MAAM,GACN,WAAW,GACX,YAAY,GACZ,MAAM,GACN,aAAa,CAAC;AAEjB,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACjD,cAAc,EAAE,sBAAsB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,OAAO,2BAA2B,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,qBAAqB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,KAAK,EAAE,sBAAsB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACxC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC5C,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAsBD,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,4BAA4B,GACjC,kBAAkB,CA2BpB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GAClB,MAAM,CAER"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a2aTaskEvidenceGaps, isCompletedA2AState, isFinalA2AState, } from "./a2a-task-ledger.js";
|
|
2
2
|
export const A2A_COMPLETION_AUDIT_SCHEMA = "evalops.maestro.a2a-completion-audit.v2";
|
|
3
3
|
const SIGNAL_ORDER = [
|
|
4
4
|
"status",
|
|
5
5
|
"artifact",
|
|
6
6
|
"task",
|
|
7
7
|
"workGraph",
|
|
8
|
+
"transcript",
|
|
8
9
|
"push",
|
|
9
10
|
"correlation",
|
|
10
11
|
];
|
|
@@ -93,11 +94,13 @@ function buildLaneAudit(input, lane, remoteTaskIdCounts) {
|
|
|
93
94
|
const parentTaskId = lane.parentTaskId ??
|
|
94
95
|
parentTaskIdForLane(lane.completedTasks, ledgerEntry, a2a);
|
|
95
96
|
const status = ledgerEntry?.state;
|
|
97
|
+
const evidenceGaps = ledgerEntry ? a2aTaskEvidenceGaps(ledgerEntry) : [];
|
|
96
98
|
const signals = {
|
|
97
99
|
status: Boolean(status),
|
|
98
|
-
artifact:
|
|
100
|
+
artifact: Boolean(ledgerEntry) && !evidenceGaps.includes("response-artifact"),
|
|
99
101
|
task: Boolean(ledgerEntry),
|
|
100
|
-
workGraph: Boolean(ledgerEntry
|
|
102
|
+
workGraph: Boolean(ledgerEntry) && !evidenceGaps.includes("work-graph"),
|
|
103
|
+
transcript: Boolean(ledgerEntry) && !evidenceGaps.includes("transcript"),
|
|
101
104
|
push: hasPushSignal(input, a2a, remoteTaskIdCounts),
|
|
102
105
|
correlation: hasCorrelationSignal(input.swarm.id, parentTaskId, a2a, ledgerEntry),
|
|
103
106
|
};
|
|
@@ -110,7 +113,7 @@ function buildLaneAudit(input, lane, remoteTaskIdCounts) {
|
|
|
110
113
|
contextId: a2a.contextId ?? ledgerEntry?.contextId,
|
|
111
114
|
peer: a2a.peer,
|
|
112
115
|
status,
|
|
113
|
-
terminal: Boolean(status &&
|
|
116
|
+
terminal: Boolean(status && isFinalA2AState(status)),
|
|
114
117
|
signals,
|
|
115
118
|
missingSignals,
|
|
116
119
|
};
|
|
@@ -153,19 +156,12 @@ function parentTaskIdForLane(completedTasks, ledgerEntry, a2a) {
|
|
|
153
156
|
}
|
|
154
157
|
return lastValue(completedTasks) ?? ledgerParentTaskId ?? a2aParentTaskId;
|
|
155
158
|
}
|
|
156
|
-
function isCompletedA2AState(state) {
|
|
157
|
-
return /COMPLETED/u.test(state.toUpperCase().replace(/[\s-]+/gu, "_"));
|
|
158
|
-
}
|
|
159
159
|
function lastValue(values) {
|
|
160
160
|
return values.length > 0 ? values[values.length - 1] : undefined;
|
|
161
161
|
}
|
|
162
162
|
function fallbackRemoteLaneId(peer, taskId) {
|
|
163
163
|
return `a2a:${encodeURIComponent(peer)}:remote:${encodeURIComponent(taskId)}`;
|
|
164
164
|
}
|
|
165
|
-
function hasArtifactSignal(entry) {
|
|
166
|
-
return Boolean(entry?.responseText?.trim() ||
|
|
167
|
-
entry?.transcript.some((item) => item.role === "agent" && item.text.trim().length > 0));
|
|
168
|
-
}
|
|
169
165
|
function hasCorrelationSignal(swarmId, parentTaskId, a2a, entry) {
|
|
170
166
|
if (!entry) {
|
|
171
167
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a-completion-audit.js","sourceRoot":"","sources":["../../src/platform/a2a-completion-audit.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SwarmState, SwarmTeammate } from \"../agent/swarm/types.js\";\nimport type {\n\tA2ATaskLedgerEntry,\n\tA2ATaskLedgerFile,\n} from \"./a2a-task-ledger.js\";\nimport { isTerminalA2AState } from \"./a2a-task-ledger.js\";\n\nexport const A2A_COMPLETION_AUDIT_SCHEMA =\n\t\"evalops.maestro.a2a-completion-audit.v2\";\n\nexport type A2ACompletionSignalKey =\n\t| \"status\"\n\t| \"artifact\"\n\t| \"task\"\n\t| \"workGraph\"\n\t| \"push\"\n\t| \"correlation\";\n\nexport interface A2ACompletionAuditLane {\n\tlaneId: string;\n\tparentTaskId?: string;\n\ta2aTaskId: string;\n\ta2aMessageId?: string;\n\tcontextId?: string;\n\tpeer: string;\n\tstatus?: string;\n\tterminal: boolean;\n\tsignals: Record<A2ACompletionSignalKey, boolean>;\n\tmissingSignals: A2ACompletionSignalKey[];\n}\n\nexport interface A2ACompletionAudit {\n\tschema: typeof A2A_COMPLETION_AUDIT_SCHEMA;\n\tswarmId: string;\n\tgeneratedAt: string;\n\tcomplete: boolean;\n\tcounts: {\n\t\tremoteLanes: number;\n\t\tcompleteLanes: number;\n\t\tincompleteLanes: number;\n\t\tpushCoveredLanes: number;\n\t\tworkGraphCoveredLanes: number;\n\t};\n\tlanes: A2ACompletionAuditLane[];\n}\n\nexport interface A2APushCompletionSignals {\n\tstatusUpdateTerminal?: boolean;\n\tartifactUpdate?: boolean;\n\ttaskTerminal?: boolean;\n}\n\nexport interface BuildA2ACompletionAuditInput {\n\tswarm: SwarmState;\n\tledger: A2ATaskLedgerFile;\n\tpushSignals?: ReadonlyMap<string, A2APushCompletionSignals>;\n\tpushSignalKeys?: ReadonlySet<string>;\n\tpushTaskIds?: ReadonlySet<string>;\n\tgeneratedAt?: string;\n}\n\nconst SIGNAL_ORDER: A2ACompletionSignalKey[] = [\n\t\"status\",\n\t\"artifact\",\n\t\"task\",\n\t\"workGraph\",\n\t\"push\",\n\t\"correlation\",\n];\n\ntype A2AAuditA2A = NonNullable<SwarmTeammate[\"a2a\"]>;\n\ninterface A2AAuditLaneSource {\n\tlaneId: string;\n\tparentTaskId?: string;\n\tcompletedTasks: string[];\n\ta2a: A2AAuditA2A;\n\tledgerEntry?: A2ATaskLedgerEntry;\n}\n\nexport function buildA2ACompletionAudit(\n\tinput: BuildA2ACompletionAuditInput,\n): A2ACompletionAudit {\n\tconst remoteLanes = buildRemoteLaneSources(input);\n\tconst remoteTaskIdCounts = countRemoteTaskIds(remoteLanes);\n\tconst lanes = remoteLanes.map((lane) =>\n\t\tbuildLaneAudit(input, lane, remoteTaskIdCounts),\n\t);\n\tconst completeLanes = lanes.filter(\n\t\t(lane) => lane.terminal && lane.missingSignals.length === 0,\n\t).length;\n\tconst pushCoveredLanes = lanes.filter((lane) => lane.signals.push).length;\n\tconst workGraphCoveredLanes = lanes.filter(\n\t\t(lane) => lane.signals.workGraph,\n\t).length;\n\treturn {\n\t\tschema: A2A_COMPLETION_AUDIT_SCHEMA,\n\t\tswarmId: input.swarm.id,\n\t\tgeneratedAt: input.generatedAt ?? new Date().toISOString(),\n\t\tcomplete: lanes.length === completeLanes,\n\t\tcounts: {\n\t\t\tremoteLanes: lanes.length,\n\t\t\tcompleteLanes,\n\t\t\tincompleteLanes: lanes.length - completeLanes,\n\t\t\tpushCoveredLanes,\n\t\t\tworkGraphCoveredLanes,\n\t\t},\n\t\tlanes,\n\t};\n}\n\nexport function a2aPushSignalKey(peer: string, taskId: string): string {\n\treturn `${peer}\\u0000${taskId}`;\n}\n\nexport function a2aDelegationLaneId(\n\tpeer: string,\n\tparentTaskId: string,\n): string {\n\treturn `a2a:${encodeURIComponent(peer)}:${encodeURIComponent(parentTaskId)}`;\n}\n\nfunction buildRemoteLaneSources(\n\tinput: BuildA2ACompletionAuditInput,\n): A2AAuditLaneSource[] {\n\tconst teammateLanes = input.swarm.teammates\n\t\t.filter(hasA2ATask)\n\t\t.map((teammate) => {\n\t\t\tconst ledgerEntry = findLedgerEntry(input.ledger, teammate.a2a);\n\t\t\tconst parentTaskId = parentTaskIdForLane(\n\t\t\t\tteammate.completedTasks,\n\t\t\t\tledgerEntry,\n\t\t\t\tteammate.a2a,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tlaneId: parentTaskId\n\t\t\t\t\t? a2aDelegationLaneId(teammate.a2a.peer, parentTaskId)\n\t\t\t\t\t: teammate.id,\n\t\t\t\tparentTaskId,\n\t\t\t\tcompletedTasks: teammate.completedTasks,\n\t\t\t\ta2a: teammate.a2a,\n\t\t\t\tledgerEntry,\n\t\t\t};\n\t\t});\n\tconst seen = new Set(teammateLanes.map((lane) => laneKey(lane.a2a)));\n\tconst ledgerOnlyLanes = input.ledger.tasks\n\t\t.filter((entry) => entry.kind === \"delegation\")\n\t\t.filter((entry) => stringMetadata(entry, \"swarmId\") === input.swarm.id)\n\t\t.filter((entry) => !seen.has(a2aPushSignalKey(entry.peer, entry.taskId)))\n\t\t.map((entry) => {\n\t\t\tconst parentTaskId = parentTaskIdForLedger(entry);\n\t\t\treturn {\n\t\t\t\tlaneId: parentTaskId\n\t\t\t\t\t? a2aDelegationLaneId(entry.peer, parentTaskId)\n\t\t\t\t\t: fallbackRemoteLaneId(entry.peer, entry.taskId),\n\t\t\t\tparentTaskId,\n\t\t\t\tcompletedTasks: [],\n\t\t\t\ta2a: {\n\t\t\t\t\tpeer: entry.peer,\n\t\t\t\t\tpeerDisplayName: entry.peerDisplayName,\n\t\t\t\t\tsource: \"registry\" as const,\n\t\t\t\t\ttaskId: entry.taskId,\n\t\t\t\t\tcontextId: entry.contextId,\n\t\t\t\t\tmessageId: entry.messageId ?? \"\",\n\t\t\t\t\trole: entry.role,\n\t\t\t\t},\n\t\t\t\tledgerEntry: entry,\n\t\t\t};\n\t\t});\n\treturn [...teammateLanes, ...ledgerOnlyLanes];\n}\n\nfunction hasA2ATask(\n\tteammate: SwarmTeammate,\n): teammate is SwarmTeammate & { a2a: A2AAuditA2A } {\n\treturn Boolean(teammate.a2a?.taskId);\n}\n\nfunction laneKey(a2a: A2AAuditA2A): string {\n\treturn a2aPushSignalKey(a2a.peer, a2a.taskId);\n}\n\nfunction findLedgerEntry(\n\tledger: A2ATaskLedgerFile,\n\ta2a: A2AAuditA2A,\n): A2ATaskLedgerEntry | undefined {\n\treturn ledger.tasks.find(\n\t\t(entry) => entry.taskId === a2a.taskId && entry.peer === a2a.peer,\n\t);\n}\n\nfunction buildLaneAudit(\n\tinput: BuildA2ACompletionAuditInput,\n\tlane: A2AAuditLaneSource,\n\tremoteTaskIdCounts: ReadonlyMap<string, number>,\n): A2ACompletionAuditLane {\n\tconst { a2a, ledgerEntry } = lane;\n\tconst parentTaskId =\n\t\tlane.parentTaskId ??\n\t\tparentTaskIdForLane(lane.completedTasks, ledgerEntry, a2a);\n\tconst status = ledgerEntry?.state;\n\tconst signals: Record<A2ACompletionSignalKey, boolean> = {\n\t\tstatus: Boolean(status),\n\t\tartifact: hasArtifactSignal(ledgerEntry),\n\t\ttask: Boolean(ledgerEntry),\n\t\tworkGraph: Boolean(ledgerEntry?.workGraph),\n\t\tpush: hasPushSignal(input, a2a, remoteTaskIdCounts),\n\t\tcorrelation: hasCorrelationSignal(\n\t\t\tinput.swarm.id,\n\t\t\tparentTaskId,\n\t\t\ta2a,\n\t\t\tledgerEntry,\n\t\t),\n\t};\n\tconst missingSignals = SIGNAL_ORDER.filter((key) => !signals[key]);\n\treturn {\n\t\tlaneId: lane.laneId,\n\t\tparentTaskId,\n\t\ta2aTaskId: a2a.taskId,\n\t\ta2aMessageId: a2a.messageId,\n\t\tcontextId: a2a.contextId ?? ledgerEntry?.contextId,\n\t\tpeer: a2a.peer,\n\t\tstatus,\n\t\tterminal: Boolean(status && isTerminalA2AState(status)),\n\t\tsignals,\n\t\tmissingSignals,\n\t};\n}\n\nfunction countRemoteTaskIds(lanes: A2AAuditLaneSource[]): Map<string, number> {\n\tconst counts = new Map<string, number>();\n\tfor (const lane of lanes) {\n\t\tconst taskId = lane.a2a.taskId;\n\t\tcounts.set(taskId, (counts.get(taskId) ?? 0) + 1);\n\t}\n\treturn counts;\n}\n\nfunction hasPushSignal(\n\tinput: BuildA2ACompletionAuditInput,\n\ta2a: NonNullable<SwarmTeammate[\"a2a\"]>,\n\tremoteTaskIdCounts: ReadonlyMap<string, number>,\n): boolean {\n\tconst exactKey = a2aPushSignalKey(a2a.peer, a2a.taskId);\n\tif (input.pushSignals?.has(exactKey)) {\n\t\treturn pushCompletionSignalsAreComplete(input.pushSignals.get(exactKey));\n\t}\n\tif (input.pushSignalKeys?.has(exactKey)) {\n\t\treturn true;\n\t}\n\tif ((remoteTaskIdCounts.get(a2a.taskId) ?? 0) > 1) {\n\t\treturn false;\n\t}\n\treturn input.pushTaskIds?.has(a2a.taskId) ?? false;\n}\n\nfunction pushCompletionSignalsAreComplete(\n\tsignals: A2APushCompletionSignals | undefined,\n): boolean {\n\treturn Boolean(\n\t\tsignals?.statusUpdateTerminal &&\n\t\t\tsignals.artifactUpdate &&\n\t\t\tsignals.taskTerminal,\n\t);\n}\n\nfunction parentTaskIdForLedger(\n\tledgerEntry: A2ATaskLedgerEntry | undefined,\n): string | undefined {\n\treturn (\n\t\tstringMetadata(ledgerEntry, \"taskId\") ??\n\t\tstringMetadata(ledgerEntry, \"task_id\")\n\t);\n}\n\nfunction parentTaskIdForLane(\n\tcompletedTasks: string[],\n\tledgerEntry: A2ATaskLedgerEntry | undefined,\n\ta2a?: A2AAuditA2A,\n): string | undefined {\n\tconst ledgerParentTaskId = parentTaskIdForLedger(ledgerEntry);\n\tconst a2aParentTaskId = a2a?.parentTaskId;\n\tif (ledgerEntry?.state && !isCompletedA2AState(ledgerEntry.state)) {\n\t\treturn ledgerParentTaskId ?? a2aParentTaskId ?? lastValue(completedTasks);\n\t}\n\treturn lastValue(completedTasks) ?? ledgerParentTaskId ?? a2aParentTaskId;\n}\n\nfunction isCompletedA2AState(state: string): boolean {\n\treturn /COMPLETED/u.test(state.toUpperCase().replace(/[\\s-]+/gu, \"_\"));\n}\n\nfunction lastValue(values: string[]): string | undefined {\n\treturn values.length > 0 ? values[values.length - 1] : undefined;\n}\n\nfunction fallbackRemoteLaneId(peer: string, taskId: string): string {\n\treturn `a2a:${encodeURIComponent(peer)}:remote:${encodeURIComponent(taskId)}`;\n}\n\nfunction hasArtifactSignal(entry: A2ATaskLedgerEntry | undefined): boolean {\n\treturn Boolean(\n\t\tentry?.responseText?.trim() ||\n\t\t\tentry?.transcript.some(\n\t\t\t\t(item) => item.role === \"agent\" && item.text.trim().length > 0,\n\t\t\t),\n\t);\n}\n\nfunction hasCorrelationSignal(\n\tswarmId: string,\n\tparentTaskId: string | undefined,\n\ta2a: NonNullable<SwarmTeammate[\"a2a\"]>,\n\tentry: A2ATaskLedgerEntry | undefined,\n): boolean {\n\tif (!entry) {\n\t\treturn false;\n\t}\n\tconst ledgerParentTaskId =\n\t\tstringMetadata(entry, \"taskId\") ?? stringMetadata(entry, \"task_id\");\n\treturn Boolean(\n\t\ta2a.messageId &&\n\t\t\tentry.messageId === a2a.messageId &&\n\t\t\t(a2a.contextId ? entry.contextId === a2a.contextId : entry.contextId) &&\n\t\t\tstringMetadata(entry, \"swarmId\") === swarmId &&\n\t\t\tparentTaskId &&\n\t\t\tledgerParentTaskId === parentTaskId,\n\t);\n}\n\nfunction stringMetadata(\n\tentry: A2ATaskLedgerEntry | undefined,\n\tkey: string,\n): string | undefined {\n\tconst value = entry?.metadata?.[key];\n\treturn typeof value === \"string\" ? value : undefined;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"a2a-completion-audit.js","sourceRoot":"","sources":["../../src/platform/a2a-completion-audit.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SwarmState, SwarmTeammate } from \"../agent/swarm/types.js\";\nimport {\n\ta2aTaskEvidenceGaps,\n\tisCompletedA2AState,\n\tisFinalA2AState,\n} from \"./a2a-task-ledger.js\";\nimport type {\n\tA2ATaskLedgerEntry,\n\tA2ATaskLedgerFile,\n} from \"./a2a-task-ledger.js\";\n\nexport const A2A_COMPLETION_AUDIT_SCHEMA =\n\t\"evalops.maestro.a2a-completion-audit.v2\";\n\nexport type A2ACompletionSignalKey =\n\t| \"status\"\n\t| \"artifact\"\n\t| \"task\"\n\t| \"workGraph\"\n\t| \"transcript\"\n\t| \"push\"\n\t| \"correlation\";\n\nexport interface A2ACompletionAuditLane {\n\tlaneId: string;\n\tparentTaskId?: string;\n\ta2aTaskId: string;\n\ta2aMessageId?: string;\n\tcontextId?: string;\n\tpeer: string;\n\tstatus?: string;\n\tterminal: boolean;\n\tsignals: Record<A2ACompletionSignalKey, boolean>;\n\tmissingSignals: A2ACompletionSignalKey[];\n}\n\nexport interface A2ACompletionAudit {\n\tschema: typeof A2A_COMPLETION_AUDIT_SCHEMA;\n\tswarmId: string;\n\tgeneratedAt: string;\n\tcomplete: boolean;\n\tcounts: {\n\t\tremoteLanes: number;\n\t\tcompleteLanes: number;\n\t\tincompleteLanes: number;\n\t\tpushCoveredLanes: number;\n\t\tworkGraphCoveredLanes: number;\n\t};\n\tlanes: A2ACompletionAuditLane[];\n}\n\nexport interface A2APushCompletionSignals {\n\tstatusUpdateTerminal?: boolean;\n\tartifactUpdate?: boolean;\n\ttaskTerminal?: boolean;\n}\n\nexport interface BuildA2ACompletionAuditInput {\n\tswarm: SwarmState;\n\tledger: A2ATaskLedgerFile;\n\tpushSignals?: ReadonlyMap<string, A2APushCompletionSignals>;\n\tpushSignalKeys?: ReadonlySet<string>;\n\tpushTaskIds?: ReadonlySet<string>;\n\tgeneratedAt?: string;\n}\n\nconst SIGNAL_ORDER: A2ACompletionSignalKey[] = [\n\t\"status\",\n\t\"artifact\",\n\t\"task\",\n\t\"workGraph\",\n\t\"transcript\",\n\t\"push\",\n\t\"correlation\",\n];\n\ntype A2AAuditA2A = NonNullable<SwarmTeammate[\"a2a\"]>;\n\ninterface A2AAuditLaneSource {\n\tlaneId: string;\n\tparentTaskId?: string;\n\tcompletedTasks: string[];\n\ta2a: A2AAuditA2A;\n\tledgerEntry?: A2ATaskLedgerEntry;\n}\n\nexport function buildA2ACompletionAudit(\n\tinput: BuildA2ACompletionAuditInput,\n): A2ACompletionAudit {\n\tconst remoteLanes = buildRemoteLaneSources(input);\n\tconst remoteTaskIdCounts = countRemoteTaskIds(remoteLanes);\n\tconst lanes = remoteLanes.map((lane) =>\n\t\tbuildLaneAudit(input, lane, remoteTaskIdCounts),\n\t);\n\tconst completeLanes = lanes.filter(\n\t\t(lane) => lane.terminal && lane.missingSignals.length === 0,\n\t).length;\n\tconst pushCoveredLanes = lanes.filter((lane) => lane.signals.push).length;\n\tconst workGraphCoveredLanes = lanes.filter(\n\t\t(lane) => lane.signals.workGraph,\n\t).length;\n\treturn {\n\t\tschema: A2A_COMPLETION_AUDIT_SCHEMA,\n\t\tswarmId: input.swarm.id,\n\t\tgeneratedAt: input.generatedAt ?? new Date().toISOString(),\n\t\tcomplete: lanes.length === completeLanes,\n\t\tcounts: {\n\t\t\tremoteLanes: lanes.length,\n\t\t\tcompleteLanes,\n\t\t\tincompleteLanes: lanes.length - completeLanes,\n\t\t\tpushCoveredLanes,\n\t\t\tworkGraphCoveredLanes,\n\t\t},\n\t\tlanes,\n\t};\n}\n\nexport function a2aPushSignalKey(peer: string, taskId: string): string {\n\treturn `${peer}\\u0000${taskId}`;\n}\n\nexport function a2aDelegationLaneId(\n\tpeer: string,\n\tparentTaskId: string,\n): string {\n\treturn `a2a:${encodeURIComponent(peer)}:${encodeURIComponent(parentTaskId)}`;\n}\n\nfunction buildRemoteLaneSources(\n\tinput: BuildA2ACompletionAuditInput,\n): A2AAuditLaneSource[] {\n\tconst teammateLanes = input.swarm.teammates\n\t\t.filter(hasA2ATask)\n\t\t.map((teammate) => {\n\t\t\tconst ledgerEntry = findLedgerEntry(input.ledger, teammate.a2a);\n\t\t\tconst parentTaskId = parentTaskIdForLane(\n\t\t\t\tteammate.completedTasks,\n\t\t\t\tledgerEntry,\n\t\t\t\tteammate.a2a,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tlaneId: parentTaskId\n\t\t\t\t\t? a2aDelegationLaneId(teammate.a2a.peer, parentTaskId)\n\t\t\t\t\t: teammate.id,\n\t\t\t\tparentTaskId,\n\t\t\t\tcompletedTasks: teammate.completedTasks,\n\t\t\t\ta2a: teammate.a2a,\n\t\t\t\tledgerEntry,\n\t\t\t};\n\t\t});\n\tconst seen = new Set(teammateLanes.map((lane) => laneKey(lane.a2a)));\n\tconst ledgerOnlyLanes = input.ledger.tasks\n\t\t.filter((entry) => entry.kind === \"delegation\")\n\t\t.filter((entry) => stringMetadata(entry, \"swarmId\") === input.swarm.id)\n\t\t.filter((entry) => !seen.has(a2aPushSignalKey(entry.peer, entry.taskId)))\n\t\t.map((entry) => {\n\t\t\tconst parentTaskId = parentTaskIdForLedger(entry);\n\t\t\treturn {\n\t\t\t\tlaneId: parentTaskId\n\t\t\t\t\t? a2aDelegationLaneId(entry.peer, parentTaskId)\n\t\t\t\t\t: fallbackRemoteLaneId(entry.peer, entry.taskId),\n\t\t\t\tparentTaskId,\n\t\t\t\tcompletedTasks: [],\n\t\t\t\ta2a: {\n\t\t\t\t\tpeer: entry.peer,\n\t\t\t\t\tpeerDisplayName: entry.peerDisplayName,\n\t\t\t\t\tsource: \"registry\" as const,\n\t\t\t\t\ttaskId: entry.taskId,\n\t\t\t\t\tcontextId: entry.contextId,\n\t\t\t\t\tmessageId: entry.messageId ?? \"\",\n\t\t\t\t\trole: entry.role,\n\t\t\t\t},\n\t\t\t\tledgerEntry: entry,\n\t\t\t};\n\t\t});\n\treturn [...teammateLanes, ...ledgerOnlyLanes];\n}\n\nfunction hasA2ATask(\n\tteammate: SwarmTeammate,\n): teammate is SwarmTeammate & { a2a: A2AAuditA2A } {\n\treturn Boolean(teammate.a2a?.taskId);\n}\n\nfunction laneKey(a2a: A2AAuditA2A): string {\n\treturn a2aPushSignalKey(a2a.peer, a2a.taskId);\n}\n\nfunction findLedgerEntry(\n\tledger: A2ATaskLedgerFile,\n\ta2a: A2AAuditA2A,\n): A2ATaskLedgerEntry | undefined {\n\treturn ledger.tasks.find(\n\t\t(entry) => entry.taskId === a2a.taskId && entry.peer === a2a.peer,\n\t);\n}\n\nfunction buildLaneAudit(\n\tinput: BuildA2ACompletionAuditInput,\n\tlane: A2AAuditLaneSource,\n\tremoteTaskIdCounts: ReadonlyMap<string, number>,\n): A2ACompletionAuditLane {\n\tconst { a2a, ledgerEntry } = lane;\n\tconst parentTaskId =\n\t\tlane.parentTaskId ??\n\t\tparentTaskIdForLane(lane.completedTasks, ledgerEntry, a2a);\n\tconst status = ledgerEntry?.state;\n\tconst evidenceGaps = ledgerEntry ? a2aTaskEvidenceGaps(ledgerEntry) : [];\n\tconst signals: Record<A2ACompletionSignalKey, boolean> = {\n\t\tstatus: Boolean(status),\n\t\tartifact:\n\t\t\tBoolean(ledgerEntry) && !evidenceGaps.includes(\"response-artifact\"),\n\t\ttask: Boolean(ledgerEntry),\n\t\tworkGraph: Boolean(ledgerEntry) && !evidenceGaps.includes(\"work-graph\"),\n\t\ttranscript: Boolean(ledgerEntry) && !evidenceGaps.includes(\"transcript\"),\n\t\tpush: hasPushSignal(input, a2a, remoteTaskIdCounts),\n\t\tcorrelation: hasCorrelationSignal(\n\t\t\tinput.swarm.id,\n\t\t\tparentTaskId,\n\t\t\ta2a,\n\t\t\tledgerEntry,\n\t\t),\n\t};\n\tconst missingSignals = SIGNAL_ORDER.filter((key) => !signals[key]);\n\treturn {\n\t\tlaneId: lane.laneId,\n\t\tparentTaskId,\n\t\ta2aTaskId: a2a.taskId,\n\t\ta2aMessageId: a2a.messageId,\n\t\tcontextId: a2a.contextId ?? ledgerEntry?.contextId,\n\t\tpeer: a2a.peer,\n\t\tstatus,\n\t\tterminal: Boolean(status && isFinalA2AState(status)),\n\t\tsignals,\n\t\tmissingSignals,\n\t};\n}\n\nfunction countRemoteTaskIds(lanes: A2AAuditLaneSource[]): Map<string, number> {\n\tconst counts = new Map<string, number>();\n\tfor (const lane of lanes) {\n\t\tconst taskId = lane.a2a.taskId;\n\t\tcounts.set(taskId, (counts.get(taskId) ?? 0) + 1);\n\t}\n\treturn counts;\n}\n\nfunction hasPushSignal(\n\tinput: BuildA2ACompletionAuditInput,\n\ta2a: NonNullable<SwarmTeammate[\"a2a\"]>,\n\tremoteTaskIdCounts: ReadonlyMap<string, number>,\n): boolean {\n\tconst exactKey = a2aPushSignalKey(a2a.peer, a2a.taskId);\n\tif (input.pushSignals?.has(exactKey)) {\n\t\treturn pushCompletionSignalsAreComplete(input.pushSignals.get(exactKey));\n\t}\n\tif (input.pushSignalKeys?.has(exactKey)) {\n\t\treturn true;\n\t}\n\tif ((remoteTaskIdCounts.get(a2a.taskId) ?? 0) > 1) {\n\t\treturn false;\n\t}\n\treturn input.pushTaskIds?.has(a2a.taskId) ?? false;\n}\n\nfunction pushCompletionSignalsAreComplete(\n\tsignals: A2APushCompletionSignals | undefined,\n): boolean {\n\treturn Boolean(\n\t\tsignals?.statusUpdateTerminal &&\n\t\t\tsignals.artifactUpdate &&\n\t\t\tsignals.taskTerminal,\n\t);\n}\n\nfunction parentTaskIdForLedger(\n\tledgerEntry: A2ATaskLedgerEntry | undefined,\n): string | undefined {\n\treturn (\n\t\tstringMetadata(ledgerEntry, \"taskId\") ??\n\t\tstringMetadata(ledgerEntry, \"task_id\")\n\t);\n}\n\nfunction parentTaskIdForLane(\n\tcompletedTasks: string[],\n\tledgerEntry: A2ATaskLedgerEntry | undefined,\n\ta2a?: A2AAuditA2A,\n): string | undefined {\n\tconst ledgerParentTaskId = parentTaskIdForLedger(ledgerEntry);\n\tconst a2aParentTaskId = a2a?.parentTaskId;\n\tif (ledgerEntry?.state && !isCompletedA2AState(ledgerEntry.state)) {\n\t\treturn ledgerParentTaskId ?? a2aParentTaskId ?? lastValue(completedTasks);\n\t}\n\treturn lastValue(completedTasks) ?? ledgerParentTaskId ?? a2aParentTaskId;\n}\n\nfunction lastValue(values: string[]): string | undefined {\n\treturn values.length > 0 ? values[values.length - 1] : undefined;\n}\n\nfunction fallbackRemoteLaneId(peer: string, taskId: string): string {\n\treturn `a2a:${encodeURIComponent(peer)}:remote:${encodeURIComponent(taskId)}`;\n}\n\nfunction hasCorrelationSignal(\n\tswarmId: string,\n\tparentTaskId: string | undefined,\n\ta2a: NonNullable<SwarmTeammate[\"a2a\"]>,\n\tentry: A2ATaskLedgerEntry | undefined,\n): boolean {\n\tif (!entry) {\n\t\treturn false;\n\t}\n\tconst ledgerParentTaskId =\n\t\tstringMetadata(entry, \"taskId\") ?? stringMetadata(entry, \"task_id\");\n\treturn Boolean(\n\t\ta2a.messageId &&\n\t\t\tentry.messageId === a2a.messageId &&\n\t\t\t(a2a.contextId ? entry.contextId === a2a.contextId : entry.contextId) &&\n\t\t\tstringMetadata(entry, \"swarmId\") === swarmId &&\n\t\t\tparentTaskId &&\n\t\t\tledgerParentTaskId === parentTaskId,\n\t);\n}\n\nfunction stringMetadata(\n\tentry: A2ATaskLedgerEntry | undefined,\n\tkey: string,\n): string | undefined {\n\tconst value = entry?.metadata?.[key];\n\treturn typeof value === \"string\" ? value : undefined;\n}\n"]}
|
|
@@ -132,6 +132,22 @@ function laneSkillPolicy(laneId) {
|
|
|
132
132
|
optionalArtifactKinds: ["failure.triage", "coverage.summary"],
|
|
133
133
|
allowedTaskClasses: ["test.execution", "ci.triage"],
|
|
134
134
|
};
|
|
135
|
+
case "browser-qa":
|
|
136
|
+
return {
|
|
137
|
+
requiredContextGrants: [
|
|
138
|
+
"browser:control",
|
|
139
|
+
"artifact:write",
|
|
140
|
+
"runtime:events:read",
|
|
141
|
+
],
|
|
142
|
+
requiredArtifactKinds: ["qa.repro-report"],
|
|
143
|
+
optionalArtifactKinds: [
|
|
144
|
+
"screenshot",
|
|
145
|
+
"repro.video",
|
|
146
|
+
"browser.console",
|
|
147
|
+
"network.error",
|
|
148
|
+
],
|
|
149
|
+
allowedTaskClasses: ["product.qa", "browser.e2e", "ux.repro"],
|
|
150
|
+
};
|
|
135
151
|
case "repo-explorer":
|
|
136
152
|
return {
|
|
137
153
|
requiredContextGrants: ["repo:read", "context:index:write"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a-maestro-peer.js","sourceRoot":"","sources":["../../src/platform/a2a-maestro-peer.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tCODEX_SUBAGENT_DISPATCH_TABLE,\n\ttype CodexSubagentDispatchLane,\n} from \"../codex/subagent-dispatch-table.js\";\nimport type {\n\tPlatformAgentA2APeerProjection,\n\tPlatformAgentA2ASkill,\n} from \"./agent-registry-client.js\";\n\nexport const MAESTRO_A2A_PROTOCOL_VERSION = \"1.0\";\nexport const MAESTRO_A2A_PROTOCOL_BINDING = \"HTTP+JSON\";\nexport const MAESTRO_A2A_AGENT_CARD_PATH = \"/.well-known/agent-card.json\";\nexport const EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI =\n\t\"https://evalops.com/a2a/extensions/operating-plane/v1\";\n\nconst MAESTRO_TUI_TURN_SKILL: PlatformAgentA2ASkill = {\n\tid: \"maestro-tui-turn\",\n\tname: \"Maestro TUI turn\",\n\tdescription:\n\t\t\"Run a prompt through the local Maestro native TUI agent runner.\",\n\ttags: [\"maestro\", \"tui\", \"codex\", \"a2a\", \"fleet\"],\n\tinputModes: [\"text/plain\"],\n\toutputModes: [\"text/plain\", \"application/json\"],\n\tattributes: {\n\t\tevalopsSkillKind: \"maestro-turn\",\n\t\toperatingPlaneExtension: EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI,\n\t},\n};\n\nexport interface BuildMaestroA2APeerProjectionInput {\n\tpublicEndpointUrl: string;\n\tinternalEndpointUrl?: string;\n\tagentCardUrl?: string;\n\tprotocolVersion?: string;\n\tagentCardETag?: string;\n\tagentCardHash?: string;\n\tpushNotifications?: boolean;\n\tsecuritySchemes?: string[];\n\tattributes?: Record<string, string>;\n}\n\nexport function defaultMaestroA2ACapabilities(): string[] {\n\treturn uniqueStrings([\n\t\t\"maestro:a2a\",\n\t\t\"maestro:cli\",\n\t\t\"maestro:subagents\",\n\t\t...CODEX_SUBAGENT_DISPATCH_TABLE.a2aSkillLanes.flatMap((lane) =>\n\t\t\tlane.capabilityAliases.filter((capability) => capability.includes(\":\")),\n\t\t),\n\t]);\n}\n\nexport function buildMaestroA2APeerProjection(\n\tinput: BuildMaestroA2APeerProjectionInput,\n): PlatformAgentA2APeerProjection {\n\tconst publicEndpointUrl = normalizeEndpoint(input.publicEndpointUrl);\n\tconst internalEndpointUrl = input.internalEndpointUrl\n\t\t? normalizeEndpoint(input.internalEndpointUrl)\n\t\t: undefined;\n\tconst agentCardUrl =\n\t\tinput.agentCardUrl?.trim() ||\n\t\t`${publicEndpointUrl}${MAESTRO_A2A_AGENT_CARD_PATH}`;\n\treturn stripUndefinedValues({\n\t\tpublicEndpointUrl,\n\t\tinternalEndpointUrl,\n\t\tagentCardUrl,\n\t\tprotocolBinding: MAESTRO_A2A_PROTOCOL_BINDING,\n\t\tprotocolVersion: input.protocolVersion ?? MAESTRO_A2A_PROTOCOL_VERSION,\n\t\tsupportedExtensions: [EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI],\n\t\tskills: maestroA2AAgentSkills(),\n\t\tsecuritySchemes:\n\t\t\tinput.securitySchemes && input.securitySchemes.length > 0\n\t\t\t\t? uniqueStrings(input.securitySchemes)\n\t\t\t\t: [\"evalops-agent-token\"],\n\t\tagentCardETag: input.agentCardETag,\n\t\tagentCardHash: input.agentCardHash,\n\t\tpushNotifications: input.pushNotifications ?? true,\n\t\tattributes: {\n\t\t\truntime: \"maestro\",\n\t\t\tcontrolPlane: \"rust-control-plane\",\n\t\t\tsubagentDispatchTable: CODEX_SUBAGENT_DISPATCH_TABLE.schemaVersion,\n\t\t\toperatingPlaneExtension: EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI,\n\t\t\t...(input.attributes ?? {}),\n\t\t},\n\t}) as PlatformAgentA2APeerProjection;\n}\n\nexport function maestroA2AAgentSkills(): PlatformAgentA2ASkill[] {\n\treturn [\n\t\tMAESTRO_TUI_TURN_SKILL,\n\t\t...CODEX_SUBAGENT_DISPATCH_TABLE.a2aSkillLanes.map(\n\t\t\tmaestroSubagentLaneSkill,\n\t\t),\n\t];\n}\n\nfunction maestroSubagentLaneSkill(\n\tlane: CodexSubagentDispatchLane,\n): PlatformAgentA2ASkill {\n\tconst policy = laneSkillPolicy(lane.laneId);\n\treturn {\n\t\tid: lane.skillId,\n\t\tname: lane.displayName,\n\t\tdescription: lane.description,\n\t\ttags: [...lane.tags],\n\t\tinputModes: [\"text/plain\", \"application/json\"],\n\t\toutputModes: [\"text/plain\", \"application/json\"],\n\t\trequiredContextGrants: policy.requiredContextGrants,\n\t\tapprovalPolicyRef: `maestro.subagent.${lane.laneId}.target-policy`,\n\t\tmaxAutonomy: \"bounded\",\n\t\trequiredArtifactKinds: policy.requiredArtifactKinds,\n\t\toptionalArtifactKinds: policy.optionalArtifactKinds,\n\t\tallowedTaskClasses: policy.allowedTaskClasses,\n\t\tdeniedTaskClasses: [\n\t\t\t\"credential.materialization\",\n\t\t\t\"secret.exfiltration\",\n\t\t\t\"unbounded.repository.write\",\n\t\t],\n\t\tattributes: {\n\t\t\tevalopsSkillKind: \"maestro-subagent\",\n\t\t\tsubagentLaneId: lane.laneId,\n\t\t\trequestMetadataPath: \"evalops.subagentRequest\",\n\t\t\toperatingPlaneExtension: EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI,\n\t\t},\n\t\tmetadata: {\n\t\t\tevalopsSkillKind: \"maestro-subagent\",\n\t\t\tsubagentLaneId: lane.laneId,\n\t\t\toperatingPlaneExtension: EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI,\n\t\t\trequestMetadataPath: \"evalops.subagentRequest\",\n\t\t\tapprovalPolicy: \"target-maestro-policy\",\n\t\t\tcontextGrantPolicy: \"bounded-policy-grants\",\n\t\t\tresultPolicy: \"summary-and-artifacts\",\n\t\t\tworkGraph: \"target AgentRun child-agent work items\",\n\t\t},\n\t};\n}\n\nfunction laneSkillPolicy(laneId: string): {\n\trequiredContextGrants: string[];\n\trequiredArtifactKinds: string[];\n\toptionalArtifactKinds: string[];\n\tallowedTaskClasses: string[];\n} {\n\tswitch (laneId) {\n\t\tcase \"code-writer\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\n\t\t\t\t\t\"repo:read\",\n\t\t\t\t\t\"repo:write-scoped\",\n\t\t\t\t\t\"tool:execute-tests\",\n\t\t\t\t],\n\t\t\t\trequiredArtifactKinds: [\"patch.summary\"],\n\t\t\t\toptionalArtifactKinds: [\"test.report\", \"review.summary\"],\n\t\t\t\tallowedTaskClasses: [\"code.implementation\", \"code.refactor\"],\n\t\t\t};\n\t\tcase \"code-review\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\n\t\t\t\t\t\"repo:read\",\n\t\t\t\t\t\"pull-request:read\",\n\t\t\t\t\t\"artifact:read\",\n\t\t\t\t],\n\t\t\t\trequiredArtifactKinds: [\"review.summary\"],\n\t\t\t\toptionalArtifactKinds: [\"risk.finding\", \"test.plan\"],\n\t\t\t\tallowedTaskClasses: [\"code.review\", \"risk.analysis\"],\n\t\t\t};\n\t\tcase \"test-runner\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\n\t\t\t\t\t\"repo:read\",\n\t\t\t\t\t\"tool:execute-tests\",\n\t\t\t\t\t\"artifact:write\",\n\t\t\t\t],\n\t\t\t\trequiredArtifactKinds: [\"test.report\"],\n\t\t\t\toptionalArtifactKinds: [\"failure.triage\", \"coverage.summary\"],\n\t\t\t\tallowedTaskClasses: [\"test.execution\", \"ci.triage\"],\n\t\t\t};\n\t\tcase \"repo-explorer\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\"repo:read\", \"context:index:write\"],\n\t\t\t\trequiredArtifactKinds: [\"repo.map\"],\n\t\t\t\toptionalArtifactKinds: [\"context.index\"],\n\t\t\t\tallowedTaskClasses: [\"repo.inspect\", \"context.gathering\"],\n\t\t\t};\n\t\tcase \"release-shepherd\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\n\t\t\t\t\t\"repo:read\",\n\t\t\t\t\t\"pull-request:write\",\n\t\t\t\t\t\"deploy:read\",\n\t\t\t\t\t\"artifact:write\",\n\t\t\t\t\t\"runtime:events:read\",\n\t\t\t\t],\n\t\t\t\trequiredArtifactKinds: [\"release.summary\"],\n\t\t\t\toptionalArtifactKinds: [\"ci.summary\", \"deploy.status\"],\n\t\t\t\tallowedTaskClasses: [\"release.follow-through\", \"deployment.smoke\"],\n\t\t\t};\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\"repo:read\"],\n\t\t\t\trequiredArtifactKinds: [\"subagent.summary\"],\n\t\t\t\toptionalArtifactKinds: [\"context.index\"],\n\t\t\t\tallowedTaskClasses: [\"agent.delegation\"],\n\t\t\t};\n\t}\n}\n\nfunction normalizeEndpoint(value: string): string {\n\tconst endpoint = value.trim().replace(/\\/+$/u, \"\");\n\tif (!endpoint) {\n\t\tthrow new Error(\"A2A endpoint URL is required\");\n\t}\n\treturn endpoint;\n}\n\nfunction uniqueStrings(values: readonly string[]): string[] {\n\treturn Array.from(\n\t\tnew Set(values.map((value) => value.trim()).filter(Boolean)),\n\t);\n}\n\nfunction stripUndefinedValues(\n\trecord: Record<string, unknown>,\n): Record<string, unknown> {\n\treturn Object.fromEntries(\n\t\tObject.entries(record).filter(([, value]) => value !== undefined),\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"a2a-maestro-peer.js","sourceRoot":"","sources":["../../src/platform/a2a-maestro-peer.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tCODEX_SUBAGENT_DISPATCH_TABLE,\n\ttype CodexSubagentDispatchLane,\n} from \"../codex/subagent-dispatch-table.js\";\nimport type {\n\tPlatformAgentA2APeerProjection,\n\tPlatformAgentA2ASkill,\n} from \"./agent-registry-client.js\";\n\nexport const MAESTRO_A2A_PROTOCOL_VERSION = \"1.0\";\nexport const MAESTRO_A2A_PROTOCOL_BINDING = \"HTTP+JSON\";\nexport const MAESTRO_A2A_AGENT_CARD_PATH = \"/.well-known/agent-card.json\";\nexport const EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI =\n\t\"https://evalops.com/a2a/extensions/operating-plane/v1\";\n\nconst MAESTRO_TUI_TURN_SKILL: PlatformAgentA2ASkill = {\n\tid: \"maestro-tui-turn\",\n\tname: \"Maestro TUI turn\",\n\tdescription:\n\t\t\"Run a prompt through the local Maestro native TUI agent runner.\",\n\ttags: [\"maestro\", \"tui\", \"codex\", \"a2a\", \"fleet\"],\n\tinputModes: [\"text/plain\"],\n\toutputModes: [\"text/plain\", \"application/json\"],\n\tattributes: {\n\t\tevalopsSkillKind: \"maestro-turn\",\n\t\toperatingPlaneExtension: EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI,\n\t},\n};\n\nexport interface BuildMaestroA2APeerProjectionInput {\n\tpublicEndpointUrl: string;\n\tinternalEndpointUrl?: string;\n\tagentCardUrl?: string;\n\tprotocolVersion?: string;\n\tagentCardETag?: string;\n\tagentCardHash?: string;\n\tpushNotifications?: boolean;\n\tsecuritySchemes?: string[];\n\tattributes?: Record<string, string>;\n}\n\nexport function defaultMaestroA2ACapabilities(): string[] {\n\treturn uniqueStrings([\n\t\t\"maestro:a2a\",\n\t\t\"maestro:cli\",\n\t\t\"maestro:subagents\",\n\t\t...CODEX_SUBAGENT_DISPATCH_TABLE.a2aSkillLanes.flatMap((lane) =>\n\t\t\tlane.capabilityAliases.filter((capability) => capability.includes(\":\")),\n\t\t),\n\t]);\n}\n\nexport function buildMaestroA2APeerProjection(\n\tinput: BuildMaestroA2APeerProjectionInput,\n): PlatformAgentA2APeerProjection {\n\tconst publicEndpointUrl = normalizeEndpoint(input.publicEndpointUrl);\n\tconst internalEndpointUrl = input.internalEndpointUrl\n\t\t? normalizeEndpoint(input.internalEndpointUrl)\n\t\t: undefined;\n\tconst agentCardUrl =\n\t\tinput.agentCardUrl?.trim() ||\n\t\t`${publicEndpointUrl}${MAESTRO_A2A_AGENT_CARD_PATH}`;\n\treturn stripUndefinedValues({\n\t\tpublicEndpointUrl,\n\t\tinternalEndpointUrl,\n\t\tagentCardUrl,\n\t\tprotocolBinding: MAESTRO_A2A_PROTOCOL_BINDING,\n\t\tprotocolVersion: input.protocolVersion ?? MAESTRO_A2A_PROTOCOL_VERSION,\n\t\tsupportedExtensions: [EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI],\n\t\tskills: maestroA2AAgentSkills(),\n\t\tsecuritySchemes:\n\t\t\tinput.securitySchemes && input.securitySchemes.length > 0\n\t\t\t\t? uniqueStrings(input.securitySchemes)\n\t\t\t\t: [\"evalops-agent-token\"],\n\t\tagentCardETag: input.agentCardETag,\n\t\tagentCardHash: input.agentCardHash,\n\t\tpushNotifications: input.pushNotifications ?? true,\n\t\tattributes: {\n\t\t\truntime: \"maestro\",\n\t\t\tcontrolPlane: \"rust-control-plane\",\n\t\t\tsubagentDispatchTable: CODEX_SUBAGENT_DISPATCH_TABLE.schemaVersion,\n\t\t\toperatingPlaneExtension: EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI,\n\t\t\t...(input.attributes ?? {}),\n\t\t},\n\t}) as PlatformAgentA2APeerProjection;\n}\n\nexport function maestroA2AAgentSkills(): PlatformAgentA2ASkill[] {\n\treturn [\n\t\tMAESTRO_TUI_TURN_SKILL,\n\t\t...CODEX_SUBAGENT_DISPATCH_TABLE.a2aSkillLanes.map(\n\t\t\tmaestroSubagentLaneSkill,\n\t\t),\n\t];\n}\n\nfunction maestroSubagentLaneSkill(\n\tlane: CodexSubagentDispatchLane,\n): PlatformAgentA2ASkill {\n\tconst policy = laneSkillPolicy(lane.laneId);\n\treturn {\n\t\tid: lane.skillId,\n\t\tname: lane.displayName,\n\t\tdescription: lane.description,\n\t\ttags: [...lane.tags],\n\t\tinputModes: [\"text/plain\", \"application/json\"],\n\t\toutputModes: [\"text/plain\", \"application/json\"],\n\t\trequiredContextGrants: policy.requiredContextGrants,\n\t\tapprovalPolicyRef: `maestro.subagent.${lane.laneId}.target-policy`,\n\t\tmaxAutonomy: \"bounded\",\n\t\trequiredArtifactKinds: policy.requiredArtifactKinds,\n\t\toptionalArtifactKinds: policy.optionalArtifactKinds,\n\t\tallowedTaskClasses: policy.allowedTaskClasses,\n\t\tdeniedTaskClasses: [\n\t\t\t\"credential.materialization\",\n\t\t\t\"secret.exfiltration\",\n\t\t\t\"unbounded.repository.write\",\n\t\t],\n\t\tattributes: {\n\t\t\tevalopsSkillKind: \"maestro-subagent\",\n\t\t\tsubagentLaneId: lane.laneId,\n\t\t\trequestMetadataPath: \"evalops.subagentRequest\",\n\t\t\toperatingPlaneExtension: EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI,\n\t\t},\n\t\tmetadata: {\n\t\t\tevalopsSkillKind: \"maestro-subagent\",\n\t\t\tsubagentLaneId: lane.laneId,\n\t\t\toperatingPlaneExtension: EVALOPS_A2A_OPERATING_PLANE_EXTENSION_URI,\n\t\t\trequestMetadataPath: \"evalops.subagentRequest\",\n\t\t\tapprovalPolicy: \"target-maestro-policy\",\n\t\t\tcontextGrantPolicy: \"bounded-policy-grants\",\n\t\t\tresultPolicy: \"summary-and-artifacts\",\n\t\t\tworkGraph: \"target AgentRun child-agent work items\",\n\t\t},\n\t};\n}\n\nfunction laneSkillPolicy(laneId: string): {\n\trequiredContextGrants: string[];\n\trequiredArtifactKinds: string[];\n\toptionalArtifactKinds: string[];\n\tallowedTaskClasses: string[];\n} {\n\tswitch (laneId) {\n\t\tcase \"code-writer\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\n\t\t\t\t\t\"repo:read\",\n\t\t\t\t\t\"repo:write-scoped\",\n\t\t\t\t\t\"tool:execute-tests\",\n\t\t\t\t],\n\t\t\t\trequiredArtifactKinds: [\"patch.summary\"],\n\t\t\t\toptionalArtifactKinds: [\"test.report\", \"review.summary\"],\n\t\t\t\tallowedTaskClasses: [\"code.implementation\", \"code.refactor\"],\n\t\t\t};\n\t\tcase \"code-review\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\n\t\t\t\t\t\"repo:read\",\n\t\t\t\t\t\"pull-request:read\",\n\t\t\t\t\t\"artifact:read\",\n\t\t\t\t],\n\t\t\t\trequiredArtifactKinds: [\"review.summary\"],\n\t\t\t\toptionalArtifactKinds: [\"risk.finding\", \"test.plan\"],\n\t\t\t\tallowedTaskClasses: [\"code.review\", \"risk.analysis\"],\n\t\t\t};\n\t\tcase \"test-runner\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\n\t\t\t\t\t\"repo:read\",\n\t\t\t\t\t\"tool:execute-tests\",\n\t\t\t\t\t\"artifact:write\",\n\t\t\t\t],\n\t\t\t\trequiredArtifactKinds: [\"test.report\"],\n\t\t\t\toptionalArtifactKinds: [\"failure.triage\", \"coverage.summary\"],\n\t\t\t\tallowedTaskClasses: [\"test.execution\", \"ci.triage\"],\n\t\t\t};\n\t\tcase \"browser-qa\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\n\t\t\t\t\t\"browser:control\",\n\t\t\t\t\t\"artifact:write\",\n\t\t\t\t\t\"runtime:events:read\",\n\t\t\t\t],\n\t\t\t\trequiredArtifactKinds: [\"qa.repro-report\"],\n\t\t\t\toptionalArtifactKinds: [\n\t\t\t\t\t\"screenshot\",\n\t\t\t\t\t\"repro.video\",\n\t\t\t\t\t\"browser.console\",\n\t\t\t\t\t\"network.error\",\n\t\t\t\t],\n\t\t\t\tallowedTaskClasses: [\"product.qa\", \"browser.e2e\", \"ux.repro\"],\n\t\t\t};\n\t\tcase \"repo-explorer\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\"repo:read\", \"context:index:write\"],\n\t\t\t\trequiredArtifactKinds: [\"repo.map\"],\n\t\t\t\toptionalArtifactKinds: [\"context.index\"],\n\t\t\t\tallowedTaskClasses: [\"repo.inspect\", \"context.gathering\"],\n\t\t\t};\n\t\tcase \"release-shepherd\":\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\n\t\t\t\t\t\"repo:read\",\n\t\t\t\t\t\"pull-request:write\",\n\t\t\t\t\t\"deploy:read\",\n\t\t\t\t\t\"artifact:write\",\n\t\t\t\t\t\"runtime:events:read\",\n\t\t\t\t],\n\t\t\t\trequiredArtifactKinds: [\"release.summary\"],\n\t\t\t\toptionalArtifactKinds: [\"ci.summary\", \"deploy.status\"],\n\t\t\t\tallowedTaskClasses: [\"release.follow-through\", \"deployment.smoke\"],\n\t\t\t};\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\trequiredContextGrants: [\"repo:read\"],\n\t\t\t\trequiredArtifactKinds: [\"subagent.summary\"],\n\t\t\t\toptionalArtifactKinds: [\"context.index\"],\n\t\t\t\tallowedTaskClasses: [\"agent.delegation\"],\n\t\t\t};\n\t}\n}\n\nfunction normalizeEndpoint(value: string): string {\n\tconst endpoint = value.trim().replace(/\\/+$/u, \"\");\n\tif (!endpoint) {\n\t\tthrow new Error(\"A2A endpoint URL is required\");\n\t}\n\treturn endpoint;\n}\n\nfunction uniqueStrings(values: readonly string[]): string[] {\n\treturn Array.from(\n\t\tnew Set(values.map((value) => value.trim()).filter(Boolean)),\n\t);\n}\n\nfunction stripUndefinedValues(\n\trecord: Record<string, unknown>,\n): Record<string, unknown> {\n\treturn Object.fromEntries(\n\t\tObject.entries(record).filter(([, value]) => value !== undefined),\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a-peer-pairing.d.ts","sourceRoot":"","sources":["../../src/platform/a2a-peer-pairing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"a2a-peer-pairing.d.ts","sourceRoot":"","sources":["../../src/platform/a2a-peer-pairing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createHash, timingSafeEqual } from "node:crypto";
|
|
2
|
+
import { isRecord } from "../utils/json.js";
|
|
2
3
|
import { normalizeA2ABaseUrl, } from "./a2a-client.js";
|
|
3
4
|
export const A2A_PEER_PAIRING_CODE_PREFIX = "maestro-pair-v1";
|
|
4
5
|
const PAIRING_CODE_VERSION = 1;
|
|
@@ -486,9 +487,6 @@ function stablePeerId(payload) {
|
|
|
486
487
|
.slice(0, 16);
|
|
487
488
|
return `a2a-peer-${hash}`;
|
|
488
489
|
}
|
|
489
|
-
function isRecord(value) {
|
|
490
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
491
|
-
}
|
|
492
490
|
function errorMessage(error) {
|
|
493
491
|
return error instanceof Error ? error.message : String(error);
|
|
494
492
|
}
|