@evalops/maestro 0.10.18 → 0.10.20
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 +56 -1
- package/dist/agent/action-approval.d.ts +12 -2
- package/dist/agent/action-approval.d.ts.map +1 -1
- package/dist/agent/action-approval.js +19 -32
- package/dist/agent/action-approval.js.map +1 -1
- package/dist/agent/agent.d.ts +1 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +26 -0
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/compaction.d.ts +2 -0
- package/dist/agent/compaction.d.ts.map +1 -1
- package/dist/agent/compaction.js +4 -2
- package/dist/agent/compaction.js.map +1 -1
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/modes.d.ts +56 -4
- package/dist/agent/modes.d.ts.map +1 -1
- package/dist/agent/modes.js +163 -2
- package/dist/agent/modes.js.map +1 -1
- package/dist/agent/prompt-recovery.d.ts.map +1 -1
- package/dist/agent/prompt-recovery.js +1 -3
- package/dist/agent/prompt-recovery.js.map +1 -1
- package/dist/agent/providers/anthropic.d.ts.map +1 -1
- package/dist/agent/providers/anthropic.js +9 -1
- package/dist/agent/providers/anthropic.js.map +1 -1
- package/dist/agent/providers/codex-app-server.d.ts +12 -0
- package/dist/agent/providers/codex-app-server.d.ts.map +1 -0
- package/dist/agent/providers/codex-app-server.js +788 -0
- package/dist/agent/providers/codex-app-server.js.map +1 -0
- package/dist/agent/providers/google-gemini-cli.js +14 -3
- package/dist/agent/providers/google.js +22 -3
- package/dist/agent/providers/scripted.d.ts +11 -0
- package/dist/agent/providers/scripted.d.ts.map +1 -0
- package/dist/agent/providers/scripted.js +399 -0
- package/dist/agent/providers/scripted.js.map +1 -0
- package/dist/agent/providers/vertex.js +14 -3
- package/dist/agent/scenario-source.d.ts +19 -0
- package/dist/agent/scenario-source.d.ts.map +1 -0
- package/dist/agent/scenario-source.js +112 -0
- package/dist/agent/scenario-source.js.map +1 -0
- package/dist/agent/subagent-specs.d.ts +1 -1
- package/dist/agent/subagent-specs.js +1 -1
- package/dist/agent/subagent-specs.js.map +1 -1
- package/dist/agent/swarm/executor.d.ts +25 -0
- package/dist/agent/swarm/executor.d.ts.map +1 -1
- package/dist/agent/swarm/executor.js +795 -20
- package/dist/agent/swarm/executor.js.map +1 -1
- package/dist/agent/swarm/runtime-events.d.ts +11 -0
- package/dist/agent/swarm/runtime-events.d.ts.map +1 -0
- package/dist/agent/swarm/runtime-events.js +26 -0
- package/dist/agent/swarm/runtime-events.js.map +1 -0
- package/dist/agent/swarm/types.d.ts +78 -0
- package/dist/agent/swarm/types.d.ts.map +1 -1
- package/dist/agent/swarm/types.js.map +1 -1
- package/dist/agent/tracing.d.ts +1 -1
- package/dist/agent/tracing.d.ts.map +1 -1
- package/dist/agent/tracing.js +17 -9
- 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 +14 -0
- package/dist/agent/transport/create-provider-stream.js.map +1 -1
- package/dist/agent/transport/stable-stringify.d.ts +2 -0
- package/dist/agent/transport/stable-stringify.d.ts.map +1 -0
- package/dist/agent/transport/stable-stringify.js +14 -0
- package/dist/agent/transport/stable-stringify.js.map +1 -0
- package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
- package/dist/agent/transport/tool-execution-bridge.js +2 -15
- package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
- package/dist/agent/transport/tool-safety-pipeline.d.ts +5 -1
- package/dist/agent/transport/tool-safety-pipeline.d.ts.map +1 -1
- package/dist/agent/transport/tool-safety-pipeline.js +184 -36
- package/dist/agent/transport/tool-safety-pipeline.js.map +1 -1
- package/dist/agent/transport.d.ts +8 -0
- package/dist/agent/transport.d.ts.map +1 -1
- package/dist/agent/transport.js +1613 -68
- package/dist/agent/transport.js.map +1 -1
- package/dist/agent/types.d.ts +170 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/api/enterprise-routes.d.ts.map +1 -1
- package/dist/api/enterprise-routes.js +34 -3
- package/dist/api/enterprise-routes.js.map +1 -1
- package/dist/app-server/in-process-client.d.ts +32 -0
- package/dist/app-server/in-process-client.d.ts.map +1 -0
- package/dist/app-server/in-process-client.js +73 -0
- package/dist/app-server/in-process-client.js.map +1 -0
- package/dist/app-server/session-api.d.ts +36 -0
- package/dist/app-server/session-api.d.ts.map +1 -0
- package/dist/app-server/session-api.js +713 -0
- package/dist/app-server/session-api.js.map +1 -0
- package/dist/approvals/platform-action-approval.d.ts +3 -1
- package/dist/approvals/platform-action-approval.d.ts.map +1 -1
- package/dist/approvals/platform-action-approval.js +16 -9
- package/dist/approvals/platform-action-approval.js.map +1 -1
- package/dist/approvals/service-client.d.ts.map +1 -1
- package/dist/approvals/service-client.js +7 -7
- package/dist/approvals/service-client.js.map +1 -1
- package/dist/audit/logger.d.ts +4 -4
- package/dist/bootstrap/agent-creation-setup.d.ts +4 -0
- package/dist/bootstrap/agent-creation-setup.d.ts.map +1 -1
- package/dist/bootstrap/agent-creation-setup.js +3 -1
- package/dist/bootstrap/agent-creation-setup.js.map +1 -1
- package/dist/bootstrap/auth-setup.js +1 -1
- package/dist/bootstrap/auth-setup.js.map +1 -1
- package/dist/bootstrap/event-subscriptions-setup.d.ts +6 -0
- package/dist/bootstrap/event-subscriptions-setup.d.ts.map +1 -1
- package/dist/bootstrap/event-subscriptions-setup.js +26 -2
- package/dist/bootstrap/event-subscriptions-setup.js.map +1 -1
- package/dist/bootstrap/model-resolution-setup.d.ts.map +1 -1
- package/dist/bootstrap/model-resolution-setup.js +4 -1
- package/dist/bootstrap/model-resolution-setup.js.map +1 -1
- package/dist/bootstrap/tools-setup.d.ts +2 -1
- package/dist/bootstrap/tools-setup.d.ts.map +1 -1
- package/dist/bootstrap/tools-setup.js +5 -1
- package/dist/bootstrap/tools-setup.js.map +1 -1
- package/dist/cli/args.d.ts +9 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +130 -5
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/a2a.d.ts +9 -0
- package/dist/cli/commands/a2a.d.ts.map +1 -0
- package/dist/cli/commands/a2a.js +1714 -0
- package/dist/cli/commands/a2a.js.map +1 -0
- package/dist/cli/commands/agents.d.ts +16 -2
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +223 -35
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/codex.d.ts +1 -1
- package/dist/cli/commands/codex.d.ts.map +1 -1
- package/dist/cli/commands/codex.js +145 -39
- package/dist/cli/commands/codex.js.map +1 -1
- package/dist/cli/commands/context.d.ts +10 -0
- package/dist/cli/commands/context.d.ts.map +1 -0
- package/dist/cli/commands/context.js +176 -0
- package/dist/cli/commands/context.js.map +1 -0
- package/dist/cli/commands/hosted-runner.d.ts +1 -0
- package/dist/cli/commands/hosted-runner.d.ts.map +1 -1
- package/dist/cli/commands/hosted-runner.js +9 -1
- package/dist/cli/commands/hosted-runner.js.map +1 -1
- package/dist/cli/commands/modes.d.ts +8 -0
- package/dist/cli/commands/modes.d.ts.map +1 -0
- package/dist/cli/commands/modes.js +151 -0
- package/dist/cli/commands/modes.js.map +1 -0
- package/dist/cli/commands/operating-plane.d.ts +14 -0
- package/dist/cli/commands/operating-plane.d.ts.map +1 -0
- package/dist/cli/commands/operating-plane.js +160 -0
- package/dist/cli/commands/operating-plane.js.map +1 -0
- package/dist/cli/commands/run.d.ts +87 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +356 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/scenario.d.ts +7 -0
- package/dist/cli/commands/scenario.d.ts.map +1 -0
- package/dist/cli/commands/scenario.js +195 -0
- package/dist/cli/commands/scenario.js.map +1 -0
- package/dist/cli/commands/skill.d.ts +7 -0
- package/dist/cli/commands/skill.d.ts.map +1 -0
- package/dist/cli/commands/skill.js +286 -0
- package/dist/cli/commands/skill.js.map +1 -0
- package/dist/cli/headless-protocol.d.ts +55 -1
- package/dist/cli/headless-protocol.d.ts.map +1 -1
- package/dist/cli/headless-protocol.js +446 -7
- package/dist/cli/headless-protocol.js.map +1 -1
- package/dist/cli/headless-runtime-selection.d.ts +38 -0
- package/dist/cli/headless-runtime-selection.d.ts.map +1 -0
- package/dist/cli/headless-runtime-selection.js +48 -0
- package/dist/cli/headless-runtime-selection.js.map +1 -0
- package/dist/cli/headless.d.ts +5 -1
- package/dist/cli/headless.d.ts.map +1 -1
- package/dist/cli/headless.js +11 -1
- package/dist/cli/headless.js.map +1 -1
- package/dist/cli/help.d.ts +3 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +135 -30
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/system-prompt.d.ts +22 -4
- package/dist/cli/system-prompt.d.ts.map +1 -1
- package/dist/cli/system-prompt.js +224 -127
- package/dist/cli/system-prompt.js.map +1 -1
- package/dist/cli-tui/commands/a2a-handlers.d.ts +7 -0
- package/dist/cli-tui/commands/a2a-handlers.d.ts.map +1 -0
- package/dist/cli-tui/commands/a2a-handlers.js +160 -0
- package/dist/cli-tui/commands/a2a-handlers.js.map +1 -0
- package/dist/cli-tui/commands/command-catalog.d.ts.map +1 -1
- package/dist/cli-tui/commands/command-catalog.js +15 -0
- package/dist/cli-tui/commands/command-catalog.js.map +1 -1
- package/dist/cli-tui/commands/command-registry-adapter.js +10 -1
- package/dist/cli-tui/commands/command-registry-adapter.js.map +1 -1
- package/dist/cli-tui/commands/handlers/mode-handler.d.ts.map +1 -1
- package/dist/cli-tui/commands/handlers/mode-handler.js +22 -10
- package/dist/cli-tui/commands/handlers/mode-handler.js.map +1 -1
- package/dist/cli-tui/commands/mcp-handlers.d.ts.map +1 -1
- package/dist/cli-tui/commands/mcp-handlers.js +6 -5
- package/dist/cli-tui/commands/mcp-handlers.js.map +1 -1
- package/dist/cli-tui/commands/types.d.ts +1 -0
- 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/commands/utility-handlers.d.ts +4 -0
- package/dist/cli-tui/commands/utility-handlers.d.ts.map +1 -1
- package/dist/cli-tui/commands/utility-handlers.js +45 -6
- package/dist/cli-tui/commands/utility-handlers.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 +14 -5
- 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 +14 -5
- package/dist/cli-tui/run/streaming-shell-command.js.map +1 -1
- package/dist/cli-tui/selectors/model-selector.d.ts +1 -0
- package/dist/cli-tui/selectors/model-selector.d.ts.map +1 -1
- package/dist/cli-tui/selectors/model-selector.js +6 -2
- package/dist/cli-tui/selectors/model-selector.js.map +1 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.js +5 -0
- package/dist/cli-tui/tui-renderer/command-registry-options.js.map +1 -1
- package/dist/cli-tui/utils/commands/review-prompt.d.ts +1 -1
- package/dist/cli-tui/utils/commands/review-prompt.d.ts.map +1 -1
- package/dist/cli-tui/utils/commands/review-prompt.js +8 -3
- package/dist/cli-tui/utils/commands/review-prompt.js.map +1 -1
- package/dist/cli-tui/utils/runtime-badges.d.ts +1 -0
- package/dist/cli-tui/utils/runtime-badges.d.ts.map +1 -1
- package/dist/cli-tui/utils/runtime-badges.js +7 -0
- package/dist/cli-tui/utils/runtime-badges.js.map +1 -1
- package/dist/cli-tui/utils/text-formatting.d.ts +1 -0
- package/dist/cli-tui/utils/text-formatting.d.ts.map +1 -1
- package/dist/cli-tui/utils/text-formatting.js +5 -0
- package/dist/cli-tui/utils/text-formatting.js.map +1 -1
- package/dist/cli.js +49158 -26161
- package/dist/cli.js.map +1 -1
- package/dist/codex/app-server-client.d.ts +139 -0
- package/dist/codex/app-server-client.d.ts.map +1 -0
- package/dist/codex/app-server-client.js +352 -0
- package/dist/codex/app-server-client.js.map +1 -0
- package/dist/codex/compatibility.d.ts +48 -0
- package/dist/codex/compatibility.d.ts.map +1 -0
- package/dist/codex/compatibility.js +344 -0
- package/dist/codex/compatibility.js.map +1 -0
- package/dist/codex/subagent-dispatch-table.d.ts +66 -0
- package/dist/codex/subagent-dispatch-table.d.ts.map +1 -0
- package/dist/codex/subagent-dispatch-table.js +127 -0
- package/dist/codex/subagent-dispatch-table.js.map +1 -0
- package/dist/codex/subagent-workgraph.d.ts +56 -0
- package/dist/codex/subagent-workgraph.d.ts.map +1 -0
- package/dist/codex/subagent-workgraph.js +89 -0
- package/dist/codex/subagent-workgraph.js.map +1 -0
- package/dist/config/constants.d.ts +3 -1
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +9 -0
- package/dist/config/constants.js.map +1 -1
- package/dist/config/feature-flags.d.ts +10 -1
- package/dist/config/feature-flags.d.ts.map +1 -1
- package/dist/config/feature-flags.js +17 -6
- package/dist/config/feature-flags.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/toml-config.d.ts +32 -0
- package/dist/config/toml-config.d.ts.map +1 -1
- package/dist/config/toml-config.js +152 -43
- package/dist/config/toml-config.js.map +1 -1
- package/dist/connectors/service-client.d.ts.map +1 -1
- package/dist/connectors/service-client.js +4 -7
- package/dist/connectors/service-client.js.map +1 -1
- package/dist/context/manifest-types.d.ts +59 -0
- package/dist/context/manifest-types.d.ts.map +1 -0
- package/dist/context/manifest-types.js +2 -0
- package/dist/context/manifest-types.js.map +1 -0
- package/dist/context/manifest.d.ts +16 -0
- package/dist/context/manifest.d.ts.map +1 -0
- package/dist/context/manifest.js +503 -0
- package/dist/context/manifest.js.map +1 -0
- package/dist/db/schema.d.ts +10 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/evalops/env-aliases.d.ts +13 -0
- package/dist/evalops/env-aliases.d.ts.map +1 -0
- package/dist/evalops/env-aliases.js +60 -0
- package/dist/evalops/env-aliases.js.map +1 -0
- package/dist/evalops/managed-context.d.ts.map +1 -1
- package/dist/evalops/managed-context.js +28 -62
- package/dist/evalops/managed-context.js.map +1 -1
- package/dist/guardian/config.d.ts.map +1 -1
- package/dist/guardian/config.js +1 -0
- package/dist/guardian/config.js.map +1 -1
- package/dist/guardian/runner.d.ts +2 -0
- package/dist/guardian/runner.d.ts.map +1 -1
- package/dist/guardian/runner.js +105 -2
- package/dist/guardian/runner.js.map +1 -1
- package/dist/guardian/types.d.ts +1 -0
- package/dist/guardian/types.d.ts.map +1 -1
- package/dist/guardian/types.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +267 -55
- package/dist/main.js.map +1 -1
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +89 -7
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/manager.d.ts +5 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +159 -4
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/platform-plugin.d.ts.map +1 -1
- package/dist/mcp/platform-plugin.js +9 -26
- package/dist/mcp/platform-plugin.js.map +1 -1
- package/dist/mcp/schema.d.ts +15 -0
- package/dist/mcp/schema.d.ts.map +1 -1
- package/dist/mcp/schema.js +24 -0
- package/dist/mcp/schema.js.map +1 -1
- package/dist/mcp/tool-bridge.d.ts +39 -10
- package/dist/mcp/tool-bridge.d.ts.map +1 -1
- package/dist/mcp/tool-bridge.js +101 -24
- package/dist/mcp/tool-bridge.js.map +1 -1
- package/dist/mcp/types.d.ts +27 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js.map +1 -1
- package/dist/mcp/workspace-trust.d.ts +10 -0
- package/dist/mcp/workspace-trust.d.ts.map +1 -0
- package/dist/mcp/workspace-trust.js +295 -0
- package/dist/mcp/workspace-trust.js.map +1 -0
- package/dist/memory/service-client.d.ts +1 -0
- package/dist/memory/service-client.d.ts.map +1 -1
- package/dist/memory/service-client.js +194 -9
- package/dist/memory/service-client.js.map +1 -1
- package/dist/models/builtin.d.ts.map +1 -1
- package/dist/models/builtin.js +66 -25
- 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 +2 -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/device-identity.d.ts.map +1 -1
- package/dist/oauth/device-identity.js +1 -3
- package/dist/oauth/device-identity.js.map +1 -1
- package/dist/oauth/evalops.d.ts.map +1 -1
- package/dist/oauth/evalops.js +2 -5
- package/dist/oauth/evalops.js.map +1 -1
- package/dist/opentelemetry.d.ts.map +1 -1
- package/dist/opentelemetry.js +12 -12
- package/dist/opentelemetry.js.map +1 -1
- package/dist/package-version.d.ts +2 -0
- package/dist/package-version.d.ts.map +1 -0
- package/dist/package-version.js +11 -0
- package/dist/package-version.js.map +1 -0
- package/dist/packages/constants.d.ts +3 -0
- package/dist/packages/constants.d.ts.map +1 -0
- package/dist/packages/constants.js +3 -0
- package/dist/packages/constants.js.map +1 -0
- package/dist/packages/inspection.d.ts.map +1 -1
- package/dist/packages/inspection.js +2 -1
- package/dist/packages/inspection.js.map +1 -1
- package/dist/packages/search.d.ts.map +1 -1
- package/dist/packages/search.js +1 -1
- package/dist/packages/search.js.map +1 -1
- package/dist/platform/a2a-capability-market.d.ts +21 -0
- package/dist/platform/a2a-capability-market.d.ts.map +1 -0
- package/dist/platform/a2a-capability-market.js +176 -0
- package/dist/platform/a2a-capability-market.js.map +1 -0
- package/dist/platform/a2a-client.d.ts +119 -0
- package/dist/platform/a2a-client.d.ts.map +1 -1
- package/dist/platform/a2a-client.js +413 -24
- package/dist/platform/a2a-client.js.map +1 -1
- package/dist/platform/a2a-fleet.d.ts +41 -0
- package/dist/platform/a2a-fleet.d.ts.map +1 -0
- package/dist/platform/a2a-fleet.js +109 -0
- package/dist/platform/a2a-fleet.js.map +1 -0
- package/dist/platform/a2a-maestro-peer.d.ts +20 -0
- package/dist/platform/a2a-maestro-peer.d.ts.map +1 -0
- package/dist/platform/a2a-maestro-peer.js +176 -0
- package/dist/platform/a2a-maestro-peer.js.map +1 -0
- package/dist/platform/a2a-peer-pairing.d.ts +107 -0
- package/dist/platform/a2a-peer-pairing.d.ts.map +1 -0
- package/dist/platform/a2a-peer-pairing.js +489 -0
- package/dist/platform/a2a-peer-pairing.js.map +1 -0
- package/dist/platform/a2a-peer-registry.d.ts +68 -0
- package/dist/platform/a2a-peer-registry.d.ts.map +1 -0
- package/dist/platform/a2a-peer-registry.js +320 -0
- package/dist/platform/a2a-peer-registry.js.map +1 -0
- package/dist/platform/a2a-task-ledger.d.ts +86 -0
- package/dist/platform/a2a-task-ledger.d.ts.map +1 -0
- package/dist/platform/a2a-task-ledger.js +546 -0
- package/dist/platform/a2a-task-ledger.js.map +1 -0
- package/dist/platform/a2a-work-graph.d.ts +43 -0
- package/dist/platform/a2a-work-graph.d.ts.map +1 -0
- package/dist/platform/a2a-work-graph.js +267 -0
- package/dist/platform/a2a-work-graph.js.map +1 -0
- package/dist/platform/agent-registry-client.d.ts +327 -0
- package/dist/platform/agent-registry-client.d.ts.map +1 -0
- package/dist/platform/agent-registry-client.js +803 -0
- package/dist/platform/agent-registry-client.js.map +1 -0
- package/dist/platform/agent-runtime-client.d.ts +135 -1
- package/dist/platform/agent-runtime-client.d.ts.map +1 -1
- package/dist/platform/agent-runtime-client.js +467 -10
- package/dist/platform/agent-runtime-client.js.map +1 -1
- package/dist/platform/cerebro-facts-client.d.ts.map +1 -1
- package/dist/platform/cerebro-facts-client.js +4 -7
- package/dist/platform/cerebro-facts-client.js.map +1 -1
- package/dist/platform/client.d.ts.map +1 -1
- package/dist/platform/client.js +3 -12
- package/dist/platform/client.js.map +1 -1
- package/dist/platform/core-services.d.ts +68 -0
- package/dist/platform/core-services.d.ts.map +1 -1
- package/dist/platform/core-services.js +68 -0
- package/dist/platform/core-services.js.map +1 -1
- package/dist/platform/fermata-eval-client.d.ts +195 -0
- package/dist/platform/fermata-eval-client.d.ts.map +1 -0
- package/dist/platform/fermata-eval-client.js +146 -0
- package/dist/platform/fermata-eval-client.js.map +1 -0
- package/dist/platform/fermata-scenario-suite.d.ts +99 -0
- package/dist/platform/fermata-scenario-suite.d.ts.map +1 -0
- package/dist/platform/fermata-scenario-suite.js +459 -0
- package/dist/platform/fermata-scenario-suite.js.map +1 -0
- package/dist/platform/maestro-timeline-client.d.ts.map +1 -1
- package/dist/platform/maestro-timeline-client.js +5 -11
- package/dist/platform/maestro-timeline-client.js.map +1 -1
- package/dist/platform/operating-plane-client.d.ts +156 -0
- package/dist/platform/operating-plane-client.d.ts.map +1 -0
- package/dist/platform/operating-plane-client.js +131 -0
- package/dist/platform/operating-plane-client.js.map +1 -0
- package/dist/platform/operating-plane-summary.d.ts +47 -0
- package/dist/platform/operating-plane-summary.d.ts.map +1 -0
- package/dist/platform/operating-plane-summary.js +209 -0
- package/dist/platform/operating-plane-summary.js.map +1 -0
- package/dist/platform/tool-execution-client.d.ts.map +1 -1
- package/dist/platform/tool-execution-client.js +4 -11
- package/dist/platform/tool-execution-client.js.map +1 -1
- package/dist/prompts/service-client.d.ts.map +1 -1
- package/dist/prompts/service-client.js +3 -5
- package/dist/prompts/service-client.js.map +1 -1
- package/dist/prompts/system-prompt.d.ts +3 -0
- package/dist/prompts/system-prompt.d.ts.map +1 -1
- package/dist/prompts/system-prompt.js +13 -3
- package/dist/prompts/system-prompt.js.map +1 -1
- package/dist/prompts/types.d.ts +2 -0
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/prompts/types.js.map +1 -1
- package/dist/providers/api-keys.d.ts +1 -1
- package/dist/providers/api-keys.d.ts.map +1 -1
- package/dist/providers/api-keys.js +2 -1
- package/dist/providers/api-keys.js.map +1 -1
- package/dist/providers/auth.d.ts.map +1 -1
- package/dist/providers/auth.js +48 -25
- package/dist/providers/auth.js.map +1 -1
- package/dist/remote-runner/attach-client.d.ts.map +1 -1
- package/dist/remote-runner/attach-client.js +1 -0
- package/dist/remote-runner/attach-client.js.map +1 -1
- package/dist/remote-runner/client.d.ts.map +1 -1
- package/dist/remote-runner/client.js +4 -7
- package/dist/remote-runner/client.js.map +1 -1
- package/dist/rpc/rpc-types.d.ts.map +1 -1
- package/dist/rpc/rpc-types.js +1 -0
- package/dist/rpc/rpc-types.js.map +1 -1
- package/dist/safety/action-firewall.d.ts.map +1 -1
- package/dist/safety/action-firewall.js +69 -6
- package/dist/safety/action-firewall.js.map +1 -1
- package/dist/safety/attack-patterns.d.ts.map +1 -1
- package/dist/safety/attack-patterns.js +31 -14
- package/dist/safety/attack-patterns.js.map +1 -1
- package/dist/safety/bash-parser.d.ts.map +1 -1
- package/dist/safety/bash-parser.js +4 -3
- package/dist/safety/bash-parser.js.map +1 -1
- package/dist/safety/execpolicy.d.ts +15 -3
- package/dist/safety/execpolicy.d.ts.map +1 -1
- package/dist/safety/execpolicy.js +248 -37
- package/dist/safety/execpolicy.js.map +1 -1
- package/dist/safety/governance-service-client.d.ts.map +1 -1
- package/dist/safety/governance-service-client.js +4 -7
- package/dist/safety/governance-service-client.js.map +1 -1
- package/dist/safety/guarded-files.d.ts +34 -0
- package/dist/safety/guarded-files.d.ts.map +1 -0
- package/dist/safety/guarded-files.js +372 -0
- package/dist/safety/guarded-files.js.map +1 -0
- package/dist/safety/loop-detector.d.ts.map +1 -1
- package/dist/safety/loop-detector.js +6 -1
- package/dist/safety/loop-detector.js.map +1 -1
- package/dist/safety/permission-profile.d.ts +47 -0
- package/dist/safety/permission-profile.d.ts.map +1 -0
- package/dist/safety/permission-profile.js +349 -0
- package/dist/safety/permission-profile.js.map +1 -0
- package/dist/safety/safety-middleware.d.ts +5 -1
- package/dist/safety/safety-middleware.d.ts.map +1 -1
- package/dist/safety/safety-middleware.js +3 -2
- package/dist/safety/safety-middleware.js.map +1 -1
- package/dist/safety/suspicious-patterns.d.ts.map +1 -1
- package/dist/safety/suspicious-patterns.js +12 -7
- package/dist/safety/suspicious-patterns.js.map +1 -1
- package/dist/safety/tool-categorization.js +1 -1
- package/dist/safety/tool-categorization.js.map +1 -1
- package/dist/safety/validators/path-policy-validator.d.ts.map +1 -1
- package/dist/safety/validators/path-policy-validator.js +7 -0
- package/dist/safety/validators/path-policy-validator.js.map +1 -1
- package/dist/sandbox/index.d.ts +6 -1
- package/dist/sandbox/index.d.ts.map +1 -1
- package/dist/sandbox/index.js +30 -4
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/native-sandbox.d.ts +3 -0
- package/dist/sandbox/native-sandbox.d.ts.map +1 -1
- package/dist/sandbox/native-sandbox.js +139 -18
- package/dist/sandbox/native-sandbox.js.map +1 -1
- package/dist/sentry.d.ts +17 -0
- package/dist/sentry.d.ts.map +1 -0
- package/dist/sentry.js +91 -0
- package/dist/sentry.js.map +1 -0
- package/dist/server/agent-runtime-ledger.d.ts +141 -0
- package/dist/server/agent-runtime-ledger.d.ts.map +1 -0
- package/dist/server/agent-runtime-ledger.js +334 -0
- package/dist/server/agent-runtime-ledger.js.map +1 -0
- package/dist/server/agent-trajectory-inspection.d.ts +104 -0
- package/dist/server/agent-trajectory-inspection.d.ts.map +1 -0
- package/dist/server/agent-trajectory-inspection.js +168 -0
- package/dist/server/agent-trajectory-inspection.js.map +1 -0
- package/dist/server/agent-trajectory-replay.d.ts +56 -0
- package/dist/server/agent-trajectory-replay.d.ts.map +1 -0
- package/dist/server/agent-trajectory-replay.js +214 -0
- package/dist/server/agent-trajectory-replay.js.map +1 -0
- package/dist/server/agent-trajectory-scenarios.d.ts +109 -0
- package/dist/server/agent-trajectory-scenarios.d.ts.map +1 -0
- package/dist/server/agent-trajectory-scenarios.js +822 -0
- package/dist/server/agent-trajectory-scenarios.js.map +1 -0
- package/dist/server/agent-trajectory-scorers.d.ts +61 -0
- package/dist/server/agent-trajectory-scorers.d.ts.map +1 -0
- package/dist/server/agent-trajectory-scorers.js +162 -0
- package/dist/server/agent-trajectory-scorers.js.map +1 -0
- package/dist/server/agent-trajectory-validation.d.ts +7 -0
- package/dist/server/agent-trajectory-validation.d.ts.map +1 -0
- package/dist/server/agent-trajectory-validation.js +101 -0
- package/dist/server/agent-trajectory-validation.js.map +1 -0
- package/dist/server/agent-trajectory.d.ts +50 -0
- package/dist/server/agent-trajectory.d.ts.map +1 -0
- package/dist/server/agent-trajectory.js +159 -0
- package/dist/server/agent-trajectory.js.map +1 -0
- package/dist/server/app-context.d.ts +18 -0
- package/dist/server/app-context.d.ts.map +1 -1
- package/dist/server/app-context.js.map +1 -1
- package/dist/server/handlers/headless-sessions.d.ts.map +1 -1
- package/dist/server/handlers/headless-sessions.js +64 -27
- package/dist/server/handlers/headless-sessions.js.map +1 -1
- package/dist/server/handlers/health.d.ts +6 -0
- package/dist/server/handlers/health.d.ts.map +1 -1
- package/dist/server/handlers/health.js +6 -0
- package/dist/server/handlers/health.js.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.d.ts +69 -1
- package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.js +309 -18
- package/dist/server/handlers/hosted-runner-drain.js.map +1 -1
- package/dist/server/handlers/hosted-runner-identity.d.ts +16 -0
- package/dist/server/handlers/hosted-runner-identity.d.ts.map +1 -1
- package/dist/server/handlers/hosted-runner-identity.js +43 -0
- package/dist/server/handlers/hosted-runner-identity.js.map +1 -1
- package/dist/server/handlers/mode.d.ts.map +1 -1
- package/dist/server/handlers/mode.js +3 -1
- package/dist/server/handlers/mode.js.map +1 -1
- package/dist/server/handlers/pending-requests.d.ts.map +1 -1
- package/dist/server/handlers/pending-requests.js +336 -51
- package/dist/server/handlers/pending-requests.js.map +1 -1
- package/dist/server/handlers/platform-a2a-push.d.ts +6 -0
- package/dist/server/handlers/platform-a2a-push.d.ts.map +1 -0
- package/dist/server/handlers/platform-a2a-push.js +136 -0
- package/dist/server/handlers/platform-a2a-push.js.map +1 -0
- package/dist/server/handlers/sessions.d.ts.map +1 -1
- package/dist/server/handlers/sessions.js +21 -1
- package/dist/server/handlers/sessions.js.map +1 -1
- package/dist/server/headless-runtime-service.d.ts +9 -2
- package/dist/server/headless-runtime-service.d.ts.map +1 -1
- package/dist/server/headless-runtime-service.js +39 -0
- package/dist/server/headless-runtime-service.js.map +1 -1
- package/dist/server/hosted-agent-runtime-progress.d.ts +144 -0
- package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -0
- package/dist/server/hosted-agent-runtime-progress.js +1650 -0
- package/dist/server/hosted-agent-runtime-progress.js.map +1 -0
- package/dist/server/hosted-runner-lease.d.ts +41 -0
- package/dist/server/hosted-runner-lease.d.ts.map +1 -0
- package/dist/server/hosted-runner-lease.js +140 -0
- package/dist/server/hosted-runner-lease.js.map +1 -0
- package/dist/server/hosted-session-manager.d.ts +16 -8
- package/dist/server/hosted-session-manager.d.ts.map +1 -1
- package/dist/server/hosted-session-manager.js +98 -76
- package/dist/server/hosted-session-manager.js.map +1 -1
- package/dist/server/junit-xml.d.ts +2 -0
- package/dist/server/junit-xml.d.ts.map +1 -0
- package/dist/server/junit-xml.js +9 -0
- package/dist/server/junit-xml.js.map +1 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +6 -0
- package/dist/server/routes.js.map +1 -1
- package/dist/server/scenario-recorder.d.ts +56 -0
- package/dist/server/scenario-recorder.d.ts.map +1 -0
- package/dist/server/scenario-recorder.js +109 -0
- package/dist/server/scenario-recorder.js.map +1 -0
- package/dist/server/scripted-scenario-runner.d.ts +46 -0
- package/dist/server/scripted-scenario-runner.d.ts.map +1 -0
- package/dist/server/scripted-scenario-runner.js +190 -0
- package/dist/server/scripted-scenario-runner.js.map +1 -0
- package/dist/server/server-middlewares.d.ts +6 -2
- package/dist/server/server-middlewares.d.ts.map +1 -1
- package/dist/server/server-middlewares.js +8 -2
- package/dist/server/server-middlewares.js.map +1 -1
- package/dist/server/server-request-manager.d.ts +9 -1
- package/dist/server/server-request-manager.d.ts.map +1 -1
- package/dist/server/server-request-manager.js +49 -4
- package/dist/server/server-request-manager.js.map +1 -1
- package/dist/services/intelligent-router/service.d.ts +2 -0
- package/dist/services/intelligent-router/service.d.ts.map +1 -1
- package/dist/services/intelligent-router/service.js +4 -0
- package/dist/services/intelligent-router/service.js.map +1 -1
- package/dist/services/service-authority.d.ts +25 -0
- package/dist/services/service-authority.d.ts.map +1 -0
- package/dist/services/service-authority.js +143 -0
- package/dist/services/service-authority.js.map +1 -0
- package/dist/services/workspace-config/service.d.ts +2 -0
- package/dist/services/workspace-config/service.d.ts.map +1 -1
- package/dist/services/workspace-config/service.js +4 -0
- package/dist/services/workspace-config/service.js.map +1 -1
- package/dist/session/manager.d.ts +8 -2
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +19 -4
- package/dist/session/manager.js.map +1 -1
- package/dist/session/session-branch.d.ts.map +1 -1
- package/dist/session/session-branch.js +5 -1
- package/dist/session/session-branch.js.map +1 -1
- package/dist/session/session-catalog.d.ts +7 -2
- package/dist/session/session-catalog.d.ts.map +1 -1
- package/dist/session/session-catalog.js +13 -2
- package/dist/session/session-catalog.js.map +1 -1
- package/dist/session/session-context.d.ts +6 -2
- package/dist/session/session-context.d.ts.map +1 -1
- package/dist/session/session-context.js +44 -4
- package/dist/session/session-context.js.map +1 -1
- package/dist/session/session-graph-projection.d.ts +32 -0
- package/dist/session/session-graph-projection.d.ts.map +1 -0
- package/dist/session/session-graph-projection.js +133 -0
- package/dist/session/session-graph-projection.js.map +1 -0
- package/dist/session/types.d.ts +18 -0
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session/types.js +8 -0
- package/dist/session/types.js.map +1 -1
- package/dist/session/wire-format.generated.d.ts +3 -0
- package/dist/session/wire-format.generated.d.ts.map +1 -1
- package/dist/session/wire-format.generated.js +20 -0
- package/dist/session/wire-format.generated.js.map +1 -1
- package/dist/skills/eval-harness.d.ts +38 -0
- package/dist/skills/eval-harness.d.ts.map +1 -0
- package/dist/skills/eval-harness.js +112 -0
- package/dist/skills/eval-harness.js.map +1 -0
- package/dist/skills/index.d.ts +5 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +5 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/linter.d.ts +36 -0
- package/dist/skills/linter.d.ts.map +1 -0
- package/dist/skills/linter.js +398 -0
- package/dist/skills/linter.js.map +1 -0
- package/dist/skills/loader.d.ts +36 -6
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +169 -86
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/package-contract.d.ts +45 -0
- package/dist/skills/package-contract.d.ts.map +1 -0
- package/dist/skills/package-contract.js +153 -0
- package/dist/skills/package-contract.js.map +1 -0
- package/dist/skills/runtime-activation.d.ts +68 -0
- package/dist/skills/runtime-activation.d.ts.map +1 -0
- package/dist/skills/runtime-activation.js +228 -0
- package/dist/skills/runtime-activation.js.map +1 -0
- package/dist/skills/service-client.d.ts.map +1 -1
- package/dist/skills/service-client.js +3 -4
- package/dist/skills/service-client.js.map +1 -1
- package/dist/skills/tool.d.ts.map +1 -1
- package/dist/skills/tool.js +2 -0
- package/dist/skills/tool.js.map +1 -1
- package/dist/skills/types.d.ts +14 -0
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js.map +1 -1
- package/dist/telemetry/agent-operating-plane-context.d.ts +24 -0
- package/dist/telemetry/agent-operating-plane-context.d.ts.map +1 -0
- package/dist/telemetry/agent-operating-plane-context.js +54 -0
- package/dist/telemetry/agent-operating-plane-context.js.map +1 -0
- package/dist/telemetry/beacon.d.ts +24 -0
- package/dist/telemetry/beacon.d.ts.map +1 -0
- package/dist/telemetry/beacon.js +115 -0
- package/dist/telemetry/beacon.js.map +1 -0
- package/dist/telemetry/cli-command-aggregator.d.ts +36 -0
- package/dist/telemetry/cli-command-aggregator.d.ts.map +1 -0
- package/dist/telemetry/cli-command-aggregator.js +251 -0
- package/dist/telemetry/cli-command-aggregator.js.map +1 -0
- package/dist/telemetry/cli-startup.d.ts +21 -0
- package/dist/telemetry/cli-startup.d.ts.map +1 -0
- package/dist/telemetry/cli-startup.js +83 -0
- package/dist/telemetry/cli-startup.js.map +1 -0
- package/dist/telemetry/disablement.d.ts +13 -0
- package/dist/telemetry/disablement.d.ts.map +1 -0
- package/dist/telemetry/disablement.js +19 -0
- package/dist/telemetry/disablement.js.map +1 -0
- package/dist/telemetry/index.d.ts +6 -2
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +6 -2
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/maestro-event-bus.d.ts +52 -0
- package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
- package/dist/telemetry/maestro-event-bus.js +179 -3
- package/dist/telemetry/maestro-event-bus.js.map +1 -1
- package/dist/telemetry/maestro-event-catalog.d.ts +3 -1
- package/dist/telemetry/maestro-event-catalog.d.ts.map +1 -1
- package/dist/telemetry/maestro-event-catalog.js +2 -0
- package/dist/telemetry/maestro-event-catalog.js.map +1 -1
- package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -1
- package/dist/telemetry/maestro-platform-replay-fixture.js +74 -9
- package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -1
- package/dist/telemetry/maestro-publisher-conformance-fixture.d.ts +1 -1
- package/dist/telemetry/maestro-publisher-conformance-fixture.d.ts.map +1 -1
- package/dist/telemetry/maestro-publisher-conformance-fixture.js +46 -11
- package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -1
- package/dist/telemetry/mcp-beacon.d.ts +20 -0
- package/dist/telemetry/mcp-beacon.d.ts.map +1 -0
- package/dist/telemetry/mcp-beacon.js +54 -0
- package/dist/telemetry/mcp-beacon.js.map +1 -0
- package/dist/telemetry/metadata-normalization.d.ts +7 -0
- package/dist/telemetry/metadata-normalization.d.ts.map +1 -0
- package/dist/telemetry/metadata-normalization.js +189 -0
- package/dist/telemetry/metadata-normalization.js.map +1 -0
- package/dist/telemetry/meter-service-client.d.ts.map +1 -1
- package/dist/telemetry/meter-service-client.js +5 -10
- package/dist/telemetry/meter-service-client.js.map +1 -1
- package/dist/telemetry/metrics.d.ts +123 -0
- package/dist/telemetry/metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics.js +184 -0
- package/dist/telemetry/metrics.js.map +1 -0
- package/dist/telemetry/turn-tracker.d.ts +1 -0
- package/dist/telemetry/turn-tracker.d.ts.map +1 -1
- package/dist/telemetry/turn-tracker.js +22 -1
- package/dist/telemetry/turn-tracker.js.map +1 -1
- package/dist/telemetry/wide-events.d.ts +31 -1
- package/dist/telemetry/wide-events.d.ts.map +1 -1
- package/dist/telemetry/wide-events.js +229 -1
- package/dist/telemetry/wide-events.js.map +1 -1
- package/dist/telemetry.d.ts +39 -3
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +160 -3
- package/dist/telemetry.js.map +1 -1
- package/dist/testing/test-verification-hook.d.ts.map +1 -1
- package/dist/testing/test-verification-hook.js +34 -21
- package/dist/testing/test-verification-hook.js.map +1 -1
- package/dist/tools/apply-patch-parser.d.ts +26 -0
- package/dist/tools/apply-patch-parser.d.ts.map +1 -0
- package/dist/tools/apply-patch-parser.js +146 -0
- package/dist/tools/apply-patch-parser.js.map +1 -0
- package/dist/tools/apply-patch.d.ts +42 -0
- package/dist/tools/apply-patch.d.ts.map +1 -0
- package/dist/tools/apply-patch.js +648 -0
- package/dist/tools/apply-patch.js.map +1 -0
- package/dist/tools/ask-user.d.ts +1 -0
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/background/tool-handler.d.ts +1 -0
- package/dist/tools/background/tool-handler.d.ts.map +1 -1
- package/dist/tools/bash.d.ts +1 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/codesearch.d.ts +1 -0
- package/dist/tools/codesearch.d.ts.map +1 -1
- package/dist/tools/conductor-client.d.ts +1 -0
- package/dist/tools/conductor-client.d.ts.map +1 -1
- package/dist/tools/conductor-client.js +63 -0
- package/dist/tools/conductor-client.js.map +1 -1
- package/dist/tools/diff.d.ts +1 -0
- package/dist/tools/diff.d.ts.map +1 -1
- package/dist/tools/edit.d.ts +1 -0
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/extract-document.d.ts +1 -0
- package/dist/tools/extract-document.d.ts.map +1 -1
- package/dist/tools/find.d.ts +10 -0
- package/dist/tools/find.d.ts.map +1 -1
- package/dist/tools/find.js +236 -27
- package/dist/tools/find.js.map +1 -1
- package/dist/tools/gh.d.ts +3 -0
- package/dist/tools/gh.d.ts.map +1 -1
- package/dist/tools/index.d.ts +50 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list.d.ts +1 -0
- package/dist/tools/list.d.ts.map +1 -1
- package/dist/tools/notebook.d.ts +1 -0
- package/dist/tools/notebook.d.ts.map +1 -1
- package/dist/tools/oracle.d.ts +1 -0
- package/dist/tools/oracle.d.ts.map +1 -1
- package/dist/tools/oracle.js +17 -32
- package/dist/tools/oracle.js.map +1 -1
- package/dist/tools/parallel-execution.d.ts +13 -2
- package/dist/tools/parallel-execution.d.ts.map +1 -1
- package/dist/tools/parallel-execution.js +178 -7
- package/dist/tools/parallel-execution.js.map +1 -1
- package/dist/tools/parallel-ripgrep.d.ts +1 -0
- package/dist/tools/parallel-ripgrep.d.ts.map +1 -1
- package/dist/tools/pipeline.d.ts +4 -0
- package/dist/tools/pipeline.d.ts.map +1 -1
- package/dist/tools/read.d.ts +1 -0
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/search.d.ts +1 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/status.d.ts +1 -0
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/todo.d.ts +1 -0
- package/dist/tools/todo.d.ts.map +1 -1
- package/dist/tools/tool-dsl.d.ts +5 -1
- package/dist/tools/tool-dsl.d.ts.map +1 -1
- package/dist/tools/tool-dsl.js +1 -0
- package/dist/tools/tool-dsl.js.map +1 -1
- package/dist/tools/tool-result-cache.d.ts.map +1 -1
- package/dist/tools/tool-result-cache.js +1 -0
- package/dist/tools/tool-result-cache.js.map +1 -1
- package/dist/tools/typebox-tool.d.ts.map +1 -1
- package/dist/tools/typebox-tool.js +3 -0
- package/dist/tools/typebox-tool.js.map +1 -1
- package/dist/tools/webfetch.d.ts +1 -0
- package/dist/tools/webfetch.d.ts.map +1 -1
- package/dist/tools/websearch.d.ts +1 -0
- package/dist/tools/websearch.d.ts.map +1 -1
- package/dist/tools/write.d.ts +1 -0
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/utils/abort-error.d.ts +2 -0
- package/dist/utils/abort-error.d.ts.map +1 -0
- package/dist/utils/abort-error.js +7 -0
- package/dist/utils/abort-error.js.map +1 -0
- package/dist/utils/downstream.d.ts.map +1 -1
- package/dist/utils/downstream.js +4 -0
- package/dist/utils/downstream.js.map +1 -1
- package/dist/utils/logger.d.ts +3 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +14 -3
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/path-containment.d.ts +2 -0
- package/dist/utils/path-containment.d.ts.map +1 -0
- package/dist/utils/path-containment.js +14 -0
- package/dist/utils/path-containment.js.map +1 -0
- package/dist/utils/prompt-safe-text.d.ts +7 -0
- package/dist/utils/prompt-safe-text.d.ts.map +1 -0
- package/dist/utils/prompt-safe-text.js +44 -0
- package/dist/utils/prompt-safe-text.js.map +1 -0
- package/dist/version.json +2 -2
- package/dist/web-server.d.ts.map +1 -1
- package/dist/web-server.js +32 -7
- package/dist/web-server.js.map +1 -1
- package/dist/workspace/root-resolver.d.ts +4 -1
- package/dist/workspace/root-resolver.d.ts.map +1 -1
- package/dist/workspace/root-resolver.js +16 -6
- package/dist/workspace/root-resolver.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/advisor-effort.d.ts +8 -0
- package/node_modules/@evalops/contracts/dist/advisor-effort.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/advisor-effort.js +35 -0
- package/node_modules/@evalops/contracts/dist/advisor-effort.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/delegation-prompt.d.ts +10 -0
- package/node_modules/@evalops/contracts/dist/delegation-prompt.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/delegation-prompt.js +48 -0
- package/node_modules/@evalops/contracts/dist/delegation-prompt.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/guarded-files-settings.d.ts +20 -0
- package/node_modules/@evalops/contracts/dist/guarded-files-settings.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/guarded-files-settings.js +147 -0
- package/node_modules/@evalops/contracts/dist/guarded-files-settings.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/headless-protocol-generated.d.ts +2 -0
- package/node_modules/@evalops/contracts/dist/headless-protocol-generated.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/headless-protocol-generated.js +1 -0
- package/node_modules/@evalops/contracts/dist/headless-protocol-generated.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts +280 -5
- 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 +36 -1
- package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/index.d.ts +15 -1
- package/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/index.js +6 -0
- package/node_modules/@evalops/contracts/dist/index.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +593 -0
- package/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/maestro-app-server.js +218 -0
- package/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.d.ts +91 -0
- 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 +92 -61
- 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 +3 -0
- package/node_modules/@evalops/contracts/dist/runtime-app-server.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/runtime-constraints.d.ts +28 -0
- package/node_modules/@evalops/contracts/dist/runtime-constraints.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/runtime-constraints.js +71 -0
- package/node_modules/@evalops/contracts/dist/runtime-constraints.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.d.ts +7 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/runtime-server-request.js +2 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/scenario.d.ts +191 -0
- package/node_modules/@evalops/contracts/dist/scenario.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/scenario.js +4 -0
- package/node_modules/@evalops/contracts/dist/scenario.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/schemas.d.ts +17 -3
- package/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/schemas.js +16 -0
- package/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
- package/node_modules/@evalops/contracts/package.json +1 -1
- package/node_modules/@evalops/tui/package.json +1 -1
- package/package.json +41 -7
- package/skills/incident-triage/SKILL.md +40 -0
- package/skills/incident-triage/mcp.json +14 -0
- package/skills/incident-triage/reference/triage.md +20 -0
- package/skills/incident-triage/toolbox/incident-timeline +22 -0
- package/skills/incident-triage/toolbox/incident-timeline.cmd +16 -0
- package/skills/pr-review/SKILL.md +40 -0
- package/skills/pr-review/mcp.json +14 -0
- package/skills/pr-review/reference/rubric.md +20 -0
- package/skills/pr-review/toolbox/review-summary +20 -0
- package/skills/pr-review/toolbox/review-summary.cmd +14 -0
- package/skills/release-verification/SKILL.md +40 -0
- package/skills/release-verification/mcp.json +15 -0
- package/skills/release-verification/reference/checklist.md +21 -0
- package/skills/release-verification/toolbox/release-readiness +18 -0
- package/skills/release-verification/toolbox/release-readiness.cmd +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runtime-client.js","sourceRoot":"","sources":["../../src/platform/agent-runtime-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype MaestroFactsContext,\n\tgatherMaestroSessionFactsContext,\n} from \"./cerebro-facts-client.js\";\nimport {\n\ttype PlatformServiceConfig,\n\tpostPlatformConnect,\n\tresolvePlatformServiceConfig,\n\ttrimString,\n} from \"./client.js\";\nimport {\n\tPLATFORM_CONNECT_METHODS,\n\tPLATFORM_CONNECT_SERVICES,\n\tplatformConnectMethodPath,\n\tplatformConnectServicePath,\n} from \"./core-services.js\";\n\nconst DEFAULT_TIMEOUT_MS = 2_000;\nconst DEFAULT_MAX_ATTEMPTS = 2;\n\nconst HANDLE_TRIGGER_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.handleTrigger,\n);\nconst CLAIM_NEXT_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.claimNextRun,\n);\nconst RECORD_RUN_STEP_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.recordRunStep,\n);\nconst WAIT_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.waitRun,\n);\nconst RESUME_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.resumeRun,\n);\nconst COMPLETE_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.completeRun,\n);\nconst FAIL_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.failRun,\n);\nconst GET_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.getRun,\n);\nconst LIST_RUN_EVENTS_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.listRunEvents,\n);\n\nfunction isAbortError(error: unknown): boolean {\n\treturn error instanceof Error && error.name === \"AbortError\";\n}\n\nconst AGENT_RUNTIME_BASE_URL_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_URL\",\n\t\"AGENT_RUNTIME_SERVICE_URL\",\n] as const;\n\nconst AGENT_RUNTIME_TOKEN_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_TOKEN\",\n\t\"AGENT_RUNTIME_SERVICE_TOKEN\",\n\t\"MAESTRO_EVALOPS_ACCESS_TOKEN\",\n\t\"EVALOPS_TOKEN\",\n] as const;\n\nconst AGENT_RUNTIME_ORGANIZATION_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_ORG_ID\",\n\t\"AGENT_RUNTIME_ORGANIZATION_ID\",\n\t\"MAESTRO_EVALOPS_ORG_ID\",\n\t\"EVALOPS_ORGANIZATION_ID\",\n\t\"MAESTRO_ENTERPRISE_ORG_ID\",\n] as const;\n\nconst AGENT_RUNTIME_WORKSPACE_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"MAESTRO_WORKSPACE_ID\",\n\t\"EVALOPS_WORKSPACE_ID\",\n] as const;\n\nconst AGENT_RUNTIME_TIMEOUT_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_TIMEOUT_MS\",\n\t\"AGENT_RUNTIME_SERVICE_TIMEOUT_MS\",\n] as const;\n\nconst AGENT_RUNTIME_MAX_ATTEMPTS_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_MAX_ATTEMPTS\",\n\t\"AGENT_RUNTIME_SERVICE_MAX_ATTEMPTS\",\n] as const;\n\nconst AGENT_RUNTIME_BASE_URL_SUFFIXES = [\n\tHANDLE_TRIGGER_PATH,\n\tplatformConnectServicePath(PLATFORM_CONNECT_SERVICES.agentRuntime),\n] as const;\n\nexport enum PlatformSurfaceValue {\n\tMaestro = \"SURFACE_MAESTRO\",\n}\n\nexport enum PlatformRuntimeChannelKindValue {\n\tApi = \"RUNTIME_CHANNEL_KIND_API\",\n}\n\nexport enum PlatformRuntimeTriggerKindValue {\n\tApi = \"RUNTIME_TRIGGER_KIND_API\",\n}\n\nexport enum PlatformRuntimeEventTypeValue {\n\tTriggerAccepted = \"RUNTIME_EVENT_TYPE_TRIGGER_ACCEPTED\",\n\tRunClaimed = \"RUNTIME_EVENT_TYPE_RUN_CLAIMED\",\n\tStepRecorded = \"RUNTIME_EVENT_TYPE_STEP_RECORDED\",\n\tRunWaiting = \"RUNTIME_EVENT_TYPE_RUN_WAITING\",\n\tRunResumed = \"RUNTIME_EVENT_TYPE_RUN_RESUMED\",\n\tRunSucceeded = \"RUNTIME_EVENT_TYPE_RUN_SUCCEEDED\",\n\tRunFailed = \"RUNTIME_EVENT_TYPE_RUN_FAILED\",\n}\n\nexport enum PlatformAgentRunStateValue {\n\tAccepted = \"AGENT_RUN_STATE_ACCEPTED\",\n\tQueued = \"AGENT_RUN_STATE_QUEUED\",\n\tRunning = \"AGENT_RUN_STATE_RUNNING\",\n\tWaiting = \"AGENT_RUN_STATE_WAITING\",\n\tSucceeded = \"AGENT_RUN_STATE_SUCCEEDED\",\n\tFailed = \"AGENT_RUN_STATE_FAILED\",\n\tCancelled = \"AGENT_RUN_STATE_CANCELLED\",\n}\n\nexport enum PlatformAgentRunStepKindValue {\n\tModelCall = \"AGENT_RUN_STEP_KIND_MODEL_CALL\",\n\tToolCallIntent = \"AGENT_RUN_STEP_KIND_TOOL_CALL_INTENT\",\n\tToolResult = \"AGENT_RUN_STEP_KIND_TOOL_RESULT\",\n\tApprovalWait = \"AGENT_RUN_STEP_KIND_APPROVAL_WAIT\",\n\tError = \"AGENT_RUN_STEP_KIND_ERROR\",\n\tSystem = \"AGENT_RUN_STEP_KIND_SYSTEM\",\n}\n\nexport enum PlatformAgentRunStepStateValue {\n\tPending = \"AGENT_RUN_STEP_STATE_PENDING\",\n\tRunning = \"AGENT_RUN_STEP_STATE_RUNNING\",\n\tWaiting = \"AGENT_RUN_STEP_STATE_WAITING\",\n\tSucceeded = \"AGENT_RUN_STEP_STATE_SUCCEEDED\",\n\tFailed = \"AGENT_RUN_STEP_STATE_FAILED\",\n\tCancelled = \"AGENT_RUN_STEP_STATE_CANCELLED\",\n\tSkipped = \"AGENT_RUN_STEP_STATE_SKIPPED\",\n}\n\nexport enum PlatformAgentRunWaitTypeValue {\n\tApproval = \"AGENT_RUN_WAIT_TYPE_APPROVAL\",\n\tInput = \"AGENT_RUN_WAIT_TYPE_INPUT\",\n\tEvent = \"AGENT_RUN_WAIT_TYPE_EVENT\",\n\tTimer = \"AGENT_RUN_WAIT_TYPE_TIMER\",\n}\n\nexport enum MaestroAgentRuntimeSourceEventType {\n\tSessionStarted = \"maestro.session_started\",\n}\n\nexport interface PlatformRuntimeChannelContext {\n\tchannelKind: PlatformRuntimeChannelKindValue;\n\tproviderWorkspaceId?: string;\n\tchannelId: string;\n\tthreadId?: string;\n\tactorId?: string;\n\tattributes?: Record<string, string>;\n}\n\nexport interface PlatformAgentRuntimeTrigger {\n\tworkspaceId: string;\n\tagentId: string;\n\tchannelId: string;\n\tidempotencyKey: string;\n\tsourceEventId?: string;\n\tsourceEventType: MaestroAgentRuntimeSourceEventType | string;\n\tactorId?: string;\n\tcorrelationId?: string;\n\tpayload?: Record<string, unknown>;\n\tsurfaceType: PlatformSurfaceValue;\n\tchannelContext: PlatformRuntimeChannelContext;\n\ttriggerKind: PlatformRuntimeTriggerKindValue;\n}\n\nexport interface PlatformAgentRun {\n\tid: string;\n\tstate?: PlatformAgentRunStateValue | string;\n\tlease?: PlatformAgentRunLease;\n\tsteps?: PlatformAgentRunStep[];\n\twaits?: PlatformAgentRunWait[];\n\tlatestCheckpoint?: PlatformAgentRunCheckpoint;\n\tlinkage?: {\n\t\trunId?: string;\n\t\tworkspaceId?: string;\n\t\tagentId?: string;\n\t\tobjectiveId?: string;\n\t};\n\tcreatedAt?: string;\n\tupdatedAt?: string;\n}\n\nexport interface PlatformRuntimeEvent {\n\tid?: string;\n\trunId?: string;\n\tsequence?: number;\n\ttype?: string;\n\tmessage?: string;\n\tstepId?: string;\n\twaitId?: string;\n\tcheckpointId?: string;\n\tattributes?: Record<string, unknown>;\n\toccurredAt?: string;\n}\n\nexport interface PlatformAgentRuntimeHandleTriggerResult {\n\trun: PlatformAgentRun;\n\tevents: PlatformRuntimeEvent[];\n\tidempotentReplay: boolean;\n}\n\nexport interface PlatformAgentRunLease {\n\tid?: string;\n\ttoken?: string;\n\tworkerId?: string;\n\tworkerQueue?: string;\n\texpiresAt?: string;\n\theartbeatAt?: string;\n}\n\nexport interface PlatformAgentRunStep {\n\tid?: string;\n\tname?: string;\n\tstepKind?: PlatformAgentRunStepKindValue | string;\n\tstate?: PlatformAgentRunStepStateValue | string;\n\tattempt?: number;\n\tinput?: Record<string, unknown>;\n\toutput?: Record<string, unknown>;\n\terrorMessage?: string;\n\tcheckpointId?: string;\n\tstartedAt?: string;\n\tendedAt?: string;\n\tlinkage?: PlatformAgentRun[\"linkage\"];\n}\n\nexport interface PlatformAgentRunCheckpoint {\n\tid?: string;\n\tstepId?: string;\n\tsequence?: number;\n\tresumeToken?: string;\n\tpayload?: Record<string, unknown>;\n\tcreatedAt?: string;\n\tlinkage?: PlatformAgentRun[\"linkage\"];\n}\n\nexport interface PlatformAgentRunWait {\n\tid?: string;\n\tstepId?: string;\n\ttype?: PlatformAgentRunWaitTypeValue | string;\n\texternalRef?: string;\n\treason?: string;\n\tpayload?: Record<string, unknown>;\n\tcreatedAt?: string;\n\tresumeAfter?: string;\n\texpiresAt?: string;\n\tresolvedAt?: string;\n\tresolvedByEventId?: string;\n\tlinkage?: PlatformAgentRun[\"linkage\"];\n}\n\nexport interface PlatformAgentRuntimeClaimNextRunInput {\n\tworkerId: string;\n\tworkerQueue?: string;\n\tleaseSeconds?: number;\n}\n\nexport interface PlatformAgentRuntimeClaimNextRunResult {\n\trun: PlatformAgentRun;\n\tlease?: PlatformAgentRunLease;\n\tevents: PlatformRuntimeEvent[];\n}\n\nexport interface PlatformAgentRuntimeRecordRunStepInput {\n\trunId: string;\n\tleaseToken: string;\n\tstep: PlatformAgentRunStep;\n}\n\nexport interface PlatformAgentRuntimeRecordRunStepResult {\n\trun: PlatformAgentRun;\n\tstep?: PlatformAgentRunStep;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeWaitRunInput {\n\trunId: string;\n\tleaseToken: string;\n\twait: PlatformAgentRunWait;\n\tcheckpoint?: PlatformAgentRunCheckpoint;\n}\n\nexport interface PlatformAgentRuntimeWaitRunResult {\n\trun: PlatformAgentRun;\n\twait?: PlatformAgentRunWait;\n\tcheckpoint?: PlatformAgentRunCheckpoint;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeResumeRunInput {\n\trunId: string;\n\twaitId: string;\n\tresumeEventId?: string;\n\tpayload?: Record<string, unknown>;\n}\n\nexport interface PlatformAgentRuntimeRunEventResult {\n\trun: PlatformAgentRun;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeCompleteRunInput {\n\trunId: string;\n\tleaseToken: string;\n\tresult?: Record<string, unknown>;\n\tcheckpoint?: PlatformAgentRunCheckpoint;\n}\n\nexport interface PlatformAgentRuntimeCompleteRunResult {\n\trun: PlatformAgentRun;\n\tcheckpoint?: PlatformAgentRunCheckpoint;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeFailRunInput {\n\trunId: string;\n\tleaseToken: string;\n\terrorMessage: string;\n\tretryable?: boolean;\n\tretryDelaySeconds?: number;\n}\n\nexport interface PlatformAgentRuntimeGetRunInput {\n\trunId: string;\n}\n\nexport interface PlatformAgentRuntimeListRunEventsInput {\n\trunId: string;\n}\n\nexport interface PlatformAgentRuntimeListRunEventsResult {\n\tevents: PlatformRuntimeEvent[];\n}\n\nexport interface MaestroSessionRuntimeTriggerInput {\n\tworkspaceId?: string;\n\tsessionId: string;\n\tagentId?: string;\n\tactorId?: string;\n\tcorrelationId?: string;\n\tsourceEventId?: string;\n\tidempotencyKey?: string;\n\tfactsQuery?: string;\n\tfactsContext?: MaestroFactsContext;\n\tmetadata?: Record<string, unknown>;\n}\n\nfunction pickString(\n\trecord: Record<string, unknown> | undefined,\n\t...names: string[]\n): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = record?.[name];\n\t\tif (typeof value === \"string\" && value.trim().length > 0) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction pickRecord(\n\trecord: Record<string, unknown> | undefined,\n\t...names: string[]\n): Record<string, unknown> | undefined {\n\tfor (const name of names) {\n\t\tconst value = record?.[name];\n\t\tif (value && typeof value === \"object\" && !Array.isArray(value)) {\n\t\t\treturn value as Record<string, unknown>;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction pickArray(\n\trecord: Record<string, unknown> | undefined,\n\t...names: string[]\n): unknown[] | undefined {\n\tfor (const name of names) {\n\t\tconst value = record?.[name];\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction pickBoolean(\n\trecord: Record<string, unknown> | undefined,\n\t...names: string[]\n): boolean {\n\tfor (const name of names) {\n\t\tconst value = record?.[name];\n\t\tif (typeof value === \"boolean\") {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction pickNumber(\n\trecord: Record<string, unknown> | undefined,\n\t...names: string[]\n): number | undefined {\n\tfor (const name of names) {\n\t\tconst value = record?.[name];\n\t\tif (isFiniteNumber(value)) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction isFiniteNumber(value: unknown): value is number {\n\treturn typeof value === \"number\" && Number.isFinite(value);\n}\n\nfunction normalizeLinkage(\n\tvalue: unknown,\n): PlatformAgentRun[\"linkage\"] | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst linkage = value as Record<string, unknown>;\n\treturn {\n\t\trunId: pickString(linkage, \"runId\", \"run_id\"),\n\t\tworkspaceId: pickString(linkage, \"workspaceId\", \"workspace_id\"),\n\t\tagentId: pickString(linkage, \"agentId\", \"agent_id\"),\n\t\tobjectiveId: pickString(linkage, \"objectiveId\", \"objective_id\"),\n\t};\n}\n\nfunction compactStringRecord(\n\trecord: Record<string, string | undefined>,\n): Record<string, string> | undefined {\n\tconst compacted = Object.fromEntries(\n\t\tObject.entries(record).filter(\n\t\t\t(entry): entry is [string, string] =>\n\t\t\t\ttypeof entry[1] === \"string\" && entry[1].length > 0,\n\t\t),\n\t);\n\treturn Object.keys(compacted).length > 0 ? compacted : undefined;\n}\n\nfunction normalizeLease(value: unknown): PlatformAgentRunLease | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\treturn {\n\t\tid: pickString(record, \"id\"),\n\t\ttoken: pickString(record, \"token\"),\n\t\tworkerId: pickString(record, \"workerId\", \"worker_id\"),\n\t\tworkerQueue: pickString(record, \"workerQueue\", \"worker_queue\"),\n\t\texpiresAt: pickString(record, \"expiresAt\", \"expires_at\"),\n\t\theartbeatAt: pickString(record, \"heartbeatAt\", \"heartbeat_at\"),\n\t};\n}\n\nfunction normalizeStep(value: unknown): PlatformAgentRunStep | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\treturn {\n\t\tid: pickString(record, \"id\"),\n\t\tname: pickString(record, \"name\"),\n\t\tstepKind: pickString(record, \"stepKind\", \"step_kind\", \"kind\"),\n\t\tstate: pickString(record, \"state\"),\n\t\tattempt: pickNumber(record, \"attempt\"),\n\t\tinput: pickRecord(record, \"input\"),\n\t\toutput: pickRecord(record, \"output\"),\n\t\terrorMessage: pickString(record, \"errorMessage\", \"error_message\"),\n\t\tcheckpointId: pickString(record, \"checkpointId\", \"checkpoint_id\"),\n\t\tstartedAt: pickString(record, \"startedAt\", \"started_at\"),\n\t\tendedAt: pickString(record, \"endedAt\", \"ended_at\"),\n\t\tlinkage: normalizeLinkage(record.linkage),\n\t};\n}\n\nfunction normalizeCheckpoint(\n\tvalue: unknown,\n): PlatformAgentRunCheckpoint | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\treturn {\n\t\tid: pickString(record, \"id\"),\n\t\tstepId: pickString(record, \"stepId\", \"step_id\"),\n\t\tsequence: pickNumber(record, \"sequence\"),\n\t\tresumeToken: pickString(record, \"resumeToken\", \"resume_token\"),\n\t\tpayload: pickRecord(record, \"payload\"),\n\t\tcreatedAt: pickString(record, \"createdAt\", \"created_at\"),\n\t\tlinkage: normalizeLinkage(record.linkage),\n\t};\n}\n\nfunction normalizeWait(value: unknown): PlatformAgentRunWait | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\treturn {\n\t\tid: pickString(record, \"id\"),\n\t\tstepId: pickString(record, \"stepId\", \"step_id\"),\n\t\ttype: pickString(record, \"type\"),\n\t\texternalRef: pickString(record, \"externalRef\", \"external_ref\"),\n\t\treason: pickString(record, \"reason\"),\n\t\tpayload: pickRecord(record, \"payload\"),\n\t\tcreatedAt: pickString(record, \"createdAt\", \"created_at\"),\n\t\tresumeAfter: pickString(record, \"resumeAfter\", \"resume_after\"),\n\t\texpiresAt: pickString(record, \"expiresAt\", \"expires_at\"),\n\t\tresolvedAt: pickString(record, \"resolvedAt\", \"resolved_at\"),\n\t\tresolvedByEventId: pickString(\n\t\t\trecord,\n\t\t\t\"resolvedByEventId\",\n\t\t\t\"resolved_by_event_id\",\n\t\t),\n\t\tlinkage: normalizeLinkage(record.linkage),\n\t};\n}\n\nfunction normalizeRun(value: unknown): PlatformAgentRun | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\tconst id = pickString(record, \"id\");\n\tif (!id) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tid,\n\t\tstate: pickString(record, \"state\"),\n\t\tlease: normalizeLease(record.lease),\n\t\tsteps: pickArray(record, \"steps\")\n\t\t\t?.map(normalizeStep)\n\t\t\t.filter((step): step is PlatformAgentRunStep => Boolean(step)),\n\t\twaits: pickArray(record, \"waits\")\n\t\t\t?.map(normalizeWait)\n\t\t\t.filter((wait): wait is PlatformAgentRunWait => Boolean(wait)),\n\t\tlatestCheckpoint: normalizeCheckpoint(\n\t\t\trecord.latestCheckpoint ?? record.latest_checkpoint,\n\t\t),\n\t\tlinkage: normalizeLinkage(record.linkage),\n\t\tcreatedAt: pickString(record, \"createdAt\", \"created_at\"),\n\t\tupdatedAt: pickString(record, \"updatedAt\", \"updated_at\"),\n\t};\n}\n\nfunction normalizeEvent(value: unknown): PlatformRuntimeEvent | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\treturn {\n\t\tid: pickString(record, \"id\"),\n\t\trunId: pickString(record, \"runId\", \"run_id\"),\n\t\tsequence: pickNumber(record, \"sequence\"),\n\t\ttype: pickString(record, \"type\"),\n\t\tmessage: pickString(record, \"message\"),\n\t\tstepId: pickString(record, \"stepId\", \"step_id\"),\n\t\twaitId: pickString(record, \"waitId\", \"wait_id\"),\n\t\tcheckpointId: pickString(record, \"checkpointId\", \"checkpoint_id\"),\n\t\tattributes: pickRecord(record, \"attributes\"),\n\t\toccurredAt: pickString(record, \"occurredAt\", \"occurred_at\"),\n\t};\n}\n\nfunction normalizeHandleTriggerResponse(\n\tpayload: Record<string, unknown>,\n): PlatformAgentRuntimeHandleTriggerResult {\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tevents: normalizeEvents(payload),\n\t\tidempotentReplay: pickBoolean(\n\t\t\tpayload,\n\t\t\t\"idempotentReplay\",\n\t\t\t\"idempotent_replay\",\n\t\t),\n\t};\n}\n\nfunction normalizeRequiredRun(\n\tpayload: Record<string, unknown>,\n): PlatformAgentRun {\n\tconst run = normalizeRun(payload.run);\n\tif (!run) {\n\t\tthrow new Error(\"agent runtime service returned no run\");\n\t}\n\treturn run;\n}\n\nfunction normalizeEvents(\n\tpayload: Record<string, unknown>,\n): PlatformRuntimeEvent[] {\n\treturn (\n\t\tpickArray(payload, \"events\")\n\t\t\t?.map(normalizeEvent)\n\t\t\t.filter((event): event is PlatformRuntimeEvent => Boolean(event)) ?? []\n\t);\n}\n\nasync function postAgentRuntimeOperation(\n\tpath: string,\n\tbody: Record<string, unknown>,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<Record<string, unknown>> {\n\tconst config = options?.config ?? (await resolveAgentRuntimeServiceConfig());\n\tif (!config) {\n\t\tthrow new Error(\"agent runtime service is not configured\");\n\t}\n\tconst response = await postPlatformConnect(config, path, body, {\n\t\tserviceName: \"agent runtime service\",\n\t\tfailureMode: \"optional\",\n\t\ttimeoutMs: config.timeoutMs,\n\t\tmaxAttempts: config.maxAttempts,\n\t\tsignal: options?.signal,\n\t});\n\tif (!response.ok) {\n\t\tconst text = await response.text();\n\t\tthrow new Error(\n\t\t\t`agent runtime service returned ${response.status}: ${text || response.statusText}`,\n\t\t);\n\t}\n\treturn (await response.json()) as Record<string, unknown>;\n}\n\nexport async function resolveAgentRuntimeServiceConfig(): Promise<PlatformServiceConfig | null> {\n\treturn await resolvePlatformServiceConfig({\n\t\tbaseUrlEnvVars: AGENT_RUNTIME_BASE_URL_ENV_VARS,\n\t\ttokenEnvVars: AGENT_RUNTIME_TOKEN_ENV_VARS,\n\t\torganizationEnvVars: AGENT_RUNTIME_ORGANIZATION_ENV_VARS,\n\t\tworkspaceEnvVars: AGENT_RUNTIME_WORKSPACE_ENV_VARS,\n\t\ttimeoutEnvVars: AGENT_RUNTIME_TIMEOUT_ENV_VARS,\n\t\tmaxAttemptsEnvVars: AGENT_RUNTIME_MAX_ATTEMPTS_ENV_VARS,\n\t\tbaseUrlSuffixes: AGENT_RUNTIME_BASE_URL_SUFFIXES,\n\t\tdefaultTimeoutMs: DEFAULT_TIMEOUT_MS,\n\t\tdefaultMaxAttempts: DEFAULT_MAX_ATTEMPTS,\n\t\trequireOrganizationId: true,\n\t\trequireToken: true,\n\t});\n}\n\nexport function buildMaestroSessionRuntimeTrigger(\n\tinput: MaestroSessionRuntimeTriggerInput,\n\tfallbackWorkspaceId?: string,\n): PlatformAgentRuntimeTrigger | null {\n\tconst workspaceId =\n\t\ttrimString(input.workspaceId) ?? trimString(fallbackWorkspaceId);\n\tconst sessionId = trimString(input.sessionId);\n\tif (!workspaceId || !sessionId) {\n\t\treturn null;\n\t}\n\tconst agentId = trimString(input.agentId) ?? \"maestro\";\n\tconst channelId = `maestro-session:${sessionId}`;\n\tconst idempotencyKey =\n\t\ttrimString(input.idempotencyKey) ??\n\t\t[\"maestro-session\", workspaceId, sessionId].join(\":\");\n\tconst correlationId =\n\t\ttrimString(input.correlationId) ?? [\"maestro-session\", sessionId].join(\":\");\n\tconst actorId = trimString(input.actorId);\n\treturn {\n\t\tworkspaceId,\n\t\tagentId,\n\t\tchannelId,\n\t\tidempotencyKey,\n\t\tsourceEventId: trimString(input.sourceEventId) ?? idempotencyKey,\n\t\tsourceEventType: MaestroAgentRuntimeSourceEventType.SessionStarted,\n\t\t...(actorId ? { actorId } : {}),\n\t\tcorrelationId,\n\t\tsurfaceType: PlatformSurfaceValue.Maestro,\n\t\tchannelContext: {\n\t\t\tchannelKind: PlatformRuntimeChannelKindValue.Api,\n\t\t\tproviderWorkspaceId: workspaceId,\n\t\t\tchannelId,\n\t\t\tthreadId: sessionId,\n\t\t\t...(actorId ? { actorId } : {}),\n\t\t\tattributes: compactStringRecord({\n\t\t\t\troute: \"maestro_session\",\n\t\t\t\tmaestro_session_id: sessionId,\n\t\t\t\tsource: \"maestro\",\n\t\t\t}),\n\t\t},\n\t\ttriggerKind: PlatformRuntimeTriggerKindValue.Api,\n\t\tpayload: {\n\t\t\tmaestroSessionId: sessionId,\n\t\t\t...(input.metadata ? { metadata: input.metadata } : {}),\n\t\t\t...(input.factsContext ? { facts_context: input.factsContext } : {}),\n\t\t},\n\t};\n}\n\nexport async function handleAgentRuntimeTrigger(\n\ttrigger: PlatformAgentRuntimeTrigger,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeHandleTriggerResult> {\n\treturn normalizeHandleTriggerResponse(\n\t\tawait postAgentRuntimeOperation(HANDLE_TRIGGER_PATH, { trigger }, options),\n\t);\n}\n\nexport async function claimNextAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeClaimNextRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeClaimNextRunResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tCLAIM_NEXT_RUN_PATH,\n\t\t{\n\t\t\tworkerId: input.workerId,\n\t\t\t...(input.workerQueue ? { workerQueue: input.workerQueue } : {}),\n\t\t\t...(isFiniteNumber(input.leaseSeconds)\n\t\t\t\t? { leaseSeconds: input.leaseSeconds }\n\t\t\t\t: {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tlease: normalizeLease(payload.lease),\n\t\tevents: normalizeEvents(payload),\n\t};\n}\n\nexport async function recordAgentRuntimeRunStep(\n\tinput: PlatformAgentRuntimeRecordRunStepInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRecordRunStepResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tRECORD_RUN_STEP_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tleaseToken: input.leaseToken,\n\t\t\tstep: input.step,\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tstep: normalizeStep(payload.step),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function waitAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeWaitRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeWaitRunResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tWAIT_RUN_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tleaseToken: input.leaseToken,\n\t\t\twait: input.wait,\n\t\t\t...(input.checkpoint ? { checkpoint: input.checkpoint } : {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\twait: normalizeWait(payload.wait),\n\t\tcheckpoint: normalizeCheckpoint(payload.checkpoint),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function resumeAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeResumeRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRunEventResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tRESUME_RUN_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\twaitId: input.waitId,\n\t\t\t...(input.resumeEventId ? { resumeEventId: input.resumeEventId } : {}),\n\t\t\t...(input.payload ? { payload: input.payload } : {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function completeAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeCompleteRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeCompleteRunResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tCOMPLETE_RUN_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tleaseToken: input.leaseToken,\n\t\t\t...(input.result ? { result: input.result } : {}),\n\t\t\t...(input.checkpoint ? { checkpoint: input.checkpoint } : {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tcheckpoint: normalizeCheckpoint(payload.checkpoint),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function failAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeFailRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRunEventResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tFAIL_RUN_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tleaseToken: input.leaseToken,\n\t\t\terrorMessage: input.errorMessage,\n\t\t\t...(typeof input.retryable === \"boolean\"\n\t\t\t\t? { retryable: input.retryable }\n\t\t\t\t: {}),\n\t\t\t...(isFiniteNumber(input.retryDelaySeconds)\n\t\t\t\t? { retryDelaySeconds: input.retryDelaySeconds }\n\t\t\t\t: {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function getAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeGetRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRunEventResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tGET_RUN_PATH,\n\t\t{ id: input.runId },\n\t\toptions,\n\t);\n\treturn { run: normalizeRequiredRun(payload) };\n}\n\nexport async function listAgentRuntimeRunEvents(\n\tinput: PlatformAgentRuntimeListRunEventsInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeListRunEventsResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tLIST_RUN_EVENTS_PATH,\n\t\t{ runId: input.runId },\n\t\toptions,\n\t);\n\treturn { events: normalizeEvents(payload) };\n}\n\nexport async function recordMaestroSessionRuntimeTrigger(\n\tinput: MaestroSessionRuntimeTriggerInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeHandleTriggerResult | null> {\n\tconst config = options?.config ?? (await resolveAgentRuntimeServiceConfig());\n\tif (!config) {\n\t\treturn null;\n\t}\n\tlet factsContext = input.factsContext;\n\tif (!factsContext) {\n\t\ttry {\n\t\t\tfactsContext = await gatherMaestroSessionFactsContext(\n\t\t\t\t{\n\t\t\t\t\t...input,\n\t\t\t\t\tworkspaceId: input.workspaceId ?? config.workspaceId,\n\t\t\t\t},\n\t\t\t\t{ signal: options?.signal },\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\tfactsContext = undefined;\n\t\t}\n\t}\n\tconst trigger = buildMaestroSessionRuntimeTrigger(\n\t\t{ ...input, factsContext },\n\t\tconfig.workspaceId,\n\t);\n\tif (!trigger) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn await handleAgentRuntimeTrigger(trigger, {\n\t\t\tconfig,\n\t\t\tsignal: options?.signal,\n\t\t});\n\t} catch (error) {\n\t\tif (isAbortError(error)) {\n\t\t\tthrow error;\n\t\t}\n\t\treturn null;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"agent-runtime-client.js","sourceRoot":"","sources":["../../src/platform/agent-runtime-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tEVALOPS_ACCESS_TOKEN_ENV_VARS,\n\tEVALOPS_ORGANIZATION_ID_ENV_VARS,\n\tEVALOPS_WORKSPACE_ID_ENV_VARS,\n} from \"../evalops/env-aliases.js\";\nimport { isAbortError } from \"../utils/abort-error.js\";\nimport {\n\ttype A2AServiceConfig,\n\ttype A2ATask,\n\tbuildA2AUserMessage,\n\tgetA2ATask,\n\tresolveA2AServiceConfig,\n\tresolveA2ATraceContext,\n\tsendA2AMessage,\n} from \"./a2a-client.js\";\nimport {\n\ttype MaestroFactsContext,\n\tgatherMaestroSessionFactsContext,\n} from \"./cerebro-facts-client.js\";\nimport {\n\ttype PlatformServiceConfig,\n\tgetEnvValue,\n\tnormalizeBaseUrl,\n\tpostPlatformConnect,\n\tresolvePlatformServiceConfig,\n\ttrimString,\n} from \"./client.js\";\nimport {\n\tPLATFORM_CONNECT_METHODS,\n\tPLATFORM_CONNECT_SERVICES,\n\tplatformConnectMethodPath,\n\tplatformConnectServicePath,\n} from \"./core-services.js\";\n\nconst DEFAULT_TIMEOUT_MS = 2_000;\nconst DEFAULT_MAX_ATTEMPTS = 2;\nconst AGENT_RUNTIME_A2A_ENABLED_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_A2A_ENABLED\",\n\t\"MAESTRO_PLATFORM_A2A_ENABLED\",\n] as const;\nconst DEDICATED_A2A_BASE_URL_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_A2A_URL\",\n\t\"MAESTRO_A2A_URL\",\n] as const;\nconst DEDICATED_A2A_TOKEN_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_A2A_TOKEN\",\n\t\"MAESTRO_A2A_TOKEN\",\n] as const;\nconst DEDICATED_A2A_ORGANIZATION_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_A2A_ORG_ID\",\n\t\"MAESTRO_A2A_ORG_ID\",\n] as const;\nconst DEDICATED_A2A_WORKSPACE_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_A2A_WORKSPACE_ID\",\n\t\"MAESTRO_A2A_WORKSPACE_ID\",\n] as const;\nconst DEDICATED_A2A_TIMEOUT_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_A2A_TIMEOUT_MS\",\n\t\"MAESTRO_A2A_TIMEOUT_MS\",\n] as const;\nconst DEDICATED_A2A_MAX_ATTEMPTS_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_A2A_MAX_ATTEMPTS\",\n\t\"MAESTRO_A2A_MAX_ATTEMPTS\",\n] as const;\nconst DEDICATED_A2A_CALLBACK_URL_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_A2A_CALLBACK_URL\",\n\t\"MAESTRO_A2A_CALLBACK_URL\",\n] as const;\nconst DEDICATED_A2A_CALLBACK_TOKEN_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_A2A_CALLBACK_TOKEN\",\n\t\"MAESTRO_A2A_CALLBACK_TOKEN\",\n] as const;\n\nconst HANDLE_TRIGGER_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.handleTrigger,\n);\nconst CLAIM_NEXT_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.claimNextRun,\n);\nconst RECORD_RUN_STEP_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.recordRunStep,\n);\nconst RECORD_RUN_EVENT_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.recordRunEvent,\n);\nconst RECORD_RUN_COST_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.recordRunCost,\n);\nconst RECORD_RUN_WORK_ITEM_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.recordRunWorkItem,\n);\nconst UPDATE_RUN_WORK_ITEM_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.updateRunWorkItem,\n);\nconst WAIT_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.waitRun,\n);\nconst RESUME_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.resumeRun,\n);\nconst COMPLETE_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.completeRun,\n);\nconst FAIL_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.failRun,\n);\nconst GET_RUN_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.getRun,\n);\nconst LIST_RUN_EVENTS_PATH = platformConnectMethodPath(\n\tPLATFORM_CONNECT_METHODS.agentRuntime.listRunEvents,\n);\n\nconst AGENT_RUNTIME_BASE_URL_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_URL\",\n\t\"AGENT_RUNTIME_SERVICE_URL\",\n] as const;\n\nconst AGENT_RUNTIME_TOKEN_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_TOKEN\",\n\t\"AGENT_RUNTIME_SERVICE_TOKEN\",\n\t...EVALOPS_ACCESS_TOKEN_ENV_VARS,\n] as const;\n\nconst AGENT_RUNTIME_ORGANIZATION_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_ORG_ID\",\n\t\"AGENT_RUNTIME_ORGANIZATION_ID\",\n\t...EVALOPS_ORGANIZATION_ID_ENV_VARS,\n] as const;\n\nconst AGENT_RUNTIME_WORKSPACE_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"MAESTRO_WORKSPACE_ID\",\n\t...EVALOPS_WORKSPACE_ID_ENV_VARS.filter(\n\t\t(name) => name !== \"MAESTRO_WORKSPACE_ID\",\n\t),\n] as const;\n\nconst AGENT_RUNTIME_TIMEOUT_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_TIMEOUT_MS\",\n\t\"AGENT_RUNTIME_SERVICE_TIMEOUT_MS\",\n] as const;\n\nconst AGENT_RUNTIME_MAX_ATTEMPTS_ENV_VARS = [\n\t\"MAESTRO_AGENT_RUNTIME_MAX_ATTEMPTS\",\n\t\"AGENT_RUNTIME_SERVICE_MAX_ATTEMPTS\",\n] as const;\n\nconst AGENT_RUNTIME_BASE_URL_SUFFIXES = [\n\tHANDLE_TRIGGER_PATH,\n\tplatformConnectServicePath(PLATFORM_CONNECT_SERVICES.agentRuntime),\n] as const;\n\nexport enum PlatformSurfaceValue {\n\tMaestro = \"SURFACE_MAESTRO\",\n}\n\nexport enum PlatformRuntimeChannelKindValue {\n\tApi = \"RUNTIME_CHANNEL_KIND_API\",\n}\n\nexport enum PlatformRuntimeTriggerKindValue {\n\tApi = \"RUNTIME_TRIGGER_KIND_API\",\n}\n\nexport enum PlatformRuntimeEventTypeValue {\n\tTriggerAccepted = \"RUNTIME_EVENT_TYPE_TRIGGER_ACCEPTED\",\n\tRunClaimed = \"RUNTIME_EVENT_TYPE_RUN_CLAIMED\",\n\tStepRecorded = \"RUNTIME_EVENT_TYPE_STEP_RECORDED\",\n\tRunWaiting = \"RUNTIME_EVENT_TYPE_RUN_WAITING\",\n\tRunResumed = \"RUNTIME_EVENT_TYPE_RUN_RESUMED\",\n\tRunSucceeded = \"RUNTIME_EVENT_TYPE_RUN_SUCCEEDED\",\n\tRunFailed = \"RUNTIME_EVENT_TYPE_RUN_FAILED\",\n\tAgentProgressRecorded = \"RUNTIME_EVENT_TYPE_AGENT_PROGRESS_RECORDED\",\n\tModelResponseRecorded = \"RUNTIME_EVENT_TYPE_MODEL_RESPONSE_RECORDED\",\n\tApprovalRequested = \"RUNTIME_EVENT_TYPE_APPROVAL_REQUESTED\",\n}\n\nexport enum PlatformAgentRunStateValue {\n\tAccepted = \"AGENT_RUN_STATE_ACCEPTED\",\n\tQueued = \"AGENT_RUN_STATE_QUEUED\",\n\tRunning = \"AGENT_RUN_STATE_RUNNING\",\n\tWaiting = \"AGENT_RUN_STATE_WAITING\",\n\tSucceeded = \"AGENT_RUN_STATE_SUCCEEDED\",\n\tFailed = \"AGENT_RUN_STATE_FAILED\",\n\tCancelled = \"AGENT_RUN_STATE_CANCELLED\",\n}\n\nexport enum PlatformAgentRunStepKindValue {\n\tModelCall = \"AGENT_RUN_STEP_KIND_MODEL_CALL\",\n\tToolCallIntent = \"AGENT_RUN_STEP_KIND_TOOL_CALL_INTENT\",\n\tToolResult = \"AGENT_RUN_STEP_KIND_TOOL_RESULT\",\n\tApprovalWait = \"AGENT_RUN_STEP_KIND_APPROVAL_WAIT\",\n\tError = \"AGENT_RUN_STEP_KIND_ERROR\",\n\tSystem = \"AGENT_RUN_STEP_KIND_SYSTEM\",\n}\n\nexport enum PlatformAgentRunStepStateValue {\n\tPending = \"AGENT_RUN_STEP_STATE_PENDING\",\n\tRunning = \"AGENT_RUN_STEP_STATE_RUNNING\",\n\tWaiting = \"AGENT_RUN_STEP_STATE_WAITING\",\n\tSucceeded = \"AGENT_RUN_STEP_STATE_SUCCEEDED\",\n\tFailed = \"AGENT_RUN_STEP_STATE_FAILED\",\n\tCancelled = \"AGENT_RUN_STEP_STATE_CANCELLED\",\n\tSkipped = \"AGENT_RUN_STEP_STATE_SKIPPED\",\n}\n\nexport enum PlatformAgentRunWaitTypeValue {\n\tApproval = \"AGENT_RUN_WAIT_TYPE_APPROVAL\",\n\tInput = \"AGENT_RUN_WAIT_TYPE_INPUT\",\n\tEvent = \"AGENT_RUN_WAIT_TYPE_EVENT\",\n\tTimer = \"AGENT_RUN_WAIT_TYPE_TIMER\",\n}\n\nexport enum PlatformAgentWorkItemKindValue {\n\tRoot = \"AGENT_WORK_ITEM_KIND_ROOT\",\n\tModelCall = \"AGENT_WORK_ITEM_KIND_MODEL_CALL\",\n\tToolCall = \"AGENT_WORK_ITEM_KIND_TOOL_CALL\",\n\tChildRun = \"AGENT_WORK_ITEM_KIND_CHILD_RUN\",\n\tWait = \"AGENT_WORK_ITEM_KIND_WAIT\",\n\tMemory = \"AGENT_WORK_ITEM_KIND_MEMORY\",\n\tUserInput = \"AGENT_WORK_ITEM_KIND_USER_INPUT\",\n\tFollowup = \"AGENT_WORK_ITEM_KIND_FOLLOWUP\",\n\tRecovery = \"AGENT_WORK_ITEM_KIND_RECOVERY\",\n}\n\nexport enum PlatformAgentWorkItemStateValue {\n\tPending = \"AGENT_WORK_ITEM_STATE_PENDING\",\n\tRunning = \"AGENT_WORK_ITEM_STATE_RUNNING\",\n\tWaiting = \"AGENT_WORK_ITEM_STATE_WAITING\",\n\tBlocked = \"AGENT_WORK_ITEM_STATE_BLOCKED\",\n\tSucceeded = \"AGENT_WORK_ITEM_STATE_SUCCEEDED\",\n\tFailed = \"AGENT_WORK_ITEM_STATE_FAILED\",\n\tCancelled = \"AGENT_WORK_ITEM_STATE_CANCELLED\",\n}\n\nexport enum MaestroAgentRuntimeSourceEventType {\n\tSessionStarted = \"maestro.session_started\",\n}\n\nexport interface PlatformRuntimeChannelContext {\n\tchannelKind: PlatformRuntimeChannelKindValue;\n\tproviderWorkspaceId?: string;\n\tchannelId: string;\n\tthreadId?: string;\n\tactorId?: string;\n\tattributes?: Record<string, string>;\n}\n\nexport interface PlatformAgentRuntimeTrigger {\n\tworkspaceId: string;\n\tagentId: string;\n\tchannelId: string;\n\tidempotencyKey: string;\n\tsourceEventId?: string;\n\tsourceEventType: MaestroAgentRuntimeSourceEventType | string;\n\tactorId?: string;\n\tcorrelationId?: string;\n\tpayload?: Record<string, unknown>;\n\tsurfaceType: PlatformSurfaceValue;\n\tchannelContext: PlatformRuntimeChannelContext;\n\ttriggerKind: PlatformRuntimeTriggerKindValue;\n}\n\nexport interface PlatformAgentRun {\n\tid: string;\n\tstate?: PlatformAgentRunStateValue | string;\n\tlease?: PlatformAgentRunLease;\n\tsteps?: PlatformAgentRunStep[];\n\twaits?: PlatformAgentRunWait[];\n\tlatestCheckpoint?: PlatformAgentRunCheckpoint;\n\tlinkage?: {\n\t\trunId?: string;\n\t\tworkspaceId?: string;\n\t\tagentId?: string;\n\t\tobjectiveId?: string;\n\t};\n\tcreatedAt?: string;\n\tupdatedAt?: string;\n}\n\nexport interface PlatformRuntimeEvent {\n\tid?: string;\n\trunId?: string;\n\tsequence?: number;\n\ttype?: string;\n\tmessage?: string;\n\tstepId?: string;\n\twaitId?: string;\n\tcheckpointId?: string;\n\tattributes?: Record<string, unknown>;\n\toccurredAt?: string;\n\tcostId?: string;\n}\n\nexport interface PlatformAgentRuntimeHandleTriggerResult {\n\trun: PlatformAgentRun;\n\tevents: PlatformRuntimeEvent[];\n\tidempotentReplay: boolean;\n}\n\nexport interface PlatformAgentRunLease {\n\tid?: string;\n\ttoken?: string;\n\tworkerId?: string;\n\tworkerQueue?: string;\n\texpiresAt?: string;\n\theartbeatAt?: string;\n}\n\nexport interface PlatformAgentRunStep {\n\tid?: string;\n\tname?: string;\n\tstepKind?: PlatformAgentRunStepKindValue | string;\n\tstate?: PlatformAgentRunStepStateValue | string;\n\tattempt?: number;\n\tinput?: Record<string, unknown>;\n\toutput?: Record<string, unknown>;\n\terrorMessage?: string;\n\tcheckpointId?: string;\n\tstartedAt?: string;\n\tendedAt?: string;\n\tlinkage?: PlatformAgentRun[\"linkage\"];\n}\n\nexport interface PlatformAgentRunCost {\n\tid?: string;\n\tlinkage?: PlatformAgentRun[\"linkage\"];\n\tstepId?: string;\n\tmeterRef?: string;\n\tprovider?: string;\n\tmodel?: string;\n\tinputTokens?: number;\n\toutputTokens?: number;\n\ttotalTokens?: number;\n\tcurrency?: string;\n\testimatedCostMicros?: number;\n\trecordedAt?: string;\n}\n\nexport interface PlatformAgentRunCheckpoint {\n\tid?: string;\n\tstepId?: string;\n\tsequence?: number;\n\tresumeToken?: string;\n\tpayload?: Record<string, unknown>;\n\tcreatedAt?: string;\n\tlinkage?: PlatformAgentRun[\"linkage\"];\n}\n\nexport interface PlatformAgentRunWait {\n\tid?: string;\n\tstepId?: string;\n\ttype?: PlatformAgentRunWaitTypeValue | string;\n\texternalRef?: string;\n\treason?: string;\n\tpayload?: Record<string, unknown>;\n\tcreatedAt?: string;\n\tresumeAfter?: string;\n\texpiresAt?: string;\n\tresolvedAt?: string;\n\tresolvedByEventId?: string;\n\tlinkage?: PlatformAgentRun[\"linkage\"];\n}\n\nexport interface PlatformAgentWorkItem {\n\tid?: string;\n\tlinkage?: PlatformAgentRun[\"linkage\"];\n\tautonomySessionId?: string;\n\trunId?: string;\n\tworkEnvelopeId?: string;\n\tparentWorkItemId?: string;\n\townerChildRunId?: string;\n\tkind?: PlatformAgentWorkItemKindValue | string;\n\tstate?: PlatformAgentWorkItemStateValue | string;\n\ttitle?: string;\n\tgoal?: string;\n\tnextAction?: string;\n\tblocker?: string;\n\twaitId?: string;\n\ttoolExecutionId?: string;\n\tevidenceRefs?: string[];\n\tcompletionGate?: string;\n\tpayload?: Record<string, unknown>;\n\tcreatedAt?: string;\n\tupdatedAt?: string;\n\tstartedAt?: string;\n\tcompletedAt?: string;\n\tfailedAt?: string;\n\tcancelledAt?: string;\n}\n\nexport interface PlatformAgentRuntimeClaimNextRunInput {\n\tworkerId: string;\n\tworkerQueue?: string;\n\tleaseSeconds?: number;\n}\n\nexport interface PlatformAgentRuntimeClaimNextRunResult {\n\trun: PlatformAgentRun;\n\tlease?: PlatformAgentRunLease;\n\tevents: PlatformRuntimeEvent[];\n}\n\nexport interface PlatformAgentRuntimeRecordRunStepInput {\n\trunId: string;\n\tleaseToken: string;\n\tstep: PlatformAgentRunStep;\n}\n\nexport interface PlatformAgentRuntimeRecordRunStepResult {\n\trun: PlatformAgentRun;\n\tstep?: PlatformAgentRunStep;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeRecordRunEventInput {\n\trunId: string;\n\ttype: PlatformRuntimeEventTypeValue | string;\n\tmessage: string;\n\tattributes?: Record<string, unknown>;\n\tstepId?: string;\n\tcheckpointId?: string;\n\tartifactId?: string;\n\tcostId?: string;\n\twaitId?: string;\n\tvisibility?: Record<string, unknown>;\n}\n\nexport interface PlatformAgentRuntimeRecordRunEventResult {\n\trun: PlatformAgentRun;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeRecordRunCostInput {\n\trunId: string;\n\tleaseToken: string;\n\tcost: PlatformAgentRunCost;\n}\n\nexport interface PlatformAgentRuntimeRecordRunCostResult {\n\trun: PlatformAgentRun;\n\tcost?: PlatformAgentRunCost;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeWaitRunInput {\n\trunId: string;\n\tleaseToken: string;\n\twait: PlatformAgentRunWait;\n\tcheckpoint?: PlatformAgentRunCheckpoint;\n}\n\nexport interface PlatformAgentRuntimeWaitRunResult {\n\trun: PlatformAgentRun;\n\twait?: PlatformAgentRunWait;\n\tcheckpoint?: PlatformAgentRunCheckpoint;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeResumeRunInput {\n\trunId: string;\n\twaitId: string;\n\tresumeEventId?: string;\n\tpayload?: Record<string, unknown>;\n}\n\nexport interface PlatformAgentRuntimeRecordRunWorkItemInput {\n\trunId: string;\n\tworkItem: PlatformAgentWorkItem;\n}\n\nexport interface PlatformAgentRuntimeRecordRunWorkItemResult {\n\trun: PlatformAgentRun;\n\tworkItem?: PlatformAgentWorkItem;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeUpdateRunWorkItemInput {\n\trunId: string;\n\tworkItemId: string;\n\tstate: PlatformAgentWorkItemStateValue | string;\n\tnextAction?: string;\n\tblocker?: string;\n\twaitId?: string;\n\ttoolExecutionId?: string;\n\tevidenceRefs?: string[];\n\tcompletionGate?: string;\n\tpayload?: Record<string, unknown>;\n}\n\nexport interface PlatformAgentRuntimeUpdateRunWorkItemResult {\n\trun: PlatformAgentRun;\n\tworkItem?: PlatformAgentWorkItem;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeRunEventResult {\n\trun: PlatformAgentRun;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeCompleteRunInput {\n\trunId: string;\n\tleaseToken: string;\n\tresult?: Record<string, unknown>;\n\tcheckpoint?: PlatformAgentRunCheckpoint;\n}\n\nexport interface PlatformAgentRuntimeCompleteRunResult {\n\trun: PlatformAgentRun;\n\tcheckpoint?: PlatformAgentRunCheckpoint;\n\tevent?: PlatformRuntimeEvent;\n}\n\nexport interface PlatformAgentRuntimeFailRunInput {\n\trunId: string;\n\tleaseToken: string;\n\terrorMessage: string;\n\tretryable?: boolean;\n\tretryDelaySeconds?: number;\n}\n\nexport interface PlatformAgentRuntimeGetRunInput {\n\trunId: string;\n}\n\nexport interface PlatformAgentRuntimeListRunEventsInput {\n\trunId: string;\n}\n\nexport interface PlatformAgentRuntimeListRunEventsResult {\n\tevents: PlatformRuntimeEvent[];\n}\n\nexport interface MaestroSessionRuntimeTriggerInput {\n\tworkspaceId?: string;\n\tsessionId: string;\n\tagentId?: string;\n\tactorId?: string;\n\tcorrelationId?: string;\n\ttraceparent?: string;\n\ttracestate?: string;\n\tsourceEventId?: string;\n\tidempotencyKey?: string;\n\tfactsQuery?: string;\n\tfactsContext?: MaestroFactsContext;\n\tmetadata?: Record<string, unknown>;\n}\n\nfunction pickString(\n\trecord: Record<string, unknown> | undefined,\n\t...names: string[]\n): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = record?.[name];\n\t\tif (typeof value === \"string\" && value.trim().length > 0) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\n// Platform service responses can arrive from Connect JSON, protojson fixtures,\n// or A2A metadata. Keep casing tolerance here so HTTP handlers consume one\n// Maestro-owned shape instead of duplicating wire compatibility checks.\nfunction pickRecord(\n\trecord: Record<string, unknown> | undefined,\n\t...names: string[]\n): Record<string, unknown> | undefined {\n\tfor (const name of names) {\n\t\tconst value = record?.[name];\n\t\tif (value && typeof value === \"object\" && !Array.isArray(value)) {\n\t\t\treturn value as Record<string, unknown>;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction pickArray(\n\trecord: Record<string, unknown> | undefined,\n\t...names: string[]\n): unknown[] | undefined {\n\tfor (const name of names) {\n\t\tconst value = record?.[name];\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction pickBoolean(\n\trecord: Record<string, unknown> | undefined,\n\t...names: string[]\n): boolean {\n\tfor (const name of names) {\n\t\tconst value = record?.[name];\n\t\tif (typeof value === \"boolean\") {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction pickNumber(\n\trecord: Record<string, unknown> | undefined,\n\t...names: string[]\n): number | undefined {\n\tfor (const name of names) {\n\t\tconst value = record?.[name];\n\t\tif (isFiniteNumber(value)) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction isFiniteNumber(value: unknown): value is number {\n\treturn typeof value === \"number\" && Number.isFinite(value);\n}\n\nfunction normalizeLinkage(\n\tvalue: unknown,\n): PlatformAgentRun[\"linkage\"] | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst linkage = value as Record<string, unknown>;\n\treturn {\n\t\trunId: pickString(linkage, \"runId\", \"run_id\"),\n\t\tworkspaceId: pickString(linkage, \"workspaceId\", \"workspace_id\"),\n\t\tagentId: pickString(linkage, \"agentId\", \"agent_id\"),\n\t\tobjectiveId: pickString(linkage, \"objectiveId\", \"objective_id\"),\n\t};\n}\n\nfunction compactStringRecord(\n\trecord: Record<string, string | undefined>,\n): Record<string, string> | undefined {\n\tconst compacted = Object.fromEntries(\n\t\tObject.entries(record).filter(\n\t\t\t(entry): entry is [string, string] =>\n\t\t\t\ttypeof entry[1] === \"string\" && entry[1].length > 0,\n\t\t),\n\t);\n\treturn Object.keys(compacted).length > 0 ? compacted : undefined;\n}\n\nfunction normalizeLease(value: unknown): PlatformAgentRunLease | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\treturn {\n\t\tid: pickString(record, \"id\"),\n\t\ttoken: pickString(record, \"token\"),\n\t\tworkerId: pickString(record, \"workerId\", \"worker_id\"),\n\t\tworkerQueue: pickString(record, \"workerQueue\", \"worker_queue\"),\n\t\texpiresAt: pickString(record, \"expiresAt\", \"expires_at\"),\n\t\theartbeatAt: pickString(record, \"heartbeatAt\", \"heartbeat_at\"),\n\t};\n}\n\nfunction normalizeStep(value: unknown): PlatformAgentRunStep | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\treturn {\n\t\tid: pickString(record, \"id\"),\n\t\tname: pickString(record, \"name\"),\n\t\tstepKind: pickString(record, \"stepKind\", \"step_kind\", \"kind\"),\n\t\tstate: pickString(record, \"state\"),\n\t\tattempt: pickNumber(record, \"attempt\"),\n\t\tinput: pickRecord(record, \"input\"),\n\t\toutput: pickRecord(record, \"output\"),\n\t\terrorMessage: pickString(record, \"errorMessage\", \"error_message\"),\n\t\tcheckpointId: pickString(record, \"checkpointId\", \"checkpoint_id\"),\n\t\tstartedAt: pickString(record, \"startedAt\", \"started_at\"),\n\t\tendedAt: pickString(record, \"endedAt\", \"ended_at\"),\n\t\tlinkage: normalizeLinkage(record.linkage),\n\t};\n}\n\nfunction normalizeCost(value: unknown): PlatformAgentRunCost | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\tconst id = pickString(record, \"id\");\n\tif (!id) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tid,\n\t\tlinkage: normalizeLinkage(record.linkage),\n\t\tstepId: pickString(record, \"stepId\", \"step_id\"),\n\t\tmeterRef: pickString(record, \"meterRef\", \"meter_ref\"),\n\t\tprovider: pickString(record, \"provider\"),\n\t\tmodel: pickString(record, \"model\"),\n\t\tinputTokens: pickNumber(record, \"inputTokens\", \"input_tokens\"),\n\t\toutputTokens: pickNumber(record, \"outputTokens\", \"output_tokens\"),\n\t\ttotalTokens: pickNumber(record, \"totalTokens\", \"total_tokens\"),\n\t\tcurrency: pickString(record, \"currency\"),\n\t\testimatedCostMicros: pickNumber(\n\t\t\trecord,\n\t\t\t\"estimatedCostMicros\",\n\t\t\t\"estimated_cost_micros\",\n\t\t),\n\t\trecordedAt: pickString(record, \"recordedAt\", \"recorded_at\"),\n\t};\n}\n\nfunction normalizeCheckpoint(\n\tvalue: unknown,\n): PlatformAgentRunCheckpoint | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\treturn {\n\t\tid: pickString(record, \"id\"),\n\t\tstepId: pickString(record, \"stepId\", \"step_id\"),\n\t\tsequence: pickNumber(record, \"sequence\"),\n\t\tresumeToken: pickString(record, \"resumeToken\", \"resume_token\"),\n\t\tpayload: pickRecord(record, \"payload\"),\n\t\tcreatedAt: pickString(record, \"createdAt\", \"created_at\"),\n\t\tlinkage: normalizeLinkage(record.linkage),\n\t};\n}\n\nfunction normalizeWait(value: unknown): PlatformAgentRunWait | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\treturn {\n\t\tid: pickString(record, \"id\"),\n\t\tstepId: pickString(record, \"stepId\", \"step_id\"),\n\t\ttype: pickString(record, \"type\"),\n\t\texternalRef: pickString(record, \"externalRef\", \"external_ref\"),\n\t\treason: pickString(record, \"reason\"),\n\t\tpayload: pickRecord(record, \"payload\"),\n\t\tcreatedAt: pickString(record, \"createdAt\", \"created_at\"),\n\t\tresumeAfter: pickString(record, \"resumeAfter\", \"resume_after\"),\n\t\texpiresAt: pickString(record, \"expiresAt\", \"expires_at\"),\n\t\tresolvedAt: pickString(record, \"resolvedAt\", \"resolved_at\"),\n\t\tresolvedByEventId: pickString(\n\t\t\trecord,\n\t\t\t\"resolvedByEventId\",\n\t\t\t\"resolved_by_event_id\",\n\t\t),\n\t\tlinkage: normalizeLinkage(record.linkage),\n\t};\n}\n\nfunction normalizeStringArray(value: unknown): string[] | undefined {\n\tif (!Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst strings = value.filter(\n\t\t(item): item is string => typeof item === \"string\" && item.length > 0,\n\t);\n\treturn strings.length > 0 ? strings : undefined;\n}\n\nfunction normalizeWorkItem(value: unknown): PlatformAgentWorkItem | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\tconst id = pickString(record, \"id\");\n\tif (!id) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tid,\n\t\tlinkage: normalizeLinkage(record.linkage),\n\t\tautonomySessionId: pickString(\n\t\t\trecord,\n\t\t\t\"autonomySessionId\",\n\t\t\t\"autonomy_session_id\",\n\t\t),\n\t\trunId: pickString(record, \"runId\", \"run_id\"),\n\t\tworkEnvelopeId: pickString(record, \"workEnvelopeId\", \"work_envelope_id\"),\n\t\tparentWorkItemId: pickString(\n\t\t\trecord,\n\t\t\t\"parentWorkItemId\",\n\t\t\t\"parent_work_item_id\",\n\t\t),\n\t\townerChildRunId: pickString(\n\t\t\trecord,\n\t\t\t\"ownerChildRunId\",\n\t\t\t\"owner_child_run_id\",\n\t\t),\n\t\tkind: pickString(record, \"kind\"),\n\t\tstate: pickString(record, \"state\"),\n\t\ttitle: pickString(record, \"title\"),\n\t\tgoal: pickString(record, \"goal\"),\n\t\tnextAction: pickString(record, \"nextAction\", \"next_action\"),\n\t\tblocker: pickString(record, \"blocker\"),\n\t\twaitId: pickString(record, \"waitId\", \"wait_id\"),\n\t\ttoolExecutionId: pickString(record, \"toolExecutionId\", \"tool_execution_id\"),\n\t\tevidenceRefs: normalizeStringArray(\n\t\t\trecord.evidenceRefs ?? record.evidence_refs,\n\t\t),\n\t\tcompletionGate: pickString(record, \"completionGate\", \"completion_gate\"),\n\t\tpayload: pickRecord(record, \"payload\"),\n\t\tcreatedAt: pickString(record, \"createdAt\", \"created_at\"),\n\t\tupdatedAt: pickString(record, \"updatedAt\", \"updated_at\"),\n\t\tstartedAt: pickString(record, \"startedAt\", \"started_at\"),\n\t\tcompletedAt: pickString(record, \"completedAt\", \"completed_at\"),\n\t\tfailedAt: pickString(record, \"failedAt\", \"failed_at\"),\n\t\tcancelledAt: pickString(record, \"cancelledAt\", \"cancelled_at\"),\n\t};\n}\n\nfunction normalizeRun(value: unknown): PlatformAgentRun | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\tconst id = pickString(record, \"id\");\n\tif (!id) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tid,\n\t\tstate: pickString(record, \"state\"),\n\t\tlease: normalizeLease(record.lease),\n\t\tsteps: pickArray(record, \"steps\")\n\t\t\t?.map(normalizeStep)\n\t\t\t.filter((step): step is PlatformAgentRunStep => Boolean(step)),\n\t\twaits: pickArray(record, \"waits\")\n\t\t\t?.map(normalizeWait)\n\t\t\t.filter((wait): wait is PlatformAgentRunWait => Boolean(wait)),\n\t\tlatestCheckpoint: normalizeCheckpoint(\n\t\t\trecord.latestCheckpoint ?? record.latest_checkpoint,\n\t\t),\n\t\tlinkage: normalizeLinkage(record.linkage),\n\t\tcreatedAt: pickString(record, \"createdAt\", \"created_at\"),\n\t\tupdatedAt: pickString(record, \"updatedAt\", \"updated_at\"),\n\t};\n}\n\nfunction normalizeEvent(value: unknown): PlatformRuntimeEvent | undefined {\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\treturn undefined;\n\t}\n\tconst record = value as Record<string, unknown>;\n\treturn {\n\t\tid: pickString(record, \"id\"),\n\t\trunId: pickString(record, \"runId\", \"run_id\"),\n\t\tsequence: pickNumber(record, \"sequence\"),\n\t\ttype: pickString(record, \"type\"),\n\t\tmessage: pickString(record, \"message\"),\n\t\tstepId: pickString(record, \"stepId\", \"step_id\"),\n\t\twaitId: pickString(record, \"waitId\", \"wait_id\"),\n\t\tcheckpointId: pickString(record, \"checkpointId\", \"checkpoint_id\"),\n\t\tcostId: pickString(record, \"costId\", \"cost_id\"),\n\t\tattributes: pickRecord(record, \"attributes\"),\n\t\toccurredAt: pickString(record, \"occurredAt\", \"occurred_at\"),\n\t};\n}\n\nfunction normalizeHandleTriggerResponse(\n\tpayload: Record<string, unknown>,\n): PlatformAgentRuntimeHandleTriggerResult {\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tevents: normalizeEvents(payload),\n\t\tidempotentReplay: pickBoolean(\n\t\t\tpayload,\n\t\t\t\"idempotentReplay\",\n\t\t\t\"idempotent_replay\",\n\t\t),\n\t};\n}\n\nfunction normalizeRequiredRun(\n\tpayload: Record<string, unknown>,\n): PlatformAgentRun {\n\tconst run = normalizeRun(payload.run);\n\tif (!run) {\n\t\tthrow new Error(\"agent runtime service returned no run\");\n\t}\n\treturn run;\n}\n\nfunction normalizeEvents(\n\tpayload: Record<string, unknown>,\n): PlatformRuntimeEvent[] {\n\treturn (\n\t\tpickArray(payload, \"events\")\n\t\t\t?.map(normalizeEvent)\n\t\t\t.filter((event): event is PlatformRuntimeEvent => Boolean(event)) ?? []\n\t);\n}\n\nasync function postAgentRuntimeOperation(\n\tpath: string,\n\tbody: Record<string, unknown>,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<Record<string, unknown>> {\n\tconst config = options?.config ?? (await resolveAgentRuntimeServiceConfig());\n\tif (!config) {\n\t\tthrow new Error(\"agent runtime service is not configured\");\n\t}\n\tconst response = await postPlatformConnect(config, path, body, {\n\t\tserviceName: \"agent runtime service\",\n\t\tfailureMode: \"optional\",\n\t\ttimeoutMs: config.timeoutMs,\n\t\tmaxAttempts: config.maxAttempts,\n\t\tsignal: options?.signal,\n\t});\n\tif (!response.ok) {\n\t\tconst text = await response.text();\n\t\tthrow new Error(\n\t\t\t`agent runtime service returned ${response.status}: ${text || response.statusText}`,\n\t\t);\n\t}\n\treturn (await response.json()) as Record<string, unknown>;\n}\n\nexport async function resolveAgentRuntimeServiceConfig(): Promise<PlatformServiceConfig | null> {\n\treturn await resolvePlatformServiceConfig({\n\t\tbaseUrlEnvVars: AGENT_RUNTIME_BASE_URL_ENV_VARS,\n\t\ttokenEnvVars: AGENT_RUNTIME_TOKEN_ENV_VARS,\n\t\torganizationEnvVars: AGENT_RUNTIME_ORGANIZATION_ENV_VARS,\n\t\tworkspaceEnvVars: AGENT_RUNTIME_WORKSPACE_ENV_VARS,\n\t\ttimeoutEnvVars: AGENT_RUNTIME_TIMEOUT_ENV_VARS,\n\t\tmaxAttemptsEnvVars: AGENT_RUNTIME_MAX_ATTEMPTS_ENV_VARS,\n\t\tbaseUrlSuffixes: AGENT_RUNTIME_BASE_URL_SUFFIXES,\n\t\tdefaultTimeoutMs: DEFAULT_TIMEOUT_MS,\n\t\tdefaultMaxAttempts: DEFAULT_MAX_ATTEMPTS,\n\t\trequireOrganizationId: true,\n\t\trequireToken: true,\n\t});\n}\n\nexport function buildMaestroSessionRuntimeTrigger(\n\tinput: MaestroSessionRuntimeTriggerInput,\n\tfallbackWorkspaceId?: string,\n): PlatformAgentRuntimeTrigger | null {\n\tconst workspaceId =\n\t\ttrimString(input.workspaceId) ?? trimString(fallbackWorkspaceId);\n\tconst sessionId = trimString(input.sessionId);\n\tif (!workspaceId || !sessionId) {\n\t\treturn null;\n\t}\n\tconst agentId = trimString(input.agentId) ?? \"maestro\";\n\tconst channelId = `maestro-session:${sessionId}`;\n\tconst idempotencyKey =\n\t\ttrimString(input.idempotencyKey) ??\n\t\t[\"maestro-session\", workspaceId, sessionId].join(\":\");\n\tconst correlationId =\n\t\ttrimString(input.correlationId) ?? [\"maestro-session\", sessionId].join(\":\");\n\tconst actorId = trimString(input.actorId);\n\tconst traceContext = maestroRuntimeTraceContext(input);\n\t// Session starts are idempotent per workspace/session pair. The channel and\n\t// payload stay Maestro-shaped, while Platform receives enough typed linkage\n\t// to build timelines, traces, and support views around the same session.\n\treturn {\n\t\tworkspaceId,\n\t\tagentId,\n\t\tchannelId,\n\t\tidempotencyKey,\n\t\tsourceEventId: trimString(input.sourceEventId) ?? idempotencyKey,\n\t\tsourceEventType: MaestroAgentRuntimeSourceEventType.SessionStarted,\n\t\t...(actorId ? { actorId } : {}),\n\t\tcorrelationId,\n\t\tsurfaceType: PlatformSurfaceValue.Maestro,\n\t\tchannelContext: {\n\t\t\tchannelKind: PlatformRuntimeChannelKindValue.Api,\n\t\t\tproviderWorkspaceId: workspaceId,\n\t\t\tchannelId,\n\t\t\tthreadId: sessionId,\n\t\t\t...(actorId ? { actorId } : {}),\n\t\t\tattributes: compactStringRecord({\n\t\t\t\troute: \"maestro_session\",\n\t\t\t\tmaestro_session_id: sessionId,\n\t\t\t\tsource: \"maestro\",\n\t\t\t\ttraceparent: traceContext?.traceparent,\n\t\t\t\ttracestate: traceContext?.tracestate,\n\t\t\t}),\n\t\t},\n\t\ttriggerKind: PlatformRuntimeTriggerKindValue.Api,\n\t\tpayload: {\n\t\t\tmaestroSessionId: sessionId,\n\t\t\t...(traceContext ? { trace_context: traceContext } : {}),\n\t\t\t...(input.metadata ? { metadata: input.metadata } : {}),\n\t\t\t...(input.factsContext ? { facts_context: input.factsContext } : {}),\n\t\t},\n\t};\n}\n\nexport async function handleAgentRuntimeTrigger(\n\ttrigger: PlatformAgentRuntimeTrigger,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeHandleTriggerResult> {\n\treturn normalizeHandleTriggerResponse(\n\t\tawait postAgentRuntimeOperation(HANDLE_TRIGGER_PATH, { trigger }, options),\n\t);\n}\n\nexport async function claimNextAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeClaimNextRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeClaimNextRunResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tCLAIM_NEXT_RUN_PATH,\n\t\t{\n\t\t\tworkerId: input.workerId,\n\t\t\t...(input.workerQueue ? { workerQueue: input.workerQueue } : {}),\n\t\t\t...(isFiniteNumber(input.leaseSeconds)\n\t\t\t\t? { leaseSeconds: input.leaseSeconds }\n\t\t\t\t: {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tlease: normalizeLease(payload.lease),\n\t\tevents: normalizeEvents(payload),\n\t};\n}\n\nexport async function recordAgentRuntimeRunStep(\n\tinput: PlatformAgentRuntimeRecordRunStepInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRecordRunStepResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tRECORD_RUN_STEP_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tleaseToken: input.leaseToken,\n\t\t\tstep: input.step,\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tstep: normalizeStep(payload.step),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function recordAgentRuntimeRunEvent(\n\tinput: PlatformAgentRuntimeRecordRunEventInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRecordRunEventResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tRECORD_RUN_EVENT_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\ttype: input.type,\n\t\t\tmessage: input.message,\n\t\t\t...(input.attributes ? { attributes: input.attributes } : {}),\n\t\t\t...(input.stepId ? { stepId: input.stepId } : {}),\n\t\t\t...(input.checkpointId ? { checkpointId: input.checkpointId } : {}),\n\t\t\t...(input.artifactId ? { artifactId: input.artifactId } : {}),\n\t\t\t...(input.costId ? { costId: input.costId } : {}),\n\t\t\t...(input.waitId ? { waitId: input.waitId } : {}),\n\t\t\t...(input.visibility ? { visibility: input.visibility } : {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function recordAgentRuntimeRunCost(\n\tinput: PlatformAgentRuntimeRecordRunCostInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRecordRunCostResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tRECORD_RUN_COST_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tleaseToken: input.leaseToken,\n\t\t\tcost: input.cost,\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tcost: normalizeCost(payload.cost),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function recordAgentRuntimeRunWorkItem(\n\tinput: PlatformAgentRuntimeRecordRunWorkItemInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRecordRunWorkItemResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tRECORD_RUN_WORK_ITEM_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tworkItem: input.workItem,\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tworkItem: normalizeWorkItem(payload.workItem ?? payload.work_item),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function updateAgentRuntimeRunWorkItem(\n\tinput: PlatformAgentRuntimeUpdateRunWorkItemInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeUpdateRunWorkItemResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tUPDATE_RUN_WORK_ITEM_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tworkItemId: input.workItemId,\n\t\t\tstate: input.state,\n\t\t\t...(input.nextAction !== undefined\n\t\t\t\t? { nextAction: input.nextAction }\n\t\t\t\t: {}),\n\t\t\t...(input.blocker !== undefined ? { blocker: input.blocker } : {}),\n\t\t\t...(input.waitId !== undefined ? { waitId: input.waitId } : {}),\n\t\t\t...(input.toolExecutionId !== undefined\n\t\t\t\t? { toolExecutionId: input.toolExecutionId }\n\t\t\t\t: {}),\n\t\t\t...(input.evidenceRefs !== undefined\n\t\t\t\t? { evidenceRefs: input.evidenceRefs }\n\t\t\t\t: {}),\n\t\t\t...(input.completionGate !== undefined\n\t\t\t\t? { completionGate: input.completionGate }\n\t\t\t\t: {}),\n\t\t\t...(input.payload ? { payload: input.payload } : {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tworkItem: normalizeWorkItem(payload.workItem ?? payload.work_item),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function waitAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeWaitRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeWaitRunResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tWAIT_RUN_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tleaseToken: input.leaseToken,\n\t\t\twait: input.wait,\n\t\t\t...(input.checkpoint ? { checkpoint: input.checkpoint } : {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\twait: normalizeWait(payload.wait),\n\t\tcheckpoint: normalizeCheckpoint(payload.checkpoint),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function resumeAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeResumeRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRunEventResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tRESUME_RUN_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\twaitId: input.waitId,\n\t\t\t...(input.resumeEventId ? { resumeEventId: input.resumeEventId } : {}),\n\t\t\t...(input.payload ? { payload: input.payload } : {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function completeAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeCompleteRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeCompleteRunResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tCOMPLETE_RUN_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tleaseToken: input.leaseToken,\n\t\t\t...(input.result ? { result: input.result } : {}),\n\t\t\t...(input.checkpoint ? { checkpoint: input.checkpoint } : {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tcheckpoint: normalizeCheckpoint(payload.checkpoint),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function failAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeFailRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRunEventResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tFAIL_RUN_PATH,\n\t\t{\n\t\t\trunId: input.runId,\n\t\t\tleaseToken: input.leaseToken,\n\t\t\terrorMessage: input.errorMessage,\n\t\t\t...(typeof input.retryable === \"boolean\"\n\t\t\t\t? { retryable: input.retryable }\n\t\t\t\t: {}),\n\t\t\t...(isFiniteNumber(input.retryDelaySeconds)\n\t\t\t\t? { retryDelaySeconds: input.retryDelaySeconds }\n\t\t\t\t: {}),\n\t\t},\n\t\toptions,\n\t);\n\treturn {\n\t\trun: normalizeRequiredRun(payload),\n\t\tevent: normalizeEvent(payload.event),\n\t};\n}\n\nexport async function getAgentRuntimeRun(\n\tinput: PlatformAgentRuntimeGetRunInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeRunEventResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tGET_RUN_PATH,\n\t\t{ id: input.runId },\n\t\toptions,\n\t);\n\treturn { run: normalizeRequiredRun(payload) };\n}\n\nexport async function listAgentRuntimeRunEvents(\n\tinput: PlatformAgentRuntimeListRunEventsInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeListRunEventsResult> {\n\tconst payload = await postAgentRuntimeOperation(\n\t\tLIST_RUN_EVENTS_PATH,\n\t\t{ runId: input.runId },\n\t\toptions,\n\t);\n\treturn { events: normalizeEvents(payload) };\n}\n\nexport async function recordMaestroSessionRuntimeTrigger(\n\tinput: MaestroSessionRuntimeTriggerInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeHandleTriggerResult | null> {\n\t// Keep transport selection behind this adapter. Headless session handlers\n\t// should only know whether a Platform correlation handle was recorded, not\n\t// whether the deployment used Connect or the A2A facade.\n\tif (isAgentRuntimeA2AEnabled()) {\n\t\treturn await recordMaestroSessionRuntimeTriggerViaA2A(input, options);\n\t}\n\tconst config = options?.config ?? (await resolveAgentRuntimeServiceConfig());\n\tif (!config) {\n\t\treturn null;\n\t}\n\tlet factsContext = input.factsContext;\n\tif (!factsContext) {\n\t\ttry {\n\t\t\tfactsContext = await gatherMaestroSessionFactsContext(\n\t\t\t\t{\n\t\t\t\t\t...input,\n\t\t\t\t\tworkspaceId: input.workspaceId ?? config.workspaceId,\n\t\t\t\t},\n\t\t\t\t{ signal: options?.signal },\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\tfactsContext = undefined;\n\t\t}\n\t}\n\tconst trigger = buildMaestroSessionRuntimeTrigger(\n\t\t{ ...input, factsContext },\n\t\tconfig.workspaceId,\n\t);\n\tif (!trigger) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn await handleAgentRuntimeTrigger(trigger, {\n\t\t\tconfig,\n\t\t\tsignal: options?.signal,\n\t\t});\n\t} catch (error) {\n\t\tif (isAbortError(error)) {\n\t\t\tthrow error;\n\t\t}\n\t\treturn null;\n\t}\n}\n\nasync function recordMaestroSessionRuntimeTriggerViaA2A(\n\tinput: MaestroSessionRuntimeTriggerInput,\n\toptions?: {\n\t\tconfig?: PlatformServiceConfig;\n\t\tsignal?: AbortSignal;\n\t},\n): Promise<PlatformAgentRuntimeHandleTriggerResult | null> {\n\tconst serviceConfig = options?.config\n\t\t? {\n\t\t\t\t...options.config,\n\t\t\t\tbaseUrl: normalizeBaseUrl(\n\t\t\t\t\toptions.config.baseUrl,\n\t\t\t\t\tAGENT_RUNTIME_BASE_URL_SUFFIXES,\n\t\t\t\t),\n\t\t\t}\n\t\t: await resolveAgentRuntimeServiceConfig();\n\tconst dedicatedWorkspaceId = getEnvValue(DEDICATED_A2A_WORKSPACE_ENV_VARS);\n\t// Dedicated A2A env vars deliberately override shared AgentRuntime config,\n\t// but managed deployments can omit them and reuse the same service identity\n\t// while only flipping the transport feature flag.\n\tconst config = await resolveA2AServiceConfig({\n\t\tbaseUrl: hasDedicatedA2AEnv(DEDICATED_A2A_BASE_URL_ENV_VARS)\n\t\t\t? undefined\n\t\t\t: serviceConfig?.baseUrl,\n\t\ttoken: hasDedicatedA2AEnv(DEDICATED_A2A_TOKEN_ENV_VARS)\n\t\t\t? undefined\n\t\t\t: serviceConfig?.token,\n\t\torganizationId: hasDedicatedA2AEnv(DEDICATED_A2A_ORGANIZATION_ENV_VARS)\n\t\t\t? undefined\n\t\t\t: serviceConfig?.organizationId,\n\t\tworkspaceId:\n\t\t\ttrimString(input.workspaceId) ??\n\t\t\t(dedicatedWorkspaceId ? undefined : serviceConfig?.workspaceId),\n\t\tagentId: input.agentId ?? \"maestro\",\n\t\tsessionId: input.sessionId,\n\t\tactorId: input.actorId ?? \"maestro\",\n\t\ttimeoutMs: hasDedicatedA2AEnv(DEDICATED_A2A_TIMEOUT_ENV_VARS)\n\t\t\t? undefined\n\t\t\t: serviceConfig?.timeoutMs,\n\t\tmaxAttempts: hasDedicatedA2AEnv(DEDICATED_A2A_MAX_ATTEMPTS_ENV_VARS)\n\t\t\t? undefined\n\t\t\t: serviceConfig?.maxAttempts,\n\t});\n\tif (!config) {\n\t\treturn null;\n\t}\n\tlet factsContext = input.factsContext;\n\tif (!factsContext) {\n\t\ttry {\n\t\t\tfactsContext = await gatherMaestroSessionFactsContext(\n\t\t\t\t{\n\t\t\t\t\t...input,\n\t\t\t\t\tworkspaceId: input.workspaceId ?? config.workspaceId,\n\t\t\t\t},\n\t\t\t\t{ signal: options?.signal },\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\tfactsContext = undefined;\n\t\t}\n\t}\n\tconst workspaceId = trimString(input.workspaceId) ?? config.workspaceId;\n\tconst sessionId = trimString(input.sessionId);\n\tif (!workspaceId || !sessionId) {\n\t\treturn null;\n\t}\n\tconst idempotencyKey =\n\t\ttrimString(input.idempotencyKey) ??\n\t\t[\"maestro-session\", workspaceId, sessionId].join(\":\");\n\tconst correlationId =\n\t\ttrimString(input.correlationId) ?? [\"maestro-session\", sessionId].join(\":\");\n\tconst traceContext = maestroRuntimeTraceContext(input);\n\tconst pushNotificationConfig = platformA2APushNotificationConfig(sessionId);\n\ttry {\n\t\tconst sent = await sendA2AMessage(\n\t\t\tconfig,\n\t\t\t{\n\t\t\t\tmessage: buildA2AUserMessage({\n\t\t\t\t\tmessageId: idempotencyKey,\n\t\t\t\t\tcontextId: `maestro-session:${sessionId}`,\n\t\t\t\t\ttext: `Start Maestro hosted session ${sessionId}`,\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tworkspaceId,\n\t\t\t\t\t\tagentId: config.agentId ?? \"maestro\",\n\t\t\t\t\t\tsessionId,\n\t\t\t\t\t\tactorId: config.actorId ?? input.actorId ?? \"maestro\",\n\t\t\t\t\t\tcorrelationId,\n\t\t\t\t\t\t...(traceContext?.traceparent\n\t\t\t\t\t\t\t? { traceparent: traceContext.traceparent }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t...(traceContext?.tracestate\n\t\t\t\t\t\t\t? { tracestate: traceContext.tracestate }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\tsourceEventId: trimString(input.sourceEventId) ?? idempotencyKey,\n\t\t\t\t\t\tsourceEventType: MaestroAgentRuntimeSourceEventType.SessionStarted,\n\t\t\t\t\t\tmetadata: input.metadata,\n\t\t\t\t\t\t...(factsContext ? { facts_context: factsContext } : {}),\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tconfiguration: {\n\t\t\t\t\treturnImmediately: true,\n\t\t\t\t\t...(pushNotificationConfig\n\t\t\t\t\t\t? { taskPushNotificationConfig: pushNotificationConfig }\n\t\t\t\t\t\t: {}),\n\t\t\t\t},\n\t\t\t\tmetadata: {\n\t\t\t\t\troute: \"maestro_session\",\n\t\t\t\t\ttransport: \"a2a\",\n\t\t\t\t},\n\t\t\t\ttraceContext,\n\t\t\t},\n\t\t\t{ signal: options?.signal },\n\t\t);\n\t\tlet task = sent.task;\n\t\ttry {\n\t\t\ttask = mergeA2ATaskLookupResult(\n\t\t\t\tsent.task,\n\t\t\t\tawait getA2ATask(config, sent.task.id, {\n\t\t\t\t\tsignal: options?.signal,\n\t\t\t\t\ttraceContext,\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}\n\t\treturn a2aTaskToAgentRuntimeTriggerResult(task, config);\n\t} catch (error) {\n\t\tif (isAbortError(error)) {\n\t\t\tthrow error;\n\t\t}\n\t\treturn null;\n\t}\n}\n\nfunction platformA2APushNotificationConfig(\n\tsessionId: string,\n): { id: string; url: string; token?: string } | undefined {\n\tconst url = getEnvValue(DEDICATED_A2A_CALLBACK_URL_ENV_VARS);\n\tif (!url) {\n\t\treturn undefined;\n\t}\n\tconst token = getEnvValue(DEDICATED_A2A_CALLBACK_TOKEN_ENV_VARS);\n\treturn {\n\t\tid: `maestro-session-${sessionId}`,\n\t\turl,\n\t\t...(token ? { token } : {}),\n\t};\n}\n\nfunction isAgentRuntimeA2AEnabled(): boolean {\n\tconst value = getEnvValue(AGENT_RUNTIME_A2A_ENABLED_ENV_VARS)?.toLowerCase();\n\treturn value === \"1\" || value === \"true\" || value === \"yes\" || value === \"on\";\n}\n\nfunction hasDedicatedA2AEnv(names: readonly string[]): boolean {\n\treturn getEnvValue(names) !== undefined;\n}\n\nfunction mergeA2ATaskLookupResult(sent: A2ATask, lookup: A2ATask): A2ATask {\n\tconst preservedMetadata = { ...(sent.metadata ?? {}) };\n\tdelete preservedMetadata.agentRunState;\n\tdelete preservedMetadata.agent_run_state;\n\treturn {\n\t\t...sent,\n\t\t...lookup,\n\t\tmetadata: {\n\t\t\t...preservedMetadata,\n\t\t\t...(lookup.metadata ?? {}),\n\t\t},\n\t};\n}\n\nfunction a2aTaskToAgentRuntimeTriggerResult(\n\ttask: A2ATask,\n\tconfig: A2AServiceConfig,\n): PlatformAgentRuntimeHandleTriggerResult {\n\tconst metadata = task.metadata ?? {};\n\t// A2A returns a task, while the rest of Maestro expects AgentRuntime-shaped\n\t// correlation. Prefer Platform-projected metadata and fall back to the task\n\t// id so health and identity endpoints still have a durable handle.\n\tconst runId = pickString(metadata, \"agentRunId\", \"agent_run_id\") ?? task.id;\n\tconst a2aMessageId = pickString(metadata, \"a2aMessageId\", \"a2a_message_id\");\n\tconst a2aTaskId = pickString(metadata, \"a2aTaskId\", \"a2a_task_id\") ?? task.id;\n\tconst agentId =\n\t\tpickString(metadata, \"agentId\", \"agent_id\") ?? config.agentId ?? \"maestro\";\n\tconst workspaceId =\n\t\tpickString(metadata, \"workspaceId\", \"workspace_id\") ?? config.workspaceId;\n\tconst workerQueue = pickString(metadata, \"workerQueue\", \"worker_queue\");\n\tconst correlationId = pickString(metadata, \"correlationId\", \"correlation_id\");\n\tconst correlationPath = pickString(\n\t\tmetadata,\n\t\t\"correlationPath\",\n\t\t\"correlation_path\",\n\t);\n\tconst traceparent = pickString(metadata, \"traceparent\", \"trace_parent\");\n\tconst tracestate = pickString(metadata, \"tracestate\", \"trace_state\");\n\tconst idempotencyKey = pickString(\n\t\tmetadata,\n\t\t\"idempotencyKey\",\n\t\t\"idempotency_key\",\n\t);\n\treturn {\n\t\trun: {\n\t\t\tid: runId,\n\t\t\tstate:\n\t\t\t\tpickString(metadata, \"agentRunState\", \"agent_run_state\") ??\n\t\t\t\tplatformRunStateFromA2ATaskState(task.status?.state),\n\t\t\tlinkage: {\n\t\t\t\trunId,\n\t\t\t\tworkspaceId,\n\t\t\t\tagentId,\n\t\t\t},\n\t\t\tupdatedAt: task.status?.timestamp,\n\t\t},\n\t\tevents: [\n\t\t\t{\n\t\t\t\ttype: \"maestro.platform_runtime.a2a_correlated\",\n\t\t\t\trunId,\n\t\t\t\tmessage: \"Maestro A2A task linked to Platform AgentRuntime run\",\n\t\t\t\tattributes: {\n\t\t\t\t\t...(a2aMessageId ? { a2a_message_id: a2aMessageId } : {}),\n\t\t\t\t\ta2a_task_id: a2aTaskId,\n\t\t\t\t\tplatform_agent_run_id: runId,\n\t\t\t\t\t...(workerQueue ? { worker_queue: workerQueue } : {}),\n\t\t\t\t\t...(correlationId ? { correlation_id: correlationId } : {}),\n\t\t\t\t\t...(correlationPath ? { correlation_path: correlationPath } : {}),\n\t\t\t\t\t...(traceparent ? { traceparent } : {}),\n\t\t\t\t\t...(tracestate ? { tracestate } : {}),\n\t\t\t\t\t...(idempotencyKey ? { idempotency_key: idempotencyKey } : {}),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tidempotentReplay: pickBoolean(\n\t\t\tmetadata,\n\t\t\t\"idempotentReplay\",\n\t\t\t\"idempotent_replay\",\n\t\t),\n\t};\n}\n\nfunction platformRunStateFromA2ATaskState(\n\tstate: string | undefined,\n): PlatformAgentRunStateValue {\n\tswitch (state?.trim().toLowerCase()) {\n\t\tcase \"task_state_working\":\n\t\tcase \"working\":\n\t\t\treturn PlatformAgentRunStateValue.Running;\n\t\tcase \"task_state_input_required\":\n\t\tcase \"input-required\":\n\t\t\treturn PlatformAgentRunStateValue.Waiting;\n\t\tcase \"task_state_completed\":\n\t\tcase \"completed\":\n\t\t\treturn PlatformAgentRunStateValue.Succeeded;\n\t\tcase \"task_state_failed\":\n\t\tcase \"task_state_rejected\":\n\t\tcase \"failed\":\n\t\tcase \"rejected\":\n\t\t\treturn PlatformAgentRunStateValue.Failed;\n\t\tcase \"task_state_auth_required\":\n\t\tcase \"auth-required\":\n\t\t\treturn PlatformAgentRunStateValue.Waiting;\n\t\tcase \"task_state_canceled\":\n\t\tcase \"task_state_cancelled\":\n\t\tcase \"canceled\":\n\t\tcase \"cancelled\":\n\t\t\treturn PlatformAgentRunStateValue.Cancelled;\n\t\tdefault:\n\t\t\treturn PlatformAgentRunStateValue.Queued;\n\t}\n}\n\nfunction maestroRuntimeTraceContext(\n\tinput: Pick<\n\t\tMaestroSessionRuntimeTriggerInput,\n\t\t\"metadata\" | \"traceparent\" | \"tracestate\"\n\t>,\n): ReturnType<typeof resolveA2ATraceContext> {\n\tconst traceparent =\n\t\ttrimString(input.traceparent) ??\n\t\tpickString(input.metadata, \"traceparent\", \"trace_parent\");\n\tconst tracestate =\n\t\ttrimString(input.tracestate) ??\n\t\tpickString(input.metadata, \"tracestate\", \"trace_state\");\n\tif (traceparent || tracestate) {\n\t\treturn resolveA2ATraceContext(\n\t\t\t{\n\t\t\t\ttraceparent,\n\t\t\t\ttracestate,\n\t\t\t},\n\t\t\t{ envFallback: false },\n\t\t);\n\t}\n\treturn resolveA2ATraceContext({\n\t\ttraceparent,\n\t\ttracestate,\n\t});\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cerebro-facts-client.d.ts","sourceRoot":"","sources":["../../src/platform/cerebro-facts-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cerebro-facts-client.d.ts","sourceRoot":"","sources":["../../src/platform/cerebro-facts-client.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,KAAK,qBAAqB,EAE1B,MAAM,6BAA6B,CAAC;AAUrC,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA2B1C,MAAM,WAAW,0BAA0B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,OAAO,EAAE,0BAA0B,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACzB;AAqLD,wBAAgB,6BAA6B,CAC5C,KAAK,EAAE,wBAAwB,GAC7B,MAAM,GAAG,SAAS,CAYpB;AAED,wBAAgB,gCAAgC,IAAI,yBAAyB,GAAG,IAAI,CA0BnF;AAED,wBAAsB,gCAAgC,CACrD,KAAK,EAAE,wBAAwB,EAC/B,OAAO,CAAC,EAAE;IACT,MAAM,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC1C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACpC,GACC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAgJ1C"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { EVALOPS_ACCESS_TOKEN_ENV_VARS, EVALOPS_WORKSPACE_ID_ENV_VARS, } from "../evalops/env-aliases.js";
|
|
2
|
+
import { isAbortError } from "../utils/abort-error.js";
|
|
1
3
|
import { fetchDownstream, } from "../utils/downstream-http.js";
|
|
2
4
|
import { getEnvValue, normalizeBaseUrl, parsePositiveInt, resolveConfiguredToken, resolveWorkspaceId, trimString, } from "./client.js";
|
|
3
5
|
const DEFAULT_TIMEOUT_MS = 1_500;
|
|
@@ -12,16 +14,14 @@ const CEREBRO_BASE_URL_ENV_VARS = [
|
|
|
12
14
|
const CEREBRO_TOKEN_ENV_VARS = [
|
|
13
15
|
"MAESTRO_CEREBRO_TOKEN",
|
|
14
16
|
"CEREBRO_TOKEN",
|
|
15
|
-
|
|
16
|
-
"EVALOPS_TOKEN",
|
|
17
|
+
...EVALOPS_ACCESS_TOKEN_ENV_VARS,
|
|
17
18
|
];
|
|
18
19
|
const CEREBRO_WORKSPACE_ENV_VARS = [
|
|
19
20
|
"MAESTRO_CEREBRO_WORKSPACE_ID",
|
|
20
21
|
"CEREBRO_WORKSPACE_ID",
|
|
21
22
|
"MAESTRO_AGENT_RUNTIME_WORKSPACE_ID",
|
|
22
23
|
"AGENT_RUNTIME_WORKSPACE_ID",
|
|
23
|
-
|
|
24
|
-
"EVALOPS_WORKSPACE_ID",
|
|
24
|
+
...EVALOPS_WORKSPACE_ID_ENV_VARS,
|
|
25
25
|
];
|
|
26
26
|
const CEREBRO_TIMEOUT_ENV_VARS = [
|
|
27
27
|
"MAESTRO_CEREBRO_TIMEOUT_MS",
|
|
@@ -128,9 +128,6 @@ function pushUniqueChange(changes, seen, change) {
|
|
|
128
128
|
seen.add(key);
|
|
129
129
|
changes.push(change);
|
|
130
130
|
}
|
|
131
|
-
function isAbortError(error) {
|
|
132
|
-
return error instanceof Error && error.name === "AbortError";
|
|
133
|
-
}
|
|
134
131
|
function pickMetadataString(metadata, ...names) {
|
|
135
132
|
for (const name of names) {
|
|
136
133
|
const value = metadata?.[name];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cerebro-facts-client.js","sourceRoot":"","sources":["../../src/platform/cerebro-facts-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype DownstreamFailureMode,\n\tfetchDownstream,\n} from \"../utils/downstream-http.js\";\nimport {\n\tgetEnvValue,\n\tnormalizeBaseUrl,\n\tparsePositiveInt,\n\tresolveConfiguredToken,\n\tresolveWorkspaceId,\n\ttrimString,\n} from \"./client.js\";\n\ntype JsonRecord = Record<string, unknown>;\n\ninterface CerebroSearchResponse {\n\tthings?: JsonRecord[];\n\tlinks?: JsonRecord[];\n\tevidence?: JsonRecord[];\n}\n\ninterface CerebroGetThingResponse {\n\tthing?: JsonRecord;\n\tfacts?: JsonRecord[];\n\trecentEvents?: JsonRecord[];\n\tevidence?: JsonRecord[];\n}\n\ninterface CerebroListChangesResponse {\n\tchanges?: JsonRecord[];\n}\n\ninterface CerebroMapThingResponse {\n\troot?: JsonRecord;\n\tthings?: JsonRecord[];\n\tlinks?: JsonRecord[];\n\tpaths?: JsonRecord[];\n\tevidence?: JsonRecord[];\n}\n\nexport interface MaestroFactsContextSummary {\n\tthingCount: number;\n\tlinkCount: number;\n\tpathCount: number;\n\tfactCount: number;\n\teventCount: number;\n\tchangeCount: number;\n\tevidenceCount: number;\n\twatermarkCount: number;\n}\n\nexport interface MaestroFactsContext {\n\tprovider: \"cerebro\";\n\tworkspaceId: string;\n\tquery: string;\n\tthingIds: string[];\n\tlinkIds: string[];\n\tfactIds: string[];\n\teventIds: string[];\n\tthings: JsonRecord[];\n\tlinks: JsonRecord[];\n\tpaths: JsonRecord[];\n\tfacts: JsonRecord[];\n\tevents: JsonRecord[];\n\tchanges: JsonRecord[];\n\tevidence: JsonRecord[];\n\twatermarks: JsonRecord[];\n\tsummary: MaestroFactsContextSummary;\n}\n\nexport interface MaestroSessionFactsInput {\n\tworkspaceId?: string;\n\tsessionId: string;\n\tactorId?: string;\n\tfactsQuery?: string;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport interface CerebroFactsServiceConfig {\n\tbaseUrl: string;\n\ttoken?: string;\n\tworkspaceId?: string;\n\ttimeoutMs: number;\n\tmaxAttempts: number;\n\tsearchLimit: number;\n\tchangeLimit: number;\n\tfetchImpl?: typeof fetch;\n}\n\nconst DEFAULT_TIMEOUT_MS = 1_500;\nconst DEFAULT_MAX_ATTEMPTS = 1;\nconst DEFAULT_SEARCH_LIMIT = 5;\nconst DEFAULT_CHANGE_LIMIT = 10;\n\nconst CEREBRO_BASE_URL_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_URL\",\n\t\"CEREBRO_URL\",\n\t\"CEREBRO_SERVICE_URL\",\n] as const;\n\nconst CEREBRO_TOKEN_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_TOKEN\",\n\t\"CEREBRO_TOKEN\",\n\t\"MAESTRO_EVALOPS_ACCESS_TOKEN\",\n\t\"EVALOPS_TOKEN\",\n] as const;\n\nconst CEREBRO_WORKSPACE_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_WORKSPACE_ID\",\n\t\"CEREBRO_WORKSPACE_ID\",\n\t\"MAESTRO_AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"MAESTRO_WORKSPACE_ID\",\n\t\"EVALOPS_WORKSPACE_ID\",\n] as const;\n\nconst CEREBRO_TIMEOUT_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_TIMEOUT_MS\",\n\t\"CEREBRO_TIMEOUT_MS\",\n] as const;\n\nconst CEREBRO_MAX_ATTEMPTS_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_MAX_ATTEMPTS\",\n\t\"CEREBRO_MAX_ATTEMPTS\",\n] as const;\n\nconst CEREBRO_SEARCH_LIMIT_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_SEARCH_LIMIT\",\n\t\"CEREBRO_SEARCH_LIMIT\",\n] as const;\n\nconst CEREBRO_CHANGE_LIMIT_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_CHANGE_LIMIT\",\n\t\"CEREBRO_CHANGE_LIMIT\",\n] as const;\n\nconst CEREBRO_SERVICE_PATH = \"/cerebro.v1.CerebroService/\";\nconst CEREBRO_SERVICE_SUFFIX = \"/cerebro.v1.CerebroService\";\n\nfunction jsonRecordArray(value: unknown): JsonRecord[] {\n\treturn Array.isArray(value)\n\t\t? value.filter(\n\t\t\t\t(item): item is JsonRecord =>\n\t\t\t\t\ttypeof item === \"object\" && item !== null && !Array.isArray(item),\n\t\t\t)\n\t\t: [];\n}\n\nfunction recordId(record: JsonRecord): string | undefined {\n\tconst id = record.id;\n\treturn typeof id === \"string\" && id.trim().length > 0 ? id : undefined;\n}\n\nfunction recordString(record: JsonRecord, name: string): string {\n\tconst value = record[name];\n\treturn typeof value === \"string\" ? value.trim() : \"\";\n}\n\nfunction pushUniqueRecord(\n\trecords: JsonRecord[],\n\tseen: Set<string>,\n\trecord: JsonRecord | undefined,\n): void {\n\tif (!record) {\n\t\treturn;\n\t}\n\tconst id = recordId(record);\n\tif (id && seen.has(id)) {\n\t\treturn;\n\t}\n\tif (id) {\n\t\tseen.add(id);\n\t}\n\trecords.push(record);\n}\n\nfunction recordStringArray(record: JsonRecord, name: string): string[] {\n\tconst value = record[name];\n\treturn Array.isArray(value)\n\t\t? value\n\t\t\t\t.filter(\n\t\t\t\t\t(item): item is string =>\n\t\t\t\t\t\ttypeof item === \"string\" && item.trim().length > 0,\n\t\t\t\t)\n\t\t\t\t.map((item) => item.trim())\n\t\t: [];\n}\n\nfunction pathKey(path: JsonRecord): string | undefined {\n\tconst id = recordId(path);\n\tif (id) {\n\t\treturn `id:${id}`;\n\t}\n\tconst thingIds = recordStringArray(path, \"thingIds\");\n\tconst linkIds = recordStringArray(path, \"linkIds\");\n\tif (thingIds.length === 0 && linkIds.length === 0) {\n\t\treturn undefined;\n\t}\n\treturn `${thingIds.join(\"\\u0000\")}\\u0001${linkIds.join(\"\\u0000\")}`;\n}\n\nfunction pushUniquePath(\n\tpaths: JsonRecord[],\n\tseen: Set<string>,\n\tpath: JsonRecord | undefined,\n): void {\n\tif (!path) {\n\t\treturn;\n\t}\n\tconst key = pathKey(path);\n\tif (!key || seen.has(key)) {\n\t\treturn;\n\t}\n\tseen.add(key);\n\tpaths.push(path);\n}\n\nfunction changeKey(change: JsonRecord): string | undefined {\n\tconst id = recordId(change);\n\tif (id) {\n\t\treturn `id:${id}`;\n\t}\n\tconst event = change.event;\n\tif (typeof event === \"object\" && event !== null && !Array.isArray(event)) {\n\t\tconst eventId = recordString(event as JsonRecord, \"id\");\n\t\tif (eventId) {\n\t\t\treturn `event:${eventId}`;\n\t\t}\n\t}\n\tconst affectedThingIds = recordStringArray(change, \"affectedThingIds\");\n\tconst whyItMatters = recordString(change, \"whyItMatters\");\n\tif (affectedThingIds.length === 0 && !whyItMatters) {\n\t\treturn undefined;\n\t}\n\treturn `${affectedThingIds.join(\"\\u0000\")}\\u0001${whyItMatters}`;\n}\n\nfunction pushUniqueChange(\n\tchanges: JsonRecord[],\n\tseen: Set<string>,\n\tchange: JsonRecord | undefined,\n): void {\n\tif (!change) {\n\t\treturn;\n\t}\n\tconst key = changeKey(change);\n\tif (!key || seen.has(key)) {\n\t\treturn;\n\t}\n\tseen.add(key);\n\tchanges.push(change);\n}\n\nfunction isAbortError(error: unknown): boolean {\n\treturn error instanceof Error && error.name === \"AbortError\";\n}\n\nfunction pickMetadataString(\n\tmetadata: Record<string, unknown> | undefined,\n\t...names: string[]\n): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = metadata?.[name];\n\t\tif (typeof value === \"string\" && value.trim().length > 0) {\n\t\t\treturn value.trim();\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction normalizeCerebroBaseUrl(baseUrl: string): string {\n\treturn normalizeBaseUrl(baseUrl, [CEREBRO_SERVICE_SUFFIX]);\n}\n\nexport function buildMaestroSessionFactsQuery(\n\tinput: MaestroSessionFactsInput,\n): string | undefined {\n\treturn (\n\t\ttrimString(input.factsQuery) ??\n\t\tpickMetadataString(\n\t\t\tinput.metadata,\n\t\t\t\"prompt\",\n\t\t\t\"objective\",\n\t\t\t\"task\",\n\t\t\t\"title\",\n\t\t\t\"workspace_root\",\n\t\t)\n\t);\n}\n\nexport function resolveCerebroFactsServiceConfig(): CerebroFactsServiceConfig | null {\n\tconst baseUrl = getEnvValue(CEREBRO_BASE_URL_ENV_VARS);\n\tif (!baseUrl) {\n\t\treturn null;\n\t}\n\treturn {\n\t\tbaseUrl: normalizeCerebroBaseUrl(baseUrl),\n\t\ttoken: resolveConfiguredToken(CEREBRO_TOKEN_ENV_VARS),\n\t\tworkspaceId: resolveWorkspaceId(CEREBRO_WORKSPACE_ENV_VARS),\n\t\ttimeoutMs: parsePositiveInt(\n\t\t\tgetEnvValue(CEREBRO_TIMEOUT_ENV_VARS),\n\t\t\tDEFAULT_TIMEOUT_MS,\n\t\t),\n\t\tmaxAttempts: parsePositiveInt(\n\t\t\tgetEnvValue(CEREBRO_MAX_ATTEMPTS_ENV_VARS),\n\t\t\tDEFAULT_MAX_ATTEMPTS,\n\t\t),\n\t\tsearchLimit: parsePositiveInt(\n\t\t\tgetEnvValue(CEREBRO_SEARCH_LIMIT_ENV_VARS),\n\t\t\tDEFAULT_SEARCH_LIMIT,\n\t\t),\n\t\tchangeLimit: parsePositiveInt(\n\t\t\tgetEnvValue(CEREBRO_CHANGE_LIMIT_ENV_VARS),\n\t\t\tDEFAULT_CHANGE_LIMIT,\n\t\t),\n\t};\n}\n\nexport async function gatherMaestroSessionFactsContext(\n\tinput: MaestroSessionFactsInput,\n\toptions?: {\n\t\tconfig?: CerebroFactsServiceConfig | null;\n\t\tsignal?: AbortSignal;\n\t\tfailureMode?: DownstreamFailureMode;\n\t},\n): Promise<MaestroFactsContext | undefined> {\n\tconst config = options?.config ?? resolveCerebroFactsServiceConfig();\n\tconst workspaceId = trimString(input.workspaceId) ?? config?.workspaceId;\n\tconst query = buildMaestroSessionFactsQuery(input);\n\tif (!config || !workspaceId || !query) {\n\t\treturn undefined;\n\t}\n\n\tconst things: JsonRecord[] = [];\n\tconst links: JsonRecord[] = [];\n\tconst paths: JsonRecord[] = [];\n\tconst facts: JsonRecord[] = [];\n\tconst events: JsonRecord[] = [];\n\tconst changes: JsonRecord[] = [];\n\tconst evidence: JsonRecord[] = [];\n\tconst watermarks: JsonRecord[] = [];\n\tconst thingIds = new Set<string>();\n\tconst linkIds = new Set<string>();\n\tconst pathIds = new Set<string>();\n\tconst factIds = new Set<string>();\n\tconst eventIds = new Set<string>();\n\tconst changeIds = new Set<string>();\n\tconst evidenceIds = new Set<string>();\n\n\tconst search = await postCerebro<CerebroSearchResponse>(\n\t\tconfig,\n\t\t\"Search\",\n\t\t{\n\t\t\tworkspaceId,\n\t\t\tquery,\n\t\t\tlimit: config.searchLimit,\n\t\t\tincludeMap: true,\n\t\t},\n\t\t{ signal: options?.signal, failureMode: options?.failureMode },\n\t);\n\tfor (const thing of jsonRecordArray(search.things)) {\n\t\tpushUniqueRecord(things, thingIds, thing);\n\t}\n\tfor (const link of jsonRecordArray(search.links)) {\n\t\tpushUniqueRecord(links, linkIds, link);\n\t}\n\tfor (const item of jsonRecordArray(search.evidence)) {\n\t\tpushUniqueRecord(evidence, evidenceIds, item);\n\t}\n\n\tconst mapThingIds = [...thingIds];\n\tconst thingResponses = await Promise.all(\n\t\tmapThingIds.map((thingId) =>\n\t\t\tpostCerebro<CerebroGetThingResponse>(\n\t\t\t\tconfig,\n\t\t\t\t\"GetThing\",\n\t\t\t\t{ workspaceId, thingId },\n\t\t\t\t{ signal: options?.signal, failureMode: options?.failureMode },\n\t\t\t),\n\t\t),\n\t);\n\tfor (const response of thingResponses) {\n\t\tpushUniqueRecord(things, thingIds, response.thing);\n\t\tfor (const fact of jsonRecordArray(response.facts)) {\n\t\t\tpushUniqueRecord(facts, factIds, fact);\n\t\t}\n\t\tfor (const event of jsonRecordArray(response.recentEvents)) {\n\t\t\tpushUniqueRecord(events, eventIds, event);\n\t\t}\n\t\tfor (const item of jsonRecordArray(response.evidence)) {\n\t\t\tpushUniqueRecord(evidence, evidenceIds, item);\n\t\t}\n\t}\n\n\tconst changeThingIds = [...thingIds];\n\tif (mapThingIds.length > 0) {\n\t\tconst mapResults = await Promise.allSettled(\n\t\t\tmapThingIds.map((thingId) =>\n\t\t\t\tpostCerebro<CerebroMapThingResponse>(\n\t\t\t\t\tconfig,\n\t\t\t\t\t\"MapThing\",\n\t\t\t\t\t{ workspaceId, thingId, depth: 1 },\n\t\t\t\t\t{ signal: options?.signal, failureMode: options?.failureMode },\n\t\t\t\t),\n\t\t\t),\n\t\t);\n\t\tfor (const result of mapResults) {\n\t\t\tif (result.status === \"rejected\") {\n\t\t\t\tif (isAbortError(result.reason)) {\n\t\t\t\t\tthrow result.reason;\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst response = result.value;\n\t\t\tpushUniqueRecord(things, thingIds, response.root);\n\t\t\tfor (const thing of jsonRecordArray(response.things)) {\n\t\t\t\tpushUniqueRecord(things, thingIds, thing);\n\t\t\t}\n\t\t\tfor (const link of jsonRecordArray(response.links)) {\n\t\t\t\tpushUniqueRecord(links, linkIds, link);\n\t\t\t}\n\t\t\tfor (const path of jsonRecordArray(response.paths)) {\n\t\t\t\tpushUniquePath(paths, pathIds, path);\n\t\t\t}\n\t\t\tfor (const item of jsonRecordArray(response.evidence)) {\n\t\t\t\tpushUniqueRecord(evidence, evidenceIds, item);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (changeThingIds.length > 0) {\n\t\tconst response = await postCerebro<CerebroListChangesResponse>(\n\t\t\tconfig,\n\t\t\t\"ListChanges\",\n\t\t\t{ workspaceId, thingIds: changeThingIds, limit: config.changeLimit },\n\t\t\t{ signal: options?.signal, failureMode: options?.failureMode },\n\t\t);\n\t\tfor (const change of jsonRecordArray(response.changes)) {\n\t\t\tpushUniqueChange(changes, changeIds, change);\n\t\t}\n\t}\n\n\treturn {\n\t\tprovider: \"cerebro\",\n\t\tworkspaceId,\n\t\tquery,\n\t\tthingIds: [...thingIds],\n\t\tlinkIds: [...linkIds],\n\t\tfactIds: [...factIds],\n\t\teventIds: [...eventIds],\n\t\tthings,\n\t\tlinks,\n\t\tpaths,\n\t\tfacts,\n\t\tevents,\n\t\tchanges,\n\t\tevidence,\n\t\twatermarks,\n\t\tsummary: {\n\t\t\tthingCount: things.length,\n\t\t\tlinkCount: links.length,\n\t\t\tpathCount: paths.length,\n\t\t\tfactCount: facts.length,\n\t\t\teventCount: events.length,\n\t\t\tchangeCount: changes.length,\n\t\t\tevidenceCount: evidence.length,\n\t\t\twatermarkCount: watermarks.length,\n\t\t},\n\t};\n}\n\nasync function postCerebro<ResponseBody>(\n\tconfig: CerebroFactsServiceConfig,\n\tmethod: string,\n\tbody: JsonRecord,\n\toptions?: {\n\t\tsignal?: AbortSignal;\n\t\tfailureMode?: DownstreamFailureMode;\n\t},\n): Promise<ResponseBody> {\n\tconst response = await fetchDownstream(\n\t\t`${config.baseUrl}${CEREBRO_SERVICE_PATH}${method}`,\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t...(config.token ? { Authorization: `Bearer ${config.token}` } : {}),\n\t\t\t},\n\t\t\tbody: JSON.stringify(body),\n\t\t\tsignal: options?.signal,\n\t\t},\n\t\t{\n\t\t\tserviceName: \"cerebro facts service\",\n\t\t\tfailureMode: options?.failureMode ?? \"optional\",\n\t\t\ttimeoutMs: config.timeoutMs,\n\t\t\tmaxAttempts: config.maxAttempts,\n\t\t\tfetchImpl: config.fetchImpl,\n\t\t},\n\t);\n\tif (!response.ok) {\n\t\tthrow new Error(\n\t\t\t`cerebro facts service returned ${response.status}: ${\n\t\t\t\t(await response.text()) || response.statusText\n\t\t\t}`,\n\t\t);\n\t}\n\treturn (await response.json()) as ResponseBody;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"cerebro-facts-client.js","sourceRoot":"","sources":["../../src/platform/cerebro-facts-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tEVALOPS_ACCESS_TOKEN_ENV_VARS,\n\tEVALOPS_WORKSPACE_ID_ENV_VARS,\n} from \"../evalops/env-aliases.js\";\nimport { isAbortError } from \"../utils/abort-error.js\";\nimport {\n\ttype DownstreamFailureMode,\n\tfetchDownstream,\n} from \"../utils/downstream-http.js\";\nimport {\n\tgetEnvValue,\n\tnormalizeBaseUrl,\n\tparsePositiveInt,\n\tresolveConfiguredToken,\n\tresolveWorkspaceId,\n\ttrimString,\n} from \"./client.js\";\n\ntype JsonRecord = Record<string, unknown>;\n\ninterface CerebroSearchResponse {\n\tthings?: JsonRecord[];\n\tlinks?: JsonRecord[];\n\tevidence?: JsonRecord[];\n}\n\ninterface CerebroGetThingResponse {\n\tthing?: JsonRecord;\n\tfacts?: JsonRecord[];\n\trecentEvents?: JsonRecord[];\n\tevidence?: JsonRecord[];\n}\n\ninterface CerebroListChangesResponse {\n\tchanges?: JsonRecord[];\n}\n\ninterface CerebroMapThingResponse {\n\troot?: JsonRecord;\n\tthings?: JsonRecord[];\n\tlinks?: JsonRecord[];\n\tpaths?: JsonRecord[];\n\tevidence?: JsonRecord[];\n}\n\nexport interface MaestroFactsContextSummary {\n\tthingCount: number;\n\tlinkCount: number;\n\tpathCount: number;\n\tfactCount: number;\n\teventCount: number;\n\tchangeCount: number;\n\tevidenceCount: number;\n\twatermarkCount: number;\n}\n\nexport interface MaestroFactsContext {\n\tprovider: \"cerebro\";\n\tworkspaceId: string;\n\tquery: string;\n\tthingIds: string[];\n\tlinkIds: string[];\n\tfactIds: string[];\n\teventIds: string[];\n\tthings: JsonRecord[];\n\tlinks: JsonRecord[];\n\tpaths: JsonRecord[];\n\tfacts: JsonRecord[];\n\tevents: JsonRecord[];\n\tchanges: JsonRecord[];\n\tevidence: JsonRecord[];\n\twatermarks: JsonRecord[];\n\tsummary: MaestroFactsContextSummary;\n}\n\nexport interface MaestroSessionFactsInput {\n\tworkspaceId?: string;\n\tsessionId: string;\n\tactorId?: string;\n\tfactsQuery?: string;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport interface CerebroFactsServiceConfig {\n\tbaseUrl: string;\n\ttoken?: string;\n\tworkspaceId?: string;\n\ttimeoutMs: number;\n\tmaxAttempts: number;\n\tsearchLimit: number;\n\tchangeLimit: number;\n\tfetchImpl?: typeof fetch;\n}\n\nconst DEFAULT_TIMEOUT_MS = 1_500;\nconst DEFAULT_MAX_ATTEMPTS = 1;\nconst DEFAULT_SEARCH_LIMIT = 5;\nconst DEFAULT_CHANGE_LIMIT = 10;\n\nconst CEREBRO_BASE_URL_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_URL\",\n\t\"CEREBRO_URL\",\n\t\"CEREBRO_SERVICE_URL\",\n] as const;\n\nconst CEREBRO_TOKEN_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_TOKEN\",\n\t\"CEREBRO_TOKEN\",\n\t...EVALOPS_ACCESS_TOKEN_ENV_VARS,\n] as const;\n\nconst CEREBRO_WORKSPACE_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_WORKSPACE_ID\",\n\t\"CEREBRO_WORKSPACE_ID\",\n\t\"MAESTRO_AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"AGENT_RUNTIME_WORKSPACE_ID\",\n\t...EVALOPS_WORKSPACE_ID_ENV_VARS,\n] as const;\n\nconst CEREBRO_TIMEOUT_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_TIMEOUT_MS\",\n\t\"CEREBRO_TIMEOUT_MS\",\n] as const;\n\nconst CEREBRO_MAX_ATTEMPTS_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_MAX_ATTEMPTS\",\n\t\"CEREBRO_MAX_ATTEMPTS\",\n] as const;\n\nconst CEREBRO_SEARCH_LIMIT_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_SEARCH_LIMIT\",\n\t\"CEREBRO_SEARCH_LIMIT\",\n] as const;\n\nconst CEREBRO_CHANGE_LIMIT_ENV_VARS = [\n\t\"MAESTRO_CEREBRO_CHANGE_LIMIT\",\n\t\"CEREBRO_CHANGE_LIMIT\",\n] as const;\n\nconst CEREBRO_SERVICE_PATH = \"/cerebro.v1.CerebroService/\";\nconst CEREBRO_SERVICE_SUFFIX = \"/cerebro.v1.CerebroService\";\n\nfunction jsonRecordArray(value: unknown): JsonRecord[] {\n\treturn Array.isArray(value)\n\t\t? value.filter(\n\t\t\t\t(item): item is JsonRecord =>\n\t\t\t\t\ttypeof item === \"object\" && item !== null && !Array.isArray(item),\n\t\t\t)\n\t\t: [];\n}\n\nfunction recordId(record: JsonRecord): string | undefined {\n\tconst id = record.id;\n\treturn typeof id === \"string\" && id.trim().length > 0 ? id : undefined;\n}\n\nfunction recordString(record: JsonRecord, name: string): string {\n\tconst value = record[name];\n\treturn typeof value === \"string\" ? value.trim() : \"\";\n}\n\nfunction pushUniqueRecord(\n\trecords: JsonRecord[],\n\tseen: Set<string>,\n\trecord: JsonRecord | undefined,\n): void {\n\tif (!record) {\n\t\treturn;\n\t}\n\tconst id = recordId(record);\n\tif (id && seen.has(id)) {\n\t\treturn;\n\t}\n\tif (id) {\n\t\tseen.add(id);\n\t}\n\trecords.push(record);\n}\n\nfunction recordStringArray(record: JsonRecord, name: string): string[] {\n\tconst value = record[name];\n\treturn Array.isArray(value)\n\t\t? value\n\t\t\t\t.filter(\n\t\t\t\t\t(item): item is string =>\n\t\t\t\t\t\ttypeof item === \"string\" && item.trim().length > 0,\n\t\t\t\t)\n\t\t\t\t.map((item) => item.trim())\n\t\t: [];\n}\n\nfunction pathKey(path: JsonRecord): string | undefined {\n\tconst id = recordId(path);\n\tif (id) {\n\t\treturn `id:${id}`;\n\t}\n\tconst thingIds = recordStringArray(path, \"thingIds\");\n\tconst linkIds = recordStringArray(path, \"linkIds\");\n\tif (thingIds.length === 0 && linkIds.length === 0) {\n\t\treturn undefined;\n\t}\n\treturn `${thingIds.join(\"\\u0000\")}\\u0001${linkIds.join(\"\\u0000\")}`;\n}\n\nfunction pushUniquePath(\n\tpaths: JsonRecord[],\n\tseen: Set<string>,\n\tpath: JsonRecord | undefined,\n): void {\n\tif (!path) {\n\t\treturn;\n\t}\n\tconst key = pathKey(path);\n\tif (!key || seen.has(key)) {\n\t\treturn;\n\t}\n\tseen.add(key);\n\tpaths.push(path);\n}\n\nfunction changeKey(change: JsonRecord): string | undefined {\n\tconst id = recordId(change);\n\tif (id) {\n\t\treturn `id:${id}`;\n\t}\n\tconst event = change.event;\n\tif (typeof event === \"object\" && event !== null && !Array.isArray(event)) {\n\t\tconst eventId = recordString(event as JsonRecord, \"id\");\n\t\tif (eventId) {\n\t\t\treturn `event:${eventId}`;\n\t\t}\n\t}\n\tconst affectedThingIds = recordStringArray(change, \"affectedThingIds\");\n\tconst whyItMatters = recordString(change, \"whyItMatters\");\n\tif (affectedThingIds.length === 0 && !whyItMatters) {\n\t\treturn undefined;\n\t}\n\treturn `${affectedThingIds.join(\"\\u0000\")}\\u0001${whyItMatters}`;\n}\n\nfunction pushUniqueChange(\n\tchanges: JsonRecord[],\n\tseen: Set<string>,\n\tchange: JsonRecord | undefined,\n): void {\n\tif (!change) {\n\t\treturn;\n\t}\n\tconst key = changeKey(change);\n\tif (!key || seen.has(key)) {\n\t\treturn;\n\t}\n\tseen.add(key);\n\tchanges.push(change);\n}\n\nfunction pickMetadataString(\n\tmetadata: Record<string, unknown> | undefined,\n\t...names: string[]\n): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = metadata?.[name];\n\t\tif (typeof value === \"string\" && value.trim().length > 0) {\n\t\t\treturn value.trim();\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction normalizeCerebroBaseUrl(baseUrl: string): string {\n\treturn normalizeBaseUrl(baseUrl, [CEREBRO_SERVICE_SUFFIX]);\n}\n\nexport function buildMaestroSessionFactsQuery(\n\tinput: MaestroSessionFactsInput,\n): string | undefined {\n\treturn (\n\t\ttrimString(input.factsQuery) ??\n\t\tpickMetadataString(\n\t\t\tinput.metadata,\n\t\t\t\"prompt\",\n\t\t\t\"objective\",\n\t\t\t\"task\",\n\t\t\t\"title\",\n\t\t\t\"workspace_root\",\n\t\t)\n\t);\n}\n\nexport function resolveCerebroFactsServiceConfig(): CerebroFactsServiceConfig | null {\n\tconst baseUrl = getEnvValue(CEREBRO_BASE_URL_ENV_VARS);\n\tif (!baseUrl) {\n\t\treturn null;\n\t}\n\treturn {\n\t\tbaseUrl: normalizeCerebroBaseUrl(baseUrl),\n\t\ttoken: resolveConfiguredToken(CEREBRO_TOKEN_ENV_VARS),\n\t\tworkspaceId: resolveWorkspaceId(CEREBRO_WORKSPACE_ENV_VARS),\n\t\ttimeoutMs: parsePositiveInt(\n\t\t\tgetEnvValue(CEREBRO_TIMEOUT_ENV_VARS),\n\t\t\tDEFAULT_TIMEOUT_MS,\n\t\t),\n\t\tmaxAttempts: parsePositiveInt(\n\t\t\tgetEnvValue(CEREBRO_MAX_ATTEMPTS_ENV_VARS),\n\t\t\tDEFAULT_MAX_ATTEMPTS,\n\t\t),\n\t\tsearchLimit: parsePositiveInt(\n\t\t\tgetEnvValue(CEREBRO_SEARCH_LIMIT_ENV_VARS),\n\t\t\tDEFAULT_SEARCH_LIMIT,\n\t\t),\n\t\tchangeLimit: parsePositiveInt(\n\t\t\tgetEnvValue(CEREBRO_CHANGE_LIMIT_ENV_VARS),\n\t\t\tDEFAULT_CHANGE_LIMIT,\n\t\t),\n\t};\n}\n\nexport async function gatherMaestroSessionFactsContext(\n\tinput: MaestroSessionFactsInput,\n\toptions?: {\n\t\tconfig?: CerebroFactsServiceConfig | null;\n\t\tsignal?: AbortSignal;\n\t\tfailureMode?: DownstreamFailureMode;\n\t},\n): Promise<MaestroFactsContext | undefined> {\n\tconst config = options?.config ?? resolveCerebroFactsServiceConfig();\n\tconst workspaceId = trimString(input.workspaceId) ?? config?.workspaceId;\n\tconst query = buildMaestroSessionFactsQuery(input);\n\tif (!config || !workspaceId || !query) {\n\t\treturn undefined;\n\t}\n\n\tconst things: JsonRecord[] = [];\n\tconst links: JsonRecord[] = [];\n\tconst paths: JsonRecord[] = [];\n\tconst facts: JsonRecord[] = [];\n\tconst events: JsonRecord[] = [];\n\tconst changes: JsonRecord[] = [];\n\tconst evidence: JsonRecord[] = [];\n\tconst watermarks: JsonRecord[] = [];\n\tconst thingIds = new Set<string>();\n\tconst linkIds = new Set<string>();\n\tconst pathIds = new Set<string>();\n\tconst factIds = new Set<string>();\n\tconst eventIds = new Set<string>();\n\tconst changeIds = new Set<string>();\n\tconst evidenceIds = new Set<string>();\n\n\tconst search = await postCerebro<CerebroSearchResponse>(\n\t\tconfig,\n\t\t\"Search\",\n\t\t{\n\t\t\tworkspaceId,\n\t\t\tquery,\n\t\t\tlimit: config.searchLimit,\n\t\t\tincludeMap: true,\n\t\t},\n\t\t{ signal: options?.signal, failureMode: options?.failureMode },\n\t);\n\tfor (const thing of jsonRecordArray(search.things)) {\n\t\tpushUniqueRecord(things, thingIds, thing);\n\t}\n\tfor (const link of jsonRecordArray(search.links)) {\n\t\tpushUniqueRecord(links, linkIds, link);\n\t}\n\tfor (const item of jsonRecordArray(search.evidence)) {\n\t\tpushUniqueRecord(evidence, evidenceIds, item);\n\t}\n\n\tconst mapThingIds = [...thingIds];\n\tconst thingResponses = await Promise.all(\n\t\tmapThingIds.map((thingId) =>\n\t\t\tpostCerebro<CerebroGetThingResponse>(\n\t\t\t\tconfig,\n\t\t\t\t\"GetThing\",\n\t\t\t\t{ workspaceId, thingId },\n\t\t\t\t{ signal: options?.signal, failureMode: options?.failureMode },\n\t\t\t),\n\t\t),\n\t);\n\tfor (const response of thingResponses) {\n\t\tpushUniqueRecord(things, thingIds, response.thing);\n\t\tfor (const fact of jsonRecordArray(response.facts)) {\n\t\t\tpushUniqueRecord(facts, factIds, fact);\n\t\t}\n\t\tfor (const event of jsonRecordArray(response.recentEvents)) {\n\t\t\tpushUniqueRecord(events, eventIds, event);\n\t\t}\n\t\tfor (const item of jsonRecordArray(response.evidence)) {\n\t\t\tpushUniqueRecord(evidence, evidenceIds, item);\n\t\t}\n\t}\n\n\tconst changeThingIds = [...thingIds];\n\tif (mapThingIds.length > 0) {\n\t\tconst mapResults = await Promise.allSettled(\n\t\t\tmapThingIds.map((thingId) =>\n\t\t\t\tpostCerebro<CerebroMapThingResponse>(\n\t\t\t\t\tconfig,\n\t\t\t\t\t\"MapThing\",\n\t\t\t\t\t{ workspaceId, thingId, depth: 1 },\n\t\t\t\t\t{ signal: options?.signal, failureMode: options?.failureMode },\n\t\t\t\t),\n\t\t\t),\n\t\t);\n\t\tfor (const result of mapResults) {\n\t\t\tif (result.status === \"rejected\") {\n\t\t\t\tif (isAbortError(result.reason)) {\n\t\t\t\t\tthrow result.reason;\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst response = result.value;\n\t\t\tpushUniqueRecord(things, thingIds, response.root);\n\t\t\tfor (const thing of jsonRecordArray(response.things)) {\n\t\t\t\tpushUniqueRecord(things, thingIds, thing);\n\t\t\t}\n\t\t\tfor (const link of jsonRecordArray(response.links)) {\n\t\t\t\tpushUniqueRecord(links, linkIds, link);\n\t\t\t}\n\t\t\tfor (const path of jsonRecordArray(response.paths)) {\n\t\t\t\tpushUniquePath(paths, pathIds, path);\n\t\t\t}\n\t\t\tfor (const item of jsonRecordArray(response.evidence)) {\n\t\t\t\tpushUniqueRecord(evidence, evidenceIds, item);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (changeThingIds.length > 0) {\n\t\tconst response = await postCerebro<CerebroListChangesResponse>(\n\t\t\tconfig,\n\t\t\t\"ListChanges\",\n\t\t\t{ workspaceId, thingIds: changeThingIds, limit: config.changeLimit },\n\t\t\t{ signal: options?.signal, failureMode: options?.failureMode },\n\t\t);\n\t\tfor (const change of jsonRecordArray(response.changes)) {\n\t\t\tpushUniqueChange(changes, changeIds, change);\n\t\t}\n\t}\n\n\treturn {\n\t\tprovider: \"cerebro\",\n\t\tworkspaceId,\n\t\tquery,\n\t\tthingIds: [...thingIds],\n\t\tlinkIds: [...linkIds],\n\t\tfactIds: [...factIds],\n\t\teventIds: [...eventIds],\n\t\tthings,\n\t\tlinks,\n\t\tpaths,\n\t\tfacts,\n\t\tevents,\n\t\tchanges,\n\t\tevidence,\n\t\twatermarks,\n\t\tsummary: {\n\t\t\tthingCount: things.length,\n\t\t\tlinkCount: links.length,\n\t\t\tpathCount: paths.length,\n\t\t\tfactCount: facts.length,\n\t\t\teventCount: events.length,\n\t\t\tchangeCount: changes.length,\n\t\t\tevidenceCount: evidence.length,\n\t\t\twatermarkCount: watermarks.length,\n\t\t},\n\t};\n}\n\nasync function postCerebro<ResponseBody>(\n\tconfig: CerebroFactsServiceConfig,\n\tmethod: string,\n\tbody: JsonRecord,\n\toptions?: {\n\t\tsignal?: AbortSignal;\n\t\tfailureMode?: DownstreamFailureMode;\n\t},\n): Promise<ResponseBody> {\n\tconst response = await fetchDownstream(\n\t\t`${config.baseUrl}${CEREBRO_SERVICE_PATH}${method}`,\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t...(config.token ? { Authorization: `Bearer ${config.token}` } : {}),\n\t\t\t},\n\t\t\tbody: JSON.stringify(body),\n\t\t\tsignal: options?.signal,\n\t\t},\n\t\t{\n\t\t\tserviceName: \"cerebro facts service\",\n\t\t\tfailureMode: options?.failureMode ?? \"optional\",\n\t\t\ttimeoutMs: config.timeoutMs,\n\t\t\tmaxAttempts: config.maxAttempts,\n\t\t\tfetchImpl: config.fetchImpl,\n\t\t},\n\t);\n\tif (!response.ok) {\n\t\tthrow new Error(\n\t\t\t`cerebro facts service returned ${response.status}: ${\n\t\t\t\t(await response.text()) || response.statusText\n\t\t\t}`,\n\t\t);\n\t}\n\treturn (await response.json()) as ResponseBody;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/platform/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/platform/client.ts"],"names":[],"mappings":"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"}
|
package/dist/platform/client.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EVALOPS_ACCESS_TOKEN_ENV_VARS, EVALOPS_ORGANIZATION_ID_ENV_VARS, } from "../evalops/env-aliases.js";
|
|
1
2
|
import { getOAuthToken } from "../oauth/index.js";
|
|
2
3
|
import { loadOAuthCredentials } from "../oauth/storage.js";
|
|
3
4
|
import { fetchDownstream, } from "../utils/downstream-http.js";
|
|
@@ -9,18 +10,8 @@ const SHARED_PLATFORM_BASE_URL_ENV_VARS = [
|
|
|
9
10
|
"MAESTRO_EVALOPS_BASE_URL",
|
|
10
11
|
"EVALOPS_BASE_URL",
|
|
11
12
|
];
|
|
12
|
-
const DEFAULT_TOKEN_ENV_VARS =
|
|
13
|
-
|
|
14
|
-
"EVALOPS_TOKEN",
|
|
15
|
-
];
|
|
16
|
-
const DEFAULT_ORGANIZATION_ENV_VARS = [
|
|
17
|
-
"MAESTRO_EVALOPS_ORG_ID",
|
|
18
|
-
"EVALOPS_ORGANIZATION_ID",
|
|
19
|
-
"EVALOPS_ORG_ID",
|
|
20
|
-
"MAESTRO_ENTERPRISE_ORG_ID",
|
|
21
|
-
"MAESTRO_LLM_GATEWAY_ORG_ID",
|
|
22
|
-
"MAESTRO_REMOTE_RUNNER_ORG_ID",
|
|
23
|
-
];
|
|
13
|
+
const DEFAULT_TOKEN_ENV_VARS = EVALOPS_ACCESS_TOKEN_ENV_VARS;
|
|
14
|
+
const DEFAULT_ORGANIZATION_ENV_VARS = EVALOPS_ORGANIZATION_ID_ENV_VARS;
|
|
24
15
|
const DEFAULT_TEAM_ENV_VARS = [
|
|
25
16
|
"MAESTRO_EVALOPS_TEAM_ID",
|
|
26
17
|
"MAESTRO_LLM_GATEWAY_TEAM_ID",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/platform/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { getOAuthToken } from \"../oauth/index.js\";\nimport { loadOAuthCredentials } from \"../oauth/storage.js\";\nimport {\n\ttype DownstreamFailureMode,\n\tfetchDownstream,\n} from \"../utils/downstream-http.js\";\n\nexport const CONNECT_PROTOCOL_VERSION = \"1\";\nexport const DEFAULT_PLATFORM_TIMEOUT_MS = 2_000;\nexport const DEFAULT_PLATFORM_MAX_ATTEMPTS = 2;\n\nexport interface PlatformServiceConfig {\n\tbaseUrl: string;\n\ttoken?: string;\n\torganizationId?: string;\n\tteamId?: string;\n\tworkspaceId?: string;\n\ttimeoutMs: number;\n\tmaxAttempts: number;\n}\n\nexport interface ResolvePlatformServiceConfigOptions {\n\tbaseUrlEnvVars: readonly string[];\n\ttokenEnvVars?: readonly string[];\n\torganizationEnvVars?: readonly string[];\n\tteamEnvVars?: readonly string[];\n\tworkspaceEnvVars?: readonly string[];\n\ttimeoutEnvVars?: readonly string[];\n\tmaxAttemptsEnvVars?: readonly string[];\n\tbaseUrlSuffixes?: readonly string[];\n\tdefaultTimeoutMs?: number;\n\tdefaultMaxAttempts?: number;\n\trequireBaseUrl?: boolean;\n\trequireOrganizationId?: boolean;\n\trequireToken?: boolean;\n\tallowOAuthTokenFallback?: boolean;\n}\n\nexport interface PlatformRequestOptions {\n\tserviceName: string;\n\tfailureMode: DownstreamFailureMode;\n\ttimeoutMs: number;\n\tmaxAttempts?: number;\n\tsignal?: AbortSignal;\n}\n\nconst SHARED_PLATFORM_BASE_URL_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_BASE_URL\",\n\t\"MAESTRO_EVALOPS_BASE_URL\",\n\t\"EVALOPS_BASE_URL\",\n] as const;\n\nconst DEFAULT_TOKEN_ENV_VARS = [\n\t\"MAESTRO_EVALOPS_ACCESS_TOKEN\",\n\t\"EVALOPS_TOKEN\",\n] as const;\n\nconst DEFAULT_ORGANIZATION_ENV_VARS = [\n\t\"MAESTRO_EVALOPS_ORG_ID\",\n\t\"EVALOPS_ORGANIZATION_ID\",\n\t\"EVALOPS_ORG_ID\",\n\t\"MAESTRO_ENTERPRISE_ORG_ID\",\n\t\"MAESTRO_LLM_GATEWAY_ORG_ID\",\n\t\"MAESTRO_REMOTE_RUNNER_ORG_ID\",\n] as const;\n\nconst DEFAULT_TEAM_ENV_VARS = [\n\t\"MAESTRO_EVALOPS_TEAM_ID\",\n\t\"MAESTRO_LLM_GATEWAY_TEAM_ID\",\n] as const;\n\nexport function trimString(value: string | undefined): string | undefined {\n\tconst trimmed = value?.trim();\n\treturn trimmed ? trimmed : undefined;\n}\n\nexport function 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\nexport function parsePositiveInt(\n\tvalue: string | undefined,\n\tfallback: number,\n): number {\n\tconst parsed = Number.parseInt(value ?? \"\", 10);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;\n}\n\nexport function normalizeBaseUrl(\n\tbaseUrl: string,\n\tsuffixes: readonly string[] = [],\n): string {\n\tlet normalized = baseUrl.trim().replace(/\\/+$/u, \"\");\n\tfor (const suffix of suffixes) {\n\t\tif (normalized.endsWith(suffix)) {\n\t\t\tnormalized = normalized.slice(0, -suffix.length).replace(/\\/+$/u, \"\");\n\t\t}\n\t}\n\treturn normalized;\n}\n\nexport function resolveOrganizationId(\n\tenvVars: readonly string[] = DEFAULT_ORGANIZATION_ENV_VARS,\n): string | undefined {\n\tconst envOrgId = getEnvValue(envVars);\n\tif (envOrgId) {\n\t\treturn envOrgId;\n\t}\n\tconst stored = loadOAuthCredentials(\"evalops\")?.metadata?.organizationId;\n\treturn typeof stored === \"string\" ? trimString(stored) : undefined;\n}\n\nexport function resolveTeamId(\n\tenvVars: readonly string[] = DEFAULT_TEAM_ENV_VARS,\n): string | undefined {\n\treturn getEnvValue(envVars);\n}\n\nexport function resolveWorkspaceId(\n\tenvVars: readonly string[] = DEFAULT_ORGANIZATION_ENV_VARS,\n): string | undefined {\n\treturn getEnvValue(envVars) ?? resolveOrganizationId();\n}\n\nexport function resolveConfiguredToken(\n\tenvVars: readonly string[] = DEFAULT_TOKEN_ENV_VARS,\n): string | undefined {\n\tconst envToken = getEnvValue(envVars);\n\tif (envToken) {\n\t\treturn envToken;\n\t}\n\tconst stored = loadOAuthCredentials(\"evalops\")?.access;\n\treturn typeof stored === \"string\" ? trimString(stored) : undefined;\n}\n\nexport async function resolvePlatformToken(\n\tenvVars: readonly string[] = DEFAULT_TOKEN_ENV_VARS,\n): Promise<string | undefined> {\n\treturn getEnvValue(envVars) ?? (await getOAuthToken(\"evalops\")) ?? undefined;\n}\n\nexport async function resolvePlatformServiceConfig(\n\toptions: ResolvePlatformServiceConfigOptions,\n): Promise<PlatformServiceConfig | null> {\n\tconst baseUrl = getEnvValue([\n\t\t...options.baseUrlEnvVars,\n\t\t...SHARED_PLATFORM_BASE_URL_ENV_VARS,\n\t]);\n\tif (!baseUrl && options.requireBaseUrl !== false) {\n\t\treturn null;\n\t}\n\n\tconst organizationId = resolveOrganizationId(options.organizationEnvVars);\n\tif (!organizationId && options.requireOrganizationId !== false) {\n\t\treturn null;\n\t}\n\n\tconst token =\n\t\toptions.allowOAuthTokenFallback === false\n\t\t\t? getEnvValue(options.tokenEnvVars ?? [])\n\t\t\t: await resolvePlatformToken(options.tokenEnvVars);\n\tif (!token && options.requireToken !== false) {\n\t\treturn null;\n\t}\n\n\tconst workspaceId = options.workspaceEnvVars\n\t\t? resolveWorkspaceId(options.workspaceEnvVars)\n\t\t: organizationId;\n\n\treturn {\n\t\tbaseUrl: normalizeBaseUrl(baseUrl ?? \"\", options.baseUrlSuffixes),\n\t\t...(token ? { token } : {}),\n\t\t...(organizationId ? { organizationId } : {}),\n\t\tteamId: resolveTeamId(options.teamEnvVars),\n\t\t...(workspaceId ? { workspaceId } : {}),\n\t\ttimeoutMs: parsePositiveInt(\n\t\t\tgetEnvValue(options.timeoutEnvVars ?? []),\n\t\t\toptions.defaultTimeoutMs ?? DEFAULT_PLATFORM_TIMEOUT_MS,\n\t\t),\n\t\tmaxAttempts: parsePositiveInt(\n\t\t\tgetEnvValue(options.maxAttemptsEnvVars ?? []),\n\t\t\toptions.defaultMaxAttempts ?? DEFAULT_PLATFORM_MAX_ATTEMPTS,\n\t\t),\n\t};\n}\n\nexport function buildPlatformJsonHeaders(\n\tconfig: Pick<PlatformServiceConfig, \"organizationId\" | \"token\">,\n\textraHeaders?: Record<string, string | undefined>,\n): Record<string, string> {\n\treturn Object.fromEntries(\n\t\tObject.entries({\n\t\t\t...(config.token ? { Authorization: `Bearer ${config.token}` } : {}),\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t...(config.organizationId\n\t\t\t\t? { \"X-Organization-ID\": config.organizationId }\n\t\t\t\t: {}),\n\t\t\t...(extraHeaders ?? {}),\n\t\t}).filter(\n\t\t\t(entry): entry is [string, string] =>\n\t\t\t\ttypeof entry[1] === \"string\" && entry[1].trim().length > 0,\n\t\t),\n\t);\n}\n\nexport function buildPlatformConnectHeaders(\n\tconfig: Pick<PlatformServiceConfig, \"organizationId\" | \"token\">,\n\textraHeaders?: Record<string, string | undefined>,\n): Record<string, string> {\n\treturn buildPlatformJsonHeaders(config, {\n\t\t\"Connect-Protocol-Version\": CONNECT_PROTOCOL_VERSION,\n\t\t...(extraHeaders ?? {}),\n\t});\n}\n\nexport async function postPlatformConnect(\n\tconfig: PlatformServiceConfig,\n\tpath: string,\n\tbody: Record<string, unknown>,\n\toptions: PlatformRequestOptions,\n\theaders?: Record<string, string | undefined>,\n): Promise<Response> {\n\treturn fetchDownstream(\n\t\t`${config.baseUrl}${path}`,\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\theaders: buildPlatformConnectHeaders(config, headers),\n\t\t\tbody: JSON.stringify(body),\n\t\t\tsignal: options.signal,\n\t\t},\n\t\t{\n\t\t\tserviceName: options.serviceName,\n\t\t\tfailureMode: options.failureMode,\n\t\t\ttimeoutMs: options.timeoutMs,\n\t\t\tmaxAttempts: options.maxAttempts,\n\t\t},\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/platform/client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tEVALOPS_ACCESS_TOKEN_ENV_VARS,\n\tEVALOPS_ORGANIZATION_ID_ENV_VARS,\n} from \"../evalops/env-aliases.js\";\nimport { getOAuthToken } from \"../oauth/index.js\";\nimport { loadOAuthCredentials } from \"../oauth/storage.js\";\nimport {\n\ttype DownstreamFailureMode,\n\tfetchDownstream,\n} from \"../utils/downstream-http.js\";\n\nexport const CONNECT_PROTOCOL_VERSION = \"1\";\nexport const DEFAULT_PLATFORM_TIMEOUT_MS = 2_000;\nexport const DEFAULT_PLATFORM_MAX_ATTEMPTS = 2;\n\nexport interface PlatformServiceConfig {\n\tbaseUrl: string;\n\ttoken?: string;\n\torganizationId?: string;\n\tteamId?: string;\n\tworkspaceId?: string;\n\ttimeoutMs: number;\n\tmaxAttempts: number;\n}\n\nexport interface ResolvePlatformServiceConfigOptions {\n\tbaseUrlEnvVars: readonly string[];\n\ttokenEnvVars?: readonly string[];\n\torganizationEnvVars?: readonly string[];\n\tteamEnvVars?: readonly string[];\n\tworkspaceEnvVars?: readonly string[];\n\ttimeoutEnvVars?: readonly string[];\n\tmaxAttemptsEnvVars?: readonly string[];\n\tbaseUrlSuffixes?: readonly string[];\n\tdefaultTimeoutMs?: number;\n\tdefaultMaxAttempts?: number;\n\trequireBaseUrl?: boolean;\n\trequireOrganizationId?: boolean;\n\trequireToken?: boolean;\n\tallowOAuthTokenFallback?: boolean;\n}\n\nexport interface PlatformRequestOptions {\n\tserviceName: string;\n\tfailureMode: DownstreamFailureMode;\n\ttimeoutMs: number;\n\tmaxAttempts?: number;\n\tsignal?: AbortSignal;\n}\n\nconst SHARED_PLATFORM_BASE_URL_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_BASE_URL\",\n\t\"MAESTRO_EVALOPS_BASE_URL\",\n\t\"EVALOPS_BASE_URL\",\n] as const;\n\nconst DEFAULT_TOKEN_ENV_VARS = EVALOPS_ACCESS_TOKEN_ENV_VARS;\nconst DEFAULT_ORGANIZATION_ENV_VARS = EVALOPS_ORGANIZATION_ID_ENV_VARS;\n\nconst DEFAULT_TEAM_ENV_VARS = [\n\t\"MAESTRO_EVALOPS_TEAM_ID\",\n\t\"MAESTRO_LLM_GATEWAY_TEAM_ID\",\n] as const;\n\nexport function trimString(value: string | undefined): string | undefined {\n\tconst trimmed = value?.trim();\n\treturn trimmed ? trimmed : undefined;\n}\n\nexport function 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\nexport function parsePositiveInt(\n\tvalue: string | undefined,\n\tfallback: number,\n): number {\n\tconst parsed = Number.parseInt(value ?? \"\", 10);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;\n}\n\nexport function normalizeBaseUrl(\n\tbaseUrl: string,\n\tsuffixes: readonly string[] = [],\n): string {\n\tlet normalized = baseUrl.trim().replace(/\\/+$/u, \"\");\n\tfor (const suffix of suffixes) {\n\t\tif (normalized.endsWith(suffix)) {\n\t\t\tnormalized = normalized.slice(0, -suffix.length).replace(/\\/+$/u, \"\");\n\t\t}\n\t}\n\treturn normalized;\n}\n\nexport function resolveOrganizationId(\n\tenvVars: readonly string[] = DEFAULT_ORGANIZATION_ENV_VARS,\n): string | undefined {\n\tconst envOrgId = getEnvValue(envVars);\n\tif (envOrgId) {\n\t\treturn envOrgId;\n\t}\n\tconst stored = loadOAuthCredentials(\"evalops\")?.metadata?.organizationId;\n\treturn typeof stored === \"string\" ? trimString(stored) : undefined;\n}\n\nexport function resolveTeamId(\n\tenvVars: readonly string[] = DEFAULT_TEAM_ENV_VARS,\n): string | undefined {\n\treturn getEnvValue(envVars);\n}\n\nexport function resolveWorkspaceId(\n\tenvVars: readonly string[] = DEFAULT_ORGANIZATION_ENV_VARS,\n): string | undefined {\n\treturn getEnvValue(envVars) ?? resolveOrganizationId();\n}\n\nexport function resolveConfiguredToken(\n\tenvVars: readonly string[] = DEFAULT_TOKEN_ENV_VARS,\n): string | undefined {\n\tconst envToken = getEnvValue(envVars);\n\tif (envToken) {\n\t\treturn envToken;\n\t}\n\tconst stored = loadOAuthCredentials(\"evalops\")?.access;\n\treturn typeof stored === \"string\" ? trimString(stored) : undefined;\n}\n\nexport async function resolvePlatformToken(\n\tenvVars: readonly string[] = DEFAULT_TOKEN_ENV_VARS,\n): Promise<string | undefined> {\n\treturn getEnvValue(envVars) ?? (await getOAuthToken(\"evalops\")) ?? undefined;\n}\n\nexport async function resolvePlatformServiceConfig(\n\toptions: ResolvePlatformServiceConfigOptions,\n): Promise<PlatformServiceConfig | null> {\n\tconst baseUrl = getEnvValue([\n\t\t...options.baseUrlEnvVars,\n\t\t...SHARED_PLATFORM_BASE_URL_ENV_VARS,\n\t]);\n\tif (!baseUrl && options.requireBaseUrl !== false) {\n\t\treturn null;\n\t}\n\n\tconst organizationId = resolveOrganizationId(options.organizationEnvVars);\n\tif (!organizationId && options.requireOrganizationId !== false) {\n\t\treturn null;\n\t}\n\n\tconst token =\n\t\toptions.allowOAuthTokenFallback === false\n\t\t\t? getEnvValue(options.tokenEnvVars ?? [])\n\t\t\t: await resolvePlatformToken(options.tokenEnvVars);\n\tif (!token && options.requireToken !== false) {\n\t\treturn null;\n\t}\n\n\tconst workspaceId = options.workspaceEnvVars\n\t\t? resolveWorkspaceId(options.workspaceEnvVars)\n\t\t: organizationId;\n\n\treturn {\n\t\tbaseUrl: normalizeBaseUrl(baseUrl ?? \"\", options.baseUrlSuffixes),\n\t\t...(token ? { token } : {}),\n\t\t...(organizationId ? { organizationId } : {}),\n\t\tteamId: resolveTeamId(options.teamEnvVars),\n\t\t...(workspaceId ? { workspaceId } : {}),\n\t\ttimeoutMs: parsePositiveInt(\n\t\t\tgetEnvValue(options.timeoutEnvVars ?? []),\n\t\t\toptions.defaultTimeoutMs ?? DEFAULT_PLATFORM_TIMEOUT_MS,\n\t\t),\n\t\tmaxAttempts: parsePositiveInt(\n\t\t\tgetEnvValue(options.maxAttemptsEnvVars ?? []),\n\t\t\toptions.defaultMaxAttempts ?? DEFAULT_PLATFORM_MAX_ATTEMPTS,\n\t\t),\n\t};\n}\n\nexport function buildPlatformJsonHeaders(\n\tconfig: Pick<PlatformServiceConfig, \"organizationId\" | \"token\">,\n\textraHeaders?: Record<string, string | undefined>,\n): Record<string, string> {\n\treturn Object.fromEntries(\n\t\tObject.entries({\n\t\t\t...(config.token ? { Authorization: `Bearer ${config.token}` } : {}),\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t...(config.organizationId\n\t\t\t\t? { \"X-Organization-ID\": config.organizationId }\n\t\t\t\t: {}),\n\t\t\t...(extraHeaders ?? {}),\n\t\t}).filter(\n\t\t\t(entry): entry is [string, string] =>\n\t\t\t\ttypeof entry[1] === \"string\" && entry[1].trim().length > 0,\n\t\t),\n\t);\n}\n\nexport function buildPlatformConnectHeaders(\n\tconfig: Pick<PlatformServiceConfig, \"organizationId\" | \"token\">,\n\textraHeaders?: Record<string, string | undefined>,\n): Record<string, string> {\n\treturn buildPlatformJsonHeaders(config, {\n\t\t\"Connect-Protocol-Version\": CONNECT_PROTOCOL_VERSION,\n\t\t...(extraHeaders ?? {}),\n\t});\n}\n\nexport async function postPlatformConnect(\n\tconfig: PlatformServiceConfig,\n\tpath: string,\n\tbody: Record<string, unknown>,\n\toptions: PlatformRequestOptions,\n\theaders?: Record<string, string | undefined>,\n): Promise<Response> {\n\treturn fetchDownstream(\n\t\t`${config.baseUrl}${path}`,\n\t\t{\n\t\t\tmethod: \"POST\",\n\t\t\theaders: buildPlatformConnectHeaders(config, headers),\n\t\t\tbody: JSON.stringify(body),\n\t\t\tsignal: options.signal,\n\t\t},\n\t\t{\n\t\t\tserviceName: options.serviceName,\n\t\t\tfailureMode: options.failureMode,\n\t\t\ttimeoutMs: options.timeoutMs,\n\t\t\tmaxAttempts: options.maxAttempts,\n\t\t},\n\t);\n}\n"]}
|