@adcp/sdk 12.0.0 → 12.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/adapters/content-standards-adapter.mjs +0 -6
- package/dist/lib/adapters/content-standards-adapter.mjs.map +1 -1
- package/dist/lib/adapters/derived-account-store.mjs +0 -6
- package/dist/lib/adapters/derived-account-store.mjs.map +1 -1
- package/dist/lib/adapters/governance-adapter.mjs +0 -6
- package/dist/lib/adapters/governance-adapter.mjs.map +1 -1
- package/dist/lib/adapters/implicit-account-store.mjs +0 -6
- package/dist/lib/adapters/implicit-account-store.mjs.map +1 -1
- package/dist/lib/adapters/index.mjs +0 -6
- package/dist/lib/adapters/index.mjs.map +1 -1
- package/dist/lib/adapters/legacy/v2-5/create_media_buy.mjs +0 -6
- package/dist/lib/adapters/legacy/v2-5/create_media_buy.mjs.map +1 -1
- package/dist/lib/adapters/legacy/v2-5/get_products.mjs +0 -6
- package/dist/lib/adapters/legacy/v2-5/get_products.mjs.map +1 -1
- package/dist/lib/adapters/legacy/v2-5/index.mjs +0 -6
- package/dist/lib/adapters/legacy/v2-5/index.mjs.map +1 -1
- package/dist/lib/adapters/legacy/v2-5/list_creative_formats.mjs +0 -6
- package/dist/lib/adapters/legacy/v2-5/list_creative_formats.mjs.map +1 -1
- package/dist/lib/adapters/legacy/v2-5/preview_creative.mjs +0 -6
- package/dist/lib/adapters/legacy/v2-5/preview_creative.mjs.map +1 -1
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.mjs +0 -6
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.mjs.map +1 -1
- package/dist/lib/adapters/legacy/v2-5/types.mjs +0 -6
- package/dist/lib/adapters/legacy/v2-5/update_media_buy.mjs +0 -6
- package/dist/lib/adapters/legacy/v2-5/update_media_buy.mjs.map +1 -1
- package/dist/lib/adapters/oauth-passthrough-resolver.mjs +0 -6
- package/dist/lib/adapters/oauth-passthrough-resolver.mjs.map +1 -1
- package/dist/lib/adapters/property-list-adapter.mjs +0 -6
- package/dist/lib/adapters/property-list-adapter.mjs.map +1 -1
- package/dist/lib/adapters/roster-account-store.mjs +0 -6
- package/dist/lib/adapters/roster-account-store.mjs.map +1 -1
- package/dist/lib/adapters/si-session-manager.mjs +0 -6
- package/dist/lib/adapters/si-session-manager.mjs.map +1 -1
- package/dist/lib/adapters/version/3.0/brand-fields.mjs +0 -6
- package/dist/lib/adapters/version/3.0/brand-fields.mjs.map +1 -1
- package/dist/lib/adapters/version/3.0/get-products.mjs +0 -6
- package/dist/lib/adapters/version/3.0/get-products.mjs.map +1 -1
- package/dist/lib/adapters/version/3.0/index.mjs +0 -6
- package/dist/lib/adapters/version/3.0/index.mjs.map +1 -1
- package/dist/lib/adapters/version/3.0/sync-accounts.mjs +0 -6
- package/dist/lib/adapters/version/3.0/sync-accounts.mjs.map +1 -1
- package/dist/lib/adapters/version/index.mjs +0 -6
- package/dist/lib/adapters/version/index.mjs.map +1 -1
- package/dist/lib/adapters/version/types.mjs +0 -6
- package/dist/lib/advanced.mjs +0 -6
- package/dist/lib/advanced.mjs.map +1 -1
- package/dist/lib/agents/index.generated.mjs +0 -6
- package/dist/lib/agents/index.generated.mjs.map +1 -1
- package/dist/lib/auth/index.mjs +0 -6
- package/dist/lib/auth/index.mjs.map +1 -1
- package/dist/lib/auth/oauth/CLIFlowHandler.mjs +0 -6
- package/dist/lib/auth/oauth/CLIFlowHandler.mjs.map +1 -1
- package/dist/lib/auth/oauth/ClientCredentialsFlow.mjs +0 -6
- package/dist/lib/auth/oauth/ClientCredentialsFlow.mjs.map +1 -1
- package/dist/lib/auth/oauth/MCPOAuthProvider.mjs +0 -6
- package/dist/lib/auth/oauth/MCPOAuthProvider.mjs.map +1 -1
- package/dist/lib/auth/oauth/NonInteractiveFlowHandler.mjs +0 -6
- package/dist/lib/auth/oauth/NonInteractiveFlowHandler.mjs.map +1 -1
- package/dist/lib/auth/oauth/authorization-required.mjs +0 -6
- package/dist/lib/auth/oauth/authorization-required.mjs.map +1 -1
- package/dist/lib/auth/oauth/diagnose.mjs +0 -6
- package/dist/lib/auth/oauth/diagnose.mjs.map +1 -1
- package/dist/lib/auth/oauth/diagnostics.mjs +0 -6
- package/dist/lib/auth/oauth/diagnostics.mjs.map +1 -1
- package/dist/lib/auth/oauth/discovery.mjs +0 -6
- package/dist/lib/auth/oauth/discovery.mjs.map +1 -1
- package/dist/lib/auth/oauth/file-storage.mjs +0 -6
- package/dist/lib/auth/oauth/file-storage.mjs.map +1 -1
- package/dist/lib/auth/oauth/index.mjs +0 -6
- package/dist/lib/auth/oauth/index.mjs.map +1 -1
- package/dist/lib/auth/oauth/secret-resolver.mjs +0 -6
- package/dist/lib/auth/oauth/secret-resolver.mjs.map +1 -1
- package/dist/lib/auth/oauth/storage-registry.mjs +0 -6
- package/dist/lib/auth/oauth/storage-registry.mjs.map +1 -1
- package/dist/lib/auth/oauth/types.mjs +0 -6
- package/dist/lib/auth/oauth/types.mjs.map +1 -1
- package/dist/lib/auth/oauth/web-flow.mjs +0 -6
- package/dist/lib/auth/oauth/web-flow.mjs.map +1 -1
- package/dist/lib/brand/index.mjs +0 -6
- package/dist/lib/brand/index.mjs.map +1 -1
- package/dist/lib/canonical-references/index.mjs +6 -7
- package/dist/lib/canonical-references/index.mjs.map +1 -1
- package/dist/lib/client/index.mjs +0 -6
- package/dist/lib/client/index.mjs.map +1 -1
- package/dist/lib/compliance/index.mjs +0 -6
- package/dist/lib/compliance/index.mjs.map +1 -1
- package/dist/lib/compliance-fixtures/index.mjs +0 -6
- package/dist/lib/compliance-fixtures/index.mjs.map +1 -1
- package/dist/lib/compliance-fixtures/test-authorization-server.mjs +0 -6
- package/dist/lib/compliance-fixtures/test-authorization-server.mjs.map +1 -1
- package/dist/lib/conformance/index.mjs +0 -6
- package/dist/lib/conformance/index.mjs.map +1 -1
- package/dist/lib/conformance/invariants/uniformError.mjs +0 -6
- package/dist/lib/conformance/invariants/uniformError.mjs.map +1 -1
- package/dist/lib/conformance/invariants/uniformErrorComparator.mjs +0 -6
- package/dist/lib/conformance/invariants/uniformErrorComparator.mjs.map +1 -1
- package/dist/lib/conformance/oracle.mjs +0 -6
- package/dist/lib/conformance/oracle.mjs.map +1 -1
- package/dist/lib/conformance/runConformance.mjs +0 -6
- package/dist/lib/conformance/runConformance.mjs.map +1 -1
- package/dist/lib/conformance/runners.mjs +0 -6
- package/dist/lib/conformance/runners.mjs.map +1 -1
- package/dist/lib/conformance/schemaArbitrary.mjs +0 -6
- package/dist/lib/conformance/schemaArbitrary.mjs.map +1 -1
- package/dist/lib/conformance/schemaLoader.mjs +5 -6
- package/dist/lib/conformance/schemaLoader.mjs.map +1 -1
- package/dist/lib/conformance/seeder.mjs +0 -6
- package/dist/lib/conformance/seeder.mjs.map +1 -1
- package/dist/lib/conformance/types.mjs +0 -6
- package/dist/lib/conformance/types.mjs.map +1 -1
- package/dist/lib/conformance/webhook.mjs +0 -6
- package/dist/lib/conformance/webhook.mjs.map +1 -1
- package/dist/lib/core/ADCPMultiAgentClient.mjs +0 -6
- package/dist/lib/core/ADCPMultiAgentClient.mjs.map +1 -1
- package/dist/lib/core/AgentClient.mjs +0 -6
- package/dist/lib/core/AgentClient.mjs.map +1 -1
- package/dist/lib/core/AsyncHandler.mjs +0 -6
- package/dist/lib/core/AsyncHandler.mjs.map +1 -1
- package/dist/lib/core/ConfigurationManager.mjs +0 -6
- package/dist/lib/core/ConfigurationManager.mjs.map +1 -1
- package/dist/lib/core/ConversationTypes.mjs +0 -6
- package/dist/lib/core/CreativeAgentClient.mjs +0 -6
- package/dist/lib/core/CreativeAgentClient.mjs.map +1 -1
- package/dist/lib/core/GovernanceMiddleware.mjs +0 -6
- package/dist/lib/core/GovernanceMiddleware.mjs.map +1 -1
- package/dist/lib/core/GovernanceTypes.mjs +0 -6
- package/dist/lib/core/GovernanceTypes.mjs.map +1 -1
- package/dist/lib/core/ProtocolResponseParser.mjs +0 -6
- package/dist/lib/core/ProtocolResponseParser.mjs.map +1 -1
- package/dist/lib/core/ResponseValidator.mjs +0 -6
- package/dist/lib/core/ResponseValidator.mjs.map +1 -1
- package/dist/lib/core/SingleAgentClient.mjs +0 -6
- package/dist/lib/core/SingleAgentClient.mjs.map +1 -1
- package/dist/lib/core/TaskEventTypes.mjs +0 -6
- package/dist/lib/core/TaskEventTypes.mjs.map +1 -1
- package/dist/lib/core/TaskExecutor.mjs +0 -6
- package/dist/lib/core/TaskExecutor.mjs.map +1 -1
- package/dist/lib/core/match.mjs +0 -6
- package/dist/lib/core/match.mjs.map +1 -1
- package/dist/lib/core/task-status.mjs +0 -6
- package/dist/lib/core/task-status.mjs.map +1 -1
- package/dist/lib/core/webhook-url.mjs +0 -6
- package/dist/lib/core/webhook-url.mjs.map +1 -1
- package/dist/lib/discovery/adagents-redirects.mjs +0 -6
- package/dist/lib/discovery/adagents-redirects.mjs.map +1 -1
- package/dist/lib/discovery/agent-directory.mjs +0 -6
- package/dist/lib/discovery/agent-directory.mjs.map +1 -1
- package/dist/lib/discovery/inline-publisher-properties.mjs +0 -6
- package/dist/lib/discovery/inline-publisher-properties.mjs.map +1 -1
- package/dist/lib/discovery/network-consistency-checker.mjs +0 -6
- package/dist/lib/discovery/network-consistency-checker.mjs.map +1 -1
- package/dist/lib/discovery/property-crawler.mjs +0 -6
- package/dist/lib/discovery/property-crawler.mjs.map +1 -1
- package/dist/lib/discovery/property-index.mjs +0 -6
- package/dist/lib/discovery/property-index.mjs.map +1 -1
- package/dist/lib/discovery/publisher-property-selector.mjs +0 -6
- package/dist/lib/discovery/publisher-property-selector.mjs.map +1 -1
- package/dist/lib/discovery/resolve-agent-properties.mjs +0 -6
- package/dist/lib/discovery/resolve-agent-properties.mjs.map +1 -1
- package/dist/lib/discovery/types.mjs +0 -6
- package/dist/lib/discovery/validate-adagents.mjs +0 -6
- package/dist/lib/discovery/validate-adagents.mjs.map +1 -1
- package/dist/lib/enums.mjs +0 -6
- package/dist/lib/enums.mjs.map +1 -1
- package/dist/lib/errors/index.mjs +0 -6
- package/dist/lib/errors/index.mjs.map +1 -1
- package/dist/lib/express-mcp/index.mjs +0 -6
- package/dist/lib/express-mcp/index.mjs.map +1 -1
- package/dist/lib/governance/index.mjs +0 -6
- package/dist/lib/governance/index.mjs.map +1 -1
- package/dist/lib/handlers/types.mjs +0 -6
- package/dist/lib/handlers/types.mjs.map +1 -1
- package/dist/lib/index.d.mts +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +0 -6
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/media-buy/available-actions.mjs +0 -6
- package/dist/lib/media-buy/available-actions.mjs.map +1 -1
- package/dist/lib/media-buy/index.mjs +0 -6
- package/dist/lib/media-buy/index.mjs.map +1 -1
- package/dist/lib/media-buy/preflight.mjs +0 -6
- package/dist/lib/media-buy/preflight.mjs.map +1 -1
- package/dist/lib/media-buy/property-policy.mjs +0 -6
- package/dist/lib/media-buy/property-policy.mjs.map +1 -1
- package/dist/lib/media-buy/types.mjs +0 -6
- package/dist/lib/media-buy/types.mjs.map +1 -1
- package/dist/lib/media-buy/update-fields.generated.mjs +0 -6
- package/dist/lib/media-buy/update-fields.generated.mjs.map +1 -1
- package/dist/lib/mock-server/creative-ad-server/seed-data.mjs +0 -6
- package/dist/lib/mock-server/creative-ad-server/seed-data.mjs.map +1 -1
- package/dist/lib/mock-server/creative-ad-server/server.mjs +0 -6
- package/dist/lib/mock-server/creative-ad-server/server.mjs.map +1 -1
- package/dist/lib/mock-server/creative-template/seed-data.mjs +0 -6
- package/dist/lib/mock-server/creative-template/seed-data.mjs.map +1 -1
- package/dist/lib/mock-server/creative-template/server.mjs +0 -6
- package/dist/lib/mock-server/creative-template/server.mjs.map +1 -1
- package/dist/lib/mock-server/index.mjs +0 -6
- package/dist/lib/mock-server/index.mjs.map +1 -1
- package/dist/lib/mock-server/sales-guaranteed/recipe.mjs +0 -6
- package/dist/lib/mock-server/sales-guaranteed/recipe.mjs.map +1 -1
- package/dist/lib/mock-server/sales-guaranteed/seed-data.mjs +0 -6
- package/dist/lib/mock-server/sales-guaranteed/seed-data.mjs.map +1 -1
- package/dist/lib/mock-server/sales-guaranteed/server.mjs +0 -6
- package/dist/lib/mock-server/sales-guaranteed/server.mjs.map +1 -1
- package/dist/lib/mock-server/sales-non-guaranteed/recipe.mjs +0 -6
- package/dist/lib/mock-server/sales-non-guaranteed/recipe.mjs.map +1 -1
- package/dist/lib/mock-server/sales-non-guaranteed/seed-data.mjs +0 -6
- package/dist/lib/mock-server/sales-non-guaranteed/seed-data.mjs.map +1 -1
- package/dist/lib/mock-server/sales-non-guaranteed/server.mjs +0 -6
- package/dist/lib/mock-server/sales-non-guaranteed/server.mjs.map +1 -1
- package/dist/lib/mock-server/sales-social/seed-data.mjs +0 -6
- package/dist/lib/mock-server/sales-social/seed-data.mjs.map +1 -1
- package/dist/lib/mock-server/sales-social/server.mjs +0 -6
- package/dist/lib/mock-server/sales-social/server.mjs.map +1 -1
- package/dist/lib/mock-server/scenario.mjs +0 -6
- package/dist/lib/mock-server/scenario.mjs.map +1 -1
- package/dist/lib/mock-server/signal-marketplace/seed-data.mjs +0 -6
- package/dist/lib/mock-server/signal-marketplace/seed-data.mjs.map +1 -1
- package/dist/lib/mock-server/signal-marketplace/server.mjs +0 -6
- package/dist/lib/mock-server/signal-marketplace/server.mjs.map +1 -1
- package/dist/lib/mock-server/sponsored-intelligence/seed-data.mjs +0 -6
- package/dist/lib/mock-server/sponsored-intelligence/seed-data.mjs.map +1 -1
- package/dist/lib/mock-server/sponsored-intelligence/server.mjs +0 -6
- package/dist/lib/mock-server/sponsored-intelligence/server.mjs.map +1 -1
- package/dist/lib/net/address-guards.mjs +0 -6
- package/dist/lib/net/address-guards.mjs.map +1 -1
- package/dist/lib/net/index.mjs +0 -6
- package/dist/lib/net/index.mjs.map +1 -1
- package/dist/lib/net/ssrf-fetch.mjs +0 -6
- package/dist/lib/net/ssrf-fetch.mjs.map +1 -1
- package/dist/lib/observability/index.mjs +0 -6
- package/dist/lib/observability/index.mjs.map +1 -1
- package/dist/lib/observability/tracing.mjs +6 -7
- package/dist/lib/observability/tracing.mjs.map +1 -1
- package/dist/lib/protocols/a2a.mjs +0 -6
- package/dist/lib/protocols/a2a.mjs.map +1 -1
- package/dist/lib/protocols/abort.mjs +0 -6
- package/dist/lib/protocols/abort.mjs.map +1 -1
- package/dist/lib/protocols/index.mjs +0 -6
- package/dist/lib/protocols/index.mjs.map +1 -1
- package/dist/lib/protocols/mcp-modern.mjs +0 -6
- package/dist/lib/protocols/mcp-modern.mjs.map +1 -1
- package/dist/lib/protocols/mcp-tasks.mjs +0 -6
- package/dist/lib/protocols/mcp-tasks.mjs.map +1 -1
- package/dist/lib/protocols/mcp.mjs +0 -6
- package/dist/lib/protocols/mcp.mjs.map +1 -1
- package/dist/lib/protocols/rawResponseCapture.mjs +0 -6
- package/dist/lib/protocols/rawResponseCapture.mjs.map +1 -1
- package/dist/lib/protocols/responseSizeLimit.mjs +0 -6
- package/dist/lib/protocols/responseSizeLimit.mjs.map +1 -1
- package/dist/lib/protocols/transportDiagnostics.mjs +0 -6
- package/dist/lib/protocols/transportDiagnostics.mjs.map +1 -1
- package/dist/lib/registry/cursor-store.mjs +0 -6
- package/dist/lib/registry/cursor-store.mjs.map +1 -1
- package/dist/lib/registry/feed-stream.mjs +0 -6
- package/dist/lib/registry/feed-stream.mjs.map +1 -1
- package/dist/lib/registry/index.mjs +0 -6
- package/dist/lib/registry/index.mjs.map +1 -1
- package/dist/lib/registry/property-registry.mjs +0 -6
- package/dist/lib/registry/property-registry.mjs.map +1 -1
- package/dist/lib/registry/sync.mjs +0 -6
- package/dist/lib/registry/sync.mjs.map +1 -1
- package/dist/lib/registry/types.generated.mjs +0 -6
- package/dist/lib/registry/types.mjs +0 -6
- package/dist/lib/schemas/index.mjs +0 -6
- package/dist/lib/schemas/index.mjs.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/a2a-adapter.mjs +0 -6
- package/dist/lib/server/a2a-adapter.mjs.map +1 -1
- package/dist/lib/server/account-mode.mjs +0 -6
- package/dist/lib/server/account-mode.mjs.map +1 -1
- package/dist/lib/server/adcp-server.mjs +0 -6
- package/dist/lib/server/adcp-server.mjs.map +1 -1
- package/dist/lib/server/auth-introspection.mjs +0 -6
- package/dist/lib/server/auth-introspection.mjs.map +1 -1
- package/dist/lib/server/auth-signature.mjs +0 -6
- package/dist/lib/server/auth-signature.mjs.map +1 -1
- package/dist/lib/server/auth.mjs +0 -6
- package/dist/lib/server/auth.mjs.map +1 -1
- package/dist/lib/server/create-adcp-server.d.mts +13 -0
- package/dist/lib/server/create-adcp-server.d.ts +13 -0
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +3 -2
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/server/create-adcp-server.mjs +3 -8
- package/dist/lib/server/create-adcp-server.mjs.map +1 -1
- package/dist/lib/server/credential-policy.mjs +0 -6
- package/dist/lib/server/credential-policy.mjs.map +1 -1
- package/dist/lib/server/ctx-metadata/backends/memory.mjs +0 -6
- package/dist/lib/server/ctx-metadata/backends/memory.mjs.map +1 -1
- package/dist/lib/server/ctx-metadata/backends/pg.mjs +0 -6
- package/dist/lib/server/ctx-metadata/backends/pg.mjs.map +1 -1
- package/dist/lib/server/ctx-metadata/backends/redis.mjs +0 -6
- package/dist/lib/server/ctx-metadata/backends/redis.mjs.map +1 -1
- package/dist/lib/server/ctx-metadata/index.mjs +0 -6
- package/dist/lib/server/ctx-metadata/index.mjs.map +1 -1
- package/dist/lib/server/ctx-metadata/store.mjs +0 -6
- package/dist/lib/server/ctx-metadata/store.mjs.map +1 -1
- package/dist/lib/server/ctx-metadata/wire-shape.mjs +0 -6
- package/dist/lib/server/ctx-metadata/wire-shape.mjs.map +1 -1
- package/dist/lib/server/decisioning/account.mjs +0 -6
- package/dist/lib/server/decisioning/account.mjs.map +1 -1
- package/dist/lib/server/decisioning/admin-router.mjs +0 -6
- package/dist/lib/server/decisioning/admin-router.mjs.map +1 -1
- package/dist/lib/server/decisioning/assembly-helpers.mjs +0 -6
- package/dist/lib/server/decisioning/assembly-helpers.mjs.map +1 -1
- package/dist/lib/server/decisioning/async-outcome.mjs +0 -6
- package/dist/lib/server/decisioning/async-outcome.mjs.map +1 -1
- package/dist/lib/server/decisioning/buyer-agent.mjs +0 -6
- package/dist/lib/server/decisioning/buyer-agent.mjs.map +1 -1
- package/dist/lib/server/decisioning/capabilities.mjs +0 -6
- package/dist/lib/server/decisioning/capabilities.mjs.map +1 -1
- package/dist/lib/server/decisioning/compose.mjs +0 -6
- package/dist/lib/server/decisioning/compose.mjs.map +1 -1
- package/dist/lib/server/decisioning/context.mjs +0 -6
- package/dist/lib/server/decisioning/errors-typed.mjs +0 -6
- package/dist/lib/server/decisioning/errors-typed.mjs.map +1 -1
- package/dist/lib/server/decisioning/helpers.mjs +0 -6
- package/dist/lib/server/decisioning/helpers.mjs.map +1 -1
- package/dist/lib/server/decisioning/index.mjs +0 -6
- package/dist/lib/server/decisioning/index.mjs.map +1 -1
- package/dist/lib/server/decisioning/list-helpers.mjs +0 -6
- package/dist/lib/server/decisioning/list-helpers.mjs.map +1 -1
- package/dist/lib/server/decisioning/manifest-helpers.mjs +0 -6
- package/dist/lib/server/decisioning/manifest-helpers.mjs.map +1 -1
- package/dist/lib/server/decisioning/pagination.mjs +0 -6
- package/dist/lib/server/decisioning/platform-helpers.mjs +0 -6
- package/dist/lib/server/decisioning/platform-helpers.mjs.map +1 -1
- package/dist/lib/server/decisioning/platform.mjs +0 -6
- package/dist/lib/server/decisioning/proposal/dispatch.mjs +0 -6
- package/dist/lib/server/decisioning/proposal/dispatch.mjs.map +1 -1
- package/dist/lib/server/decisioning/proposal/index.mjs +0 -6
- package/dist/lib/server/decisioning/proposal/index.mjs.map +1 -1
- package/dist/lib/server/decisioning/proposal/lifecycle.mjs +0 -6
- package/dist/lib/server/decisioning/proposal/lifecycle.mjs.map +1 -1
- package/dist/lib/server/decisioning/proposal/mock-manager.mjs +0 -6
- package/dist/lib/server/decisioning/proposal/mock-manager.mjs.map +1 -1
- package/dist/lib/server/decisioning/proposal/store.mjs +0 -6
- package/dist/lib/server/decisioning/proposal/store.mjs.map +1 -1
- package/dist/lib/server/decisioning/proposal/types.mjs +0 -6
- package/dist/lib/server/decisioning/proposal/types.mjs.map +1 -1
- package/dist/lib/server/decisioning/resolve-presets.mjs +0 -6
- package/dist/lib/server/decisioning/resolve-presets.mjs.map +1 -1
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.mjs +0 -6
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.mjs.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.mjs +0 -6
- package/dist/lib/server/decisioning/runtime/from-platform.mjs.map +1 -1
- package/dist/lib/server/decisioning/runtime/observed-modes.mjs +0 -6
- package/dist/lib/server/decisioning/runtime/observed-modes.mjs.map +1 -1
- package/dist/lib/server/decisioning/runtime/postgres-task-registry.mjs +0 -6
- package/dist/lib/server/decisioning/runtime/postgres-task-registry.mjs.map +1 -1
- package/dist/lib/server/decisioning/runtime/protocol-for-tool.mjs +0 -6
- package/dist/lib/server/decisioning/runtime/protocol-for-tool.mjs.map +1 -1
- package/dist/lib/server/decisioning/runtime/task-registry.mjs +0 -6
- package/dist/lib/server/decisioning/runtime/task-registry.mjs.map +1 -1
- package/dist/lib/server/decisioning/runtime/to-context.mjs +0 -6
- package/dist/lib/server/decisioning/runtime/to-context.mjs.map +1 -1
- package/dist/lib/server/decisioning/runtime/validate-platform.mjs +0 -6
- package/dist/lib/server/decisioning/runtime/validate-platform.mjs.map +1 -1
- package/dist/lib/server/decisioning/specialisms/audiences.mjs +0 -6
- package/dist/lib/server/decisioning/specialisms/brand-rights.mjs +0 -6
- package/dist/lib/server/decisioning/specialisms/campaign-governance.mjs +0 -6
- package/dist/lib/server/decisioning/specialisms/content-standards.mjs +0 -6
- package/dist/lib/server/decisioning/specialisms/creative-ad-server.mjs +0 -6
- package/dist/lib/server/decisioning/specialisms/creative.mjs +0 -6
- package/dist/lib/server/decisioning/specialisms/lists.mjs +0 -6
- package/dist/lib/server/decisioning/specialisms/sales.mjs +0 -6
- package/dist/lib/server/decisioning/specialisms/signals.mjs +0 -6
- package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.mjs +0 -6
- package/dist/lib/server/decisioning/start-time.mjs +0 -6
- package/dist/lib/server/decisioning/start-time.mjs.map +1 -1
- package/dist/lib/server/decisioning/status-changes.mjs +0 -6
- package/dist/lib/server/decisioning/status-changes.mjs.map +1 -1
- package/dist/lib/server/decisioning/status-mappers.mjs +0 -6
- package/dist/lib/server/decisioning/status-mappers.mjs.map +1 -1
- package/dist/lib/server/decisioning/tenant-registry.mjs +0 -6
- package/dist/lib/server/decisioning/tenant-registry.mjs.map +1 -1
- package/dist/lib/server/decisioning/tenant-store.mjs +0 -6
- package/dist/lib/server/decisioning/tenant-store.mjs.map +1 -1
- package/dist/lib/server/decisioning/validate-specialisms.mjs +0 -6
- package/dist/lib/server/decisioning/validate-specialisms.mjs.map +1 -1
- package/dist/lib/server/dynamic-registry.mjs +0 -6
- package/dist/lib/server/dynamic-registry.mjs.map +1 -1
- package/dist/lib/server/envelope-allowlist.mjs +0 -6
- package/dist/lib/server/envelope-allowlist.mjs.map +1 -1
- package/dist/lib/server/error-arm-tools.mjs +5 -6
- package/dist/lib/server/error-arm-tools.mjs.map +1 -1
- package/dist/lib/server/errors.mjs +0 -6
- package/dist/lib/server/errors.mjs.map +1 -1
- package/dist/lib/server/example-tld-guard.mjs +0 -6
- package/dist/lib/server/example-tld-guard.mjs.map +1 -1
- package/dist/lib/server/express-adapter.mjs +0 -6
- package/dist/lib/server/express-adapter.mjs.map +1 -1
- package/dist/lib/server/governance.mjs +0 -6
- package/dist/lib/server/governance.mjs.map +1 -1
- package/dist/lib/server/idempotency/backends/lazy.mjs +0 -6
- package/dist/lib/server/idempotency/backends/lazy.mjs.map +1 -1
- package/dist/lib/server/idempotency/backends/memory.mjs +0 -6
- package/dist/lib/server/idempotency/backends/memory.mjs.map +1 -1
- package/dist/lib/server/idempotency/backends/pg.mjs +0 -6
- package/dist/lib/server/idempotency/backends/pg.mjs.map +1 -1
- package/dist/lib/server/idempotency/backends/redis.mjs +0 -6
- package/dist/lib/server/idempotency/backends/redis.mjs.map +1 -1
- package/dist/lib/server/idempotency/index.mjs +0 -6
- package/dist/lib/server/idempotency/index.mjs.map +1 -1
- package/dist/lib/server/idempotency/store.mjs +0 -6
- package/dist/lib/server/idempotency/store.mjs.map +1 -1
- package/dist/lib/server/index.d.mts +1 -1
- package/dist/lib/server/index.d.ts +1 -1
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/server/index.mjs +0 -6
- package/dist/lib/server/index.mjs.map +1 -1
- package/dist/lib/server/legacy/v5/index.d.mts +1 -1
- package/dist/lib/server/legacy/v5/index.d.ts +1 -1
- package/dist/lib/server/legacy/v5/index.d.ts.map +1 -1
- package/dist/lib/server/legacy/v5/index.js.map +1 -1
- package/dist/lib/server/legacy/v5/index.mjs +0 -6
- package/dist/lib/server/legacy/v5/index.mjs.map +1 -1
- package/dist/lib/server/mcp-modern-server.mjs +0 -6
- package/dist/lib/server/mcp-modern-server.mjs.map +1 -1
- package/dist/lib/server/media-buy-actions.mjs +0 -6
- package/dist/lib/server/media-buy-actions.mjs.map +1 -1
- package/dist/lib/server/media-buy-helpers.mjs +0 -6
- package/dist/lib/server/media-buy-helpers.mjs.map +1 -1
- package/dist/lib/server/media-buy-store.mjs +0 -6
- package/dist/lib/server/media-buy-store.mjs.map +1 -1
- package/dist/lib/server/normalize-errors.mjs +0 -6
- package/dist/lib/server/normalize-errors.mjs.map +1 -1
- package/dist/lib/server/operational-platform.mjs +0 -6
- package/dist/lib/server/operational-platform.mjs.map +1 -1
- package/dist/lib/server/pick-safe-details.mjs +0 -6
- package/dist/lib/server/pick-safe-details.mjs.map +1 -1
- package/dist/lib/server/pin-and-bind-fetch.mjs +0 -6
- package/dist/lib/server/pin-and-bind-fetch.mjs.map +1 -1
- package/dist/lib/server/postgres-state-store.mjs +0 -6
- package/dist/lib/server/postgres-state-store.mjs.map +1 -1
- package/dist/lib/server/postgres-task-store.mjs +0 -6
- package/dist/lib/server/postgres-task-store.mjs.map +1 -1
- package/dist/lib/server/product-defaults.mjs +0 -6
- package/dist/lib/server/product-defaults.mjs.map +1 -1
- package/dist/lib/server/redact.mjs +0 -6
- package/dist/lib/server/redact.mjs.map +1 -1
- package/dist/lib/server/responses.mjs +0 -6
- package/dist/lib/server/responses.mjs.map +1 -1
- package/dist/lib/server/serve.mjs +0 -6
- package/dist/lib/server/serve.mjs.map +1 -1
- package/dist/lib/server/socket-mode/conformance-client.mjs +0 -6
- package/dist/lib/server/socket-mode/conformance-client.mjs.map +1 -1
- package/dist/lib/server/socket-mode/index.mjs +0 -6
- package/dist/lib/server/socket-mode/index.mjs.map +1 -1
- package/dist/lib/server/socket-mode/ws-transport.mjs +0 -6
- package/dist/lib/server/socket-mode/ws-transport.mjs.map +1 -1
- package/dist/lib/server/state-machine.mjs +0 -6
- package/dist/lib/server/state-machine.mjs.map +1 -1
- package/dist/lib/server/state-store.mjs +0 -6
- package/dist/lib/server/state-store.mjs.map +1 -1
- package/dist/lib/server/structured-serialize.mjs +0 -6
- package/dist/lib/server/structured-serialize.mjs.map +1 -1
- package/dist/lib/server/targeting-helpers.mjs +0 -6
- package/dist/lib/server/targeting-helpers.mjs.map +1 -1
- package/dist/lib/server/tasks.mjs +0 -6
- package/dist/lib/server/tasks.mjs.map +1 -1
- package/dist/lib/server/test-controller-bridge.mjs +0 -6
- package/dist/lib/server/test-controller-bridge.mjs.map +1 -1
- package/dist/lib/server/test-controller.mjs +0 -6
- package/dist/lib/server/test-controller.mjs.map +1 -1
- package/dist/lib/server/upstream-helpers.mjs +0 -6
- package/dist/lib/server/upstream-helpers.mjs.map +1 -1
- package/dist/lib/server/webhook-emitter.mjs +0 -6
- package/dist/lib/server/webhook-emitter.mjs.map +1 -1
- package/dist/lib/server/wire-safe.mjs +0 -6
- package/dist/lib/server/wire-safe.mjs.map +1 -1
- package/dist/lib/server/wire-spec-fields.generated.mjs +0 -6
- package/dist/lib/server/wire-spec-fields.generated.mjs.map +1 -1
- package/dist/lib/server/wrap-envelope.mjs +0 -6
- package/dist/lib/server/wrap-envelope.mjs.map +1 -1
- package/dist/lib/signing/agent-context.mjs +0 -6
- package/dist/lib/signing/agent-context.mjs.map +1 -1
- package/dist/lib/signing/agent-fetch.mjs +0 -6
- package/dist/lib/signing/agent-fetch.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/canonicalize.mjs +0 -6
- package/dist/lib/signing/agent-resolver/canonicalize.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/capabilities-types.mjs +0 -6
- package/dist/lib/signing/agent-resolver/capabilities-types.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/consistency.mjs +0 -6
- package/dist/lib/signing/agent-resolver/consistency.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/errors.mjs +0 -6
- package/dist/lib/signing/agent-resolver/errors.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/etld.mjs +0 -6
- package/dist/lib/signing/agent-resolver/etld.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/fetch-helpers.mjs +0 -6
- package/dist/lib/signing/agent-resolver/fetch-helpers.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/index.mjs +0 -6
- package/dist/lib/signing/agent-resolver/index.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/jwks-set.mjs +0 -6
- package/dist/lib/signing/agent-resolver/jwks-set.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/resolve-agent.mjs +0 -6
- package/dist/lib/signing/agent-resolver/resolve-agent.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/select-agent.mjs +0 -6
- package/dist/lib/signing/agent-resolver/select-agent.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/strict-json.mjs +0 -6
- package/dist/lib/signing/agent-resolver/strict-json.mjs.map +1 -1
- package/dist/lib/signing/brand-jwks.mjs +0 -6
- package/dist/lib/signing/brand-jwks.mjs.map +1 -1
- package/dist/lib/signing/canonicalize.mjs +0 -6
- package/dist/lib/signing/canonicalize.mjs.map +1 -1
- package/dist/lib/signing/capability-cache.mjs +0 -6
- package/dist/lib/signing/capability-cache.mjs.map +1 -1
- package/dist/lib/signing/capability-priming.mjs +0 -6
- package/dist/lib/signing/capability-priming.mjs.map +1 -1
- package/dist/lib/signing/client.mjs +0 -6
- package/dist/lib/signing/client.mjs.map +1 -1
- package/dist/lib/signing/content-digest.mjs +0 -6
- package/dist/lib/signing/content-digest.mjs.map +1 -1
- package/dist/lib/signing/crypto.mjs +0 -6
- package/dist/lib/signing/crypto.mjs.map +1 -1
- package/dist/lib/signing/ecdsa-encoding.mjs +0 -6
- package/dist/lib/signing/ecdsa-encoding.mjs.map +1 -1
- package/dist/lib/signing/errors.mjs +0 -6
- package/dist/lib/signing/errors.mjs.map +1 -1
- package/dist/lib/signing/fetch-async.mjs +0 -6
- package/dist/lib/signing/fetch-async.mjs.map +1 -1
- package/dist/lib/signing/fetch.mjs +0 -6
- package/dist/lib/signing/fetch.mjs.map +1 -1
- package/dist/lib/signing/index.mjs +0 -6
- package/dist/lib/signing/index.mjs.map +1 -1
- package/dist/lib/signing/jwks-helpers.mjs +0 -6
- package/dist/lib/signing/jwks-helpers.mjs.map +1 -1
- package/dist/lib/signing/jwks-https.mjs +0 -6
- package/dist/lib/signing/jwks-https.mjs.map +1 -1
- package/dist/lib/signing/jwks.mjs +0 -6
- package/dist/lib/signing/jwks.mjs.map +1 -1
- package/dist/lib/signing/middleware.mjs +0 -6
- package/dist/lib/signing/middleware.mjs.map +1 -1
- package/dist/lib/signing/parser.mjs +0 -6
- package/dist/lib/signing/parser.mjs.map +1 -1
- package/dist/lib/signing/postgres-replay-store.mjs +0 -6
- package/dist/lib/signing/postgres-replay-store.mjs.map +1 -1
- package/dist/lib/signing/protocol-response.mjs +0 -6
- package/dist/lib/signing/protocol-response.mjs.map +1 -1
- package/dist/lib/signing/provider.mjs +0 -6
- package/dist/lib/signing/redis-replay-store.mjs +0 -6
- package/dist/lib/signing/redis-replay-store.mjs.map +1 -1
- package/dist/lib/signing/replay.mjs +0 -6
- package/dist/lib/signing/replay.mjs.map +1 -1
- package/dist/lib/signing/request-context.mjs +0 -6
- package/dist/lib/signing/request-context.mjs.map +1 -1
- package/dist/lib/signing/revocation-https.mjs +0 -6
- package/dist/lib/signing/revocation-https.mjs.map +1 -1
- package/dist/lib/signing/revocation.mjs +0 -6
- package/dist/lib/signing/revocation.mjs.map +1 -1
- package/dist/lib/signing/server.mjs +0 -6
- package/dist/lib/signing/server.mjs.map +1 -1
- package/dist/lib/signing/signer-async.mjs +0 -6
- package/dist/lib/signing/signer-async.mjs.map +1 -1
- package/dist/lib/signing/signer.mjs +0 -6
- package/dist/lib/signing/signer.mjs.map +1 -1
- package/dist/lib/signing/testing.mjs +0 -6
- package/dist/lib/signing/testing.mjs.map +1 -1
- package/dist/lib/signing/types.mjs +0 -6
- package/dist/lib/signing/types.mjs.map +1 -1
- package/dist/lib/signing/verifier.mjs +0 -6
- package/dist/lib/signing/verifier.mjs.map +1 -1
- package/dist/lib/signing/webhook-auth-detection.mjs +0 -6
- package/dist/lib/signing/webhook-auth-detection.mjs.map +1 -1
- package/dist/lib/signing/webhook-verifier.mjs +0 -6
- package/dist/lib/signing/webhook-verifier.mjs.map +1 -1
- package/dist/lib/storage/MemoryStorage.mjs +0 -6
- package/dist/lib/storage/MemoryStorage.mjs.map +1 -1
- package/dist/lib/storage/interfaces.mjs +0 -6
- package/dist/lib/substitution/encoder/SubstitutionEncoder.mjs +0 -6
- package/dist/lib/substitution/encoder/SubstitutionEncoder.mjs.map +1 -1
- package/dist/lib/substitution/encoder/index.mjs +0 -6
- package/dist/lib/substitution/encoder/index.mjs.map +1 -1
- package/dist/lib/substitution/index.mjs +0 -6
- package/dist/lib/substitution/index.mjs.map +1 -1
- package/dist/lib/substitution/observer/SubstitutionObserver.mjs +0 -6
- package/dist/lib/substitution/observer/SubstitutionObserver.mjs.map +1 -1
- package/dist/lib/substitution/observer/alignment.mjs +0 -6
- package/dist/lib/substitution/observer/alignment.mjs.map +1 -1
- package/dist/lib/substitution/observer/assertions.mjs +0 -6
- package/dist/lib/substitution/observer/assertions.mjs.map +1 -1
- package/dist/lib/substitution/observer/html-parser.mjs +0 -6
- package/dist/lib/substitution/observer/html-parser.mjs.map +1 -1
- package/dist/lib/substitution/observer/index.mjs +0 -6
- package/dist/lib/substitution/observer/index.mjs.map +1 -1
- package/dist/lib/substitution/observer/ssrf.mjs +0 -6
- package/dist/lib/substitution/observer/ssrf.mjs.map +1 -1
- package/dist/lib/substitution/rfc3986.mjs +0 -6
- package/dist/lib/substitution/rfc3986.mjs.map +1 -1
- package/dist/lib/substitution/translate.mjs +0 -6
- package/dist/lib/substitution/translate.mjs.map +1 -1
- package/dist/lib/substitution/types.mjs +0 -6
- package/dist/lib/substitution/vectors.mjs +0 -6
- package/dist/lib/substitution/vectors.mjs.map +1 -1
- package/dist/lib/testing/agent-tester.mjs +0 -6
- package/dist/lib/testing/agent-tester.mjs.map +1 -1
- package/dist/lib/testing/client.mjs +0 -6
- package/dist/lib/testing/client.mjs.map +1 -1
- package/dist/lib/testing/compliance/briefs.mjs +0 -6
- package/dist/lib/testing/compliance/briefs.mjs.map +1 -1
- package/dist/lib/testing/compliance/comply.mjs +0 -6
- package/dist/lib/testing/compliance/comply.mjs.map +1 -1
- package/dist/lib/testing/compliance/index.mjs +0 -6
- package/dist/lib/testing/compliance/index.mjs.map +1 -1
- package/dist/lib/testing/compliance/spec-conformance.mjs +0 -6
- package/dist/lib/testing/compliance/spec-conformance.mjs.map +1 -1
- package/dist/lib/testing/compliance/storyboard-tracks.mjs +0 -6
- package/dist/lib/testing/compliance/storyboard-tracks.mjs.map +1 -1
- package/dist/lib/testing/compliance/summary.mjs +0 -6
- package/dist/lib/testing/compliance/summary.mjs.map +1 -1
- package/dist/lib/testing/compliance/types.mjs +0 -6
- package/dist/lib/testing/comply-controller.mjs +0 -6
- package/dist/lib/testing/comply-controller.mjs.map +1 -1
- package/dist/lib/testing/controller-assertions.mjs +0 -6
- package/dist/lib/testing/controller-assertions.mjs.map +1 -1
- package/dist/lib/testing/formatter.mjs +0 -6
- package/dist/lib/testing/formatter.mjs.map +1 -1
- package/dist/lib/testing/index.mjs +0 -6
- package/dist/lib/testing/index.mjs.map +1 -1
- package/dist/lib/testing/local-agent-runner.mjs +0 -6
- package/dist/lib/testing/local-agent-runner.mjs.map +1 -1
- package/dist/lib/testing/orchestrator.mjs +0 -6
- package/dist/lib/testing/orchestrator.mjs.map +1 -1
- package/dist/lib/testing/personas/index.mjs +0 -6
- package/dist/lib/testing/personas/index.mjs.map +1 -1
- package/dist/lib/testing/scenarios/brand-rights.mjs +0 -6
- package/dist/lib/testing/scenarios/brand-rights.mjs.map +1 -1
- package/dist/lib/testing/scenarios/capabilities.mjs +0 -6
- package/dist/lib/testing/scenarios/capabilities.mjs.map +1 -1
- package/dist/lib/testing/scenarios/creative.mjs +0 -6
- package/dist/lib/testing/scenarios/creative.mjs.map +1 -1
- package/dist/lib/testing/scenarios/deterministic.mjs +0 -6
- package/dist/lib/testing/scenarios/deterministic.mjs.map +1 -1
- package/dist/lib/testing/scenarios/discovery.mjs +0 -6
- package/dist/lib/testing/scenarios/discovery.mjs.map +1 -1
- package/dist/lib/testing/scenarios/edge-cases.mjs +0 -6
- package/dist/lib/testing/scenarios/edge-cases.mjs.map +1 -1
- package/dist/lib/testing/scenarios/error-compliance.mjs +0 -6
- package/dist/lib/testing/scenarios/error-compliance.mjs.map +1 -1
- package/dist/lib/testing/scenarios/governance.mjs +0 -6
- package/dist/lib/testing/scenarios/governance.mjs.map +1 -1
- package/dist/lib/testing/scenarios/health.mjs +0 -6
- package/dist/lib/testing/scenarios/health.mjs.map +1 -1
- package/dist/lib/testing/scenarios/index.mjs +0 -6
- package/dist/lib/testing/scenarios/index.mjs.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.mjs +0 -6
- package/dist/lib/testing/scenarios/media-buy.mjs.map +1 -1
- package/dist/lib/testing/scenarios/schema-compliance.mjs +0 -6
- package/dist/lib/testing/scenarios/schema-compliance.mjs.map +1 -1
- package/dist/lib/testing/scenarios/signals.mjs +0 -6
- package/dist/lib/testing/scenarios/signals.mjs.map +1 -1
- package/dist/lib/testing/scenarios/sponsored-intelligence.mjs +0 -6
- package/dist/lib/testing/scenarios/sponsored-intelligence.mjs.map +1 -1
- package/dist/lib/testing/scenarios/trusted-match.mjs +0 -6
- package/dist/lib/testing/scenarios/trusted-match.mjs.map +1 -1
- package/dist/lib/testing/seed-merge.mjs +0 -6
- package/dist/lib/testing/seed-merge.mjs.map +1 -1
- package/dist/lib/testing/storyboard/agent-routing.mjs +0 -6
- package/dist/lib/testing/storyboard/agent-routing.mjs.map +1 -1
- package/dist/lib/testing/storyboard/assertions.mjs +0 -6
- package/dist/lib/testing/storyboard/assertions.mjs.map +1 -1
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.mjs +0 -6
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.mjs.map +1 -1
- package/dist/lib/testing/storyboard/compliance.mjs +5 -6
- package/dist/lib/testing/storyboard/compliance.mjs.map +1 -1
- package/dist/lib/testing/storyboard/context.mjs +0 -6
- package/dist/lib/testing/storyboard/context.mjs.map +1 -1
- package/dist/lib/testing/storyboard/default-invariants.mjs +0 -6
- package/dist/lib/testing/storyboard/default-invariants.mjs.map +1 -1
- package/dist/lib/testing/storyboard/index.mjs +0 -6
- package/dist/lib/testing/storyboard/index.mjs.map +1 -1
- package/dist/lib/testing/storyboard/junit.mjs +0 -6
- package/dist/lib/testing/storyboard/junit.mjs.map +1 -1
- package/dist/lib/testing/storyboard/loader.mjs +0 -6
- package/dist/lib/testing/storyboard/loader.mjs.map +1 -1
- package/dist/lib/testing/storyboard/parallel-dispatch.mjs +0 -6
- package/dist/lib/testing/storyboard/parallel-dispatch.mjs.map +1 -1
- package/dist/lib/testing/storyboard/path.mjs +0 -6
- package/dist/lib/testing/storyboard/path.mjs.map +1 -1
- package/dist/lib/testing/storyboard/probes.mjs +0 -6
- package/dist/lib/testing/storyboard/probes.mjs.map +1 -1
- package/dist/lib/testing/storyboard/rate-limit-trip.mjs +0 -6
- package/dist/lib/testing/storyboard/rate-limit-trip.mjs.map +1 -1
- package/dist/lib/testing/storyboard/rejection-hints.mjs +0 -6
- package/dist/lib/testing/storyboard/rejection-hints.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.mjs +0 -6
- package/dist/lib/testing/storyboard/request-builder.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/builder.mjs +0 -6
- package/dist/lib/testing/storyboard/request-signing/builder.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/grader.mjs +0 -6
- package/dist/lib/testing/storyboard/request-signing/grader.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/index.mjs +0 -6
- package/dist/lib/testing/storyboard/request-signing/index.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.mjs +0 -6
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/probe.mjs +0 -6
- package/dist/lib/testing/storyboard/request-signing/probe.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/synthesize.mjs +0 -6
- package/dist/lib/testing/storyboard/request-signing/synthesize.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/test-kit.mjs +0 -6
- package/dist/lib/testing/storyboard/request-signing/test-kit.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/types.mjs +0 -6
- package/dist/lib/testing/storyboard/request-signing/types.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/vector-loader.mjs +0 -6
- package/dist/lib/testing/storyboard/request-signing/vector-loader.mjs.map +1 -1
- package/dist/lib/testing/storyboard/runner.mjs +0 -6
- package/dist/lib/testing/storyboard/runner.mjs.map +1 -1
- package/dist/lib/testing/storyboard/sandbox-entities.mjs +0 -6
- package/dist/lib/testing/storyboard/sandbox-entities.mjs.map +1 -1
- package/dist/lib/testing/storyboard/seeding.mjs +0 -6
- package/dist/lib/testing/storyboard/seeding.mjs.map +1 -1
- package/dist/lib/testing/storyboard/shape-drift-hints.mjs +0 -6
- package/dist/lib/testing/storyboard/shape-drift-hints.mjs.map +1 -1
- package/dist/lib/testing/storyboard/signer-grader/grader.mjs +0 -6
- package/dist/lib/testing/storyboard/signer-grader/grader.mjs.map +1 -1
- package/dist/lib/testing/storyboard/signer-grader/index.mjs +0 -6
- package/dist/lib/testing/storyboard/signer-grader/index.mjs.map +1 -1
- package/dist/lib/testing/storyboard/signer-grader/types.mjs +0 -6
- package/dist/lib/testing/storyboard/strict-validation-hints.mjs +0 -6
- package/dist/lib/testing/storyboard/strict-validation-hints.mjs.map +1 -1
- package/dist/lib/testing/storyboard/task-map.mjs +0 -6
- package/dist/lib/testing/storyboard/task-map.mjs.map +1 -1
- package/dist/lib/testing/storyboard/test-kit.mjs +0 -6
- package/dist/lib/testing/storyboard/test-kit.mjs.map +1 -1
- package/dist/lib/testing/storyboard/types.mjs +0 -6
- package/dist/lib/testing/storyboard/types.mjs.map +1 -1
- package/dist/lib/testing/storyboard/validations.mjs +0 -6
- package/dist/lib/testing/storyboard/validations.mjs.map +1 -1
- package/dist/lib/testing/storyboard/webhook-assertions.mjs +0 -6
- package/dist/lib/testing/storyboard/webhook-assertions.mjs.map +1 -1
- package/dist/lib/testing/storyboard/webhook-receiver.mjs +0 -6
- package/dist/lib/testing/storyboard/webhook-receiver.mjs.map +1 -1
- package/dist/lib/testing/stubs/governance-agent-stub.mjs +0 -6
- package/dist/lib/testing/stubs/governance-agent-stub.mjs.map +1 -1
- package/dist/lib/testing/stubs/index.mjs +0 -6
- package/dist/lib/testing/stubs/index.mjs.map +1 -1
- package/dist/lib/testing/test-controller.mjs +0 -6
- package/dist/lib/testing/test-controller.mjs.map +1 -1
- package/dist/lib/testing/test-helpers.mjs +0 -6
- package/dist/lib/testing/test-helpers.mjs.map +1 -1
- package/dist/lib/testing/types.mjs +0 -6
- package/dist/lib/types/adcp.mjs +0 -6
- package/dist/lib/types/adcp.mjs.map +1 -1
- package/dist/lib/types/asset-instances.mjs +0 -6
- package/dist/lib/types/compat.mjs +0 -6
- package/dist/lib/types/compat.mjs.map +1 -1
- package/dist/lib/types/core.generated.mjs +0 -6
- package/dist/lib/types/enums.generated.mjs +0 -6
- package/dist/lib/types/enums.generated.mjs.map +1 -1
- package/dist/lib/types/error-codes.mjs +0 -6
- package/dist/lib/types/error-codes.mjs.map +1 -1
- package/dist/lib/types/error-details.aliases.mjs +0 -6
- package/dist/lib/types/error-details.aliases.mjs.map +1 -1
- package/dist/lib/types/format-asset-slots.mjs +0 -6
- package/dist/lib/types/forward-compat-error-codes.mjs +0 -6
- package/dist/lib/types/forward-compat-error-codes.mjs.map +1 -1
- package/dist/lib/types/index.mjs +0 -6
- package/dist/lib/types/index.mjs.map +1 -1
- package/dist/lib/types/inline-enums.aliases.mjs +0 -6
- package/dist/lib/types/inline-enums.aliases.mjs.map +1 -1
- package/dist/lib/types/inline-enums.generated.mjs +0 -6
- package/dist/lib/types/inline-enums.generated.mjs.map +1 -1
- package/dist/lib/types/manifest.generated.mjs +0 -6
- package/dist/lib/types/manifest.generated.mjs.map +1 -1
- package/dist/lib/types/schemas.generated.mjs +0 -6
- package/dist/lib/types/schemas.generated.mjs.map +1 -1
- package/dist/lib/types/server-payload-aliases.mjs +0 -6
- package/dist/lib/types/server-payload.mjs +0 -6
- package/dist/lib/types/sync-rows.mjs +0 -6
- package/dist/lib/types/tools.generated.mjs +0 -6
- package/dist/lib/types/v2-5/index.mjs +0 -6
- package/dist/lib/types/v2-5/index.mjs.map +1 -1
- package/dist/lib/types/v2-5/tools.generated.mjs +0 -6
- package/dist/lib/types/v3-1-beta/index.mjs +0 -6
- package/dist/lib/types/v3-1-beta/index.mjs.map +1 -1
- package/dist/lib/types/v3-1-beta/tools.generated.mjs +0 -6
- package/dist/lib/types/wellknown-schemas.generated.mjs +0 -6
- package/dist/lib/types/wellknown-schemas.generated.mjs.map +1 -1
- package/dist/lib/upstream-recorder/constants.mjs +0 -6
- package/dist/lib/upstream-recorder/constants.mjs.map +1 -1
- package/dist/lib/upstream-recorder/index.mjs +0 -6
- package/dist/lib/upstream-recorder/index.mjs.map +1 -1
- package/dist/lib/upstream-recorder/recorder.mjs +0 -6
- package/dist/lib/upstream-recorder/recorder.mjs.map +1 -1
- package/dist/lib/upstream-recorder/types.mjs +0 -6
- package/dist/lib/upstream-recorder/types.mjs.map +1 -1
- package/dist/lib/utils/a2a-artifacts.mjs +0 -6
- package/dist/lib/utils/a2a-artifacts.mjs.map +1 -1
- package/dist/lib/utils/a2a-discovery.mjs +0 -6
- package/dist/lib/utils/a2a-discovery.mjs.map +1 -1
- package/dist/lib/utils/activation-key-builders.mjs +0 -6
- package/dist/lib/utils/activation-key-builders.mjs.map +1 -1
- package/dist/lib/utils/adcp-version-config.mjs +0 -6
- package/dist/lib/utils/adcp-version-config.mjs.map +1 -1
- package/dist/lib/utils/asset-builders.mjs +0 -6
- package/dist/lib/utils/asset-builders.mjs.map +1 -1
- package/dist/lib/utils/build-creative-return-builders.mjs +0 -6
- package/dist/lib/utils/build-creative-return-builders.mjs.map +1 -1
- package/dist/lib/utils/buyer-retry-policy.mjs +0 -6
- package/dist/lib/utils/buyer-retry-policy.mjs.map +1 -1
- package/dist/lib/utils/capabilities.mjs +0 -6
- package/dist/lib/utils/capabilities.mjs.map +1 -1
- package/dist/lib/utils/capability-rollups.mjs +0 -6
- package/dist/lib/utils/capability-rollups.mjs.map +1 -1
- package/dist/lib/utils/creative-adapter.mjs +0 -6
- package/dist/lib/utils/creative-adapter.mjs.map +1 -1
- package/dist/lib/utils/creative-delivery.mjs +0 -6
- package/dist/lib/utils/creative-delivery.mjs.map +1 -1
- package/dist/lib/utils/deprecation.mjs +0 -6
- package/dist/lib/utils/deprecation.mjs.map +1 -1
- package/dist/lib/utils/envelope-status-compat.mjs +0 -6
- package/dist/lib/utils/envelope-status-compat.mjs.map +1 -1
- package/dist/lib/utils/error-extraction.mjs +0 -6
- package/dist/lib/utils/error-extraction.mjs.map +1 -1
- package/dist/lib/utils/extract-result.mjs +0 -6
- package/dist/lib/utils/extract-result.mjs.map +1 -1
- package/dist/lib/utils/format-asset-slot-builders.mjs +0 -6
- package/dist/lib/utils/format-asset-slot-builders.mjs.map +1 -1
- package/dist/lib/utils/format-assets.mjs +0 -6
- package/dist/lib/utils/format-assets.mjs.map +1 -1
- package/dist/lib/utils/format-render-builders.mjs +0 -6
- package/dist/lib/utils/format-render-builders.mjs.map +1 -1
- package/dist/lib/utils/format-renders.mjs +0 -6
- package/dist/lib/utils/format-renders.mjs.map +1 -1
- package/dist/lib/utils/get-products-cache-scope.mjs +0 -6
- package/dist/lib/utils/get-products-cache-scope.mjs.map +1 -1
- package/dist/lib/utils/glob.mjs +0 -6
- package/dist/lib/utils/glob.mjs.map +1 -1
- package/dist/lib/utils/global-async-local-storage.mjs +0 -6
- package/dist/lib/utils/global-async-local-storage.mjs.map +1 -1
- package/dist/lib/utils/idempotency.mjs +0 -6
- package/dist/lib/utils/idempotency.mjs.map +1 -1
- package/dist/lib/utils/index.mjs +0 -6
- package/dist/lib/utils/index.mjs.map +1 -1
- package/dist/lib/utils/jcs.mjs +0 -6
- package/dist/lib/utils/jcs.mjs.map +1 -1
- package/dist/lib/utils/json-depth.mjs +0 -6
- package/dist/lib/utils/json-depth.mjs.map +1 -1
- package/dist/lib/utils/logger.mjs +0 -6
- package/dist/lib/utils/logger.mjs.map +1 -1
- package/dist/lib/utils/media-buy-delivery-notification-builders.mjs +0 -6
- package/dist/lib/utils/media-buy-delivery-notification-builders.mjs.map +1 -1
- package/dist/lib/utils/media-buy-status.mjs +0 -6
- package/dist/lib/utils/media-buy-status.mjs.map +1 -1
- package/dist/lib/utils/pagination.mjs +0 -6
- package/dist/lib/utils/pagination.mjs.map +1 -1
- package/dist/lib/utils/preview-creative-builders.mjs +0 -6
- package/dist/lib/utils/preview-creative-builders.mjs.map +1 -1
- package/dist/lib/utils/preview-normalizer.mjs +0 -6
- package/dist/lib/utils/preview-normalizer.mjs.map +1 -1
- package/dist/lib/utils/preview-utils.mjs +0 -6
- package/dist/lib/utils/preview-utils.mjs.map +1 -1
- package/dist/lib/utils/pricing-adapter.mjs +0 -6
- package/dist/lib/utils/pricing-adapter.mjs.map +1 -1
- package/dist/lib/utils/probe-policy.mjs +0 -6
- package/dist/lib/utils/probe-policy.mjs.map +1 -1
- package/dist/lib/utils/protocol-detection.mjs +0 -6
- package/dist/lib/utils/protocol-detection.mjs.map +1 -1
- package/dist/lib/utils/redact-secrets.mjs +0 -6
- package/dist/lib/utils/redact-secrets.mjs.map +1 -1
- package/dist/lib/utils/redis-default-prefix-warn.mjs +0 -6
- package/dist/lib/utils/redis-default-prefix-warn.mjs.map +1 -1
- package/dist/lib/utils/render-builders.mjs +0 -6
- package/dist/lib/utils/render-builders.mjs.map +1 -1
- package/dist/lib/utils/request-normalizer.mjs +0 -6
- package/dist/lib/utils/request-normalizer.mjs.map +1 -1
- package/dist/lib/utils/response-schemas.mjs +0 -6
- package/dist/lib/utils/response-schemas.mjs.map +1 -1
- package/dist/lib/utils/response-unwrapper.mjs +0 -6
- package/dist/lib/utils/response-unwrapper.mjs.map +1 -1
- package/dist/lib/utils/retry.mjs +0 -6
- package/dist/lib/utils/retry.mjs.map +1 -1
- package/dist/lib/utils/signal-discovery-helpers.mjs +0 -6
- package/dist/lib/utils/signal-discovery-helpers.mjs.map +1 -1
- package/dist/lib/utils/signal-id-builders.mjs +0 -6
- package/dist/lib/utils/signal-id-builders.mjs.map +1 -1
- package/dist/lib/utils/sync-creatives-adapter.mjs +0 -6
- package/dist/lib/utils/sync-creatives-adapter.mjs.map +1 -1
- package/dist/lib/utils/task-state.mjs +0 -6
- package/dist/lib/utils/task-state.mjs.map +1 -1
- package/dist/lib/utils/tool-request-schemas.mjs +0 -6
- package/dist/lib/utils/tool-request-schemas.mjs.map +1 -1
- package/dist/lib/utils/typeGuards.mjs +0 -6
- package/dist/lib/utils/typeGuards.mjs.map +1 -1
- package/dist/lib/utils/union-errors.mjs +0 -6
- package/dist/lib/utils/union-errors.mjs.map +1 -1
- package/dist/lib/utils/validate-user-agent.mjs +0 -6
- package/dist/lib/utils/validate-user-agent.mjs.map +1 -1
- package/dist/lib/v2/format-schema/fetch.mjs +0 -6
- package/dist/lib/v2/format-schema/fetch.mjs.map +1 -1
- package/dist/lib/v2/format-schema/index.mjs +0 -6
- package/dist/lib/v2/format-schema/index.mjs.map +1 -1
- package/dist/lib/v2/format-schema/regex-safety.mjs +0 -6
- package/dist/lib/v2/format-schema/regex-safety.mjs.map +1 -1
- package/dist/lib/v2/format-schema/resolver.mjs +7 -8
- package/dist/lib/v2/format-schema/resolver.mjs.map +1 -1
- package/dist/lib/v2/format-schema/sandbox-refs.mjs +0 -6
- package/dist/lib/v2/format-schema/sandbox-refs.mjs.map +1 -1
- package/dist/lib/v2/projection/augment-response.mjs +0 -6
- package/dist/lib/v2/projection/augment-response.mjs.map +1 -1
- package/dist/lib/v2/projection/builders.mjs +0 -6
- package/dist/lib/v2/projection/builders.mjs.map +1 -1
- package/dist/lib/v2/projection/cache-versions.mjs +0 -6
- package/dist/lib/v2/projection/cache-versions.mjs.map +1 -1
- package/dist/lib/v2/projection/canonical-properties.mjs +5 -6
- package/dist/lib/v2/projection/canonical-properties.mjs.map +1 -1
- package/dist/lib/v2/projection/catalog.mjs +5 -6
- package/dist/lib/v2/projection/catalog.mjs.map +1 -1
- package/dist/lib/v2/projection/constants.mjs +0 -6
- package/dist/lib/v2/projection/constants.mjs.map +1 -1
- package/dist/lib/v2/projection/index.mjs +0 -6
- package/dist/lib/v2/projection/index.mjs.map +1 -1
- package/dist/lib/v2/projection/registry.mjs +5 -6
- package/dist/lib/v2/projection/registry.mjs.map +1 -1
- package/dist/lib/v2/projection/types.mjs +0 -6
- package/dist/lib/v2/projection/v1-to-v2.mjs +0 -6
- package/dist/lib/v2/projection/v1-to-v2.mjs.map +1 -1
- package/dist/lib/v2/projection/v2-to-v1.mjs +0 -6
- package/dist/lib/v2/projection/v2-to-v1.mjs.map +1 -1
- package/dist/lib/v2/projection/write-side.mjs +0 -6
- package/dist/lib/v2/projection/write-side.mjs.map +1 -1
- package/dist/lib/v2/publisher-catalog/formats.mjs +0 -6
- package/dist/lib/v2/publisher-catalog/formats.mjs.map +1 -1
- package/dist/lib/v2/publisher-catalog/index.mjs +0 -6
- package/dist/lib/v2/publisher-catalog/index.mjs.map +1 -1
- package/dist/lib/validation/client-hooks.mjs +0 -6
- package/dist/lib/validation/client-hooks.mjs.map +1 -1
- package/dist/lib/validation/hints.mjs +0 -6
- package/dist/lib/validation/hints.mjs.map +1 -1
- package/dist/lib/validation/index.mjs +0 -6
- package/dist/lib/validation/index.mjs.map +1 -1
- package/dist/lib/validation/schema-errors.mjs +0 -6
- package/dist/lib/validation/schema-errors.mjs.map +1 -1
- package/dist/lib/validation/schema-loader.mjs +5 -6
- package/dist/lib/validation/schema-loader.mjs.map +1 -1
- package/dist/lib/validation/schema-validator.mjs +0 -6
- package/dist/lib/validation/schema-validator.mjs.map +1 -1
- package/dist/lib/validation/sync-creatives.mjs +0 -6
- package/dist/lib/validation/sync-creatives.mjs.map +1 -1
- package/dist/lib/version.d.mts +3 -3
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.js.map +1 -1
- package/dist/lib/version.mjs +3 -9
- package/dist/lib/version.mjs.map +1 -1
- package/dist/lib/webhooks/index.mjs +0 -6
- package/dist/lib/webhooks/index.mjs.map +1 -1
- package/dist/lib/wholesale-feed-sync/index.mjs +0 -6
- package/dist/lib/wholesale-feed-sync/index.mjs.map +1 -1
- package/dist/lib/wholesale-feed-sync/sync.mjs +0 -6
- package/dist/lib/wholesale-feed-sync/sync.mjs.map +1 -1
- package/dist/lib/wholesale-feed-sync/types.mjs +0 -6
- package/dist/lib/wholesale-feed-sync/webhook-notification.mjs +0 -6
- package/dist/lib/wholesale-feed-sync/webhook-notification.mjs.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/core/ResponseValidator.ts"],"sourcesContent":["/**\n * Response validator for agent responses\n *\n * Validates that agent responses match expected structures for both\n * MCP and A2A protocols, and validates data against AdCP schemas.\n */\n\nimport { z } from 'zod';\nimport { getBestUnionErrors } from '../utils/union-errors';\nimport { prepareResponseForSchemaValidation, TOOL_RESPONSE_SCHEMAS } from '../utils/response-schemas';\nimport { injectLegacyEnvelopeStatus } from '../utils/envelope-status-compat';\nimport { getLatestA2ADataPartFromResponse } from '../utils/a2a-artifacts';\n\nexport interface ValidationResult {\n valid: boolean;\n errors: string[];\n warnings: string[];\n protocol?: 'mcp' | 'a2a' | 'unknown';\n schemaErrors?: z.ZodIssue[];\n}\n\nexport interface ValidationOptions {\n /** Enable strict mode - fail on warnings */\n strict?: boolean;\n /** Expected data fields (e.g., ['products'] for get_products) */\n expectedFields?: string[];\n /** Allow empty responses */\n allowEmpty?: boolean;\n /** Validate against AdCP Zod schemas */\n validateSchema?: boolean;\n /** Server-declared AdCP version for response-shape compatibility. */\n responseAdcpVersion?: string;\n}\n\nexport class ResponseValidator {\n /**\n * Validate an agent response structure\n */\n validate(response: any, toolName?: string, options: ValidationOptions = {}): ValidationResult {\n const errors: string[] = [];\n const warnings: string[] = [];\n let protocol: 'mcp' | 'a2a' | 'unknown' = 'unknown';\n\n if (!response) {\n errors.push('Response is null or undefined');\n return { valid: false, errors, warnings, protocol };\n }\n\n // Detect protocol\n // A2A responses have either result.artifacts or error at top level\n if (response.result || response.error || response.jsonrpc) {\n protocol = 'a2a';\n this.validateA2AResponse(response, errors, warnings);\n } else if (response.structuredContent || response.content) {\n protocol = 'mcp';\n this.validateMCPResponse(response, errors, warnings);\n } else if (response.data) {\n warnings.push('Response has data field but unknown protocol');\n } else {\n warnings.push('Response does not match MCP or A2A structure');\n }\n\n // Check for expected fields if provided\n if (options.expectedFields && options.expectedFields.length > 0) {\n this.validateExpectedFields(response, options.expectedFields, protocol, errors, warnings);\n }\n\n // Check for empty responses\n if (!options.allowEmpty) {\n this.validateNotEmpty(response, protocol, warnings);\n }\n\n // Schema validation if enabled\n let schemaErrors: z.ZodIssue[] | undefined;\n if (options.validateSchema !== false && toolName) {\n const schemaResult = this.validateWithSchema(response, toolName, protocol, options.responseAdcpVersion);\n if (schemaResult) {\n schemaErrors = schemaResult.issues;\n\n // Union schemas produce a single unhelpful \"(root): Invalid input\" error.\n // Drill into variants to find the closest match's specific field errors.\n const isUnionError =\n schemaResult.issues.length === 1 &&\n schemaResult.issues[0]?.code === 'invalid_union' &&\n schemaResult.issues[0]?.path.length === 0;\n\n if (isUnionError) {\n const schema = this.getSchemaForTool(toolName);\n const data = this.extractDataForValidation(response, protocol);\n if (schema && data) {\n const betterErrors = getBestUnionErrors(schema, data);\n if (betterErrors && betterErrors.length > 0) {\n betterErrors.forEach(v => {\n errors.push(`Schema validation: ${v.path}: ${v.message}`);\n });\n return { valid: false, errors, warnings, protocol, schemaErrors };\n }\n }\n }\n\n schemaResult.issues.forEach(issue => {\n const path = issue.path.length > 0 ? issue.path.join('.') : '(root)';\n errors.push(`Schema validation: ${path}: ${issue.message}`);\n });\n }\n }\n\n const valid = errors.length === 0 && (!options.strict || warnings.length === 0);\n return { valid, errors, warnings, protocol, schemaErrors };\n }\n\n /**\n * Validate MCP response structure\n */\n private validateMCPResponse(response: any, errors: string[], warnings: string[]): void {\n // Check for error indicator\n if (response.isError === true) {\n errors.push('MCP response indicates error (isError: true)');\n }\n\n // Validate structuredContent if present\n if (response.structuredContent) {\n if (typeof response.structuredContent !== 'object') {\n errors.push('MCP structuredContent must be an object');\n }\n }\n\n // Validate content array if present\n if (response.content) {\n if (!Array.isArray(response.content)) {\n errors.push('MCP content must be an array');\n } else {\n response.content.forEach((item: any, index: number) => {\n if (!item.type) {\n warnings.push(`MCP content[${index}] missing type field`);\n }\n });\n }\n }\n\n // Should have either content or structuredContent\n if (!response.content && !response.structuredContent) {\n warnings.push('MCP response has neither content nor structuredContent');\n }\n }\n\n /**\n * Validate A2A response structure\n */\n private validateA2AResponse(response: any, errors: string[], warnings: string[]): void {\n // Check for JSON-RPC error\n if (response.error) {\n const errorMsg = response.error.message || JSON.stringify(response.error);\n errors.push(`A2A JSON-RPC error: ${errorMsg}`);\n return;\n }\n\n // Validate result structure\n if (!response.result) {\n errors.push('A2A response missing result field');\n return;\n }\n\n // Validate artifacts\n if (!response.result.artifacts) {\n errors.push('A2A response missing result.artifacts field');\n return;\n }\n\n if (!Array.isArray(response.result.artifacts)) {\n errors.push('A2A result.artifacts must be an array');\n return;\n }\n\n if (response.result.artifacts.length === 0) {\n warnings.push('A2A artifacts array is empty');\n return;\n }\n\n // Validate latest artifact structure. A2A conversational tasks append\n // artifacts over time, and the final artifact is authoritative.\n const latestArtifact = response.result.artifacts[response.result.artifacts.length - 1];\n if (!latestArtifact || typeof latestArtifact !== 'object') {\n errors.push('A2A response must have at least one artifact');\n return;\n }\n\n if (!latestArtifact.parts) {\n errors.push('A2A artifact missing parts field');\n return;\n }\n\n if (!Array.isArray(latestArtifact.parts)) {\n errors.push('A2A artifact.parts must be an array');\n return;\n }\n\n if (latestArtifact.parts.length === 0) {\n warnings.push('A2A artifact parts array is empty');\n return;\n }\n\n const hasDataPart = getLatestA2ADataPartFromResponse(response) !== undefined;\n if (!hasDataPart) {\n warnings.push('A2A artifact missing DataPart with data field');\n }\n }\n\n /**\n * Validate expected fields are present in the response\n */\n private validateExpectedFields(\n response: any,\n expectedFields: string[],\n protocol: string,\n errors: string[],\n warnings: string[]\n ): void {\n let data: any;\n\n // Extract data based on protocol\n if (protocol === 'mcp') {\n data = response.structuredContent;\n } else if (protocol === 'a2a') {\n data = getLatestA2ADataPartFromResponse(response)?.data;\n } else {\n data = response.data || response;\n }\n\n if (!data) {\n errors.push('Cannot validate fields: no data extracted');\n return;\n }\n\n // Check each expected field\n expectedFields.forEach(field => {\n if (!(field in data)) {\n errors.push(`Missing expected field: ${field}`);\n } else if (Array.isArray(data[field]) && data[field].length === 0) {\n warnings.push(`Field ${field} is an empty array`);\n }\n });\n }\n\n /**\n * Validate response is not empty\n */\n private validateNotEmpty(response: any, protocol: string, warnings: string[]): void {\n if (protocol === 'mcp' && response.structuredContent) {\n const keys = Object.keys(response.structuredContent);\n if (keys.length === 0) {\n warnings.push('MCP structuredContent is empty object');\n }\n }\n\n if (protocol === 'a2a') {\n const data = getLatestA2ADataPartFromResponse(response)?.data;\n if (!data) return;\n const keys = Object.keys(data);\n if (keys.length === 0) {\n warnings.push('A2A data is empty object');\n }\n }\n }\n\n /**\n * Quick validation helper - returns true if valid, throws if invalid\n */\n validateOrThrow(response: any, toolName?: string, options: ValidationOptions = {}): void {\n const result = this.validate(response, toolName, options);\n if (!result.valid) {\n const errorMsg = result.errors.join('; ');\n throw new Error(`Response validation failed: ${errorMsg}`);\n }\n }\n\n /**\n * Check if a response looks like a valid protocol response\n */\n isValidProtocolResponse(response: any): boolean {\n if (!response || typeof response !== 'object') {\n return false;\n }\n\n // MCP indicators\n if (response.structuredContent || response.content) {\n return true;\n }\n\n // A2A indicators\n if (response.result?.artifacts) {\n return true;\n }\n\n // Generic data response\n if (response.data) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Extract response data based on protocol for validation.\n */\n private extractDataForValidation(response: any, protocol: string): any {\n if (protocol === 'mcp') {\n return response.structuredContent;\n } else if (protocol === 'a2a') {\n return getLatestA2ADataPartFromResponse(response)?.data;\n } else {\n return response.data || response;\n }\n }\n\n /**\n * Validate response data against AdCP Zod schema\n */\n private validateWithSchema(\n response: any,\n toolName: string,\n protocol: string,\n responseAdcpVersion?: string\n ): z.ZodError | null {\n const data = this.extractDataForValidation(response, protocol);\n\n if (!data) {\n return null; // No data to validate\n }\n\n // Get schema for tool\n const schema = this.getSchemaForTool(toolName);\n if (!schema) {\n return null; // No schema available for this tool\n }\n\n // 3.0.x back-compat: synthesize envelope `status` when the payload\n // declares itself as 3.0.x. See `utils/envelope-status-compat.ts`.\n const validatePayload =\n data && typeof data === 'object' && !Array.isArray(data)\n ? injectLegacyEnvelopeStatus(data as Record<string, unknown>, { toolName })\n : data;\n\n // Validate\n const result = schema.safeParse(prepareResponseForSchemaValidation(toolName, validatePayload, responseAdcpVersion));\n return result.success ? null : result.error;\n }\n\n /**\n * Get Zod schema for a given tool\n */\n private getSchemaForTool(toolName: string): z.ZodSchema | null {\n return TOOL_RESPONSE_SCHEMAS[toolName] || null;\n }\n}\n\n// Export singleton instance\nexport const responseValidator = new ResponseValidator();\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/core/ResponseValidator.ts"],"sourcesContent":["/**\n * Response validator for agent responses\n *\n * Validates that agent responses match expected structures for both\n * MCP and A2A protocols, and validates data against AdCP schemas.\n */\n\nimport { z } from 'zod';\nimport { getBestUnionErrors } from '../utils/union-errors';\nimport { prepareResponseForSchemaValidation, TOOL_RESPONSE_SCHEMAS } from '../utils/response-schemas';\nimport { injectLegacyEnvelopeStatus } from '../utils/envelope-status-compat';\nimport { getLatestA2ADataPartFromResponse } from '../utils/a2a-artifacts';\n\nexport interface ValidationResult {\n valid: boolean;\n errors: string[];\n warnings: string[];\n protocol?: 'mcp' | 'a2a' | 'unknown';\n schemaErrors?: z.ZodIssue[];\n}\n\nexport interface ValidationOptions {\n /** Enable strict mode - fail on warnings */\n strict?: boolean;\n /** Expected data fields (e.g., ['products'] for get_products) */\n expectedFields?: string[];\n /** Allow empty responses */\n allowEmpty?: boolean;\n /** Validate against AdCP Zod schemas */\n validateSchema?: boolean;\n /** Server-declared AdCP version for response-shape compatibility. */\n responseAdcpVersion?: string;\n}\n\nexport class ResponseValidator {\n /**\n * Validate an agent response structure\n */\n validate(response: any, toolName?: string, options: ValidationOptions = {}): ValidationResult {\n const errors: string[] = [];\n const warnings: string[] = [];\n let protocol: 'mcp' | 'a2a' | 'unknown' = 'unknown';\n\n if (!response) {\n errors.push('Response is null or undefined');\n return { valid: false, errors, warnings, protocol };\n }\n\n // Detect protocol\n // A2A responses have either result.artifacts or error at top level\n if (response.result || response.error || response.jsonrpc) {\n protocol = 'a2a';\n this.validateA2AResponse(response, errors, warnings);\n } else if (response.structuredContent || response.content) {\n protocol = 'mcp';\n this.validateMCPResponse(response, errors, warnings);\n } else if (response.data) {\n warnings.push('Response has data field but unknown protocol');\n } else {\n warnings.push('Response does not match MCP or A2A structure');\n }\n\n // Check for expected fields if provided\n if (options.expectedFields && options.expectedFields.length > 0) {\n this.validateExpectedFields(response, options.expectedFields, protocol, errors, warnings);\n }\n\n // Check for empty responses\n if (!options.allowEmpty) {\n this.validateNotEmpty(response, protocol, warnings);\n }\n\n // Schema validation if enabled\n let schemaErrors: z.ZodIssue[] | undefined;\n if (options.validateSchema !== false && toolName) {\n const schemaResult = this.validateWithSchema(response, toolName, protocol, options.responseAdcpVersion);\n if (schemaResult) {\n schemaErrors = schemaResult.issues;\n\n // Union schemas produce a single unhelpful \"(root): Invalid input\" error.\n // Drill into variants to find the closest match's specific field errors.\n const isUnionError =\n schemaResult.issues.length === 1 &&\n schemaResult.issues[0]?.code === 'invalid_union' &&\n schemaResult.issues[0]?.path.length === 0;\n\n if (isUnionError) {\n const schema = this.getSchemaForTool(toolName);\n const data = this.extractDataForValidation(response, protocol);\n if (schema && data) {\n const betterErrors = getBestUnionErrors(schema, data);\n if (betterErrors && betterErrors.length > 0) {\n betterErrors.forEach(v => {\n errors.push(`Schema validation: ${v.path}: ${v.message}`);\n });\n return { valid: false, errors, warnings, protocol, schemaErrors };\n }\n }\n }\n\n schemaResult.issues.forEach(issue => {\n const path = issue.path.length > 0 ? issue.path.join('.') : '(root)';\n errors.push(`Schema validation: ${path}: ${issue.message}`);\n });\n }\n }\n\n const valid = errors.length === 0 && (!options.strict || warnings.length === 0);\n return { valid, errors, warnings, protocol, schemaErrors };\n }\n\n /**\n * Validate MCP response structure\n */\n private validateMCPResponse(response: any, errors: string[], warnings: string[]): void {\n // Check for error indicator\n if (response.isError === true) {\n errors.push('MCP response indicates error (isError: true)');\n }\n\n // Validate structuredContent if present\n if (response.structuredContent) {\n if (typeof response.structuredContent !== 'object') {\n errors.push('MCP structuredContent must be an object');\n }\n }\n\n // Validate content array if present\n if (response.content) {\n if (!Array.isArray(response.content)) {\n errors.push('MCP content must be an array');\n } else {\n response.content.forEach((item: any, index: number) => {\n if (!item.type) {\n warnings.push(`MCP content[${index}] missing type field`);\n }\n });\n }\n }\n\n // Should have either content or structuredContent\n if (!response.content && !response.structuredContent) {\n warnings.push('MCP response has neither content nor structuredContent');\n }\n }\n\n /**\n * Validate A2A response structure\n */\n private validateA2AResponse(response: any, errors: string[], warnings: string[]): void {\n // Check for JSON-RPC error\n if (response.error) {\n const errorMsg = response.error.message || JSON.stringify(response.error);\n errors.push(`A2A JSON-RPC error: ${errorMsg}`);\n return;\n }\n\n // Validate result structure\n if (!response.result) {\n errors.push('A2A response missing result field');\n return;\n }\n\n // Validate artifacts\n if (!response.result.artifacts) {\n errors.push('A2A response missing result.artifacts field');\n return;\n }\n\n if (!Array.isArray(response.result.artifacts)) {\n errors.push('A2A result.artifacts must be an array');\n return;\n }\n\n if (response.result.artifacts.length === 0) {\n warnings.push('A2A artifacts array is empty');\n return;\n }\n\n // Validate latest artifact structure. A2A conversational tasks append\n // artifacts over time, and the final artifact is authoritative.\n const latestArtifact = response.result.artifacts[response.result.artifacts.length - 1];\n if (!latestArtifact || typeof latestArtifact !== 'object') {\n errors.push('A2A response must have at least one artifact');\n return;\n }\n\n if (!latestArtifact.parts) {\n errors.push('A2A artifact missing parts field');\n return;\n }\n\n if (!Array.isArray(latestArtifact.parts)) {\n errors.push('A2A artifact.parts must be an array');\n return;\n }\n\n if (latestArtifact.parts.length === 0) {\n warnings.push('A2A artifact parts array is empty');\n return;\n }\n\n const hasDataPart = getLatestA2ADataPartFromResponse(response) !== undefined;\n if (!hasDataPart) {\n warnings.push('A2A artifact missing DataPart with data field');\n }\n }\n\n /**\n * Validate expected fields are present in the response\n */\n private validateExpectedFields(\n response: any,\n expectedFields: string[],\n protocol: string,\n errors: string[],\n warnings: string[]\n ): void {\n let data: any;\n\n // Extract data based on protocol\n if (protocol === 'mcp') {\n data = response.structuredContent;\n } else if (protocol === 'a2a') {\n data = getLatestA2ADataPartFromResponse(response)?.data;\n } else {\n data = response.data || response;\n }\n\n if (!data) {\n errors.push('Cannot validate fields: no data extracted');\n return;\n }\n\n // Check each expected field\n expectedFields.forEach(field => {\n if (!(field in data)) {\n errors.push(`Missing expected field: ${field}`);\n } else if (Array.isArray(data[field]) && data[field].length === 0) {\n warnings.push(`Field ${field} is an empty array`);\n }\n });\n }\n\n /**\n * Validate response is not empty\n */\n private validateNotEmpty(response: any, protocol: string, warnings: string[]): void {\n if (protocol === 'mcp' && response.structuredContent) {\n const keys = Object.keys(response.structuredContent);\n if (keys.length === 0) {\n warnings.push('MCP structuredContent is empty object');\n }\n }\n\n if (protocol === 'a2a') {\n const data = getLatestA2ADataPartFromResponse(response)?.data;\n if (!data) return;\n const keys = Object.keys(data);\n if (keys.length === 0) {\n warnings.push('A2A data is empty object');\n }\n }\n }\n\n /**\n * Quick validation helper - returns true if valid, throws if invalid\n */\n validateOrThrow(response: any, toolName?: string, options: ValidationOptions = {}): void {\n const result = this.validate(response, toolName, options);\n if (!result.valid) {\n const errorMsg = result.errors.join('; ');\n throw new Error(`Response validation failed: ${errorMsg}`);\n }\n }\n\n /**\n * Check if a response looks like a valid protocol response\n */\n isValidProtocolResponse(response: any): boolean {\n if (!response || typeof response !== 'object') {\n return false;\n }\n\n // MCP indicators\n if (response.structuredContent || response.content) {\n return true;\n }\n\n // A2A indicators\n if (response.result?.artifacts) {\n return true;\n }\n\n // Generic data response\n if (response.data) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Extract response data based on protocol for validation.\n */\n private extractDataForValidation(response: any, protocol: string): any {\n if (protocol === 'mcp') {\n return response.structuredContent;\n } else if (protocol === 'a2a') {\n return getLatestA2ADataPartFromResponse(response)?.data;\n } else {\n return response.data || response;\n }\n }\n\n /**\n * Validate response data against AdCP Zod schema\n */\n private validateWithSchema(\n response: any,\n toolName: string,\n protocol: string,\n responseAdcpVersion?: string\n ): z.ZodError | null {\n const data = this.extractDataForValidation(response, protocol);\n\n if (!data) {\n return null; // No data to validate\n }\n\n // Get schema for tool\n const schema = this.getSchemaForTool(toolName);\n if (!schema) {\n return null; // No schema available for this tool\n }\n\n // 3.0.x back-compat: synthesize envelope `status` when the payload\n // declares itself as 3.0.x. See `utils/envelope-status-compat.ts`.\n const validatePayload =\n data && typeof data === 'object' && !Array.isArray(data)\n ? injectLegacyEnvelopeStatus(data as Record<string, unknown>, { toolName })\n : data;\n\n // Validate\n const result = schema.safeParse(prepareResponseForSchemaValidation(toolName, validatePayload, responseAdcpVersion));\n return result.success ? null : result.error;\n }\n\n /**\n * Get Zod schema for a given tool\n */\n private getSchemaForTool(toolName: string): z.ZodSchema | null {\n return TOOL_RESPONSE_SCHEMAS[toolName] || null;\n }\n}\n\n// Export singleton instance\nexport const responseValidator = new ResponseValidator();\n"],"mappings":"AAQA,SAAS,0BAA0B;AACnC,SAAS,oCAAoC,6BAA6B;AAC1E,SAAS,kCAAkC;AAC3C,SAAS,wCAAwC;AAuB1C,MAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA,EAI7B,SAAS,UAAe,UAAmB,UAA6B,CAAC,GAAqB;AAC5F,UAAM,SAAmB,CAAC;AAC1B,UAAM,WAAqB,CAAC;AAC5B,QAAI,WAAsC;AAE1C,QAAI,CAAC,UAAU;AACb,aAAO,KAAK,+BAA+B;AAC3C,aAAO,EAAE,OAAO,OAAO,QAAQ,UAAU,SAAS;AAAA,IACpD;AAIA,QAAI,SAAS,UAAU,SAAS,SAAS,SAAS,SAAS;AACzD,iBAAW;AACX,WAAK,oBAAoB,UAAU,QAAQ,QAAQ;AAAA,IACrD,WAAW,SAAS,qBAAqB,SAAS,SAAS;AACzD,iBAAW;AACX,WAAK,oBAAoB,UAAU,QAAQ,QAAQ;AAAA,IACrD,WAAW,SAAS,MAAM;AACxB,eAAS,KAAK,8CAA8C;AAAA,IAC9D,OAAO;AACL,eAAS,KAAK,8CAA8C;AAAA,IAC9D;AAGA,QAAI,QAAQ,kBAAkB,QAAQ,eAAe,SAAS,GAAG;AAC/D,WAAK,uBAAuB,UAAU,QAAQ,gBAAgB,UAAU,QAAQ,QAAQ;AAAA,IAC1F;AAGA,QAAI,CAAC,QAAQ,YAAY;AACvB,WAAK,iBAAiB,UAAU,UAAU,QAAQ;AAAA,IACpD;AAGA,QAAI;AACJ,QAAI,QAAQ,mBAAmB,SAAS,UAAU;AAChD,YAAM,eAAe,KAAK,mBAAmB,UAAU,UAAU,UAAU,QAAQ,mBAAmB;AACtG,UAAI,cAAc;AAChB,uBAAe,aAAa;AAI5B,cAAM,eACJ,aAAa,OAAO,WAAW,KAC/B,aAAa,OAAO,CAAC,GAAG,SAAS,mBACjC,aAAa,OAAO,CAAC,GAAG,KAAK,WAAW;AAE1C,YAAI,cAAc;AAChB,gBAAM,SAAS,KAAK,iBAAiB,QAAQ;AAC7C,gBAAM,OAAO,KAAK,yBAAyB,UAAU,QAAQ;AAC7D,cAAI,UAAU,MAAM;AAClB,kBAAM,eAAe,mBAAmB,QAAQ,IAAI;AACpD,gBAAI,gBAAgB,aAAa,SAAS,GAAG;AAC3C,2BAAa,QAAQ,OAAK;AACxB,uBAAO,KAAK,sBAAsB,EAAE,IAAI,KAAK,EAAE,OAAO,EAAE;AAAA,cAC1D,CAAC;AACD,qBAAO,EAAE,OAAO,OAAO,QAAQ,UAAU,UAAU,aAAa;AAAA,YAClE;AAAA,UACF;AAAA,QACF;AAEA,qBAAa,OAAO,QAAQ,WAAS;AACnC,gBAAM,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,GAAG,IAAI;AAC5D,iBAAO,KAAK,sBAAsB,IAAI,KAAK,MAAM,OAAO,EAAE;AAAA,QAC5D,CAAC;AAAA,MACH;AAAA,IACF;AAEA,UAAM,QAAQ,OAAO,WAAW,MAAM,CAAC,QAAQ,UAAU,SAAS,WAAW;AAC7E,WAAO,EAAE,OAAO,QAAQ,UAAU,UAAU,aAAa;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA,EAKQ,oBAAoB,UAAe,QAAkB,UAA0B;AAErF,QAAI,SAAS,YAAY,MAAM;AAC7B,aAAO,KAAK,8CAA8C;AAAA,IAC5D;AAGA,QAAI,SAAS,mBAAmB;AAC9B,UAAI,OAAO,SAAS,sBAAsB,UAAU;AAClD,eAAO,KAAK,yCAAyC;AAAA,MACvD;AAAA,IACF;AAGA,QAAI,SAAS,SAAS;AACpB,UAAI,CAAC,MAAM,QAAQ,SAAS,OAAO,GAAG;AACpC,eAAO,KAAK,8BAA8B;AAAA,MAC5C,OAAO;AACL,iBAAS,QAAQ,QAAQ,CAAC,MAAW,UAAkB;AACrD,cAAI,CAAC,KAAK,MAAM;AACd,qBAAS,KAAK,eAAe,KAAK,sBAAsB;AAAA,UAC1D;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,CAAC,SAAS,WAAW,CAAC,SAAS,mBAAmB;AACpD,eAAS,KAAK,wDAAwD;AAAA,IACxE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKQ,oBAAoB,UAAe,QAAkB,UAA0B;AAErF,QAAI,SAAS,OAAO;AAClB,YAAM,WAAW,SAAS,MAAM,WAAW,KAAK,UAAU,SAAS,KAAK;AACxE,aAAO,KAAK,uBAAuB,QAAQ,EAAE;AAC7C;AAAA,IACF;AAGA,QAAI,CAAC,SAAS,QAAQ;AACpB,aAAO,KAAK,mCAAmC;AAC/C;AAAA,IACF;AAGA,QAAI,CAAC,SAAS,OAAO,WAAW;AAC9B,aAAO,KAAK,6CAA6C;AACzD;AAAA,IACF;AAEA,QAAI,CAAC,MAAM,QAAQ,SAAS,OAAO,SAAS,GAAG;AAC7C,aAAO,KAAK,uCAAuC;AACnD;AAAA,IACF;AAEA,QAAI,SAAS,OAAO,UAAU,WAAW,GAAG;AAC1C,eAAS,KAAK,8BAA8B;AAC5C;AAAA,IACF;AAIA,UAAM,iBAAiB,SAAS,OAAO,UAAU,SAAS,OAAO,UAAU,SAAS,CAAC;AACrF,QAAI,CAAC,kBAAkB,OAAO,mBAAmB,UAAU;AACzD,aAAO,KAAK,8CAA8C;AAC1D;AAAA,IACF;AAEA,QAAI,CAAC,eAAe,OAAO;AACzB,aAAO,KAAK,kCAAkC;AAC9C;AAAA,IACF;AAEA,QAAI,CAAC,MAAM,QAAQ,eAAe,KAAK,GAAG;AACxC,aAAO,KAAK,qCAAqC;AACjD;AAAA,IACF;AAEA,QAAI,eAAe,MAAM,WAAW,GAAG;AACrC,eAAS,KAAK,mCAAmC;AACjD;AAAA,IACF;AAEA,UAAM,cAAc,iCAAiC,QAAQ,MAAM;AACnE,QAAI,CAAC,aAAa;AAChB,eAAS,KAAK,+CAA+C;AAAA,IAC/D;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKQ,uBACN,UACA,gBACA,UACA,QACA,UACM;AACN,QAAI;AAGJ,QAAI,aAAa,OAAO;AACtB,aAAO,SAAS;AAAA,IAClB,WAAW,aAAa,OAAO;AAC7B,aAAO,iCAAiC,QAAQ,GAAG;AAAA,IACrD,OAAO;AACL,aAAO,SAAS,QAAQ;AAAA,IAC1B;AAEA,QAAI,CAAC,MAAM;AACT,aAAO,KAAK,2CAA2C;AACvD;AAAA,IACF;AAGA,mBAAe,QAAQ,WAAS;AAC9B,UAAI,EAAE,SAAS,OAAO;AACpB,eAAO,KAAK,2BAA2B,KAAK,EAAE;AAAA,MAChD,WAAW,MAAM,QAAQ,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,WAAW,GAAG;AACjE,iBAAS,KAAK,SAAS,KAAK,oBAAoB;AAAA,MAClD;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKQ,iBAAiB,UAAe,UAAkB,UAA0B;AAClF,QAAI,aAAa,SAAS,SAAS,mBAAmB;AACpD,YAAM,OAAO,OAAO,KAAK,SAAS,iBAAiB;AACnD,UAAI,KAAK,WAAW,GAAG;AACrB,iBAAS,KAAK,uCAAuC;AAAA,MACvD;AAAA,IACF;AAEA,QAAI,aAAa,OAAO;AACtB,YAAM,OAAO,iCAAiC,QAAQ,GAAG;AACzD,UAAI,CAAC,KAAM;AACX,YAAM,OAAO,OAAO,KAAK,IAAI;AAC7B,UAAI,KAAK,WAAW,GAAG;AACrB,iBAAS,KAAK,0BAA0B;AAAA,MAC1C;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB,UAAe,UAAmB,UAA6B,CAAC,GAAS;AACvF,UAAM,SAAS,KAAK,SAAS,UAAU,UAAU,OAAO;AACxD,QAAI,CAAC,OAAO,OAAO;AACjB,YAAM,WAAW,OAAO,OAAO,KAAK,IAAI;AACxC,YAAM,IAAI,MAAM,+BAA+B,QAAQ,EAAE;AAAA,IAC3D;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,wBAAwB,UAAwB;AAC9C,QAAI,CAAC,YAAY,OAAO,aAAa,UAAU;AAC7C,aAAO;AAAA,IACT;AAGA,QAAI,SAAS,qBAAqB,SAAS,SAAS;AAClD,aAAO;AAAA,IACT;AAGA,QAAI,SAAS,QAAQ,WAAW;AAC9B,aAAO;AAAA,IACT;AAGA,QAAI,SAAS,MAAM;AACjB,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKQ,yBAAyB,UAAe,UAAuB;AACrE,QAAI,aAAa,OAAO;AACtB,aAAO,SAAS;AAAA,IAClB,WAAW,aAAa,OAAO;AAC7B,aAAO,iCAAiC,QAAQ,GAAG;AAAA,IACrD,OAAO;AACL,aAAO,SAAS,QAAQ;AAAA,IAC1B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKQ,mBACN,UACA,UACA,UACA,qBACmB;AACnB,UAAM,OAAO,KAAK,yBAAyB,UAAU,QAAQ;AAE7D,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAGA,UAAM,SAAS,KAAK,iBAAiB,QAAQ;AAC7C,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,IACT;AAIA,UAAM,kBACJ,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI,IACnD,2BAA2B,MAAiC,EAAE,SAAS,CAAC,IACxE;AAGN,UAAM,SAAS,OAAO,UAAU,mCAAmC,UAAU,iBAAiB,mBAAmB,CAAC;AAClH,WAAO,OAAO,UAAU,OAAO,OAAO;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA,EAKQ,iBAAiB,UAAsC;AAC7D,WAAO,sBAAsB,QAAQ,KAAK;AAAA,EAC5C;AACF;AAGO,MAAM,oBAAoB,IAAI,kBAAkB;","names":[]}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import { fileURLToPath as __adcpFileURLToPath } from 'node:url';
|
|
2
|
-
import { dirname as __adcpDirname } from 'node:path';
|
|
3
|
-
import { createRequire as __adcpCreateRequire } from 'node:module';
|
|
4
|
-
const __filename = __adcpFileURLToPath(import.meta.url);
|
|
5
|
-
const __dirname = __adcpDirname(__filename);
|
|
6
|
-
const require = __adcpCreateRequire(import.meta.url);
|
|
7
1
|
import { z } from "zod";
|
|
8
2
|
import * as schemas from "../types/schemas.generated.mjs";
|
|
9
3
|
import { ADCP_ENVELOPE_FIELDS } from "../types/adcp.mjs";
|