@evalops/maestro 0.10.8 → 0.10.11
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 +3 -1
- package/dist/agent/action-approval.d.ts +6 -0
- package/dist/agent/action-approval.d.ts.map +1 -1
- package/dist/agent/action-approval.js.map +1 -1
- package/dist/agent/agent.d.ts +13 -1
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +368 -1
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/auto-compaction.d.ts +4 -4
- package/dist/agent/auto-compaction.d.ts.map +1 -1
- package/dist/agent/auto-compaction.js.map +1 -1
- package/dist/agent/compaction-cleanup.d.ts +2 -0
- package/dist/agent/compaction-cleanup.d.ts.map +1 -1
- package/dist/agent/compaction-cleanup.js +17 -2
- package/dist/agent/compaction-cleanup.js.map +1 -1
- package/dist/agent/compaction.d.ts +3 -1
- package/dist/agent/compaction.d.ts.map +1 -1
- package/dist/agent/compaction.js +10 -2
- package/dist/agent/compaction.js.map +1 -1
- package/dist/agent/context-manager.d.ts +4 -0
- package/dist/agent/context-manager.d.ts.map +1 -1
- package/dist/agent/context-manager.js +8 -0
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/context-providers.d.ts +2 -0
- package/dist/agent/context-providers.d.ts.map +1 -1
- package/dist/agent/context-providers.js +3 -2
- package/dist/agent/context-providers.js.map +1 -1
- package/dist/agent/providers/google-gemini-cli.js +17 -5
- package/dist/agent/providers/google.js +174 -144
- package/dist/agent/providers/openai-codex-responses.d.ts +4 -0
- package/dist/agent/providers/openai-codex-responses.d.ts.map +1 -0
- package/dist/agent/providers/openai-codex-responses.js +637 -0
- package/dist/agent/providers/openai-codex-responses.js.map +1 -0
- package/dist/agent/providers/openai-codex-session.d.ts +18 -0
- package/dist/agent/providers/openai-codex-session.d.ts.map +1 -0
- package/dist/agent/providers/openai-codex-session.js +53 -0
- package/dist/agent/providers/openai-codex-session.js.map +1 -0
- package/dist/agent/providers/openai-responses-sdk.d.ts.map +1 -1
- package/dist/agent/providers/openai-responses-sdk.js +16 -6
- package/dist/agent/providers/openai-responses-sdk.js.map +1 -1
- package/dist/agent/providers/openai-shared.d.ts +12 -5
- package/dist/agent/providers/openai-shared.d.ts.map +1 -1
- package/dist/agent/providers/openai-shared.js +291 -2
- package/dist/agent/providers/openai-shared.js.map +1 -1
- package/dist/agent/providers/openai.d.ts +1 -1
- package/dist/agent/providers/openai.d.ts.map +1 -1
- package/dist/agent/providers/openai.js +48 -20
- package/dist/agent/providers/openai.js.map +1 -1
- package/dist/agent/providers/vertex.js +7 -0
- package/dist/agent/tracing.d.ts +16 -5
- package/dist/agent/tracing.d.ts.map +1 -1
- package/dist/agent/tracing.js +44 -2
- package/dist/agent/tracing.js.map +1 -1
- package/dist/agent/transport/create-provider-stream.d.ts.map +1 -1
- package/dist/agent/transport/create-provider-stream.js +9 -0
- package/dist/agent/transport/create-provider-stream.js.map +1 -1
- package/dist/agent/transport/tool-execution-bridge.d.ts +86 -0
- package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -0
- package/dist/agent/transport/tool-execution-bridge.js +665 -0
- package/dist/agent/transport/tool-execution-bridge.js.map +1 -0
- package/dist/agent/transport/tool-execution.d.ts +3 -0
- package/dist/agent/transport/tool-execution.d.ts.map +1 -1
- package/dist/agent/transport/tool-execution.js +16 -1
- package/dist/agent/transport/tool-execution.js.map +1 -1
- package/dist/agent/transport/tool-safety-pipeline.d.ts +7 -1
- package/dist/agent/transport/tool-safety-pipeline.d.ts.map +1 -1
- package/dist/agent/transport/tool-safety-pipeline.js +207 -40
- package/dist/agent/transport/tool-safety-pipeline.js.map +1 -1
- package/dist/agent/transport/tool-update-queue.d.ts +2 -0
- package/dist/agent/transport/tool-update-queue.d.ts.map +1 -1
- package/dist/agent/transport/tool-update-queue.js.map +1 -1
- package/dist/agent/transport.d.ts +3 -0
- package/dist/agent/transport.d.ts.map +1 -1
- package/dist/agent/transport.js +96 -16
- package/dist/agent/transport.js.map +1 -1
- package/dist/agent/types.d.ts +50 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/approvals/platform-action-approval.d.ts +32 -0
- package/dist/approvals/platform-action-approval.d.ts.map +1 -0
- package/dist/approvals/platform-action-approval.js +210 -0
- package/dist/approvals/platform-action-approval.js.map +1 -0
- package/dist/approvals/service-client.d.ts +56 -0
- package/dist/approvals/service-client.d.ts.map +1 -0
- package/dist/approvals/service-client.js +316 -0
- package/dist/approvals/service-client.js.map +1 -0
- package/dist/audit/logger.d.ts +4 -4
- package/dist/bootstrap/auth-setup.d.ts +2 -2
- package/dist/bootstrap/auth-setup.d.ts.map +1 -1
- package/dist/bootstrap/auth-setup.js +4 -7
- package/dist/bootstrap/auth-setup.js.map +1 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +29 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/codex.d.ts +2 -0
- package/dist/cli/commands/codex.d.ts.map +1 -0
- package/dist/cli/commands/codex.js +65 -0
- package/dist/cli/commands/codex.js.map +1 -0
- package/dist/cli/commands/config.js +1 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/evalops.d.ts +2 -0
- package/dist/cli/commands/evalops.d.ts.map +1 -0
- package/dist/cli/commands/evalops.js +74 -0
- package/dist/cli/commands/evalops.js.map +1 -0
- package/dist/cli/commands/hosted-runner.d.ts +23 -0
- package/dist/cli/commands/hosted-runner.d.ts.map +1 -0
- package/dist/cli/commands/hosted-runner.js +241 -0
- package/dist/cli/commands/hosted-runner.js.map +1 -0
- package/dist/cli/commands/init.d.ts +4 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +140 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/memory.d.ts.map +1 -1
- package/dist/cli/commands/memory.js +23 -30
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/cli/commands/remote.d.ts +3 -0
- package/dist/cli/commands/remote.d.ts.map +1 -0
- package/dist/cli/commands/remote.js +631 -0
- package/dist/cli/commands/remote.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +7 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +167 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/headless-protocol.d.ts +16 -1
- package/dist/cli/headless-protocol.d.ts.map +1 -1
- package/dist/cli/headless-protocol.js +60 -4
- package/dist/cli/headless-protocol.js.map +1 -1
- package/dist/cli/headless.d.ts.map +1 -1
- package/dist/cli/headless.js +1 -0
- package/dist/cli/headless.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +44 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/jsonl-writer.d.ts.map +1 -1
- package/dist/cli/jsonl-writer.js +19 -6
- package/dist/cli/jsonl-writer.js.map +1 -1
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +1 -1
- package/dist/cli-tui/client-tools/client-tool-controller.js +17 -1
- package/dist/cli-tui/client-tools/client-tool-controller.js.map +1 -1
- package/dist/cli-tui/commands/access-command.js +1 -1
- package/dist/cli-tui/commands/access-command.js.map +1 -1
- package/dist/cli-tui/commands/audit-command.js +1 -1
- package/dist/cli-tui/commands/audit-command.js.map +1 -1
- package/dist/cli-tui/commands/command-catalog.d.ts +29 -0
- package/dist/cli-tui/commands/command-catalog.d.ts.map +1 -0
- package/dist/cli-tui/commands/command-catalog.js +645 -0
- package/dist/cli-tui/commands/command-catalog.js.map +1 -0
- package/dist/cli-tui/commands/command-registry-adapter.d.ts +12 -0
- package/dist/cli-tui/commands/command-registry-adapter.d.ts.map +1 -0
- package/dist/cli-tui/commands/command-registry-adapter.js +120 -0
- package/dist/cli-tui/commands/command-registry-adapter.js.map +1 -0
- package/dist/cli-tui/commands/command-suite-catalog.d.ts +14 -0
- package/dist/cli-tui/commands/command-suite-catalog.d.ts.map +1 -0
- package/dist/cli-tui/commands/command-suite-catalog.js +147 -0
- package/dist/cli-tui/commands/command-suite-catalog.js.map +1 -0
- package/dist/cli-tui/commands/{grouped-command-handlers.d.ts → command-suite-handlers.d.ts} +27 -26
- package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +1 -0
- package/dist/cli-tui/commands/command-suite-handlers.js +110 -0
- package/dist/cli-tui/commands/command-suite-handlers.js.map +1 -0
- package/dist/cli-tui/commands/hotkeys-command.d.ts +1 -1
- package/dist/cli-tui/commands/hotkeys-command.d.ts.map +1 -1
- package/dist/cli-tui/commands/hotkeys-command.js +2 -2
- package/dist/cli-tui/commands/hotkeys-command.js.map +1 -1
- package/dist/cli-tui/commands/limits-command.js +1 -1
- package/dist/cli-tui/commands/limits-command.js.map +1 -1
- package/dist/cli-tui/commands/pii-command.js +1 -1
- package/dist/cli-tui/commands/pii-command.js.map +1 -1
- package/dist/cli-tui/commands/registry.d.ts +1 -1
- package/dist/cli-tui/commands/registry.d.ts.map +1 -1
- package/dist/cli-tui/commands/registry.js +29 -921
- package/dist/cli-tui/commands/registry.js.map +1 -1
- package/dist/cli-tui/commands/{grouped → subcommands}/auth-commands.d.ts +2 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/auth-commands.js +22 -6
- package/dist/cli-tui/commands/subcommands/auth-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/config-commands.d.ts +0 -1
- package/dist/cli-tui/commands/subcommands/config-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/config-commands.js +2 -2
- package/dist/cli-tui/commands/subcommands/config-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/diag-commands.d.ts +1 -2
- package/dist/cli-tui/commands/subcommands/diag-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/diag-commands.js +5 -7
- package/dist/cli-tui/commands/subcommands/diag-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/git-commands.d.ts +0 -2
- package/dist/cli-tui/commands/subcommands/git-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/git-commands.js +2 -2
- package/dist/cli-tui/commands/subcommands/git-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/index.d.ts +2 -2
- package/dist/cli-tui/commands/subcommands/index.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/index.js +2 -2
- package/dist/cli-tui/commands/subcommands/index.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/safety-commands.d.ts +0 -1
- package/dist/cli-tui/commands/subcommands/safety-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/safety-commands.js +12 -12
- package/dist/cli-tui/commands/subcommands/safety-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/session-commands.d.ts +1 -2
- package/dist/cli-tui/commands/subcommands/session-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/session-commands.js +3 -3
- package/dist/cli-tui/commands/subcommands/session-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/tools-commands.d.ts +0 -1
- package/dist/cli-tui/commands/subcommands/tools-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/tools-commands.js +2 -2
- package/dist/cli-tui/commands/subcommands/tools-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/ui-commands.d.ts +0 -1
- package/dist/cli-tui/commands/subcommands/ui-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/ui-commands.js +5 -5
- package/dist/cli-tui/commands/subcommands/ui-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/undo-commands.d.ts +1 -2
- package/dist/cli-tui/commands/subcommands/undo-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/undo-commands.js +6 -6
- package/dist/cli-tui/commands/subcommands/undo-commands.js.map +1 -0
- package/dist/cli-tui/commands/subcommands/usage-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/usage-commands.js +2 -2
- package/dist/cli-tui/commands/subcommands/usage-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/utils.d.ts +15 -15
- package/dist/cli-tui/commands/subcommands/utils.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/utils.js +13 -8
- package/dist/cli-tui/commands/subcommands/utils.js.map +1 -0
- package/dist/cli-tui/commands/types.d.ts +3 -3
- package/dist/cli-tui/commands/types.d.ts.map +1 -1
- package/dist/cli-tui/commands/types.js.map +1 -1
- package/dist/cli-tui/editor-view.d.ts +1 -1
- package/dist/cli-tui/editor-view.d.ts.map +1 -1
- package/dist/cli-tui/editor-view.js +1 -1
- package/dist/cli-tui/editor-view.js.map +1 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.d.ts +4 -0
- package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +1 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.js +76 -5
- package/dist/cli-tui/oauth/oauth-flow-controller.js.map +1 -1
- package/dist/cli-tui/run/run-controller.d.ts +2 -2
- package/dist/cli-tui/run/run-controller.d.ts.map +1 -1
- package/dist/cli-tui/run/run-controller.js +3 -2
- package/dist/cli-tui/run/run-controller.js.map +1 -1
- package/dist/cli-tui/run/run-shell-command.d.ts.map +1 -1
- package/dist/cli-tui/run/run-shell-command.js +11 -3
- package/dist/cli-tui/run/run-shell-command.js.map +1 -1
- package/dist/cli-tui/run/streaming-shell-command.d.ts.map +1 -1
- package/dist/cli-tui/run/streaming-shell-command.js +11 -3
- package/dist/cli-tui/run/streaming-shell-command.js.map +1 -1
- package/dist/cli-tui/selectors/model-selector.d.ts.map +1 -1
- package/dist/cli-tui/selectors/model-selector.js +1 -0
- package/dist/cli-tui/selectors/model-selector.js.map +1 -1
- package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts +8 -0
- package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/agent-event-bridge.js +23 -2
- package/dist/cli-tui/tui-renderer/agent-event-bridge.js.map +1 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts +3 -3
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.js +12 -2
- package/dist/cli-tui/tui-renderer/command-registry-options.js.map +1 -1
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +32 -0
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +1 -0
- package/dist/cli-tui/tui-renderer/command-suite-wiring.js +108 -0
- package/dist/cli-tui/tui-renderer/command-suite-wiring.js.map +1 -0
- package/dist/cli-tui/tui-renderer/input-controller.d.ts +2 -2
- package/dist/cli-tui/tui-renderer/input-controller.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/input-controller.js +2 -2
- package/dist/cli-tui/tui-renderer/input-controller.js.map +1 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +1 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.js +1 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +1 -1
- package/dist/cli-tui/tui-renderer.d.ts +1 -3
- package/dist/cli-tui/tui-renderer.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer.js +37 -83
- package/dist/cli-tui/tui-renderer.js.map +1 -1
- package/dist/cli-tui/utils/runtime-badges.d.ts +8 -0
- package/dist/cli-tui/utils/runtime-badges.d.ts.map +1 -1
- package/dist/cli-tui/utils/runtime-badges.js +58 -0
- package/dist/cli-tui/utils/runtime-badges.js.map +1 -1
- package/dist/cli.js +42555 -23133
- package/dist/cli.js.map +1 -1
- package/dist/config/env-vars.d.ts +4 -0
- package/dist/config/env-vars.d.ts.map +1 -1
- package/dist/config/env-vars.js +4 -0
- package/dist/config/env-vars.js.map +1 -1
- package/dist/config/feature-flags.d.ts +44 -0
- package/dist/config/feature-flags.d.ts.map +1 -1
- package/dist/config/feature-flags.js +214 -0
- package/dist/config/feature-flags.js.map +1 -1
- package/dist/connectors/service-client.d.ts +98 -0
- package/dist/connectors/service-client.d.ts.map +1 -0
- package/dist/connectors/service-client.js +459 -0
- package/dist/connectors/service-client.js.map +1 -0
- package/dist/conversation/render-model.d.ts.map +1 -1
- package/dist/conversation/render-model.js +53 -3
- package/dist/conversation/render-model.js.map +1 -1
- package/dist/db/health.d.ts +8 -0
- package/dist/db/health.d.ts.map +1 -0
- package/dist/db/health.js +64 -0
- package/dist/db/health.js.map +1 -0
- package/dist/db/migrate.d.ts +301 -0
- package/dist/db/migrate.d.ts.map +1 -1
- package/dist/db/migrate.js +186 -0
- package/dist/db/migrate.js.map +1 -1
- package/dist/db/migrations/0000_initial.sql +308 -0
- package/dist/db/migrations/0001_shared_sessions.sql +18 -0
- package/dist/db/migrations/0002_usage_metrics.sql +28 -0
- package/dist/db/migrations/0003_execution_traces.sql +18 -0
- package/dist/db/migrations/0004_workspace_config.sql +11 -0
- package/dist/db/migrations/0005_revenue_attribution.sql +31 -0
- package/dist/db/migrations/0006_hosted_session_storage.sql +51 -0
- package/dist/db/migrations/0007_reconcile_legacy_audit_hash_cache.sql +24 -0
- package/dist/db/migrations/0008_reconcile_legacy_webhook_deliveries.sql +290 -0
- package/dist/db/migrations/meta/0000_snapshot.json +2438 -0
- package/dist/db/migrations/meta/_journal.json +69 -0
- package/dist/db/schema.d.ts +2232 -844
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +187 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/evalops/agent-bootstrap.d.ts +73 -0
- package/dist/evalops/agent-bootstrap.d.ts.map +1 -0
- package/dist/evalops/agent-bootstrap.js +380 -0
- package/dist/evalops/agent-bootstrap.js.map +1 -0
- package/dist/export-html.d.ts.map +1 -1
- package/dist/export-html.js +7 -4
- package/dist/export-html.js.map +1 -1
- package/dist/headless/utility-command-manager.d.ts +2 -1
- package/dist/headless/utility-command-manager.d.ts.map +1 -1
- package/dist/headless/utility-command-manager.js +12 -6
- package/dist/headless/utility-command-manager.js.map +1 -1
- package/dist/headless/utility-file-read.d.ts +1 -0
- package/dist/headless/utility-file-read.d.ts.map +1 -1
- package/dist/headless/utility-file-read.js +5 -1
- package/dist/headless/utility-file-read.js.map +1 -1
- package/dist/headless/utility-file-search.d.ts +1 -0
- package/dist/headless/utility-file-search.d.ts.map +1 -1
- package/dist/headless/utility-file-search.js +4 -1
- package/dist/headless/utility-file-search.js.map +1 -1
- package/dist/headless/utility-file-watch-manager.d.ts +2 -1
- package/dist/headless/utility-file-watch-manager.d.ts.map +1 -1
- package/dist/headless/utility-file-watch-manager.js +6 -2
- package/dist/headless/utility-file-watch-manager.js.map +1 -1
- package/dist/headless/workspace-root.d.ts +8 -0
- package/dist/headless/workspace-root.d.ts.map +1 -0
- package/dist/headless/workspace-root.js +74 -0
- package/dist/headless/workspace-root.js.map +1 -0
- package/dist/hooks/notification-hooks.d.ts +5 -0
- package/dist/hooks/notification-hooks.d.ts.map +1 -1
- package/dist/hooks/notification-hooks.js +4 -0
- package/dist/hooks/notification-hooks.js.map +1 -1
- package/dist/lsp/diagnostic-deltas.d.ts +20 -0
- package/dist/lsp/diagnostic-deltas.d.ts.map +1 -0
- package/dist/lsp/diagnostic-deltas.js +92 -0
- package/dist/lsp/diagnostic-deltas.js.map +1 -0
- package/dist/lsp/diagnostic-repair.d.ts +48 -0
- package/dist/lsp/diagnostic-repair.d.ts.map +1 -0
- package/dist/lsp/diagnostic-repair.js +143 -0
- package/dist/lsp/diagnostic-repair.js.map +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +127 -37
- package/dist/main.js.map +1 -1
- package/dist/mcp/config.d.ts +4 -2
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +58 -14
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/manager.d.ts +1 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +1 -0
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/platform-plugin.d.ts +3 -0
- package/dist/mcp/platform-plugin.d.ts.map +1 -0
- package/dist/mcp/platform-plugin.js +117 -0
- package/dist/mcp/platform-plugin.js.map +1 -0
- package/dist/mcp/tool-bridge.d.ts +15 -0
- package/dist/mcp/tool-bridge.d.ts.map +1 -1
- package/dist/mcp/tool-bridge.js +194 -6
- package/dist/mcp/tool-bridge.js.map +1 -1
- package/dist/memory/platform-memory-client.d.ts +130 -0
- package/dist/memory/platform-memory-client.d.ts.map +1 -0
- package/dist/memory/platform-memory-client.js +330 -0
- package/dist/memory/platform-memory-client.js.map +1 -0
- package/dist/memory/service-client.d.ts.map +1 -1
- package/dist/memory/service-client.js +1 -2
- package/dist/memory/service-client.js.map +1 -1
- package/dist/models/builtin.d.ts.map +1 -1
- package/dist/models/builtin.js +137 -0
- package/dist/models/builtin.js.map +1 -1
- package/dist/models/config-loader.d.ts +10 -10
- package/dist/models/config-loader.d.ts.map +1 -1
- package/dist/models/config-loader.js +1 -0
- package/dist/models/config-loader.js.map +1 -1
- package/dist/models/registry.d.ts +1 -0
- package/dist/models/registry.d.ts.map +1 -1
- package/dist/models/registry.js +1 -0
- package/dist/models/registry.js.map +1 -1
- package/dist/oauth/connectors.d.ts +25 -0
- package/dist/oauth/connectors.d.ts.map +1 -0
- package/dist/oauth/connectors.js +253 -0
- package/dist/oauth/connectors.js.map +1 -0
- package/dist/oauth/device-identity.d.ts +18 -0
- package/dist/oauth/device-identity.d.ts.map +1 -0
- package/dist/oauth/device-identity.js +193 -0
- package/dist/oauth/device-identity.js.map +1 -0
- package/dist/oauth/evalops.d.ts.map +1 -1
- package/dist/oauth/evalops.js +74 -15
- package/dist/oauth/evalops.js.map +1 -1
- package/dist/oauth/index.d.ts +1 -1
- package/dist/oauth/index.d.ts.map +1 -1
- package/dist/oauth/index.js +31 -1
- package/dist/oauth/index.js.map +1 -1
- package/dist/oauth/openai-codex.d.ts +16 -0
- package/dist/oauth/openai-codex.d.ts.map +1 -0
- package/dist/oauth/openai-codex.js +300 -0
- package/dist/oauth/openai-codex.js.map +1 -0
- package/dist/opentelemetry.d.ts.map +1 -1
- package/dist/opentelemetry.js +9 -2
- package/dist/opentelemetry.js.map +1 -1
- package/dist/platform/agent-runtime-client.d.ts +279 -0
- package/dist/platform/agent-runtime-client.d.ts.map +1 -0
- package/dist/platform/agent-runtime-client.js +515 -0
- package/dist/platform/agent-runtime-client.js.map +1 -0
- package/dist/platform/cerebro-facts-client.d.ts +56 -0
- package/dist/platform/cerebro-facts-client.d.ts.map +1 -0
- package/dist/platform/cerebro-facts-client.js +297 -0
- package/dist/platform/cerebro-facts-client.js.map +1 -0
- package/dist/platform/client.d.ts +2 -1
- package/dist/platform/client.d.ts.map +1 -1
- package/dist/platform/client.js +9 -26
- package/dist/platform/client.js.map +1 -1
- package/dist/platform/core-services.d.ts +128 -0
- package/dist/platform/core-services.d.ts.map +1 -1
- package/dist/platform/core-services.js +128 -0
- package/dist/platform/core-services.js.map +1 -1
- package/dist/platform/maestro-timeline-client.d.ts +22 -0
- package/dist/platform/maestro-timeline-client.d.ts.map +1 -0
- package/dist/platform/maestro-timeline-client.js +373 -0
- package/dist/platform/maestro-timeline-client.js.map +1 -0
- package/dist/platform/tool-execution-client.d.ts +104 -0
- package/dist/platform/tool-execution-client.d.ts.map +1 -0
- package/dist/platform/tool-execution-client.js +284 -0
- package/dist/platform/tool-execution-client.js.map +1 -0
- package/dist/prompts/service-client.d.ts.map +1 -1
- package/dist/prompts/service-client.js +5 -2
- package/dist/prompts/service-client.js.map +1 -1
- package/dist/providers/anthropic-auth.d.ts.map +1 -1
- package/dist/providers/anthropic-auth.js +8 -6
- package/dist/providers/anthropic-auth.js.map +1 -1
- package/dist/providers/api-keys.d.ts +1 -0
- package/dist/providers/api-keys.d.ts.map +1 -1
- package/dist/providers/api-keys.js +5 -0
- package/dist/providers/api-keys.js.map +1 -1
- package/dist/providers/auth.d.ts +2 -1
- package/dist/providers/auth.d.ts.map +1 -1
- package/dist/providers/auth.js +26 -3
- package/dist/providers/auth.js.map +1 -1
- package/dist/remote-runner/attach-client.d.ts +41 -0
- package/dist/remote-runner/attach-client.d.ts.map +1 -0
- package/dist/remote-runner/attach-client.js +692 -0
- package/dist/remote-runner/attach-client.js.map +1 -0
- package/dist/remote-runner/client.d.ts +205 -0
- package/dist/remote-runner/client.d.ts.map +1 -0
- package/dist/remote-runner/client.js +633 -0
- package/dist/remote-runner/client.js.map +1 -0
- package/dist/safety/action-firewall.d.ts +6 -1
- package/dist/safety/action-firewall.d.ts.map +1 -1
- package/dist/safety/action-firewall.js +62 -26
- package/dist/safety/action-firewall.js.map +1 -1
- package/dist/safety/governance-service-client.d.ts +36 -0
- package/dist/safety/governance-service-client.d.ts.map +1 -0
- package/dist/safety/governance-service-client.js +279 -0
- package/dist/safety/governance-service-client.js.map +1 -0
- package/dist/safety/policy.d.ts +13 -2
- package/dist/safety/policy.d.ts.map +1 -1
- package/dist/safety/policy.js +474 -52
- package/dist/safety/policy.js.map +1 -1
- package/dist/sdk-tools.d.ts +21 -0
- package/dist/sdk-tools.d.ts.map +1 -1
- package/dist/sdk-tools.js +16 -0
- package/dist/sdk-tools.js.map +1 -1
- package/dist/server/app-context.d.ts +25 -0
- package/dist/server/app-context.d.ts.map +1 -1
- package/dist/server/app-context.js.map +1 -1
- package/dist/server/approval-service.d.ts +7 -8
- package/dist/server/approval-service.d.ts.map +1 -1
- package/dist/server/approval-service.js +12 -24
- package/dist/server/approval-service.js.map +1 -1
- package/dist/server/authz.d.ts +23 -2
- package/dist/server/authz.d.ts.map +1 -1
- package/dist/server/authz.js +153 -17
- package/dist/server/authz.js.map +1 -1
- package/dist/server/handlers/approvals.d.ts.map +1 -1
- package/dist/server/handlers/approvals.js +3 -10
- package/dist/server/handlers/approvals.js.map +1 -1
- package/dist/server/handlers/branch.d.ts.map +1 -1
- package/dist/server/handlers/branch.js +29 -20
- package/dist/server/handlers/branch.js.map +1 -1
- package/dist/server/handlers/bridge.d.ts.map +1 -1
- package/dist/server/handlers/bridge.js +3 -2
- package/dist/server/handlers/bridge.js.map +1 -1
- package/dist/server/handlers/chat-ws.d.ts.map +1 -1
- package/dist/server/handlers/chat-ws.js +23 -31
- 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 +105 -46
- package/dist/server/handlers/chat.js.map +1 -1
- package/dist/server/handlers/compliance.d.ts +3 -0
- package/dist/server/handlers/compliance.d.ts.map +1 -0
- package/dist/server/handlers/compliance.js +53 -0
- package/dist/server/handlers/compliance.js.map +1 -0
- package/dist/server/handlers/context.d.ts.map +1 -1
- package/dist/server/handlers/context.js +3 -8
- package/dist/server/handlers/context.js.map +1 -1
- package/dist/server/handlers/fleet.d.ts +4 -0
- package/dist/server/handlers/fleet.d.ts.map +1 -0
- package/dist/server/handlers/fleet.js +9 -0
- package/dist/server/handlers/fleet.js.map +1 -0
- package/dist/server/handlers/headless-sessions.d.ts +4 -0
- package/dist/server/handlers/headless-sessions.d.ts.map +1 -1
- package/dist/server/handlers/headless-sessions.js +168 -3
- package/dist/server/handlers/headless-sessions.js.map +1 -1
- package/dist/server/handlers/health.d.ts +31 -2
- package/dist/server/handlers/health.d.ts.map +1 -1
- package/dist/server/handlers/health.js +82 -8
- package/dist/server/handlers/health.js.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.d.ts +128 -0
- package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -0
- package/dist/server/handlers/hosted-runner-drain.js +373 -0
- package/dist/server/handlers/hosted-runner-drain.js.map +1 -0
- package/dist/server/handlers/hosted-runner-identity.d.ts +17 -0
- package/dist/server/handlers/hosted-runner-identity.d.ts.map +1 -0
- package/dist/server/handlers/hosted-runner-identity.js +39 -0
- package/dist/server/handlers/hosted-runner-identity.js.map +1 -0
- package/dist/server/handlers/intelligent-router.d.ts +3 -0
- package/dist/server/handlers/intelligent-router.d.ts.map +1 -0
- package/dist/server/handlers/intelligent-router.js +141 -0
- package/dist/server/handlers/intelligent-router.js.map +1 -0
- package/dist/server/handlers/models.d.ts.map +1 -1
- package/dist/server/handlers/models.js +14 -0
- package/dist/server/handlers/models.js.map +1 -1
- package/dist/server/handlers/pending-requests.d.ts +8 -0
- package/dist/server/handlers/pending-requests.d.ts.map +1 -0
- package/dist/server/handlers/pending-requests.js +149 -0
- package/dist/server/handlers/pending-requests.js.map +1 -0
- package/dist/server/handlers/revenue-attribution.d.ts +3 -0
- package/dist/server/handlers/revenue-attribution.d.ts.map +1 -0
- package/dist/server/handlers/revenue-attribution.js +45 -0
- package/dist/server/handlers/revenue-attribution.js.map +1 -0
- package/dist/server/handlers/runtime-app-server-ws.d.ts +10 -0
- package/dist/server/handlers/runtime-app-server-ws.d.ts.map +1 -0
- package/dist/server/handlers/runtime-app-server-ws.js +206 -0
- package/dist/server/handlers/runtime-app-server-ws.js.map +1 -0
- package/dist/server/handlers/session-artifacts.js +2 -2
- package/dist/server/handlers/session-artifacts.js.map +1 -1
- package/dist/server/handlers/session-attachments.js +3 -3
- package/dist/server/handlers/session-attachments.js.map +1 -1
- package/dist/server/handlers/session-timeline.d.ts +11 -0
- package/dist/server/handlers/session-timeline.d.ts.map +1 -0
- package/dist/server/handlers/session-timeline.js +77 -0
- package/dist/server/handlers/session-timeline.js.map +1 -0
- package/dist/server/handlers/sessions.d.ts +11 -0
- package/dist/server/handlers/sessions.d.ts.map +1 -1
- package/dist/server/handlers/sessions.js +68 -100
- package/dist/server/handlers/sessions.js.map +1 -1
- package/dist/server/handlers/traces.d.ts +3 -0
- package/dist/server/handlers/traces.d.ts.map +1 -0
- package/dist/server/handlers/traces.js +60 -0
- package/dist/server/handlers/traces.js.map +1 -0
- package/dist/server/handlers/usage-analytics.d.ts +3 -0
- package/dist/server/handlers/usage-analytics.d.ts.map +1 -0
- package/dist/server/handlers/usage-analytics.js +40 -0
- package/dist/server/handlers/usage-analytics.js.map +1 -0
- package/dist/server/handlers/workspace-config.d.ts +3 -0
- package/dist/server/handlers/workspace-config.d.ts.map +1 -0
- package/dist/server/handlers/workspace-config.js +62 -0
- package/dist/server/handlers/workspace-config.js.map +1 -0
- package/dist/server/headless-in-process-host.d.ts +8 -1
- package/dist/server/headless-in-process-host.d.ts.map +1 -1
- package/dist/server/headless-in-process-host.js +6 -0
- package/dist/server/headless-in-process-host.js.map +1 -1
- package/dist/server/headless-runtime-service.d.ts +99 -1
- package/dist/server/headless-runtime-service.d.ts.map +1 -1
- package/dist/server/headless-runtime-service.js +286 -23
- package/dist/server/headless-runtime-service.js.map +1 -1
- package/dist/server/hosted-session-manager.d.ts +103 -0
- package/dist/server/hosted-session-manager.d.ts.map +1 -0
- package/dist/server/hosted-session-manager.js +629 -0
- package/dist/server/hosted-session-manager.js.map +1 -0
- package/dist/server/pending-request-payload.d.ts +4 -0
- package/dist/server/pending-request-payload.d.ts.map +1 -0
- package/dist/server/pending-request-payload.js +107 -0
- package/dist/server/pending-request-payload.js.map +1 -0
- package/dist/server/request-context.d.ts +4 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js +9 -0
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +149 -1
- package/dist/server/routes.js.map +1 -1
- package/dist/server/runtime-ws-access.d.ts +16 -0
- package/dist/server/runtime-ws-access.d.ts.map +1 -0
- package/dist/server/runtime-ws-access.js +21 -0
- package/dist/server/runtime-ws-access.js.map +1 -0
- package/dist/server/server-middlewares.d.ts +1 -1
- package/dist/server/server-middlewares.d.ts.map +1 -1
- package/dist/server/server-middlewares.js +35 -27
- package/dist/server/server-middlewares.js.map +1 -1
- package/dist/server/server-request-manager.d.ts +8 -27
- package/dist/server/server-request-manager.d.ts.map +1 -1
- package/dist/server/server-request-manager.js +7 -0
- package/dist/server/server-request-manager.js.map +1 -1
- package/dist/server/server-utils.d.ts +2 -1
- package/dist/server/server-utils.d.ts.map +1 -1
- package/dist/server/server-utils.js +11 -1
- package/dist/server/server-utils.js.map +1 -1
- package/dist/server/session-event-env.d.ts +2 -0
- package/dist/server/session-event-env.d.ts.map +1 -0
- package/dist/server/session-event-env.js +8 -0
- package/dist/server/session-event-env.js.map +1 -0
- package/dist/server/session-initialization.d.ts +25 -4
- package/dist/server/session-initialization.d.ts.map +1 -1
- package/dist/server/session-initialization.js +22 -5
- package/dist/server/session-initialization.js.map +1 -1
- package/dist/server/session-scope.d.ts +4 -0
- package/dist/server/session-scope.d.ts.map +1 -1
- package/dist/server/session-scope.js +44 -4
- package/dist/server/session-scope.js.map +1 -1
- package/dist/server/session-timeline.d.ts +13 -0
- package/dist/server/session-timeline.d.ts.map +1 -0
- package/dist/server/session-timeline.js +566 -0
- package/dist/server/session-timeline.js.map +1 -0
- package/dist/services/compliance/controls.d.ts +6 -0
- package/dist/services/compliance/controls.d.ts.map +1 -0
- package/dist/services/compliance/controls.js +113 -0
- package/dist/services/compliance/controls.js.map +1 -0
- package/dist/services/compliance/index.d.ts +6 -0
- package/dist/services/compliance/index.d.ts.map +1 -0
- package/dist/services/compliance/index.js +5 -0
- package/dist/services/compliance/index.js.map +1 -0
- package/dist/services/compliance/normalize.d.ts +23 -0
- package/dist/services/compliance/normalize.d.ts.map +1 -0
- package/dist/services/compliance/normalize.js +226 -0
- package/dist/services/compliance/normalize.js.map +1 -0
- package/dist/services/compliance/recorder.d.ts +22 -0
- package/dist/services/compliance/recorder.d.ts.map +1 -0
- package/dist/services/compliance/recorder.js +89 -0
- package/dist/services/compliance/recorder.js.map +1 -0
- package/dist/services/compliance/service.d.ts +24 -0
- package/dist/services/compliance/service.d.ts.map +1 -0
- package/dist/services/compliance/service.js +426 -0
- package/dist/services/compliance/service.js.map +1 -0
- package/dist/services/compliance/types.d.ts +185 -0
- package/dist/services/compliance/types.d.ts.map +1 -0
- package/dist/services/compliance/types.js +2 -0
- package/dist/services/compliance/types.js.map +1 -0
- package/dist/services/intelligent-router/index.d.ts +5 -0
- package/dist/services/intelligent-router/index.d.ts.map +1 -0
- package/dist/services/intelligent-router/index.js +5 -0
- package/dist/services/intelligent-router/index.js.map +1 -0
- package/dist/services/intelligent-router/normalize.d.ts +9 -0
- package/dist/services/intelligent-router/normalize.d.ts.map +1 -0
- package/dist/services/intelligent-router/normalize.js +169 -0
- package/dist/services/intelligent-router/normalize.js.map +1 -0
- package/dist/services/intelligent-router/recorder.d.ts +24 -0
- package/dist/services/intelligent-router/recorder.d.ts.map +1 -0
- package/dist/services/intelligent-router/recorder.js +98 -0
- package/dist/services/intelligent-router/recorder.js.map +1 -0
- package/dist/services/intelligent-router/service.d.ts +22 -0
- package/dist/services/intelligent-router/service.d.ts.map +1 -0
- package/dist/services/intelligent-router/service.js +328 -0
- package/dist/services/intelligent-router/service.js.map +1 -0
- package/dist/services/intelligent-router/types.d.ts +98 -0
- package/dist/services/intelligent-router/types.d.ts.map +1 -0
- package/dist/services/intelligent-router/types.js +7 -0
- package/dist/services/intelligent-router/types.js.map +1 -0
- package/dist/services/revenue-attribution/index.d.ts +4 -0
- package/dist/services/revenue-attribution/index.d.ts.map +1 -0
- package/dist/services/revenue-attribution/index.js +4 -0
- package/dist/services/revenue-attribution/index.js.map +1 -0
- package/dist/services/revenue-attribution/normalize.d.ts +13 -0
- package/dist/services/revenue-attribution/normalize.d.ts.map +1 -0
- package/dist/services/revenue-attribution/normalize.js +155 -0
- package/dist/services/revenue-attribution/normalize.js.map +1 -0
- package/dist/services/revenue-attribution/service.d.ts +21 -0
- package/dist/services/revenue-attribution/service.d.ts.map +1 -0
- package/dist/services/revenue-attribution/service.js +248 -0
- package/dist/services/revenue-attribution/service.js.map +1 -0
- package/dist/services/revenue-attribution/types.d.ts +96 -0
- package/dist/services/revenue-attribution/types.d.ts.map +1 -0
- package/dist/services/revenue-attribution/types.js +7 -0
- package/dist/services/revenue-attribution/types.js.map +1 -0
- package/dist/services/traces/index.d.ts +5 -0
- package/dist/services/traces/index.d.ts.map +1 -0
- package/dist/services/traces/index.js +4 -0
- package/dist/services/traces/index.js.map +1 -0
- package/dist/services/traces/normalize.d.ts +20 -0
- package/dist/services/traces/normalize.d.ts.map +1 -0
- package/dist/services/traces/normalize.js +261 -0
- package/dist/services/traces/normalize.js.map +1 -0
- package/dist/services/traces/otel.d.ts +3 -0
- package/dist/services/traces/otel.d.ts.map +1 -0
- package/dist/services/traces/otel.js +173 -0
- package/dist/services/traces/otel.js.map +1 -0
- package/dist/services/traces/service.d.ts +17 -0
- package/dist/services/traces/service.d.ts.map +1 -0
- package/dist/services/traces/service.js +197 -0
- package/dist/services/traces/service.js.map +1 -0
- package/dist/services/traces/types.d.ts +130 -0
- package/dist/services/traces/types.d.ts.map +1 -0
- package/dist/services/traces/types.js +8 -0
- package/dist/services/traces/types.js.map +1 -0
- package/dist/services/usage-analytics/aggregation.d.ts +18 -0
- package/dist/services/usage-analytics/aggregation.d.ts.map +1 -0
- package/dist/services/usage-analytics/aggregation.js +130 -0
- package/dist/services/usage-analytics/aggregation.js.map +1 -0
- package/dist/services/usage-analytics/index.d.ts +5 -0
- package/dist/services/usage-analytics/index.d.ts.map +1 -0
- package/dist/services/usage-analytics/index.js +4 -0
- package/dist/services/usage-analytics/index.js.map +1 -0
- package/dist/services/usage-analytics/recorder.d.ts +16 -0
- package/dist/services/usage-analytics/recorder.d.ts.map +1 -0
- package/dist/services/usage-analytics/recorder.js +128 -0
- package/dist/services/usage-analytics/recorder.js.map +1 -0
- package/dist/services/usage-analytics/service.d.ts +15 -0
- package/dist/services/usage-analytics/service.d.ts.map +1 -0
- package/dist/services/usage-analytics/service.js +210 -0
- package/dist/services/usage-analytics/service.js.map +1 -0
- package/dist/services/usage-analytics/types.d.ts +80 -0
- package/dist/services/usage-analytics/types.d.ts.map +1 -0
- package/dist/services/usage-analytics/types.js +2 -0
- package/dist/services/usage-analytics/types.js.map +1 -0
- package/dist/services/workspace-config/index.d.ts +6 -0
- package/dist/services/workspace-config/index.d.ts.map +1 -0
- package/dist/services/workspace-config/index.js +5 -0
- package/dist/services/workspace-config/index.js.map +1 -0
- package/dist/services/workspace-config/middleware.d.ts +5 -0
- package/dist/services/workspace-config/middleware.d.ts.map +1 -0
- package/dist/services/workspace-config/middleware.js +98 -0
- package/dist/services/workspace-config/middleware.js.map +1 -0
- package/dist/services/workspace-config/normalize.d.ts +17 -0
- package/dist/services/workspace-config/normalize.d.ts.map +1 -0
- package/dist/services/workspace-config/normalize.js +148 -0
- package/dist/services/workspace-config/normalize.js.map +1 -0
- package/dist/services/workspace-config/policy.d.ts +16 -0
- package/dist/services/workspace-config/policy.d.ts.map +1 -0
- package/dist/services/workspace-config/policy.js +77 -0
- package/dist/services/workspace-config/policy.js.map +1 -0
- package/dist/services/workspace-config/service.d.ts +20 -0
- package/dist/services/workspace-config/service.d.ts.map +1 -0
- package/dist/services/workspace-config/service.js +162 -0
- package/dist/services/workspace-config/service.js.map +1 -0
- package/dist/services/workspace-config/types.d.ts +71 -0
- package/dist/services/workspace-config/types.d.ts.map +1 -0
- package/dist/services/workspace-config/types.js +2 -0
- package/dist/services/workspace-config/types.js.map +1 -0
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +10 -0
- package/dist/session/manager.js.map +1 -1
- package/dist/session/migration.d.ts.map +1 -1
- package/dist/session/migration.js +2 -1
- package/dist/session/migration.js.map +1 -1
- package/dist/session/session-memory.d.ts.map +1 -1
- package/dist/session/session-memory.js +7 -1
- package/dist/session/session-memory.js.map +1 -1
- package/dist/session/types.d.ts +1 -2
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session/types.js +1 -22
- package/dist/session/types.js.map +1 -1
- package/dist/session/wire-format.d.ts +7 -0
- package/dist/session/wire-format.d.ts.map +1 -0
- package/dist/session/wire-format.generated.d.ts +95 -0
- package/dist/session/wire-format.generated.d.ts.map +1 -0
- package/dist/session/wire-format.generated.js +111 -0
- package/dist/session/wire-format.generated.js.map +1 -0
- package/dist/session/wire-format.js +145 -0
- package/dist/session/wire-format.js.map +1 -0
- package/dist/shared-memory/client.d.ts.map +1 -1
- package/dist/shared-memory/client.js +22 -22
- package/dist/shared-memory/client.js.map +1 -1
- package/dist/skills/artifact-metadata.d.ts +16 -0
- package/dist/skills/artifact-metadata.d.ts.map +1 -0
- package/dist/skills/artifact-metadata.js +86 -0
- package/dist/skills/artifact-metadata.js.map +1 -0
- package/dist/skills/loader.d.ts +2 -2
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +1 -0
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/service-client.d.ts +42 -0
- package/dist/skills/service-client.d.ts.map +1 -0
- package/dist/skills/service-client.js +258 -0
- package/dist/skills/service-client.js.map +1 -0
- package/dist/skills/tool.d.ts +3 -0
- package/dist/skills/tool.d.ts.map +1 -1
- package/dist/skills/tool.js +67 -5
- package/dist/skills/tool.js.map +1 -1
- package/dist/telemetry/index.d.ts +4 -0
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +5 -0
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/maestro-event-bus.d.ts +440 -0
- package/dist/telemetry/maestro-event-bus.d.ts.map +1 -0
- package/dist/telemetry/maestro-event-bus.js +784 -0
- package/dist/telemetry/maestro-event-bus.js.map +1 -0
- package/dist/telemetry/maestro-event-catalog.d.ts +48 -0
- package/dist/telemetry/maestro-event-catalog.d.ts.map +1 -0
- package/dist/telemetry/maestro-event-catalog.js +69 -0
- package/dist/telemetry/maestro-event-catalog.js.map +1 -0
- package/dist/telemetry/maestro-platform-replay-fixture.d.ts +24 -0
- package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -0
- package/dist/telemetry/maestro-platform-replay-fixture.js +400 -0
- package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -0
- package/dist/telemetry/maestro-publisher-conformance-fixture.d.ts +29 -0
- package/dist/telemetry/maestro-publisher-conformance-fixture.d.ts.map +1 -0
- package/dist/telemetry/maestro-publisher-conformance-fixture.js +240 -0
- package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -0
- package/dist/telemetry/meter-service-client.d.ts +0 -33
- package/dist/telemetry/meter-service-client.d.ts.map +1 -1
- package/dist/telemetry/meter-service-client.js +22 -50
- package/dist/telemetry/meter-service-client.js.map +1 -1
- package/dist/telemetry/turn-tracker.d.ts.map +1 -1
- package/dist/telemetry/turn-tracker.js +5 -5
- package/dist/telemetry/turn-tracker.js.map +1 -1
- package/dist/telemetry/wide-events.d.ts +8 -0
- package/dist/telemetry/wide-events.d.ts.map +1 -1
- package/dist/telemetry/wide-events.js +28 -0
- package/dist/telemetry/wide-events.js.map +1 -1
- package/dist/telemetry.d.ts +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +14 -4
- package/dist/telemetry.js.map +1 -1
- package/dist/timeline/redaction.d.ts +5 -0
- package/dist/timeline/redaction.d.ts.map +1 -0
- package/dist/timeline/redaction.js +119 -0
- package/dist/timeline/redaction.js.map +1 -0
- package/dist/tools/ask-user.d.ts +26 -0
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +33 -1
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/background/task-types.d.ts +1 -1
- package/dist/tools/edit.d.ts +2 -0
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +27 -7
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/pipeline.d.ts.map +1 -1
- package/dist/tools/pipeline.js +16 -7
- package/dist/tools/pipeline.js.map +1 -1
- package/dist/tools/write.d.ts +2 -0
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +24 -6
- package/dist/tools/write.js.map +1 -1
- package/dist/tracking/cost-tracker.d.ts +15 -12
- package/dist/tracking/cost-tracker.d.ts.map +1 -1
- package/dist/tracking/cost-tracker.js +29 -40
- package/dist/tracking/cost-tracker.js.map +1 -1
- package/dist/utils/checkpoint-profiler.d.ts +29 -0
- package/dist/utils/checkpoint-profiler.d.ts.map +1 -0
- package/dist/utils/checkpoint-profiler.js +118 -0
- package/dist/utils/checkpoint-profiler.js.map +1 -0
- package/dist/utils/downstream-http.d.ts +21 -0
- package/dist/utils/downstream-http.d.ts.map +1 -0
- package/dist/utils/downstream-http.js +151 -0
- package/dist/utils/downstream-http.js.map +1 -0
- package/dist/utils/downstream.d.ts +18 -0
- package/dist/utils/downstream.d.ts.map +1 -0
- package/dist/utils/downstream.js +47 -0
- package/dist/utils/downstream.js.map +1 -0
- package/dist/utils/logger.d.ts +3 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +12 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/oauth-http.d.ts +8 -0
- package/dist/utils/oauth-http.d.ts.map +1 -0
- package/dist/utils/oauth-http.js +41 -0
- package/dist/utils/oauth-http.js.map +1 -0
- package/dist/utils/path-utils.d.ts +2 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +12 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/dist/utils/path-validation.d.ts +1 -1
- package/dist/utils/path-validation.d.ts.map +1 -1
- package/dist/utils/path-validation.js +3 -3
- package/dist/utils/path-validation.js.map +1 -1
- package/dist/version.json +2 -2
- package/dist/web-server.d.ts +7 -1
- package/dist/web-server.d.ts.map +1 -1
- package/dist/web-server.js +117 -15
- package/dist/web-server.js.map +1 -1
- package/dist/webhooks/delivery.d.ts.map +1 -1
- package/dist/webhooks/delivery.js +9 -12
- package/dist/webhooks/delivery.js.map +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/descriptors.d.ts +12 -5
- package/node_modules/@bufbuild/protobuf/dist/cjs/from-binary.js +7 -7
- package/node_modules/@bufbuild/protobuf/dist/cjs/from-json.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/from-json.js +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/path.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/registry.js +24 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/to-json.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/to-json.js +9 -10
- package/node_modules/@bufbuild/protobuf/dist/cjs/types.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/binary-encoding.d.ts +9 -7
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/binary-encoding.js +18 -8
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/text-encoding.d.ts +4 -2
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/text-encoding.js +8 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/api_pb.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +2 -2
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +37 -23
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +32 -36
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/go_features_pb.d.ts +65 -0
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/go_features_pb.js +38 -2
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +5 -5
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/type_pb.d.ts +3 -3
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/wrappers.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/wrappers.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.d.ts +12 -5
- package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js +7 -7
- package/node_modules/@bufbuild/protobuf/dist/esm/from-json.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/from-json.js +2 -2
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/registry.js +24 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/to-json.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/to-json.js +10 -11
- package/node_modules/@bufbuild/protobuf/dist/esm/types.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.d.ts +9 -7
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.js +18 -8
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.d.ts +4 -2
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.js +8 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +2 -2
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +37 -23
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +32 -36
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.d.ts +65 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.js +37 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +5 -5
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +3 -3
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.js +23 -0
- package/node_modules/@bufbuild/protobuf/package.json +1 -1
- package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts +305 -2
- package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.js +34 -4
- package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/index.d.ts +88 -0
- package/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/index.js +2 -0
- package/node_modules/@evalops/contracts/dist/index.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.d.ts +77 -77
- package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.js +1 -1
- package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/runtime-app-server.d.ts +182 -0
- package/node_modules/@evalops/contracts/dist/runtime-app-server.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/runtime-app-server.js +83 -0
- package/node_modules/@evalops/contracts/dist/runtime-app-server.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.d.ts +133 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.js +68 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/schemas.d.ts +178 -0
- package/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/schemas.js +165 -0
- package/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/typebox-utils.d.ts +2 -0
- package/node_modules/@evalops/contracts/dist/typebox-utils.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/typebox-utils.js +5 -0
- package/node_modules/@evalops/contracts/dist/typebox-utils.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/validators.d.ts +4 -1
- package/node_modules/@evalops/contracts/dist/validators.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/validators.js +4 -1
- package/node_modules/@evalops/contracts/dist/validators.js.map +1 -1
- package/node_modules/@evalops/contracts/package.json +1 -1
- package/node_modules/@evalops/tui/package.json +1 -1
- package/node_modules/string-width/index.js +93 -9
- package/node_modules/string-width/package.json +1 -1
- package/package.json +32 -25
- package/dist/cli-tui/commands/grouped/auth-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/auth-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/config-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/config-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/diag-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/diag-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/git-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/git-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/index.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/index.js.map +0 -1
- package/dist/cli-tui/commands/grouped/safety-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/safety-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/session-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/session-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/tools-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/tools-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/ui-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/ui-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/undo-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/undo-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/usage-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/usage-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/utils.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/utils.js.map +0 -1
- package/dist/cli-tui/commands/grouped-command-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped-command-handlers.js +0 -135
- package/dist/cli-tui/commands/grouped-command-handlers.js.map +0 -1
- package/dist/cli-tui/tui-renderer/grouped-handlers-wiring.d.ts +0 -78
- package/dist/cli-tui/tui-renderer/grouped-handlers-wiring.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/grouped-handlers-wiring.js +0 -129
- package/dist/cli-tui/tui-renderer/grouped-handlers-wiring.js.map +0 -1
- package/node_modules/@evalops/memory/dist/client.d.ts +0 -94
- package/node_modules/@evalops/memory/dist/client.js +0 -503
- package/node_modules/@evalops/memory/gen/proto/dist/memory/v1/memory_pb.d.ts +0 -608
- package/node_modules/@evalops/memory/gen/proto/dist/memory/v1/memory_pb.js +0 -187
- package/node_modules/@evalops/memory/package.json +0 -26
- /package/dist/cli-tui/commands/{grouped → subcommands}/usage-commands.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-execution-bridge.js","sourceRoot":"","sources":["../../../src/agent/transport/tool-execution-bridge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tMAESTRO_PLATFORM_RUNTIME_BRIDGE_KILL_SWITCH,\n\tisFeatureFlagEnabled,\n\tisPlatformRuntimeObserveEnabled,\n\tisPlatformToolExecutionBridgeEnabled,\n} from \"../../config/feature-flags.js\";\nimport {\n\ttype ExecutePlatformToolRequest,\n\ttype ExecutePlatformToolResponse,\n\ttype PlatformConnectorRef,\n\ttype PlatformToolExecutionRecord,\n\ttype PlatformToolRef,\n\ttype RecordPlatformToolExecutionOutputRequest,\n\ttype ResumePlatformToolExecutionRequest,\n\ttype ToolExecutionLinkage,\n\ttype ToolExecutionRiskLevel,\n\ttype ToolExecutionServiceConfig,\n\texecuteToolWithPlatform,\n\trecordToolExecutionOutputWithPlatform,\n\tresolveToolExecutionServiceConfig,\n\tresumeToolExecutionWithPlatform,\n} from \"../../platform/tool-execution-client.js\";\nimport { isReadOnlyTool } from \"../../tools/parallel-execution.js\";\nimport { createLogger } from \"../../utils/logger.js\";\nimport type {\n\tActionApprovalDecision,\n\tActionApprovalRequest,\n} from \"../action-approval.js\";\nimport type {\n\tAgentRunConfig,\n\tAgentTool,\n\tToolCall,\n\tToolResultMessage,\n} from \"../types.js\";\n\nconst logger = createLogger(\"transport:tool-execution-bridge\");\n\nconst OBSERVE_OUTPUT_SUMMARY_MAX_LENGTH = 280;\nconst METADATA_VALUE_MAX_LENGTH = 512;\nconst READ_ONLY_BASH_PREFIXES = [\n\t\"cat\",\n\t\"cd\",\n\t\"df\",\n\t\"du\",\n\t\"echo\",\n\t\"env\",\n\t\"find\",\n\t\"git diff\",\n\t\"git log\",\n\t\"git remote -v\",\n\t\"git rev-parse\",\n\t\"git show\",\n\t\"git status\",\n\t\"grep\",\n\t\"head\",\n\t\"ls\",\n\t\"pwd\",\n\t\"printenv\",\n\t\"ps\",\n\t\"rg\",\n\t\"sed -n\",\n\t\"tail\",\n\t\"which\",\n].map((value) => value.toLowerCase());\n\nconst BASH_MUTATION_MARKERS = [\n\t/\\bchmod\\b/u,\n\t/\\bchown\\b/u,\n\t/\\bcp\\b/u,\n\t/\\bgit\\s+(add|am|apply|branch|checkout|cherry-pick|clean|commit|merge|mv|pull|push|rebase|reset|restore|revert|rm|stash|switch|tag)\\b/u,\n\t/\\bmkdir\\b/u,\n\t/\\bmv\\b/u,\n\t/\\bnpm\\s+(install|publish|uninstall|update|version)\\b/u,\n\t/\\bpnpm\\s+(add|install|remove|update)\\b/u,\n\t/\\bpython\\b.*-c/u,\n\t/\\brm\\b/u,\n\t/\\bsed\\s+-i\\b/u,\n\t/\\btee\\b/u,\n\t/\\btouch\\b/u,\n\t/\\byarn\\s+(add|install|remove|upgrade)\\b/u,\n\t/\\bbun\\s+(add|install|remove|update)\\b/u,\n\t/\\bkubectl\\s+(apply|create|delete|patch|replace|scale)\\b/u,\n\t/\\bterraform\\s+(apply|destroy|import)\\b/u,\n\t/(^|[^<])>{1,2}/u,\n] as const;\n\nconst READ_ONLY_GIT_BRANCH_ARGS = new Set([\n\t\"--all\",\n\t\"--list\",\n\t\"--merged\",\n\t\"--no-contains\",\n\t\"--no-merged\",\n\t\"--points-at\",\n\t\"--remotes\",\n\t\"-a\",\n\t\"-l\",\n\t\"-r\",\n]);\n\nexport type PlatformBridgeMode = \"observe\" | \"governed\";\n\nexport interface ToolExecutionBridgeMetadata {\n\ttoolExecutionId?: string;\n\tapprovalRequestId?: string;\n}\n\nexport interface ObserveToolExecutionPlan {\n\tkind: \"observe\";\n\tmode: \"observe\";\n\tclassification: ToolExecutionClassification;\n\tconfig: ToolExecutionServiceConfig;\n\trequest: ExecutePlatformToolRequest;\n\tmetadata: ToolExecutionBridgeMetadata;\n}\n\nexport interface GovernedToolExecutionPlan {\n\tkind: \"governed\";\n\tmode: \"governed\";\n\tclassification: ToolExecutionClassification;\n\tconfig: ToolExecutionServiceConfig;\n\trequest: ExecutePlatformToolRequest;\n\tmetadata: ToolExecutionBridgeMetadata;\n\tresumeToken?: string;\n}\n\nexport type ToolExecutionBridgePlan =\n\t| ObserveToolExecutionPlan\n\t| GovernedToolExecutionPlan;\n\nexport type ToolExecutionBridgePreparation =\n\t| {\n\t\t\tstatus: \"skip\";\n\t }\n\t| {\n\t\t\tstatus: \"observe\";\n\t\t\tplan: ObserveToolExecutionPlan;\n\t }\n\t| {\n\t\t\tstatus: \"allow\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t }\n\t| {\n\t\t\tstatus: \"wait_approval\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t\t\trequest: ActionApprovalRequest;\n\t }\n\t| {\n\t\t\tstatus: \"deny\";\n\t\t\tplan?: GovernedToolExecutionPlan;\n\t\t\treason: string;\n\t };\n\nexport type ToolExecutionBridgeApprovalResolution =\n\t| {\n\t\t\tstatus: \"allow\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t }\n\t| {\n\t\t\tstatus: \"deny\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t\t\treason: string;\n\t };\n\nexport interface ObserveToolExecutionResult {\n\tmetadata: ToolExecutionBridgeMetadata;\n}\n\nexport interface ToolExecutionBridgeInput {\n\tcfg: AgentRunConfig;\n\ttoolCall: ToolCall;\n\ttoolDef?: AgentTool;\n\tsanitizedArgs: Record<string, unknown>;\n\tdisplayName?: string;\n\tsummaryLabel?: string;\n\tactionDescription?: string;\n}\n\ninterface ToolExecutionClassification {\n\tfamily: \"bash\" | \"mcp\";\n\tmode: PlatformBridgeMode;\n\triskLevel: ToolExecutionRiskLevel;\n\ttool: PlatformToolRef;\n\tconnector?: PlatformConnectorRef;\n}\n\nfunction trimString(value: string | undefined): string | undefined {\n\tconst trimmed = value?.trim();\n\treturn trimmed ? trimmed : undefined;\n}\n\nfunction getEnvValue(names: readonly string[]): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = trimString(process.env[name]);\n\t\tif (value) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction metadataValue(value: string | undefined): string | undefined {\n\t// biome-ignore lint/suspicious/noControlCharactersInRegex: metadata must neutralize C0 control characters and DEL.\n\tconst normalized = value?.replace(/[\\x00-\\x1f\\x7f]/gu, \" \");\n\tconst trimmed = trimString(normalized);\n\tif (!trimmed) {\n\t\treturn undefined;\n\t}\n\tif (trimmed.length <= METADATA_VALUE_MAX_LENGTH) {\n\t\treturn trimmed;\n\t}\n\tconst suffix = \"...\";\n\tconst maxPrefixLength = METADATA_VALUE_MAX_LENGTH - suffix.length;\n\tlet prefix = \"\";\n\tfor (const char of trimmed) {\n\t\tif (prefix.length + char.length > maxPrefixLength) {\n\t\t\tbreak;\n\t\t}\n\t\tprefix += char;\n\t}\n\treturn `${prefix.trimEnd()}${suffix}`;\n}\n\nfunction getMetadataEnvValue(names: readonly string[]): string | undefined {\n\treturn metadataValue(getEnvValue(names));\n}\n\nfunction getCurrentWorkingDirectory(): string | undefined {\n\ttry {\n\t\treturn metadataValue(process.cwd());\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nfunction buildShellCommandSummary(command: string): string {\n\tconst normalized = command.replace(/\\s+/gu, \" \").trim();\n\tif (normalized.length <= 96) {\n\t\treturn normalized;\n\t}\n\treturn `${normalized.slice(0, 93).trimEnd()}...`;\n}\n\nfunction isReadOnlyBashCommand(command: string): boolean {\n\tconst normalized = command.replace(/\\s+/gu, \" \").trim().toLowerCase();\n\tif (!normalized) {\n\t\treturn false;\n\t}\n\tif (isReadOnlyGitBranchCommand(normalized)) {\n\t\treturn true;\n\t}\n\tif (BASH_MUTATION_MARKERS.some((pattern) => pattern.test(normalized))) {\n\t\treturn false;\n\t}\n\treturn READ_ONLY_BASH_PREFIXES.some(\n\t\t(prefix) => normalized === prefix || normalized.startsWith(`${prefix} `),\n\t);\n}\n\nfunction isReadOnlyGitBranchCommand(normalized: string): boolean {\n\tconst parts = normalized.split(\" \");\n\tif (parts[0] !== \"git\" || parts[1] !== \"branch\") {\n\t\treturn false;\n\t}\n\tconst args = parts.slice(2);\n\tif (args.length === 0) {\n\t\treturn true;\n\t}\n\treturn args.every(\n\t\t(arg) =>\n\t\t\tREAD_ONLY_GIT_BRANCH_ARGS.has(arg) ||\n\t\t\targ.startsWith(\"--format=\") ||\n\t\t\targ.startsWith(\"--sort=\"),\n\t);\n}\n\nfunction inferBashRiskLevel(command: string): ToolExecutionRiskLevel {\n\tconst normalized = command.toLowerCase();\n\tif (\n\t\t/\\brm\\s+-rf\\b/u.test(normalized) ||\n\t\t/\\bgit\\s+push(\\s+--force|\\s+-f)\\b/u.test(normalized) ||\n\t\t/\\bnpm\\s+publish\\b/u.test(normalized) ||\n\t\t/\\bkubectl\\s+delete\\b/u.test(normalized) ||\n\t\t/\\bterraform\\s+destroy\\b/u.test(normalized)\n\t) {\n\t\treturn \"RISK_LEVEL_CRITICAL\";\n\t}\n\treturn isReadOnlyBashCommand(command) ? \"RISK_LEVEL_LOW\" : \"RISK_LEVEL_HIGH\";\n}\n\nfunction normalizeCapabilitySegment(value: string): string {\n\treturn value.replace(/[^a-zA-Z0-9_.-]/gu, \"_\");\n}\n\nfunction parseBridgeMcpToolName(\n\tname: string,\n): { server: string; tool?: string } | null {\n\tconst parts = name.split(\"__\");\n\tif (parts[0] !== \"mcp\" || parts.length < 2) {\n\t\treturn null;\n\t}\n\tconst server = parts[1];\n\tif (!server) {\n\t\treturn null;\n\t}\n\treturn {\n\t\tserver,\n\t\ttool: parts.length > 2 ? parts.slice(2).join(\"__\") : undefined,\n\t};\n}\n\nfunction classifyToolExecution(\n\ttoolCall: ToolCall,\n\ttoolDef: AgentTool | undefined,\n\trollout: {\n\t\tobserveEnabled: boolean;\n\t\tgovernedEnabled: boolean;\n\t},\n): ToolExecutionClassification | null {\n\tif (!rollout.observeEnabled && !rollout.governedEnabled) {\n\t\treturn null;\n\t}\n\n\tif (toolCall.name === \"bash\") {\n\t\tconst command =\n\t\t\ttypeof toolCall.arguments.command === \"string\"\n\t\t\t\t? toolCall.arguments.command\n\t\t\t\t: \"\";\n\t\tconst isReadOnly = isReadOnlyBashCommand(command);\n\t\tconst mode: PlatformBridgeMode =\n\t\t\tisReadOnly || !rollout.governedEnabled ? \"observe\" : \"governed\";\n\t\tif (mode === \"observe\" && !rollout.observeEnabled) {\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\tfamily: \"bash\",\n\t\t\tmode,\n\t\t\triskLevel: inferBashRiskLevel(command),\n\t\t\ttool: {\n\t\t\t\tnamespace: \"maestro\",\n\t\t\t\tname: \"bash\",\n\t\t\t\tversion: process.env.npm_package_version,\n\t\t\t\tcapability: \"maestro.tool.bash\",\n\t\t\t\toperation: command ? buildShellCommandSummary(command) : \"shell\",\n\t\t\t\tidempotent: isReadOnly,\n\t\t\t\tmutatesResource: !isReadOnly,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst mcpTool = parseBridgeMcpToolName(toolCall.name);\n\tif (!mcpTool) {\n\t\treturn null;\n\t}\n\tconst mode: PlatformBridgeMode = rollout.governedEnabled\n\t\t? \"governed\"\n\t\t: \"observe\";\n\tconst toolName = mcpTool.tool ?? toolCall.name;\n\tconst readOnly = isReadOnlyTool(toolCall.name, toolDef?.annotations);\n\treturn {\n\t\tfamily: \"mcp\",\n\t\tmode,\n\t\triskLevel: readOnly ? \"RISK_LEVEL_MEDIUM\" : \"RISK_LEVEL_HIGH\",\n\t\ttool: {\n\t\t\tnamespace: \"mcp\",\n\t\t\tname: toolName,\n\t\t\tversion: process.env.npm_package_version,\n\t\t\tcapability: `mcp.${normalizeCapabilitySegment(mcpTool.server)}.${normalizeCapabilitySegment(toolName)}`,\n\t\t\toperation: toolName,\n\t\t\tidempotent: readOnly,\n\t\t\tmutatesResource: !readOnly,\n\t\t},\n\t\tconnector: {\n\t\t\tproviderId: mcpTool.server,\n\t\t\tresourceId: mcpTool.server,\n\t\t\tresourceKind: \"mcp_server\",\n\t\t},\n\t};\n}\n\nfunction stableStringify(value: unknown): string {\n\tif (Array.isArray(value)) {\n\t\treturn `[${value.map((item) => stableStringify(item)).join(\",\")}]`;\n\t}\n\tif (value && typeof value === \"object\") {\n\t\treturn `{${Object.entries(value as Record<string, unknown>)\n\t\t\t.sort(([left], [right]) => left.localeCompare(right))\n\t\t\t.map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)\n\t\t\t.join(\",\")}}`;\n\t}\n\treturn JSON.stringify(value);\n}\n\nfunction cloneRecord(value: Record<string, unknown>): Record<string, unknown> {\n\treturn JSON.parse(JSON.stringify(value)) as Record<string, unknown>;\n}\n\nfunction scrubText(value: string): { text: string; redactions: string[] } {\n\tlet next = value;\n\tconst redactions = new Set<string>();\n\tfor (const pattern of [\n\t\t/\\b(gh[pousr]_[A-Za-z0-9_]{20,})\\b/gu,\n\t\t/\\b(Bearer\\s+[A-Za-z0-9._-]{16,})\\b/giu,\n\t\t/\\b([A-Za-z0-9_-]{32,})\\b/gu,\n\t]) {\n\t\tif (pattern.test(next)) {\n\t\t\tredactions.add(\"secret_like_token\");\n\t\t\tnext = next.replace(pattern, \"[REDACTED]\");\n\t\t}\n\t}\n\treturn { text: next, redactions: [...redactions] };\n}\n\nfunction summarizeToolResult(result: ToolResultMessage): {\n\tsummary: string;\n\tredactions: string[];\n} {\n\tconst text = result.content\n\t\t.filter(\n\t\t\t(part): part is { type: \"text\"; text: string } => part.type === \"text\",\n\t\t)\n\t\t.map((part) => part.text)\n\t\t.join(\"\\n\")\n\t\t.trim();\n\tif (!text) {\n\t\treturn {\n\t\t\tsummary: result.isError\n\t\t\t\t? \"Tool failed without text output\"\n\t\t\t\t: \"Tool completed\",\n\t\t\tredactions: [],\n\t\t};\n\t}\n\tconst firstLine = text.split(/\\r?\\n/u)[0]?.trim() ?? text;\n\tconst shortened =\n\t\tfirstLine.length > OBSERVE_OUTPUT_SUMMARY_MAX_LENGTH\n\t\t\t? `${firstLine.slice(0, OBSERVE_OUTPUT_SUMMARY_MAX_LENGTH - 3).trimEnd()}...`\n\t\t\t: firstLine;\n\tconst scrubbed = scrubText(shortened);\n\treturn {\n\t\tsummary: scrubbed.text,\n\t\tredactions: scrubbed.redactions,\n\t};\n}\n\nfunction buildOutputPayload(\n\tresult: ToolResultMessage,\n\tdurationMs: number | undefined,\n): RecordPlatformToolExecutionOutputRequest[\"output\"] {\n\tconst summary = summarizeToolResult(result);\n\tconst safeOutput = {\n\t\tstatus: result.isError ? \"failed\" : \"succeeded\",\n\t\ttool_name: result.toolName,\n\t\ttool_call_id: result.toolCallId,\n\t\tsummary: summary.summary,\n\t};\n\treturn {\n\t\tsafeOutput,\n\t\tredactions: summary.redactions,\n\t\tcontentType: \"application/json\",\n\t\t...(durationMs !== undefined\n\t\t\t? { durationMs: Math.max(0, Math.round(durationMs)) }\n\t\t\t: {}),\n\t};\n}\n\nfunction buildLinkage(\n\tcfg: AgentRunConfig,\n\ttoolCall: ToolCall,\n\torganizationId: string | undefined,\n\tworkspaceId: string,\n): ToolExecutionLinkage {\n\tconst sessionId =\n\t\ttrimString(cfg.session?.id) ?? getEnvValue([\"MAESTRO_SESSION_ID\"]);\n\tconst agentRunId = getEnvValue([\"MAESTRO_AGENT_RUN_ID\"]);\n\treturn {\n\t\tworkspaceId,\n\t\t...(organizationId ? { organizationId } : {}),\n\t\tagentId:\n\t\t\tgetEnvValue([\"MAESTRO_AGENT_ID\"]) ??\n\t\t\ttrimString(process.env.npm_package_name) ??\n\t\t\t\"maestro\",\n\t\t...(agentRunId ? { runId: agentRunId } : {}),\n\t\tobjectiveId: getEnvValue([\"MAESTRO_OBJECTIVE_ID\"]),\n\t\tstepId: toolCall.id,\n\t\tactorId: trimString(cfg.user?.id) ?? getEnvValue([\"MAESTRO_ACTOR_ID\"]),\n\t\tsurface: getEnvValue([\"MAESTRO_SURFACE\"]) ?? \"maestro\",\n\t\tchannelId: getEnvValue([\"MAESTRO_CHANNEL_ID\"]),\n\t\tcorrelationId: `${sessionId ?? \"session\"}:${toolCall.id}`,\n\t};\n}\n\nfunction buildRuntimeContextMetadata(\n\tlinkage: ToolExecutionLinkage,\n): Record<string, string> {\n\tconst cwd =\n\t\tgetMetadataEnvValue([\"MAESTRO_CWD\"]) ?? getCurrentWorkingDirectory();\n\tconst workspaceRoot = getMetadataEnvValue([\n\t\t\"MAESTRO_WORKSPACE_ROOT\",\n\t\t\"WORKSPACE_ROOT\",\n\t]);\n\tconst repositoryRoot =\n\t\tgetMetadataEnvValue([\n\t\t\t\"MAESTRO_REPOSITORY_ROOT\",\n\t\t\t\"MAESTRO_REPO_ROOT\",\n\t\t\t\"GITHUB_WORKSPACE\",\n\t\t]) ?? workspaceRoot;\n\tconst repository = getMetadataEnvValue([\n\t\t\"MAESTRO_GIT_REPOSITORY\",\n\t\t\"GITHUB_REPOSITORY\",\n\t\t\"CI_PROJECT_PATH\",\n\t]);\n\tconst gitBranch = getMetadataEnvValue([\n\t\t\"MAESTRO_GIT_BRANCH\",\n\t\t\"GITHUB_HEAD_REF\",\n\t\t\"GITHUB_REF_NAME\",\n\t\t\"CI_COMMIT_REF_NAME\",\n\t\t\"VERCEL_GIT_COMMIT_REF\",\n\t]);\n\tconst gitCommit = getMetadataEnvValue([\n\t\t\"MAESTRO_GIT_COMMIT\",\n\t\t\"GITHUB_SHA\",\n\t\t\"CI_COMMIT_SHA\",\n\t\t\"VERCEL_GIT_COMMIT_SHA\",\n\t]);\n\n\treturn {\n\t\t...(linkage.runId ? { maestro_agent_run_id: linkage.runId } : {}),\n\t\tmaestro_agent_run_step_id: linkage.stepId,\n\t\t...(linkage.actorId ? { maestro_actor_id: linkage.actorId } : {}),\n\t\t...(linkage.correlationId\n\t\t\t? { maestro_correlation_id: linkage.correlationId }\n\t\t\t: {}),\n\t\t...(cwd ? { maestro_cwd: cwd } : {}),\n\t\t...(workspaceRoot ? { maestro_workspace_root: workspaceRoot } : {}),\n\t\t...(repositoryRoot ? { maestro_repository_root: repositoryRoot } : {}),\n\t\t...(repository ? { maestro_repository: repository } : {}),\n\t\t...(gitBranch ? { maestro_git_branch: gitBranch } : {}),\n\t\t...(gitCommit ? { maestro_git_commit: gitCommit } : {}),\n\t};\n}\n\nfunction buildMetadata(\n\tinput: ToolExecutionBridgeInput,\n\tclassification: ToolExecutionClassification,\n\tlinkage: ToolExecutionLinkage,\n): Record<string, string> {\n\tconst originalArgs = input.toolCall.arguments as Record<string, unknown>;\n\tconst redactedArguments =\n\t\tstableStringify(originalArgs) !== stableStringify(input.sanitizedArgs);\n\tconst sessionId =\n\t\ttrimString(input.cfg.session?.id) ?? getEnvValue([\"MAESTRO_SESSION_ID\"]);\n\tconst remoteRunnerSessionId = getEnvValue([\n\t\t\"MAESTRO_REMOTE_RUNNER_SESSION_ID\",\n\t\t\"MAESTRO_RUNNER_SESSION_ID\",\n\t]);\n\treturn {\n\t\tmaestro_bridge_mode: classification.mode,\n\t\tmaestro_tool_call_id: input.toolCall.id,\n\t\t...buildRuntimeContextMetadata(linkage),\n\t\t...(sessionId ? { maestro_session_id: sessionId } : {}),\n\t\t...(remoteRunnerSessionId\n\t\t\t? { maestro_remote_runner_session_id: remoteRunnerSessionId }\n\t\t\t: {}),\n\t\t...(input.displayName ? { maestro_display_name: input.displayName } : {}),\n\t\t...(input.summaryLabel\n\t\t\t? { maestro_summary_label: input.summaryLabel }\n\t\t\t: {}),\n\t\t...(input.actionDescription\n\t\t\t? { maestro_action_description: input.actionDescription }\n\t\t\t: {}),\n\t\tmaestro_redacted_arguments: String(redactedArguments),\n\t\tmaestro_tool_family: classification.family,\n\t\tmaestro_local_execution_authoritative: String(\n\t\t\tclassification.mode === \"governed\",\n\t\t),\n\t};\n}\n\nfunction buildExecuteRequest(\n\tinput: ToolExecutionBridgeInput,\n\tconfig: ToolExecutionServiceConfig,\n\tclassification: ToolExecutionClassification,\n): ExecutePlatformToolRequest {\n\tconst linkage = buildLinkage(\n\t\tinput.cfg,\n\t\tinput.toolCall,\n\t\tconfig.organizationId,\n\t\tconfig.workspaceId ?? process.cwd(),\n\t);\n\treturn {\n\t\tlinkage,\n\t\ttool: classification.tool,\n\t\t...(classification.connector\n\t\t\t? { connector: classification.connector }\n\t\t\t: {}),\n\t\targuments: cloneRecord(input.sanitizedArgs),\n\t\triskLevel: classification.riskLevel,\n\t\tretryPolicy: {\n\t\t\tmaxAttempts: 1,\n\t\t\tinitialDelayMs: 0,\n\t\t\tmaxDelayMs: 0,\n\t\t\tallowNonIdempotentRetry: false,\n\t\t},\n\t\tidempotencyKey: `maestro:${input.toolCall.id}`,\n\t\tmetadata: buildMetadata(input, classification, linkage),\n\t};\n}\n\nfunction planFromResponse(\n\tclassification: ToolExecutionClassification,\n\tconfig: ToolExecutionServiceConfig,\n\trequest: ExecutePlatformToolRequest,\n\tresponse: ExecutePlatformToolResponse,\n): GovernedToolExecutionPlan {\n\treturn {\n\t\tkind: \"governed\",\n\t\tmode: \"governed\",\n\t\tclassification,\n\t\tconfig,\n\t\trequest,\n\t\tmetadata: {\n\t\t\ttoolExecutionId: response.execution.id,\n\t\t\tapprovalRequestId: response.execution.approvalWait?.approvalRequestId,\n\t\t},\n\t\tresumeToken: response.execution.approvalWait?.resumeToken,\n\t};\n}\n\nfunction waitApprovalRequest(\n\tinput: ToolExecutionBridgeInput,\n\tplan: GovernedToolExecutionPlan,\n\texecution: PlatformToolExecutionRecord,\n): ActionApprovalRequest {\n\treturn {\n\t\tid:\n\t\t\texecution.approvalWait?.approvalRequestId ??\n\t\t\tplan.metadata.approvalRequestId ??\n\t\t\tinput.toolCall.id,\n\t\ttoolName: input.toolCall.name,\n\t\tdisplayName: input.displayName,\n\t\tsummaryLabel: input.summaryLabel,\n\t\tactionDescription: input.actionDescription,\n\t\targs: input.sanitizedArgs,\n\t\treason:\n\t\t\texecution.approvalWait?.reason ??\n\t\t\texecution.errorMessage ??\n\t\t\t\"Approval required by Platform ToolExecution\",\n\t\tplatform: {\n\t\t\tsource: \"tool_execution\",\n\t\t\ttoolExecutionId: execution.id ?? plan.metadata.toolExecutionId,\n\t\t\tapprovalRequestId:\n\t\t\t\texecution.approvalWait?.approvalRequestId ??\n\t\t\t\tplan.metadata.approvalRequestId,\n\t\t},\n\t};\n}\n\nfunction isBridgeGloballyDisabled(): boolean {\n\treturn isFeatureFlagEnabled(MAESTRO_PLATFORM_RUNTIME_BRIDGE_KILL_SWITCH);\n}\n\nexport interface PlatformToolExecutionBridge {\n\tprepare(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgePreparation>;\n\tresolveApproval(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tplan: GovernedToolExecutionPlan,\n\t\tdecision: ActionApprovalDecision,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgeApprovalResolution>;\n\trecordObservation(\n\t\tplan: ObserveToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult>;\n\trecordGovernedOutput(\n\t\tplan: GovernedToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tdurationMs?: number,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult>;\n}\n\nexport class DefaultPlatformToolExecutionBridge\n\timplements PlatformToolExecutionBridge\n{\n\tasync prepare(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgePreparation> {\n\t\tif (isBridgeGloballyDisabled()) {\n\t\t\treturn { status: \"skip\" };\n\t\t}\n\n\t\tconst rollout = {\n\t\t\tobserveEnabled:\n\t\t\t\tisPlatformRuntimeObserveEnabled() ||\n\t\t\t\tisPlatformToolExecutionBridgeEnabled(),\n\t\t\tgovernedEnabled: isPlatformToolExecutionBridgeEnabled(),\n\t\t};\n\t\tconst classification = classifyToolExecution(\n\t\t\tinput.toolCall,\n\t\t\tinput.toolDef,\n\t\t\trollout,\n\t\t);\n\t\tif (!classification) {\n\t\t\treturn { status: \"skip\" };\n\t\t}\n\n\t\tconst config = await resolveToolExecutionServiceConfig();\n\t\tif (!config) {\n\t\t\treturn { status: \"skip\" };\n\t\t}\n\n\t\tconst request = buildExecuteRequest(input, config, classification);\n\t\tif (classification.mode === \"observe\") {\n\t\t\treturn {\n\t\t\t\tstatus: \"observe\",\n\t\t\t\tplan: {\n\t\t\t\t\tkind: \"observe\",\n\t\t\t\t\tmode: \"observe\",\n\t\t\t\t\tclassification,\n\t\t\t\t\tconfig,\n\t\t\t\t\trequest,\n\t\t\t\t\tmetadata: {},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await executeToolWithPlatform(config, request, signal);\n\t\t\tconst plan = planFromResponse(classification, config, request, response);\n\t\t\tswitch (response.execution.state) {\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_DENIED\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason:\n\t\t\t\t\t\t\tresponse.execution.errorMessage ??\n\t\t\t\t\t\t\t\"Action denied by Platform ToolExecution\",\n\t\t\t\t\t};\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_WAITING_APPROVAL\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: \"wait_approval\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\trequest: waitApprovalRequest(input, plan, response.execution),\n\t\t\t\t\t};\n\t\t\t\tdefault:\n\t\t\t\t\treturn { status: \"allow\", plan };\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\treturn {\n\t\t\t\tstatus: \"deny\",\n\t\t\t\treason: `Platform ToolExecution unavailable: ${message}`,\n\t\t\t};\n\t\t}\n\t}\n\n\tasync resolveApproval(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tplan: GovernedToolExecutionPlan,\n\t\tdecision: ActionApprovalDecision,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgeApprovalResolution> {\n\t\tif (!plan.resumeToken || !plan.metadata.approvalRequestId) {\n\t\t\treturn decision.approved\n\t\t\t\t? { status: \"allow\", plan }\n\t\t\t\t: {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason: decision.reason ?? \"Approval denied\",\n\t\t\t\t\t};\n\t\t}\n\t\tconst request: ResumePlatformToolExecutionRequest = {\n\t\t\texecutionId: plan.metadata.toolExecutionId ?? \"\",\n\t\t\tapprovalRequestId: plan.metadata.approvalRequestId,\n\t\t\tresumeToken: plan.resumeToken,\n\t\t\tapproved: decision.approved,\n\t\t\tdecidedBy:\n\t\t\t\tdecision.resolvedBy === \"user\"\n\t\t\t\t\t? (trimString(input.cfg.user?.id) ?? \"user\")\n\t\t\t\t\t: \"policy\",\n\t\t\treason: decision.reason,\n\t\t};\n\t\ttry {\n\t\t\tconst response = await resumeToolExecutionWithPlatform(\n\t\t\t\tplan.config,\n\t\t\t\trequest,\n\t\t\t\tsignal,\n\t\t\t);\n\t\t\tconst nextPlan: GovernedToolExecutionPlan = {\n\t\t\t\t...plan,\n\t\t\t\tmetadata: {\n\t\t\t\t\ttoolExecutionId:\n\t\t\t\t\t\tresponse.execution.id ?? plan.metadata.toolExecutionId,\n\t\t\t\t\tapprovalRequestId:\n\t\t\t\t\t\tresponse.execution.approvalWait?.approvalRequestId ??\n\t\t\t\t\t\tplan.metadata.approvalRequestId,\n\t\t\t\t},\n\t\t\t};\n\t\t\tswitch (response.execution.state) {\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_DENIED\":\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_FAILED\":\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_CANCELLED\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan: nextPlan,\n\t\t\t\t\t\treason:\n\t\t\t\t\t\t\tresponse.execution.errorMessage ??\n\t\t\t\t\t\t\tdecision.reason ??\n\t\t\t\t\t\t\t\"Platform ToolExecution denied the action\",\n\t\t\t\t\t};\n\t\t\t\tdefault:\n\t\t\t\t\treturn { status: \"allow\", plan: nextPlan };\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\treturn decision.approved\n\t\t\t\t? {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason: `Platform ToolExecution decision sync failed: ${message}`,\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason: decision.reason ?? `Approval denied (${message})`,\n\t\t\t\t\t};\n\t\t}\n\t}\n\n\tasync recordObservation(\n\t\tplan: ObserveToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult> {\n\t\tconst summary = summarizeToolResult(result);\n\t\tconst request: ExecutePlatformToolRequest = {\n\t\t\t...plan.request,\n\t\t\tmetadata: {\n\t\t\t\t...plan.request.metadata,\n\t\t\t\tmaestro_bridge_mode: \"observe\",\n\t\t\t\tmaestro_local_outcome: result.isError ? \"failed\" : \"succeeded\",\n\t\t\t\tmaestro_local_output_summary: summary.summary,\n\t\t\t\tmaestro_local_output_redactions:\n\t\t\t\t\tsummary.redactions.length > 0 ? summary.redactions.join(\",\") : \"none\",\n\t\t\t},\n\t\t};\n\t\ttry {\n\t\t\tconst response = await executeToolWithPlatform(\n\t\t\t\tplan.config,\n\t\t\t\trequest,\n\t\t\t\tsignal,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tmetadata: {\n\t\t\t\t\ttoolExecutionId: response.execution.id,\n\t\t\t\t\tapprovalRequestId: response.execution.approvalWait?.approvalRequestId,\n\t\t\t\t},\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tlogger.warn(\"Failed to record observe-only tool execution\", {\n\t\t\t\terror: message,\n\t\t\t\ttoolName: plan.request.tool.name,\n\t\t\t\ttoolCallId: plan.request.metadata?.maestro_tool_call_id,\n\t\t\t});\n\t\t\treturn { metadata: plan.metadata };\n\t\t}\n\t}\n\n\tasync recordGovernedOutput(\n\t\tplan: GovernedToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tdurationMs?: number,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult> {\n\t\tconst executionId = plan.metadata.toolExecutionId;\n\t\tif (!executionId) {\n\t\t\treturn { metadata: plan.metadata };\n\t\t}\n\n\t\tconst request: RecordPlatformToolExecutionOutputRequest = {\n\t\t\texecutionId,\n\t\t\toutput: buildOutputPayload(result, durationMs),\n\t\t\tmetadata: {\n\t\t\t\t...plan.request.metadata,\n\t\t\t\tmaestro_bridge_mode: \"governed\",\n\t\t\t\tmaestro_local_outcome: result.isError ? \"failed\" : \"succeeded\",\n\t\t\t\tmaestro_tool_call_id: result.toolCallId,\n\t\t\t},\n\t\t};\n\t\ttry {\n\t\t\tconst response = await recordToolExecutionOutputWithPlatform(\n\t\t\t\tplan.config,\n\t\t\t\trequest,\n\t\t\t\tsignal,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tmetadata: {\n\t\t\t\t\ttoolExecutionId: response.execution.id ?? executionId,\n\t\t\t\t\tapprovalRequestId:\n\t\t\t\t\t\tresponse.execution.approvalWait?.approvalRequestId ??\n\t\t\t\t\t\tplan.metadata.approvalRequestId,\n\t\t\t\t},\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tlogger.warn(\"Failed to record governed tool execution output\", {\n\t\t\t\terror: message,\n\t\t\t\ttoolName: plan.request.tool.name,\n\t\t\t\ttoolCallId: result.toolCallId,\n\t\t\t\ttoolExecutionId: executionId,\n\t\t\t});\n\t\t\treturn { metadata: plan.metadata };\n\t\t}\n\t}\n}\n\nlet defaultBridge: PlatformToolExecutionBridge | null = null;\n\nexport function getDefaultPlatformToolExecutionBridge(): PlatformToolExecutionBridge {\n\tif (!defaultBridge) {\n\t\tdefaultBridge = new DefaultPlatformToolExecutionBridge();\n\t}\n\treturn defaultBridge;\n}\n\nexport function buildObservedResultMetadata(\n\tplan: ToolExecutionBridgePlan | undefined,\n\tobservation: ObserveToolExecutionResult | undefined,\n): ToolExecutionBridgeMetadata {\n\tif (!plan) {\n\t\treturn observation?.metadata ?? {};\n\t}\n\treturn {\n\t\ttoolExecutionId:\n\t\t\tobservation?.metadata.toolExecutionId ?? plan.metadata.toolExecutionId,\n\t\tapprovalRequestId:\n\t\t\tobservation?.metadata.approvalRequestId ??\n\t\t\tplan.metadata.approvalRequestId,\n\t};\n}\n\nfunction isAbortError(error: unknown): boolean {\n\treturn error instanceof Error && error.name === \"AbortError\";\n}\n"]}
|
|
@@ -10,6 +10,7 @@ import type { Clock } from "../../utils/clock.js";
|
|
|
10
10
|
import type { ToolRetryConfig, ToolRetryService } from "../tool-retry.js";
|
|
11
11
|
import type { ClientToolExecutionService } from "../transport.js";
|
|
12
12
|
import type { AgentRunConfig, AgentTool, AgentToolResult, ToolCall } from "../types.js";
|
|
13
|
+
import { type PlatformToolExecutionBridge, type ToolExecutionBridgePlan } from "./tool-execution-bridge.js";
|
|
13
14
|
import type { ToolExecutionOutcome, ToolUpdateQueue } from "./tool-update-queue.js";
|
|
14
15
|
import { type ToolAuditLogger } from "./transport-utils.js";
|
|
15
16
|
export interface ToolExecutionContext {
|
|
@@ -28,6 +29,8 @@ export interface ToolExecutionContext {
|
|
|
28
29
|
toolRetryService?: ToolRetryService;
|
|
29
30
|
toolRetryConfig?: ToolRetryConfig;
|
|
30
31
|
clientToolService?: ClientToolExecutionService;
|
|
32
|
+
toolExecutionBridge?: PlatformToolExecutionBridge;
|
|
33
|
+
toolExecutionBridgePlan?: ToolExecutionBridgePlan;
|
|
31
34
|
toolUpdateQueue: ToolUpdateQueue;
|
|
32
35
|
/** Pre-created client tool execution promise (if applicable) */
|
|
33
36
|
clientToolExecPromise?: Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-execution.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/tool-execution.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EACX,eAAe,EAGf,gBAAgB,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EACX,cAAc,EACd,SAAS,EACT,eAAe,EACf,QAAQ,EAER,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACX,oBAAoB,EACpB,eAAe,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,KAAK,eAAe,EAEpB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,WAAW,CAAC,EAAE,IAAI,CACjB,eAAe,EACf,qBAAqB,GAAG,kBAAkB,GAAG,4BAA4B,CACzE,CAAC;IACF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-execution.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/tool-execution.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EACX,eAAe,EAGf,gBAAgB,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EACX,cAAc,EACd,SAAS,EACT,eAAe,EACf,QAAQ,EAER,MAAM,aAAa,CAAC;AACrB,OAAO,EAEN,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACX,oBAAoB,EACpB,eAAe,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,KAAK,eAAe,EAEpB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,WAAW,CAAC,EAAE,IAAI,CACjB,eAAe,EACf,qBAAqB,GAAG,kBAAkB,GAAG,4BAA4B,CACzE,CAAC;IACF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAClD,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAElD,eAAe,EAAE,eAAe,CAAC;IACjC,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAC/B,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC;KACjB,CAAC,CAAC;CACH;AAuKD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACzC,GAAG,EAAE,oBAAoB,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAoZ/B"}
|
|
@@ -8,6 +8,7 @@ import { runWithMcpClientToolService } from "../../mcp/elicitation.js";
|
|
|
8
8
|
import { METRICS } from "../../safety/adaptive-thresholds.js";
|
|
9
9
|
import { ToolError } from "../../tools/tool-dsl.js";
|
|
10
10
|
import { extractRetryHeaders, parseRetryAfter } from "../../utils/retry.js";
|
|
11
|
+
import { buildObservedResultMetadata, } from "./tool-execution-bridge.js";
|
|
11
12
|
import { logToolExecutionAudit, } from "./transport-utils.js";
|
|
12
13
|
const DEFAULT_TOOL_RETRY_CONFIG = {
|
|
13
14
|
maxAutoRetries: 1,
|
|
@@ -157,7 +158,7 @@ function sleepWithSignal(ms, signal) {
|
|
|
157
158
|
* and hook lifecycle (PostToolUse, EvalGate, PostToolUseFailure).
|
|
158
159
|
*/
|
|
159
160
|
export function createToolExecutionPromise(ctx) {
|
|
160
|
-
const { toolCall, effectiveToolCall, tool, validatedArgs, sanitizedExecutionArgs, cfg, signal, clock, safetyMiddleware, adaptiveThresholds, auditLogger, hookService, toolUpdateQueue, clientToolExecPromise, toolRetryService, toolRetryConfig, clientToolService, } = ctx;
|
|
161
|
+
const { toolCall, effectiveToolCall, tool, validatedArgs, sanitizedExecutionArgs, cfg, signal, clock, safetyMiddleware, adaptiveThresholds, auditLogger, hookService, toolUpdateQueue, clientToolExecPromise, toolRetryService, toolRetryConfig, clientToolService, toolExecutionBridge, toolExecutionBridgePlan, } = ctx;
|
|
161
162
|
const startTime = clock.now();
|
|
162
163
|
const resolvedRetryConfig = resolveToolRetryConfig(toolRetryConfig);
|
|
163
164
|
const toolHasRetryConfig = tool.maxRetries !== undefined ||
|
|
@@ -377,9 +378,16 @@ export function createToolExecutionPromise(ctx) {
|
|
|
377
378
|
toolResultMsg.isError = true;
|
|
378
379
|
}
|
|
379
380
|
}
|
|
381
|
+
const observed = toolExecutionBridge && toolExecutionBridgePlan?.kind === "observe"
|
|
382
|
+
? await toolExecutionBridge.recordObservation(toolExecutionBridgePlan, toolResultMsg, signal)
|
|
383
|
+
: undefined;
|
|
384
|
+
const governedOutput = toolExecutionBridge && toolExecutionBridgePlan?.kind === "governed"
|
|
385
|
+
? await toolExecutionBridge.recordGovernedOutput(toolExecutionBridgePlan, toolResultMsg, clock.now() - startTime, signal)
|
|
386
|
+
: undefined;
|
|
380
387
|
return {
|
|
381
388
|
message: toolResultMsg,
|
|
382
389
|
isError: toolResultMsg.isError,
|
|
390
|
+
...buildObservedResultMetadata(toolExecutionBridgePlan, observed ?? governedOutput),
|
|
383
391
|
};
|
|
384
392
|
}
|
|
385
393
|
catch (error) {
|
|
@@ -417,9 +425,16 @@ export function createToolExecutionPromise(ctx) {
|
|
|
417
425
|
];
|
|
418
426
|
}
|
|
419
427
|
}
|
|
428
|
+
const observed = toolExecutionBridge && toolExecutionBridgePlan?.kind === "observe"
|
|
429
|
+
? await toolExecutionBridge.recordObservation(toolExecutionBridgePlan, toolResultMsg, signal)
|
|
430
|
+
: undefined;
|
|
431
|
+
const governedOutput = toolExecutionBridge && toolExecutionBridgePlan?.kind === "governed"
|
|
432
|
+
? await toolExecutionBridge.recordGovernedOutput(toolExecutionBridgePlan, toolResultMsg, clock.now() - startTime, signal)
|
|
433
|
+
: undefined;
|
|
420
434
|
return {
|
|
421
435
|
message: toolResultMsg,
|
|
422
436
|
isError: true,
|
|
437
|
+
...buildObservedResultMetadata(toolExecutionBridgePlan, observed ?? governedOutput),
|
|
423
438
|
};
|
|
424
439
|
}
|
|
425
440
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-execution.js","sourceRoot":"","sources":["../../../src/agent/transport/tool-execution.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Tool Execution\n * Creates the execution promise for a tool call, handling client/server dispatch,\n * audit logging, safety tracking, and hook lifecycle.\n */\n\nimport { getErrorMessage, isRetriableError } from \"../../errors/index.js\";\nimport type { ToolHookService } from \"../../hooks/tool-integration.js\";\nimport { runWithMcpClientToolService } from \"../../mcp/elicitation.js\";\nimport { METRICS } from \"../../safety/adaptive-thresholds.js\";\nimport type { AdaptiveThresholds } from \"../../safety/adaptive-thresholds.js\";\nimport type { SafetyMiddleware } from \"../../safety/safety-middleware.js\";\nimport { ToolError } from \"../../tools/tool-dsl.js\";\nimport type { Clock } from \"../../utils/clock.js\";\nimport { extractRetryHeaders, parseRetryAfter } from \"../../utils/retry.js\";\nimport type {\n\tToolRetryConfig,\n\tToolRetryDecision,\n\tToolRetryRequest,\n\tToolRetryService,\n} from \"../tool-retry.js\";\nimport type { ClientToolExecutionService } from \"../transport.js\";\nimport type {\n\tAgentRunConfig,\n\tAgentTool,\n\tAgentToolResult,\n\tToolCall,\n\tToolResultMessage,\n} from \"../types.js\";\nimport type {\n\tToolExecutionOutcome,\n\tToolUpdateQueue,\n} from \"./tool-update-queue.js\";\nimport {\n\ttype ToolAuditLogger,\n\tlogToolExecutionAudit,\n} from \"./transport-utils.js\";\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Types\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface ToolExecutionContext {\n\ttoolCall: ToolCall;\n\teffectiveToolCall: ToolCall;\n\ttool: AgentTool;\n\tvalidatedArgs: Record<string, unknown>;\n\tsanitizedExecutionArgs: Record<string, unknown>;\n\tcfg: AgentRunConfig;\n\tsignal?: AbortSignal;\n\t// Services\n\tclock: Clock;\n\tsafetyMiddleware: SafetyMiddleware;\n\tadaptiveThresholds: AdaptiveThresholds;\n\tauditLogger?: ToolAuditLogger;\n\thookService?: Pick<\n\t\tToolHookService,\n\t\t\"runPostToolUseHooks\" | \"runEvalGateHooks\" | \"runPostToolUseFailureHooks\"\n\t>;\n\ttoolRetryService?: ToolRetryService;\n\ttoolRetryConfig?: ToolRetryConfig;\n\tclientToolService?: ClientToolExecutionService;\n\t// Concurrency\n\ttoolUpdateQueue: ToolUpdateQueue;\n\t/** Pre-created client tool execution promise (if applicable) */\n\tclientToolExecPromise?: Promise<{\n\t\tcontent: AgentToolResult[\"content\"];\n\t\tisError: boolean;\n\t}>;\n}\n\nconst DEFAULT_TOOL_RETRY_CONFIG: Required<ToolRetryConfig> = {\n\tmaxAutoRetries: 1,\n\tinitialDelayMs: 500,\n\tmaxDelayMs: 5_000,\n\tbackoffMultiplier: 2,\n};\n\n/** Hard cap on user-prompted retry rounds to prevent infinite loops. */\nconst MAX_USER_RETRY_ROUNDS = 10;\n\nconst RETRYABLE_MESSAGE_SNIPPETS = [\n\t\"timeout\",\n\t\"timed out\",\n\t\"rate limit\",\n\t\"too many requests\",\n\t\"temporarily\",\n\t\"overloaded\",\n\t\"network\",\n\t\"econnreset\",\n\t\"econnrefused\",\n\t\"enotfound\",\n];\n\nconst NON_RETRYABLE_MESSAGE_SNIPPETS = [\n\t\"invalid\",\n\t\"validation\",\n\t\"not found\",\n\t\"no such file\",\n\t\"permission\",\n\t\"denied\",\n\t\"unauthorized\",\n\t\"forbidden\",\n\t\"syntax\",\n];\n\nfunction resolveToolRetryConfig(\n\tconfig?: ToolRetryConfig,\n): Required<ToolRetryConfig> {\n\treturn {\n\t\tmaxAutoRetries:\n\t\t\tconfig?.maxAutoRetries ?? DEFAULT_TOOL_RETRY_CONFIG.maxAutoRetries,\n\t\tinitialDelayMs:\n\t\t\tconfig?.initialDelayMs ?? DEFAULT_TOOL_RETRY_CONFIG.initialDelayMs,\n\t\tmaxDelayMs: config?.maxDelayMs ?? DEFAULT_TOOL_RETRY_CONFIG.maxDelayMs,\n\t\tbackoffMultiplier:\n\t\t\tconfig?.backoffMultiplier ?? DEFAULT_TOOL_RETRY_CONFIG.backoffMultiplier,\n\t};\n}\n\nfunction isRetryableToolError(error: unknown): boolean {\n\tif (!error) return false;\n\tif (isRetriableError(error)) return true;\n\tif (error instanceof ToolError && error.code === \"VALIDATION_ERROR\") {\n\t\treturn false;\n\t}\n\tif (error instanceof Error && error.name === \"AbortError\") {\n\t\treturn false;\n\t}\n\tconst message =\n\t\terror instanceof Error\n\t\t\t? error.message.toLowerCase()\n\t\t\t: String(error).toLowerCase();\n\tif (\n\t\tNON_RETRYABLE_MESSAGE_SNIPPETS.some((snippet) => message.includes(snippet))\n\t) {\n\t\treturn false;\n\t}\n\tif (RETRYABLE_MESSAGE_SNIPPETS.some((snippet) => message.includes(snippet))) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction buildToolErrorHints(error: unknown, baseMessage: string): string[] {\n\tconst hints = new Set<string>();\n\tconst lower = baseMessage.toLowerCase();\n\n\tif (error instanceof ToolError && error.code === \"VALIDATION_ERROR\") {\n\t\thints.add(\"Check the tool arguments for missing or invalid values.\");\n\t}\n\tif (\n\t\tlower.includes(\"permission\") ||\n\t\tlower.includes(\"eacces\") ||\n\t\tlower.includes(\"denied\")\n\t) {\n\t\thints.add(\"Verify file permissions or access rights.\");\n\t}\n\tif (lower.includes(\"not found\") || lower.includes(\"no such file\")) {\n\t\thints.add(\"Confirm the target path exists and is spelled correctly.\");\n\t}\n\tif (lower.includes(\"timeout\") || lower.includes(\"timed out\")) {\n\t\thints.add(\"Check network connectivity and retry.\");\n\t}\n\tif (lower.includes(\"rate limit\") || lower.includes(\"too many requests\")) {\n\t\thints.add(\"Wait briefly before retrying the request.\");\n\t}\n\tif (\n\t\tlower.includes(\"unauthorized\") ||\n\t\tlower.includes(\"forbidden\") ||\n\t\tlower.includes(\"api key\") ||\n\t\tlower.includes(\"credential\")\n\t) {\n\t\thints.add(\"Verify API keys or credentials for this provider.\");\n\t}\n\tif (isRetriableError(error)) {\n\t\thints.add(\"This looks transient; retrying may succeed.\");\n\t}\n\n\treturn Array.from(hints);\n}\n\nfunction formatToolErrorMessage(error: unknown): string {\n\tconst baseMessage = getErrorMessage(error);\n\tconst hints = buildToolErrorHints(error, baseMessage);\n\tif (hints.length === 0) {\n\t\treturn baseMessage;\n\t}\n\treturn `${baseMessage}\\n\\nNext steps:\\n${hints\n\t\t.map((hint) => `- ${hint}`)\n\t\t.join(\"\\n\")}`;\n}\n\nfunction buildRetrySummary(errorMessage: string): string {\n\tconst firstLine = errorMessage.split(/\\r?\\n/)[0]?.trim();\n\tif (!firstLine) {\n\t\treturn \"Awaiting retry decision\";\n\t}\n\tconst shortened =\n\t\tfirstLine.length > 80 ? `${firstLine.slice(0, 77)}...` : firstLine;\n\treturn `Retry after error: ${shortened}`;\n}\n\nfunction sleepWithSignal(ms: number, signal?: AbortSignal): Promise<void> {\n\tif (ms <= 0) return Promise.resolve();\n\tif (!signal) {\n\t\treturn new Promise((resolve) => setTimeout(resolve, ms));\n\t}\n\tif (signal.aborted) {\n\t\tconst error = new Error(\"Operation aborted\");\n\t\terror.name = \"AbortError\";\n\t\treturn Promise.reject(error);\n\t}\n\treturn new Promise((resolve, reject) => {\n\t\tconst timer = setTimeout(() => {\n\t\t\tcleanup();\n\t\t\tresolve();\n\t\t}, ms);\n\t\tconst onAbort = () => {\n\t\t\tclearTimeout(timer);\n\t\t\tcleanup();\n\t\t\tconst error = new Error(\"Operation aborted\");\n\t\t\terror.name = \"AbortError\";\n\t\t\treject(error);\n\t\t};\n\t\tconst cleanup = () => {\n\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t};\n\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t});\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Execution Promise Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Create a promise that executes the tool and returns the outcome.\n * Handles client vs server tool dispatch, audit logging, safety tracking,\n * and hook lifecycle (PostToolUse, EvalGate, PostToolUseFailure).\n */\nexport function createToolExecutionPromise(\n\tctx: ToolExecutionContext,\n): Promise<ToolExecutionOutcome> {\n\tconst {\n\t\ttoolCall,\n\t\teffectiveToolCall,\n\t\ttool,\n\t\tvalidatedArgs,\n\t\tsanitizedExecutionArgs,\n\t\tcfg,\n\t\tsignal,\n\t\tclock,\n\t\tsafetyMiddleware,\n\t\tadaptiveThresholds,\n\t\tauditLogger,\n\t\thookService,\n\t\ttoolUpdateQueue,\n\t\tclientToolExecPromise,\n\t\ttoolRetryService,\n\t\ttoolRetryConfig,\n\t\tclientToolService,\n\t} = ctx;\n\n\tconst startTime = clock.now();\n\tconst resolvedRetryConfig = resolveToolRetryConfig(toolRetryConfig);\n\tconst toolHasRetryConfig =\n\t\ttool.maxRetries !== undefined ||\n\t\ttool.retryDelayMs !== undefined ||\n\t\ttool.shouldRetry !== undefined;\n\tconst isClientTool = tool.executionLocation === \"client\";\n\tconst allowAutoRetries =\n\t\t!isClientTool &&\n\t\t!toolHasRetryConfig &&\n\t\tresolvedRetryConfig.maxAutoRetries > 0;\n\tconst autoMaxAttempts = isClientTool\n\t\t? 1\n\t\t: toolHasRetryConfig\n\t\t\t? (tool.maxRetries ?? resolvedRetryConfig.maxAutoRetries) + 1\n\t\t\t: allowAutoRetries\n\t\t\t\t? resolvedRetryConfig.maxAutoRetries + 1\n\t\t\t\t: 1;\n\tconst retryDelay = toolHasRetryConfig\n\t\t? (tool.retryDelayMs ?? resolvedRetryConfig.initialDelayMs)\n\t\t: resolvedRetryConfig.initialDelayMs;\n\tconst shouldRetryFn = tool.shouldRetry ?? isRetryableToolError;\n\n\tconst context = cfg.sandbox ? { sandbox: cfg.sandbox } : undefined;\n\tconst onUpdate = (partialResult: AgentToolResult) => {\n\t\ttoolUpdateQueue.push({\n\t\t\ttype: \"tool_execution_update\",\n\t\t\ttoolCallId: toolCall.id,\n\t\t\ttoolName: toolCall.name,\n\t\t\targs: sanitizedExecutionArgs,\n\t\t\tpartialResult,\n\t\t});\n\t};\n\n\tconst executeToolOnce = async (): Promise<AgentToolResult> => {\n\t\tif (tool.executionLocation === \"client\") {\n\t\t\tif (!clientToolExecPromise) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Client tool execution service not configured for tool \"${tool.name}\"`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst res = await clientToolExecPromise;\n\t\t\treturn {\n\t\t\t\tcontent: res.content,\n\t\t\t\tisError: res.isError,\n\t\t\t\tdetails: undefined,\n\t\t\t} as AgentToolResult;\n\t\t}\n\t\tif (!clientToolService) {\n\t\t\treturn Promise.resolve(\n\t\t\t\ttool.execute(toolCall.id, validatedArgs, signal, context, onUpdate),\n\t\t\t);\n\t\t}\n\t\treturn runWithMcpClientToolService(clientToolService, () =>\n\t\t\ttool.execute(toolCall.id, validatedArgs, signal, context, onUpdate),\n\t\t);\n\t};\n\n\tconst executeWithRetry = async (): Promise<AgentToolResult> => {\n\t\tlet totalAttempts = 0;\n\t\tlet userRetryRounds = 0;\n\t\twhile (userRetryRounds < MAX_USER_RETRY_ROUNDS) {\n\t\t\tlet attempt = 0;\n\t\t\tlet delayMs = retryDelay;\n\t\t\tlet lastError: unknown;\n\n\t\t\twhile (attempt < autoMaxAttempts) {\n\t\t\t\tattempt += 1;\n\t\t\t\ttotalAttempts += 1;\n\t\t\t\ttry {\n\t\t\t\t\treturn await executeToolOnce();\n\t\t\t\t} catch (error: unknown) {\n\t\t\t\t\tlastError = error;\n\t\t\t\t\tif (signal?.aborted) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\tconst retryable = shouldRetryFn(error);\n\t\t\t\t\tconst isFinalAttempt = attempt >= autoMaxAttempts;\n\t\t\t\t\tif (!retryable || isFinalAttempt) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif (toolHasRetryConfig) {\n\t\t\t\t\t\t// Tool-level config: fixed delay\n\t\t\t\t\t\tawait sleepWithSignal(retryDelay, signal);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Transport-level config: exponential backoff\n\t\t\t\t\t\tconst retryAfter = parseRetryAfter(extractRetryHeaders(error));\n\t\t\t\t\t\tconst delay = Math.min(\n\t\t\t\t\t\t\tretryAfter ?? delayMs,\n\t\t\t\t\t\t\tresolvedRetryConfig.maxDelayMs,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdelayMs = retryAfter\n\t\t\t\t\t\t\t? resolvedRetryConfig.initialDelayMs\n\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\tdelayMs * resolvedRetryConfig.backoffMultiplier,\n\t\t\t\t\t\t\t\t\tresolvedRetryConfig.maxDelayMs,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\tawait sleepWithSignal(delay, signal);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!lastError) {\n\t\t\t\tthrow new Error(\"Tool execution failed without an error\");\n\t\t\t}\n\t\t\tif (!toolRetryService || !shouldRetryFn(lastError)) {\n\t\t\t\tthrow lastError;\n\t\t\t}\n\t\t\tconst errorMessage = getErrorMessage(lastError);\n\t\t\tconst request: ToolRetryRequest = {\n\t\t\t\tid: `${toolCall.id}:retry:${totalAttempts}`,\n\t\t\t\ttoolCallId: toolCall.id,\n\t\t\t\ttoolName: toolCall.name,\n\t\t\t\targs: sanitizedExecutionArgs,\n\t\t\t\terrorMessage,\n\t\t\t\tattempt: totalAttempts,\n\t\t\t\tsummary: buildRetrySummary(errorMessage),\n\t\t\t};\n\t\t\tif (toolRetryService.requiresUserInteraction()) {\n\t\t\t\ttoolUpdateQueue.push({\n\t\t\t\t\ttype: \"tool_retry_required\",\n\t\t\t\t\trequest,\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst decision: ToolRetryDecision =\n\t\t\t\tawait toolRetryService.requestDecision(request, signal);\n\t\t\tif (toolRetryService.requiresUserInteraction()) {\n\t\t\t\ttoolUpdateQueue.push({\n\t\t\t\t\ttype: \"tool_retry_resolved\",\n\t\t\t\t\trequest,\n\t\t\t\t\tdecision,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (decision.action === \"retry\") {\n\t\t\t\tif (isClientTool) {\n\t\t\t\t\t// Client tools use a pre-created promise that can't be re-executed\n\t\t\t\t\t// from the transport layer. Throw so the client can handle re-dispatch.\n\t\t\t\t\tthrow lastError;\n\t\t\t\t}\n\t\t\t\tuserRetryRounds += 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (decision.action === \"abort\") {\n\t\t\t\tconst abortError = new Error(decision.reason ?? \"Tool retry aborted\");\n\t\t\t\tabortError.name = \"AbortError\";\n\t\t\t\tthrow abortError;\n\t\t\t}\n\t\t\tthrow lastError;\n\t\t}\n\t\tthrow new Error(\n\t\t\t`Tool \"${toolCall.name}\" failed after ${MAX_USER_RETRY_ROUNDS} retry rounds`,\n\t\t);\n\t};\n\n\treturn (async () => {\n\t\ttry {\n\t\t\tconst result = await executeWithRetry();\n\n\t\t\tawait logToolExecutionAudit(\n\t\t\t\tauditLogger,\n\t\t\t\ttoolCall.name,\n\t\t\t\tsanitizedExecutionArgs,\n\t\t\t\tresult.isError ? \"failure\" : \"success\",\n\t\t\t\tclock.now() - startTime,\n\t\t\t);\n\n\t\t\tsafetyMiddleware.postExecution(\n\t\t\t\ttoolCall.name,\n\t\t\t\tvalidatedArgs,\n\t\t\t\t!result.isError,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tadaptiveThresholds.recordObservation(\n\t\t\t\tMETRICS.FAILURE_RATE,\n\t\t\t\tresult.isError ? 1 : 0,\n\t\t\t);\n\n\t\t\tconst toolResultMsg: ToolResultMessage = {\n\t\t\t\trole: \"toolResult\" as const,\n\t\t\t\ttoolCallId: toolCall.id,\n\t\t\t\ttoolName: toolCall.name,\n\t\t\t\tcontent: result.content,\n\t\t\t\tdetails: result.details,\n\t\t\t\tisError: result.isError || false,\n\t\t\t\ttimestamp: clock.now(),\n\t\t\t};\n\n\t\t\tif (hookService && !result.isError) {\n\t\t\t\tconst postHookResult = await hookService.runPostToolUseHooks(\n\t\t\t\t\teffectiveToolCall,\n\t\t\t\t\ttoolResultMsg,\n\t\t\t\t\tsignal,\n\t\t\t\t);\n\t\t\t\tif (postHookResult.additionalContext) {\n\t\t\t\t\ttoolResultMsg.content = [\n\t\t\t\t\t\t...toolResultMsg.content,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\t\ttext: `\\n[Hook context]: ${postHookResult.additionalContext}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t\tif (postHookResult.preventContinuation) {\n\t\t\t\t\ttoolResultMsg.content = [\n\t\t\t\t\t\t...toolResultMsg.content,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\t\ttext: `\\n[Hook stop]: ${postHookResult.stopReason ?? \"Hook requested stop\"}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t\ttoolResultMsg.isError = true;\n\t\t\t\t}\n\t\t\t\tif (postHookResult.assertions?.length || postHookResult.evaluation) {\n\t\t\t\t\tconst mergedDetails: Record<string, unknown> =\n\t\t\t\t\t\ttoolResultMsg.details && typeof toolResultMsg.details === \"object\"\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...(toolResultMsg.details as Record<string, unknown>),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {};\n\t\t\t\t\tif (postHookResult.evaluation) {\n\t\t\t\t\t\tmergedDetails.evaluation = postHookResult.evaluation;\n\t\t\t\t\t}\n\t\t\t\t\tif (postHookResult.assertions?.length) {\n\t\t\t\t\t\tmergedDetails.assertions = postHookResult.assertions;\n\t\t\t\t\t}\n\t\t\t\t\ttoolResultMsg.details = mergedDetails as typeof toolResultMsg.details;\n\t\t\t\t}\n\n\t\t\t\tconst evalHookResult = await hookService.runEvalGateHooks(\n\t\t\t\t\teffectiveToolCall,\n\t\t\t\t\ttoolResultMsg,\n\t\t\t\t\tsignal,\n\t\t\t\t);\n\n\t\t\t\tif (evalHookResult.additionalContext) {\n\t\t\t\t\ttoolResultMsg.content = [\n\t\t\t\t\t\t...toolResultMsg.content,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\t\ttext: `\\n[Hook context]: ${evalHookResult.additionalContext}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\tif (evalHookResult.assertions?.length || evalHookResult.evaluation) {\n\t\t\t\t\tconst mergedDetails: Record<string, unknown> =\n\t\t\t\t\t\ttoolResultMsg.details && typeof toolResultMsg.details === \"object\"\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...(toolResultMsg.details as Record<string, unknown>),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {};\n\t\t\t\t\tif (\n\t\t\t\t\t\tevalHookResult.evaluation &&\n\t\t\t\t\t\tObject.keys(evalHookResult.evaluation).length > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tmergedDetails.evaluation = evalHookResult.evaluation;\n\t\t\t\t\t}\n\t\t\t\t\tif (evalHookResult.assertions?.length) {\n\t\t\t\t\t\tmergedDetails.assertions = evalHookResult.assertions;\n\t\t\t\t\t}\n\t\t\t\t\ttoolResultMsg.details = mergedDetails as typeof toolResultMsg.details;\n\t\t\t\t}\n\n\t\t\t\tif (evalHookResult.preventContinuation) {\n\t\t\t\t\ttoolResultMsg.content = [\n\t\t\t\t\t\t...toolResultMsg.content,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\t\ttext: `\\n[Hook stop]: ${evalHookResult.stopReason ?? \"Hook requested stop\"}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t\ttoolResultMsg.isError = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tmessage: toolResultMsg,\n\t\t\t\tisError: toolResultMsg.isError,\n\t\t\t};\n\t\t} catch (error: unknown) {\n\t\t\tif (error instanceof Error && error.name === \"AbortError\") {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst baseErrorMessage = getErrorMessage(error);\n\t\t\tconst formattedMessage = formatToolErrorMessage(error);\n\n\t\t\tawait logToolExecutionAudit(\n\t\t\t\tauditLogger,\n\t\t\t\ttoolCall.name,\n\t\t\t\tsafetyMiddleware.sanitizeForLogging(validatedArgs),\n\t\t\t\t\"failure\",\n\t\t\t\tclock.now() - startTime,\n\t\t\t\tbaseErrorMessage,\n\t\t\t);\n\n\t\t\tsafetyMiddleware.postExecution(toolCall.name, validatedArgs, false, true);\n\t\t\tadaptiveThresholds.recordObservation(METRICS.FAILURE_RATE, 1);\n\n\t\t\tconst toolResultMsg: ToolResultMessage = {\n\t\t\t\trole: \"toolResult\" as const,\n\t\t\t\ttoolCallId: toolCall.id,\n\t\t\t\ttoolName: toolCall.name,\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\ttext: formattedMessage,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdetails: error instanceof ToolError ? error.details : undefined,\n\t\t\t\tisError: true,\n\t\t\t\ttimestamp: clock.now(),\n\t\t\t};\n\n\t\t\tif (hookService) {\n\t\t\t\tconst failureHookResult = await hookService.runPostToolUseFailureHooks(\n\t\t\t\t\teffectiveToolCall,\n\t\t\t\t\tbaseErrorMessage,\n\t\t\t\t\tsignal,\n\t\t\t\t);\n\t\t\t\tif (failureHookResult.additionalContext) {\n\t\t\t\t\ttoolResultMsg.content = [\n\t\t\t\t\t\t...toolResultMsg.content,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\t\ttext: `\\n[Hook context]: ${failureHookResult.additionalContext}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tmessage: toolResultMsg,\n\t\t\t\tisError: true,\n\t\t\t};\n\t\t}\n\t})();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tool-execution.js","sourceRoot":"","sources":["../../../src/agent/transport/tool-execution.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Tool Execution\n * Creates the execution promise for a tool call, handling client/server dispatch,\n * audit logging, safety tracking, and hook lifecycle.\n */\n\nimport { getErrorMessage, isRetriableError } from \"../../errors/index.js\";\nimport type { ToolHookService } from \"../../hooks/tool-integration.js\";\nimport { runWithMcpClientToolService } from \"../../mcp/elicitation.js\";\nimport { METRICS } from \"../../safety/adaptive-thresholds.js\";\nimport type { AdaptiveThresholds } from \"../../safety/adaptive-thresholds.js\";\nimport type { SafetyMiddleware } from \"../../safety/safety-middleware.js\";\nimport { ToolError } from \"../../tools/tool-dsl.js\";\nimport type { Clock } from \"../../utils/clock.js\";\nimport { extractRetryHeaders, parseRetryAfter } from \"../../utils/retry.js\";\nimport type {\n\tToolRetryConfig,\n\tToolRetryDecision,\n\tToolRetryRequest,\n\tToolRetryService,\n} from \"../tool-retry.js\";\nimport type { ClientToolExecutionService } from \"../transport.js\";\nimport type {\n\tAgentRunConfig,\n\tAgentTool,\n\tAgentToolResult,\n\tToolCall,\n\tToolResultMessage,\n} from \"../types.js\";\nimport {\n\ttype ObserveToolExecutionPlan,\n\ttype PlatformToolExecutionBridge,\n\ttype ToolExecutionBridgePlan,\n\tbuildObservedResultMetadata,\n} from \"./tool-execution-bridge.js\";\nimport type {\n\tToolExecutionOutcome,\n\tToolUpdateQueue,\n} from \"./tool-update-queue.js\";\nimport {\n\ttype ToolAuditLogger,\n\tlogToolExecutionAudit,\n} from \"./transport-utils.js\";\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Types\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface ToolExecutionContext {\n\ttoolCall: ToolCall;\n\teffectiveToolCall: ToolCall;\n\ttool: AgentTool;\n\tvalidatedArgs: Record<string, unknown>;\n\tsanitizedExecutionArgs: Record<string, unknown>;\n\tcfg: AgentRunConfig;\n\tsignal?: AbortSignal;\n\t// Services\n\tclock: Clock;\n\tsafetyMiddleware: SafetyMiddleware;\n\tadaptiveThresholds: AdaptiveThresholds;\n\tauditLogger?: ToolAuditLogger;\n\thookService?: Pick<\n\t\tToolHookService,\n\t\t\"runPostToolUseHooks\" | \"runEvalGateHooks\" | \"runPostToolUseFailureHooks\"\n\t>;\n\ttoolRetryService?: ToolRetryService;\n\ttoolRetryConfig?: ToolRetryConfig;\n\tclientToolService?: ClientToolExecutionService;\n\ttoolExecutionBridge?: PlatformToolExecutionBridge;\n\ttoolExecutionBridgePlan?: ToolExecutionBridgePlan;\n\t// Concurrency\n\ttoolUpdateQueue: ToolUpdateQueue;\n\t/** Pre-created client tool execution promise (if applicable) */\n\tclientToolExecPromise?: Promise<{\n\t\tcontent: AgentToolResult[\"content\"];\n\t\tisError: boolean;\n\t}>;\n}\n\nconst DEFAULT_TOOL_RETRY_CONFIG: Required<ToolRetryConfig> = {\n\tmaxAutoRetries: 1,\n\tinitialDelayMs: 500,\n\tmaxDelayMs: 5_000,\n\tbackoffMultiplier: 2,\n};\n\n/** Hard cap on user-prompted retry rounds to prevent infinite loops. */\nconst MAX_USER_RETRY_ROUNDS = 10;\n\nconst RETRYABLE_MESSAGE_SNIPPETS = [\n\t\"timeout\",\n\t\"timed out\",\n\t\"rate limit\",\n\t\"too many requests\",\n\t\"temporarily\",\n\t\"overloaded\",\n\t\"network\",\n\t\"econnreset\",\n\t\"econnrefused\",\n\t\"enotfound\",\n];\n\nconst NON_RETRYABLE_MESSAGE_SNIPPETS = [\n\t\"invalid\",\n\t\"validation\",\n\t\"not found\",\n\t\"no such file\",\n\t\"permission\",\n\t\"denied\",\n\t\"unauthorized\",\n\t\"forbidden\",\n\t\"syntax\",\n];\n\nfunction resolveToolRetryConfig(\n\tconfig?: ToolRetryConfig,\n): Required<ToolRetryConfig> {\n\treturn {\n\t\tmaxAutoRetries:\n\t\t\tconfig?.maxAutoRetries ?? DEFAULT_TOOL_RETRY_CONFIG.maxAutoRetries,\n\t\tinitialDelayMs:\n\t\t\tconfig?.initialDelayMs ?? DEFAULT_TOOL_RETRY_CONFIG.initialDelayMs,\n\t\tmaxDelayMs: config?.maxDelayMs ?? DEFAULT_TOOL_RETRY_CONFIG.maxDelayMs,\n\t\tbackoffMultiplier:\n\t\t\tconfig?.backoffMultiplier ?? DEFAULT_TOOL_RETRY_CONFIG.backoffMultiplier,\n\t};\n}\n\nfunction isRetryableToolError(error: unknown): boolean {\n\tif (!error) return false;\n\tif (isRetriableError(error)) return true;\n\tif (error instanceof ToolError && error.code === \"VALIDATION_ERROR\") {\n\t\treturn false;\n\t}\n\tif (error instanceof Error && error.name === \"AbortError\") {\n\t\treturn false;\n\t}\n\tconst message =\n\t\terror instanceof Error\n\t\t\t? error.message.toLowerCase()\n\t\t\t: String(error).toLowerCase();\n\tif (\n\t\tNON_RETRYABLE_MESSAGE_SNIPPETS.some((snippet) => message.includes(snippet))\n\t) {\n\t\treturn false;\n\t}\n\tif (RETRYABLE_MESSAGE_SNIPPETS.some((snippet) => message.includes(snippet))) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction buildToolErrorHints(error: unknown, baseMessage: string): string[] {\n\tconst hints = new Set<string>();\n\tconst lower = baseMessage.toLowerCase();\n\n\tif (error instanceof ToolError && error.code === \"VALIDATION_ERROR\") {\n\t\thints.add(\"Check the tool arguments for missing or invalid values.\");\n\t}\n\tif (\n\t\tlower.includes(\"permission\") ||\n\t\tlower.includes(\"eacces\") ||\n\t\tlower.includes(\"denied\")\n\t) {\n\t\thints.add(\"Verify file permissions or access rights.\");\n\t}\n\tif (lower.includes(\"not found\") || lower.includes(\"no such file\")) {\n\t\thints.add(\"Confirm the target path exists and is spelled correctly.\");\n\t}\n\tif (lower.includes(\"timeout\") || lower.includes(\"timed out\")) {\n\t\thints.add(\"Check network connectivity and retry.\");\n\t}\n\tif (lower.includes(\"rate limit\") || lower.includes(\"too many requests\")) {\n\t\thints.add(\"Wait briefly before retrying the request.\");\n\t}\n\tif (\n\t\tlower.includes(\"unauthorized\") ||\n\t\tlower.includes(\"forbidden\") ||\n\t\tlower.includes(\"api key\") ||\n\t\tlower.includes(\"credential\")\n\t) {\n\t\thints.add(\"Verify API keys or credentials for this provider.\");\n\t}\n\tif (isRetriableError(error)) {\n\t\thints.add(\"This looks transient; retrying may succeed.\");\n\t}\n\n\treturn Array.from(hints);\n}\n\nfunction formatToolErrorMessage(error: unknown): string {\n\tconst baseMessage = getErrorMessage(error);\n\tconst hints = buildToolErrorHints(error, baseMessage);\n\tif (hints.length === 0) {\n\t\treturn baseMessage;\n\t}\n\treturn `${baseMessage}\\n\\nNext steps:\\n${hints\n\t\t.map((hint) => `- ${hint}`)\n\t\t.join(\"\\n\")}`;\n}\n\nfunction buildRetrySummary(errorMessage: string): string {\n\tconst firstLine = errorMessage.split(/\\r?\\n/)[0]?.trim();\n\tif (!firstLine) {\n\t\treturn \"Awaiting retry decision\";\n\t}\n\tconst shortened =\n\t\tfirstLine.length > 80 ? `${firstLine.slice(0, 77)}...` : firstLine;\n\treturn `Retry after error: ${shortened}`;\n}\n\nfunction sleepWithSignal(ms: number, signal?: AbortSignal): Promise<void> {\n\tif (ms <= 0) return Promise.resolve();\n\tif (!signal) {\n\t\treturn new Promise((resolve) => setTimeout(resolve, ms));\n\t}\n\tif (signal.aborted) {\n\t\tconst error = new Error(\"Operation aborted\");\n\t\terror.name = \"AbortError\";\n\t\treturn Promise.reject(error);\n\t}\n\treturn new Promise((resolve, reject) => {\n\t\tconst timer = setTimeout(() => {\n\t\t\tcleanup();\n\t\t\tresolve();\n\t\t}, ms);\n\t\tconst onAbort = () => {\n\t\t\tclearTimeout(timer);\n\t\t\tcleanup();\n\t\t\tconst error = new Error(\"Operation aborted\");\n\t\t\terror.name = \"AbortError\";\n\t\t\treject(error);\n\t\t};\n\t\tconst cleanup = () => {\n\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t};\n\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t});\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Execution Promise Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Create a promise that executes the tool and returns the outcome.\n * Handles client vs server tool dispatch, audit logging, safety tracking,\n * and hook lifecycle (PostToolUse, EvalGate, PostToolUseFailure).\n */\nexport function createToolExecutionPromise(\n\tctx: ToolExecutionContext,\n): Promise<ToolExecutionOutcome> {\n\tconst {\n\t\ttoolCall,\n\t\teffectiveToolCall,\n\t\ttool,\n\t\tvalidatedArgs,\n\t\tsanitizedExecutionArgs,\n\t\tcfg,\n\t\tsignal,\n\t\tclock,\n\t\tsafetyMiddleware,\n\t\tadaptiveThresholds,\n\t\tauditLogger,\n\t\thookService,\n\t\ttoolUpdateQueue,\n\t\tclientToolExecPromise,\n\t\ttoolRetryService,\n\t\ttoolRetryConfig,\n\t\tclientToolService,\n\t\ttoolExecutionBridge,\n\t\ttoolExecutionBridgePlan,\n\t} = ctx;\n\n\tconst startTime = clock.now();\n\tconst resolvedRetryConfig = resolveToolRetryConfig(toolRetryConfig);\n\tconst toolHasRetryConfig =\n\t\ttool.maxRetries !== undefined ||\n\t\ttool.retryDelayMs !== undefined ||\n\t\ttool.shouldRetry !== undefined;\n\tconst isClientTool = tool.executionLocation === \"client\";\n\tconst allowAutoRetries =\n\t\t!isClientTool &&\n\t\t!toolHasRetryConfig &&\n\t\tresolvedRetryConfig.maxAutoRetries > 0;\n\tconst autoMaxAttempts = isClientTool\n\t\t? 1\n\t\t: toolHasRetryConfig\n\t\t\t? (tool.maxRetries ?? resolvedRetryConfig.maxAutoRetries) + 1\n\t\t\t: allowAutoRetries\n\t\t\t\t? resolvedRetryConfig.maxAutoRetries + 1\n\t\t\t\t: 1;\n\tconst retryDelay = toolHasRetryConfig\n\t\t? (tool.retryDelayMs ?? resolvedRetryConfig.initialDelayMs)\n\t\t: resolvedRetryConfig.initialDelayMs;\n\tconst shouldRetryFn = tool.shouldRetry ?? isRetryableToolError;\n\n\tconst context = cfg.sandbox ? { sandbox: cfg.sandbox } : undefined;\n\tconst onUpdate = (partialResult: AgentToolResult) => {\n\t\ttoolUpdateQueue.push({\n\t\t\ttype: \"tool_execution_update\",\n\t\t\ttoolCallId: toolCall.id,\n\t\t\ttoolName: toolCall.name,\n\t\t\targs: sanitizedExecutionArgs,\n\t\t\tpartialResult,\n\t\t});\n\t};\n\n\tconst executeToolOnce = async (): Promise<AgentToolResult> => {\n\t\tif (tool.executionLocation === \"client\") {\n\t\t\tif (!clientToolExecPromise) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Client tool execution service not configured for tool \"${tool.name}\"`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst res = await clientToolExecPromise;\n\t\t\treturn {\n\t\t\t\tcontent: res.content,\n\t\t\t\tisError: res.isError,\n\t\t\t\tdetails: undefined,\n\t\t\t} as AgentToolResult;\n\t\t}\n\t\tif (!clientToolService) {\n\t\t\treturn Promise.resolve(\n\t\t\t\ttool.execute(toolCall.id, validatedArgs, signal, context, onUpdate),\n\t\t\t);\n\t\t}\n\t\treturn runWithMcpClientToolService(clientToolService, () =>\n\t\t\ttool.execute(toolCall.id, validatedArgs, signal, context, onUpdate),\n\t\t);\n\t};\n\n\tconst executeWithRetry = async (): Promise<AgentToolResult> => {\n\t\tlet totalAttempts = 0;\n\t\tlet userRetryRounds = 0;\n\t\twhile (userRetryRounds < MAX_USER_RETRY_ROUNDS) {\n\t\t\tlet attempt = 0;\n\t\t\tlet delayMs = retryDelay;\n\t\t\tlet lastError: unknown;\n\n\t\t\twhile (attempt < autoMaxAttempts) {\n\t\t\t\tattempt += 1;\n\t\t\t\ttotalAttempts += 1;\n\t\t\t\ttry {\n\t\t\t\t\treturn await executeToolOnce();\n\t\t\t\t} catch (error: unknown) {\n\t\t\t\t\tlastError = error;\n\t\t\t\t\tif (signal?.aborted) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\tconst retryable = shouldRetryFn(error);\n\t\t\t\t\tconst isFinalAttempt = attempt >= autoMaxAttempts;\n\t\t\t\t\tif (!retryable || isFinalAttempt) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif (toolHasRetryConfig) {\n\t\t\t\t\t\t// Tool-level config: fixed delay\n\t\t\t\t\t\tawait sleepWithSignal(retryDelay, signal);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Transport-level config: exponential backoff\n\t\t\t\t\t\tconst retryAfter = parseRetryAfter(extractRetryHeaders(error));\n\t\t\t\t\t\tconst delay = Math.min(\n\t\t\t\t\t\t\tretryAfter ?? delayMs,\n\t\t\t\t\t\t\tresolvedRetryConfig.maxDelayMs,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdelayMs = retryAfter\n\t\t\t\t\t\t\t? resolvedRetryConfig.initialDelayMs\n\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\tdelayMs * resolvedRetryConfig.backoffMultiplier,\n\t\t\t\t\t\t\t\t\tresolvedRetryConfig.maxDelayMs,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\tawait sleepWithSignal(delay, signal);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!lastError) {\n\t\t\t\tthrow new Error(\"Tool execution failed without an error\");\n\t\t\t}\n\t\t\tif (!toolRetryService || !shouldRetryFn(lastError)) {\n\t\t\t\tthrow lastError;\n\t\t\t}\n\t\t\tconst errorMessage = getErrorMessage(lastError);\n\t\t\tconst request: ToolRetryRequest = {\n\t\t\t\tid: `${toolCall.id}:retry:${totalAttempts}`,\n\t\t\t\ttoolCallId: toolCall.id,\n\t\t\t\ttoolName: toolCall.name,\n\t\t\t\targs: sanitizedExecutionArgs,\n\t\t\t\terrorMessage,\n\t\t\t\tattempt: totalAttempts,\n\t\t\t\tsummary: buildRetrySummary(errorMessage),\n\t\t\t};\n\t\t\tif (toolRetryService.requiresUserInteraction()) {\n\t\t\t\ttoolUpdateQueue.push({\n\t\t\t\t\ttype: \"tool_retry_required\",\n\t\t\t\t\trequest,\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst decision: ToolRetryDecision =\n\t\t\t\tawait toolRetryService.requestDecision(request, signal);\n\t\t\tif (toolRetryService.requiresUserInteraction()) {\n\t\t\t\ttoolUpdateQueue.push({\n\t\t\t\t\ttype: \"tool_retry_resolved\",\n\t\t\t\t\trequest,\n\t\t\t\t\tdecision,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (decision.action === \"retry\") {\n\t\t\t\tif (isClientTool) {\n\t\t\t\t\t// Client tools use a pre-created promise that can't be re-executed\n\t\t\t\t\t// from the transport layer. Throw so the client can handle re-dispatch.\n\t\t\t\t\tthrow lastError;\n\t\t\t\t}\n\t\t\t\tuserRetryRounds += 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (decision.action === \"abort\") {\n\t\t\t\tconst abortError = new Error(decision.reason ?? \"Tool retry aborted\");\n\t\t\t\tabortError.name = \"AbortError\";\n\t\t\t\tthrow abortError;\n\t\t\t}\n\t\t\tthrow lastError;\n\t\t}\n\t\tthrow new Error(\n\t\t\t`Tool \"${toolCall.name}\" failed after ${MAX_USER_RETRY_ROUNDS} retry rounds`,\n\t\t);\n\t};\n\n\treturn (async () => {\n\t\ttry {\n\t\t\tconst result = await executeWithRetry();\n\n\t\t\tawait logToolExecutionAudit(\n\t\t\t\tauditLogger,\n\t\t\t\ttoolCall.name,\n\t\t\t\tsanitizedExecutionArgs,\n\t\t\t\tresult.isError ? \"failure\" : \"success\",\n\t\t\t\tclock.now() - startTime,\n\t\t\t);\n\n\t\t\tsafetyMiddleware.postExecution(\n\t\t\t\ttoolCall.name,\n\t\t\t\tvalidatedArgs,\n\t\t\t\t!result.isError,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tadaptiveThresholds.recordObservation(\n\t\t\t\tMETRICS.FAILURE_RATE,\n\t\t\t\tresult.isError ? 1 : 0,\n\t\t\t);\n\n\t\t\tconst toolResultMsg: ToolResultMessage = {\n\t\t\t\trole: \"toolResult\" as const,\n\t\t\t\ttoolCallId: toolCall.id,\n\t\t\t\ttoolName: toolCall.name,\n\t\t\t\tcontent: result.content,\n\t\t\t\tdetails: result.details,\n\t\t\t\tisError: result.isError || false,\n\t\t\t\ttimestamp: clock.now(),\n\t\t\t};\n\n\t\t\tif (hookService && !result.isError) {\n\t\t\t\tconst postHookResult = await hookService.runPostToolUseHooks(\n\t\t\t\t\teffectiveToolCall,\n\t\t\t\t\ttoolResultMsg,\n\t\t\t\t\tsignal,\n\t\t\t\t);\n\t\t\t\tif (postHookResult.additionalContext) {\n\t\t\t\t\ttoolResultMsg.content = [\n\t\t\t\t\t\t...toolResultMsg.content,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\t\ttext: `\\n[Hook context]: ${postHookResult.additionalContext}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t\tif (postHookResult.preventContinuation) {\n\t\t\t\t\ttoolResultMsg.content = [\n\t\t\t\t\t\t...toolResultMsg.content,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\t\ttext: `\\n[Hook stop]: ${postHookResult.stopReason ?? \"Hook requested stop\"}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t\ttoolResultMsg.isError = true;\n\t\t\t\t}\n\t\t\t\tif (postHookResult.assertions?.length || postHookResult.evaluation) {\n\t\t\t\t\tconst mergedDetails: Record<string, unknown> =\n\t\t\t\t\t\ttoolResultMsg.details && typeof toolResultMsg.details === \"object\"\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...(toolResultMsg.details as Record<string, unknown>),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {};\n\t\t\t\t\tif (postHookResult.evaluation) {\n\t\t\t\t\t\tmergedDetails.evaluation = postHookResult.evaluation;\n\t\t\t\t\t}\n\t\t\t\t\tif (postHookResult.assertions?.length) {\n\t\t\t\t\t\tmergedDetails.assertions = postHookResult.assertions;\n\t\t\t\t\t}\n\t\t\t\t\ttoolResultMsg.details = mergedDetails as typeof toolResultMsg.details;\n\t\t\t\t}\n\n\t\t\t\tconst evalHookResult = await hookService.runEvalGateHooks(\n\t\t\t\t\teffectiveToolCall,\n\t\t\t\t\ttoolResultMsg,\n\t\t\t\t\tsignal,\n\t\t\t\t);\n\n\t\t\t\tif (evalHookResult.additionalContext) {\n\t\t\t\t\ttoolResultMsg.content = [\n\t\t\t\t\t\t...toolResultMsg.content,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\t\ttext: `\\n[Hook context]: ${evalHookResult.additionalContext}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\tif (evalHookResult.assertions?.length || evalHookResult.evaluation) {\n\t\t\t\t\tconst mergedDetails: Record<string, unknown> =\n\t\t\t\t\t\ttoolResultMsg.details && typeof toolResultMsg.details === \"object\"\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...(toolResultMsg.details as Record<string, unknown>),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {};\n\t\t\t\t\tif (\n\t\t\t\t\t\tevalHookResult.evaluation &&\n\t\t\t\t\t\tObject.keys(evalHookResult.evaluation).length > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tmergedDetails.evaluation = evalHookResult.evaluation;\n\t\t\t\t\t}\n\t\t\t\t\tif (evalHookResult.assertions?.length) {\n\t\t\t\t\t\tmergedDetails.assertions = evalHookResult.assertions;\n\t\t\t\t\t}\n\t\t\t\t\ttoolResultMsg.details = mergedDetails as typeof toolResultMsg.details;\n\t\t\t\t}\n\n\t\t\t\tif (evalHookResult.preventContinuation) {\n\t\t\t\t\ttoolResultMsg.content = [\n\t\t\t\t\t\t...toolResultMsg.content,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\t\ttext: `\\n[Hook stop]: ${evalHookResult.stopReason ?? \"Hook requested stop\"}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t\ttoolResultMsg.isError = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst observed =\n\t\t\t\ttoolExecutionBridge && toolExecutionBridgePlan?.kind === \"observe\"\n\t\t\t\t\t? await toolExecutionBridge.recordObservation(\n\t\t\t\t\t\t\ttoolExecutionBridgePlan as ObserveToolExecutionPlan,\n\t\t\t\t\t\t\ttoolResultMsg,\n\t\t\t\t\t\t\tsignal,\n\t\t\t\t\t\t)\n\t\t\t\t\t: undefined;\n\t\t\tconst governedOutput =\n\t\t\t\ttoolExecutionBridge && toolExecutionBridgePlan?.kind === \"governed\"\n\t\t\t\t\t? await toolExecutionBridge.recordGovernedOutput(\n\t\t\t\t\t\t\ttoolExecutionBridgePlan,\n\t\t\t\t\t\t\ttoolResultMsg,\n\t\t\t\t\t\t\tclock.now() - startTime,\n\t\t\t\t\t\t\tsignal,\n\t\t\t\t\t\t)\n\t\t\t\t\t: undefined;\n\n\t\t\treturn {\n\t\t\t\tmessage: toolResultMsg,\n\t\t\t\tisError: toolResultMsg.isError,\n\t\t\t\t...buildObservedResultMetadata(\n\t\t\t\t\ttoolExecutionBridgePlan,\n\t\t\t\t\tobserved ?? governedOutput,\n\t\t\t\t),\n\t\t\t};\n\t\t} catch (error: unknown) {\n\t\t\tif (error instanceof Error && error.name === \"AbortError\") {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst baseErrorMessage = getErrorMessage(error);\n\t\t\tconst formattedMessage = formatToolErrorMessage(error);\n\n\t\t\tawait logToolExecutionAudit(\n\t\t\t\tauditLogger,\n\t\t\t\ttoolCall.name,\n\t\t\t\tsafetyMiddleware.sanitizeForLogging(validatedArgs),\n\t\t\t\t\"failure\",\n\t\t\t\tclock.now() - startTime,\n\t\t\t\tbaseErrorMessage,\n\t\t\t);\n\n\t\t\tsafetyMiddleware.postExecution(toolCall.name, validatedArgs, false, true);\n\t\t\tadaptiveThresholds.recordObservation(METRICS.FAILURE_RATE, 1);\n\n\t\t\tconst toolResultMsg: ToolResultMessage = {\n\t\t\t\trole: \"toolResult\" as const,\n\t\t\t\ttoolCallId: toolCall.id,\n\t\t\t\ttoolName: toolCall.name,\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\ttext: formattedMessage,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdetails: error instanceof ToolError ? error.details : undefined,\n\t\t\t\tisError: true,\n\t\t\t\ttimestamp: clock.now(),\n\t\t\t};\n\n\t\t\tif (hookService) {\n\t\t\t\tconst failureHookResult = await hookService.runPostToolUseFailureHooks(\n\t\t\t\t\teffectiveToolCall,\n\t\t\t\t\tbaseErrorMessage,\n\t\t\t\t\tsignal,\n\t\t\t\t);\n\t\t\t\tif (failureHookResult.additionalContext) {\n\t\t\t\t\ttoolResultMsg.content = [\n\t\t\t\t\t\t...toolResultMsg.content,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\" as const,\n\t\t\t\t\t\t\ttext: `\\n[Hook context]: ${failureHookResult.additionalContext}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst observed =\n\t\t\t\ttoolExecutionBridge && toolExecutionBridgePlan?.kind === \"observe\"\n\t\t\t\t\t? await toolExecutionBridge.recordObservation(\n\t\t\t\t\t\t\ttoolExecutionBridgePlan as ObserveToolExecutionPlan,\n\t\t\t\t\t\t\ttoolResultMsg,\n\t\t\t\t\t\t\tsignal,\n\t\t\t\t\t\t)\n\t\t\t\t\t: undefined;\n\t\t\tconst governedOutput =\n\t\t\t\ttoolExecutionBridge && toolExecutionBridgePlan?.kind === \"governed\"\n\t\t\t\t\t? await toolExecutionBridge.recordGovernedOutput(\n\t\t\t\t\t\t\ttoolExecutionBridgePlan,\n\t\t\t\t\t\t\ttoolResultMsg,\n\t\t\t\t\t\t\tclock.now() - startTime,\n\t\t\t\t\t\t\tsignal,\n\t\t\t\t\t\t)\n\t\t\t\t\t: undefined;\n\n\t\t\treturn {\n\t\t\t\tmessage: toolResultMsg,\n\t\t\t\tisError: true,\n\t\t\t\t...buildObservedResultMetadata(\n\t\t\t\t\ttoolExecutionBridgePlan,\n\t\t\t\t\tobserved ?? governedOutput,\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t})();\n}\n"]}
|
|
@@ -12,6 +12,7 @@ import type { WorkflowStateTracker } from "../../safety/workflow-state.js";
|
|
|
12
12
|
import type { Clock } from "../../utils/clock.js";
|
|
13
13
|
import type { ActionApprovalService } from "../action-approval.js";
|
|
14
14
|
import type { AgentEvent, AgentRunConfig, AgentTool, Message, ToolCall, ToolResultMessage } from "../types.js";
|
|
15
|
+
import type { PlatformToolExecutionBridge, ToolExecutionBridgePlan } from "./tool-execution-bridge.js";
|
|
15
16
|
import { type ToolAuditLogger } from "./transport-utils.js";
|
|
16
17
|
export type ToolSafetyVerdict = {
|
|
17
18
|
outcome: "blocked";
|
|
@@ -23,6 +24,7 @@ export type ToolSafetyVerdict = {
|
|
|
23
24
|
toolDef: AgentTool;
|
|
24
25
|
events: AgentEvent[];
|
|
25
26
|
sanitizedExecutionArgs: Record<string, unknown>;
|
|
27
|
+
toolExecutionBridgePlan?: ToolExecutionBridgePlan;
|
|
26
28
|
};
|
|
27
29
|
export interface ToolSafetyContext {
|
|
28
30
|
toolCall: ToolCall;
|
|
@@ -36,6 +38,7 @@ export interface ToolSafetyContext {
|
|
|
36
38
|
adaptiveThresholds: AdaptiveThresholds;
|
|
37
39
|
auditLogger?: ToolAuditLogger;
|
|
38
40
|
approvalService?: ActionApprovalService;
|
|
41
|
+
toolExecutionBridge?: PlatformToolExecutionBridge;
|
|
39
42
|
hookService?: {
|
|
40
43
|
runPreToolUseHooks: (toolCall: ToolCall, signal?: AbortSignal) => Promise<{
|
|
41
44
|
blocked?: boolean;
|
|
@@ -56,7 +59,10 @@ export interface ToolSafetyContext {
|
|
|
56
59
|
rateWindowMs: number;
|
|
57
60
|
rateLimit: number;
|
|
58
61
|
};
|
|
59
|
-
emitToolResult: (message: ToolResultMessage, toolCall: ToolCall, isError: boolean
|
|
62
|
+
emitToolResult: (message: ToolResultMessage, toolCall: ToolCall, isError: boolean, metadata?: {
|
|
63
|
+
toolExecutionId?: string;
|
|
64
|
+
approvalRequestId?: string;
|
|
65
|
+
}) => AgentEvent[];
|
|
60
66
|
}
|
|
61
67
|
interface RateLimitUpdate {
|
|
62
68
|
toolCallsThisMinute: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-safety-pipeline.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/tool-safety-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-safety-pipeline.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/tool-safety-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAM3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,OAAO,KAAK,EAEX,qBAAqB,EACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACX,UAAU,EACV,cAAc,EACd,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACX,2BAA2B,EAE3B,uBAAuB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,KAAK,eAAe,EAIpB,MAAM,sBAAsB,CAAC;AAQ9B,MAAM,MAAM,iBAAiB,GAC1B;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,GAC5C;IACA,OAAO,EAAE,SAAS,CAAC;IACnB,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;CACjD,CAAC;AAEL,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,oBAAoB,CAAC;IACpC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAClD,WAAW,CAAC,EAAE;QACb,kBAAkB,EAAE,CACnB,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,WAAW,KAChB,OAAO,CAAC;YACZ,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACvC,CAAC,CAAC;QACH,yBAAyB,CAAC,EAAE,CAC3B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,KAChB,OAAO,CAAC;YACZ,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;YAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACvC,CAAC,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,cAAc,CAAC;IAEzB,cAAc,EAAE;QACf,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,mBAAmB,EAAE,MAAM,CAAC;QAC5B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,cAAc,EAAE,CACf,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE;QACV,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC3B,KACG,UAAU,EAAE,CAAC;CAClB;AA4LD,UAAU,eAAe;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAMD;;;GAGG;AACH,wBAAuB,kBAAkB,CACxC,GAAG,EAAE,iBAAiB,GACpB,cAAc,CAChB,UAAU,EACV;IAAE,OAAO,EAAE,iBAAiB,CAAC;IAAC,eAAe,EAAE,eAAe,CAAA;CAAE,CAChE,CAqmBA"}
|