@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,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 { loadRequestSigningVectors } from "./vector-loader.mjs";
|
|
8
2
|
const REQUEST_SIGNING_PROBE_TASK = "request_signing_probe";
|
|
9
3
|
const POSITIVE_STEP_PREFIX = "positive-";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/testing/storyboard/request-signing/synthesize.ts"],"sourcesContent":["import type { Storyboard, StoryboardStep } from '../types';\nimport { loadRequestSigningVectors, type LoadVectorsOptions } from './vector-loader';\nimport type { NegativeVector, PositiveVector } from './types';\n\nexport const REQUEST_SIGNING_PROBE_TASK = 'request_signing_probe';\nexport const POSITIVE_STEP_PREFIX = 'positive-';\nexport const NEGATIVE_STEP_PREFIX = 'negative-';\n\nexport interface SynthesizeOptions extends LoadVectorsOptions {\n /** Vector IDs to omit (e.g., capability-profile mismatches). */\n skipVectors?: string[];\n}\n\n/**\n * Expand the `positive_vectors` and `negative_vectors` phases of the\n * signed-requests specialism with one synthesized step per fixture. The YAML\n * deliberately ships these phases with empty step lists — steps are generated\n * from the cached test-vector fixtures so a runner can grade any advertising\n * agent without duplicating fixture data in the spec.\n *\n * Returns the input storyboard unchanged if it isn't signed-requests.\n */\nexport function synthesizeRequestSigningSteps(storyboard: Storyboard, options: SynthesizeOptions = {}): Storyboard {\n if (storyboard.id !== 'signed_requests') return storyboard;\n\n const loaded = loadRequestSigningVectors(options);\n const skip = new Set(options.skipVectors ?? []);\n\n const phases = storyboard.phases.map(phase => {\n if (phase.id === 'positive_vectors') {\n return { ...phase, steps: loaded.positive.filter(v => !skip.has(v.id)).map(synthesizePositiveStep) };\n }\n if (phase.id === 'negative_vectors') {\n return { ...phase, steps: loaded.negative.filter(v => !skip.has(v.id)).map(synthesizeNegativeStep) };\n }\n return phase;\n });\n\n return { ...storyboard, phases };\n}\n\nfunction synthesizePositiveStep(vector: PositiveVector): StoryboardStep {\n return {\n id: `${POSITIVE_STEP_PREFIX}${vector.id}`,\n title: `Positive: ${vector.name}`,\n task: REQUEST_SIGNING_PROBE_TASK,\n narrative: `Sign vector ${vector.id} per its component list and send to the agent; accept on 2xx.`,\n validations: [\n {\n check: 'http_status_in',\n allowed_values: [200, 201, 202, 203, 204],\n description: `Agent accepts positive vector ${vector.id}`,\n },\n ],\n };\n}\n\nfunction synthesizeNegativeStep(vector: NegativeVector): StoryboardStep {\n return {\n id: `${NEGATIVE_STEP_PREFIX}${vector.id}`,\n title: `Negative: ${vector.name}`,\n task: REQUEST_SIGNING_PROBE_TASK,\n narrative:\n `Build vector ${vector.id} with its documented mutation and send to the agent; ` +\n `expect 401 with WWW-Authenticate: Signature error=\"${vector.expected_error_code}\".`,\n validations: [\n {\n check: 'http_status',\n value: 401,\n description: `Rejection status for ${vector.id}`,\n },\n ],\n };\n}\n\n/**\n * Parse the synthesized step ID back into the vector id + kind so the probe\n * dispatch can look up the fixture.\n */\nexport function parseRequestSigningStepId(\n stepId: string\n): { kind: 'positive' | 'negative'; vector_id: string } | undefined {\n if (stepId.startsWith(POSITIVE_STEP_PREFIX)) {\n return { kind: 'positive', vector_id: stepId.slice(POSITIVE_STEP_PREFIX.length) };\n }\n if (stepId.startsWith(NEGATIVE_STEP_PREFIX)) {\n return { kind: 'negative', vector_id: stepId.slice(NEGATIVE_STEP_PREFIX.length) };\n }\n return undefined;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/lib/testing/storyboard/request-signing/synthesize.ts"],"sourcesContent":["import type { Storyboard, StoryboardStep } from '../types';\nimport { loadRequestSigningVectors, type LoadVectorsOptions } from './vector-loader';\nimport type { NegativeVector, PositiveVector } from './types';\n\nexport const REQUEST_SIGNING_PROBE_TASK = 'request_signing_probe';\nexport const POSITIVE_STEP_PREFIX = 'positive-';\nexport const NEGATIVE_STEP_PREFIX = 'negative-';\n\nexport interface SynthesizeOptions extends LoadVectorsOptions {\n /** Vector IDs to omit (e.g., capability-profile mismatches). */\n skipVectors?: string[];\n}\n\n/**\n * Expand the `positive_vectors` and `negative_vectors` phases of the\n * signed-requests specialism with one synthesized step per fixture. The YAML\n * deliberately ships these phases with empty step lists — steps are generated\n * from the cached test-vector fixtures so a runner can grade any advertising\n * agent without duplicating fixture data in the spec.\n *\n * Returns the input storyboard unchanged if it isn't signed-requests.\n */\nexport function synthesizeRequestSigningSteps(storyboard: Storyboard, options: SynthesizeOptions = {}): Storyboard {\n if (storyboard.id !== 'signed_requests') return storyboard;\n\n const loaded = loadRequestSigningVectors(options);\n const skip = new Set(options.skipVectors ?? []);\n\n const phases = storyboard.phases.map(phase => {\n if (phase.id === 'positive_vectors') {\n return { ...phase, steps: loaded.positive.filter(v => !skip.has(v.id)).map(synthesizePositiveStep) };\n }\n if (phase.id === 'negative_vectors') {\n return { ...phase, steps: loaded.negative.filter(v => !skip.has(v.id)).map(synthesizeNegativeStep) };\n }\n return phase;\n });\n\n return { ...storyboard, phases };\n}\n\nfunction synthesizePositiveStep(vector: PositiveVector): StoryboardStep {\n return {\n id: `${POSITIVE_STEP_PREFIX}${vector.id}`,\n title: `Positive: ${vector.name}`,\n task: REQUEST_SIGNING_PROBE_TASK,\n narrative: `Sign vector ${vector.id} per its component list and send to the agent; accept on 2xx.`,\n validations: [\n {\n check: 'http_status_in',\n allowed_values: [200, 201, 202, 203, 204],\n description: `Agent accepts positive vector ${vector.id}`,\n },\n ],\n };\n}\n\nfunction synthesizeNegativeStep(vector: NegativeVector): StoryboardStep {\n return {\n id: `${NEGATIVE_STEP_PREFIX}${vector.id}`,\n title: `Negative: ${vector.name}`,\n task: REQUEST_SIGNING_PROBE_TASK,\n narrative:\n `Build vector ${vector.id} with its documented mutation and send to the agent; ` +\n `expect 401 with WWW-Authenticate: Signature error=\"${vector.expected_error_code}\".`,\n validations: [\n {\n check: 'http_status',\n value: 401,\n description: `Rejection status for ${vector.id}`,\n },\n ],\n };\n}\n\n/**\n * Parse the synthesized step ID back into the vector id + kind so the probe\n * dispatch can look up the fixture.\n */\nexport function parseRequestSigningStepId(\n stepId: string\n): { kind: 'positive' | 'negative'; vector_id: string } | undefined {\n if (stepId.startsWith(POSITIVE_STEP_PREFIX)) {\n return { kind: 'positive', vector_id: stepId.slice(POSITIVE_STEP_PREFIX.length) };\n }\n if (stepId.startsWith(NEGATIVE_STEP_PREFIX)) {\n return { kind: 'negative', vector_id: stepId.slice(NEGATIVE_STEP_PREFIX.length) };\n }\n return undefined;\n}\n"],"mappings":"AACA,SAAS,iCAA0D;AAG5D,MAAM,6BAA6B;AACnC,MAAM,uBAAuB;AAC7B,MAAM,uBAAuB;AAgB7B,SAAS,8BAA8B,YAAwB,UAA6B,CAAC,GAAe;AACjH,MAAI,WAAW,OAAO,kBAAmB,QAAO;AAEhD,QAAM,SAAS,0BAA0B,OAAO;AAChD,QAAM,OAAO,IAAI,IAAI,QAAQ,eAAe,CAAC,CAAC;AAE9C,QAAM,SAAS,WAAW,OAAO,IAAI,WAAS;AAC5C,QAAI,MAAM,OAAO,oBAAoB;AACnC,aAAO,EAAE,GAAG,OAAO,OAAO,OAAO,SAAS,OAAO,OAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,sBAAsB,EAAE;AAAA,IACrG;AACA,QAAI,MAAM,OAAO,oBAAoB;AACnC,aAAO,EAAE,GAAG,OAAO,OAAO,OAAO,SAAS,OAAO,OAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,sBAAsB,EAAE;AAAA,IACrG;AACA,WAAO;AAAA,EACT,CAAC;AAED,SAAO,EAAE,GAAG,YAAY,OAAO;AACjC;AAEA,SAAS,uBAAuB,QAAwC;AACtE,SAAO;AAAA,IACL,IAAI,GAAG,oBAAoB,GAAG,OAAO,EAAE;AAAA,IACvC,OAAO,aAAa,OAAO,IAAI;AAAA,IAC/B,MAAM;AAAA,IACN,WAAW,eAAe,OAAO,EAAE;AAAA,IACnC,aAAa;AAAA,MACX;AAAA,QACE,OAAO;AAAA,QACP,gBAAgB,CAAC,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,QACxC,aAAa,iCAAiC,OAAO,EAAE;AAAA,MACzD;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,uBAAuB,QAAwC;AACtE,SAAO;AAAA,IACL,IAAI,GAAG,oBAAoB,GAAG,OAAO,EAAE;AAAA,IACvC,OAAO,aAAa,OAAO,IAAI;AAAA,IAC/B,MAAM;AAAA,IACN,WACE,gBAAgB,OAAO,EAAE,2GAC6B,OAAO,mBAAmB;AAAA,IAClF,aAAa;AAAA,MACX;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,aAAa,wBAAwB,OAAO,EAAE;AAAA,MAChD;AAAA,IACF;AAAA,EACF;AACF;AAMO,SAAS,0BACd,QACkE;AAClE,MAAI,OAAO,WAAW,oBAAoB,GAAG;AAC3C,WAAO,EAAE,MAAM,YAAY,WAAW,OAAO,MAAM,qBAAqB,MAAM,EAAE;AAAA,EAClF;AACA,MAAI,OAAO,WAAW,oBAAoB,GAAG;AAC3C,WAAO,EAAE,MAAM,YAAY,WAAW,OAAO,MAAM,qBAAqB,MAAM,EAAE;AAAA,EAClF;AACA,SAAO;AACT;","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 { existsSync, readFileSync } from "fs";
|
|
8
2
|
import { join } from "path";
|
|
9
3
|
import { parse } from "yaml";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/testing/storyboard/request-signing/test-kit.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'fs';\nimport { join } from 'path';\nimport { parse } from 'yaml';\nimport { getComplianceCacheDir } from '../compliance';\n\nexport interface RunnerSigningKey {\n keyid: string;\n alg: 'ed25519' | 'ecdsa-p256-sha256';\n}\n\nexport interface ReplayWindowContract {\n vector_id: string;\n black_box_behavior: 'repeat_request';\n max_interval_seconds: number;\n min_replay_ttl_seconds: number;\n}\n\nexport interface RevocationContract {\n vector_id: string;\n pre_revoked_keyid: string;\n}\n\nexport interface RateAbuseContract {\n vector_id: string;\n grading_target_per_keyid_cap_requests: number;\n production_min_per_keyid_cap_requests: number;\n window_seconds: number;\n}\n\nexport interface SignedRequestsRunnerContract {\n id: string;\n endpoint_scope: 'sandbox' | string;\n harness_mode: 'black_box' | 'white_box';\n runner_signing_keys: RunnerSigningKey[];\n stateful_vector_contract: {\n replay_window: ReplayWindowContract;\n revocation: RevocationContract;\n rate_abuse: RateAbuseContract;\n };\n}\n\nexport interface LoadTestKitOptions {\n complianceDir?: string;\n version?: string;\n}\n\n/**\n * Load and parse `test-kits/signed-requests-runner.yaml` from the compliance\n * cache. Returns undefined when the file is absent (upstream pre-adcp#2353\n * caches, or a sync in progress) — callers must decide how to degrade.\n */\nexport function loadSignedRequestsRunnerContract(\n options: LoadTestKitOptions = {}\n): SignedRequestsRunnerContract | undefined {\n const cacheDir = getComplianceCacheDir(options);\n const path = join(cacheDir, 'test-kits', 'signed-requests-runner.yaml');\n if (!existsSync(path)) return undefined;\n const raw = parse(readFileSync(path, 'utf-8')) as Record<string, unknown>;\n return {\n id: assertString(raw.id, 'id'),\n endpoint_scope: assertString(raw.endpoint_scope, 'endpoint_scope'),\n harness_mode: parseHarnessMode(raw.harness_mode),\n runner_signing_keys: parseSigningKeys(raw.runner_signing_keys),\n stateful_vector_contract: parseStatefulContracts(raw.stateful_vector_contract),\n };\n}\n\nfunction parseHarnessMode(raw: unknown): 'black_box' | 'white_box' {\n const s = assertString(raw, 'harness_mode');\n if (s !== 'black_box' && s !== 'white_box') {\n throw new Error(`test-kit harness_mode must be \"black_box\" or \"white_box\", got \"${s}\"`);\n }\n return s;\n}\n\nfunction parseSigningKeys(raw: unknown): RunnerSigningKey[] {\n if (!Array.isArray(raw)) throw new Error('runner_signing_keys must be an array');\n return raw.map((entry, i) => {\n const r = entry as Record<string, unknown>;\n const alg = assertString(r.alg, `runner_signing_keys[${i}].alg`);\n if (alg !== 'ed25519' && alg !== 'ecdsa-p256-sha256') {\n throw new Error(`runner_signing_keys[${i}].alg: unsupported \"${alg}\"`);\n }\n return { keyid: assertString(r.keyid, `runner_signing_keys[${i}].keyid`), alg };\n });\n}\n\nfunction parseStatefulContracts(raw: unknown): SignedRequestsRunnerContract['stateful_vector_contract'] {\n if (!raw || typeof raw !== 'object') {\n throw new Error('stateful_vector_contract block missing');\n }\n const r = raw as Record<string, unknown>;\n return {\n replay_window: parseReplay(r.replay_window),\n revocation: parseRevocation(r.revocation),\n rate_abuse: parseRateAbuse(r.rate_abuse),\n };\n}\n\nfunction parseReplay(raw: unknown): ReplayWindowContract {\n const r = asObject(raw, 'stateful_vector_contract.replay_window');\n const behavior = assertString(r.black_box_behavior, 'replay_window.black_box_behavior');\n if (behavior !== 'repeat_request') {\n throw new Error(`replay_window.black_box_behavior must be \"repeat_request\", got \"${behavior}\"`);\n }\n return {\n vector_id: assertString(r.vector_id, 'replay_window.vector_id'),\n black_box_behavior: 'repeat_request',\n max_interval_seconds: assertNumber(r.max_interval_seconds, 'replay_window.max_interval_seconds'),\n min_replay_ttl_seconds: assertNumber(r.min_replay_ttl_seconds, 'replay_window.min_replay_ttl_seconds'),\n };\n}\n\nfunction parseRevocation(raw: unknown): RevocationContract {\n const r = asObject(raw, 'stateful_vector_contract.revocation');\n return {\n vector_id: assertString(r.vector_id, 'revocation.vector_id'),\n pre_revoked_keyid: assertString(r.pre_revoked_keyid, 'revocation.pre_revoked_keyid'),\n };\n}\n\nfunction parseRateAbuse(raw: unknown): RateAbuseContract {\n const r = asObject(raw, 'stateful_vector_contract.rate_abuse');\n return {\n vector_id: assertString(r.vector_id, 'rate_abuse.vector_id'),\n grading_target_per_keyid_cap_requests: assertNumber(\n r.grading_target_per_keyid_cap_requests,\n 'rate_abuse.grading_target_per_keyid_cap_requests'\n ),\n production_min_per_keyid_cap_requests: assertNumber(\n r.production_min_per_keyid_cap_requests,\n 'rate_abuse.production_min_per_keyid_cap_requests'\n ),\n window_seconds: assertNumber(r.window_seconds, 'rate_abuse.window_seconds'),\n };\n}\n\nfunction asObject(raw: unknown, where: string): Record<string, unknown> {\n if (!raw || typeof raw !== 'object') throw new Error(`${where} missing or not an object`);\n return raw as Record<string, unknown>;\n}\n\nfunction assertString(v: unknown, where: string): string {\n if (typeof v !== 'string') throw new Error(`${where} must be string`);\n return v;\n}\n\nfunction assertNumber(v: unknown, where: string): number {\n if (typeof v !== 'number') throw new Error(`${where} must be number`);\n return v;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/lib/testing/storyboard/request-signing/test-kit.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'fs';\nimport { join } from 'path';\nimport { parse } from 'yaml';\nimport { getComplianceCacheDir } from '../compliance';\n\nexport interface RunnerSigningKey {\n keyid: string;\n alg: 'ed25519' | 'ecdsa-p256-sha256';\n}\n\nexport interface ReplayWindowContract {\n vector_id: string;\n black_box_behavior: 'repeat_request';\n max_interval_seconds: number;\n min_replay_ttl_seconds: number;\n}\n\nexport interface RevocationContract {\n vector_id: string;\n pre_revoked_keyid: string;\n}\n\nexport interface RateAbuseContract {\n vector_id: string;\n grading_target_per_keyid_cap_requests: number;\n production_min_per_keyid_cap_requests: number;\n window_seconds: number;\n}\n\nexport interface SignedRequestsRunnerContract {\n id: string;\n endpoint_scope: 'sandbox' | string;\n harness_mode: 'black_box' | 'white_box';\n runner_signing_keys: RunnerSigningKey[];\n stateful_vector_contract: {\n replay_window: ReplayWindowContract;\n revocation: RevocationContract;\n rate_abuse: RateAbuseContract;\n };\n}\n\nexport interface LoadTestKitOptions {\n complianceDir?: string;\n version?: string;\n}\n\n/**\n * Load and parse `test-kits/signed-requests-runner.yaml` from the compliance\n * cache. Returns undefined when the file is absent (upstream pre-adcp#2353\n * caches, or a sync in progress) — callers must decide how to degrade.\n */\nexport function loadSignedRequestsRunnerContract(\n options: LoadTestKitOptions = {}\n): SignedRequestsRunnerContract | undefined {\n const cacheDir = getComplianceCacheDir(options);\n const path = join(cacheDir, 'test-kits', 'signed-requests-runner.yaml');\n if (!existsSync(path)) return undefined;\n const raw = parse(readFileSync(path, 'utf-8')) as Record<string, unknown>;\n return {\n id: assertString(raw.id, 'id'),\n endpoint_scope: assertString(raw.endpoint_scope, 'endpoint_scope'),\n harness_mode: parseHarnessMode(raw.harness_mode),\n runner_signing_keys: parseSigningKeys(raw.runner_signing_keys),\n stateful_vector_contract: parseStatefulContracts(raw.stateful_vector_contract),\n };\n}\n\nfunction parseHarnessMode(raw: unknown): 'black_box' | 'white_box' {\n const s = assertString(raw, 'harness_mode');\n if (s !== 'black_box' && s !== 'white_box') {\n throw new Error(`test-kit harness_mode must be \"black_box\" or \"white_box\", got \"${s}\"`);\n }\n return s;\n}\n\nfunction parseSigningKeys(raw: unknown): RunnerSigningKey[] {\n if (!Array.isArray(raw)) throw new Error('runner_signing_keys must be an array');\n return raw.map((entry, i) => {\n const r = entry as Record<string, unknown>;\n const alg = assertString(r.alg, `runner_signing_keys[${i}].alg`);\n if (alg !== 'ed25519' && alg !== 'ecdsa-p256-sha256') {\n throw new Error(`runner_signing_keys[${i}].alg: unsupported \"${alg}\"`);\n }\n return { keyid: assertString(r.keyid, `runner_signing_keys[${i}].keyid`), alg };\n });\n}\n\nfunction parseStatefulContracts(raw: unknown): SignedRequestsRunnerContract['stateful_vector_contract'] {\n if (!raw || typeof raw !== 'object') {\n throw new Error('stateful_vector_contract block missing');\n }\n const r = raw as Record<string, unknown>;\n return {\n replay_window: parseReplay(r.replay_window),\n revocation: parseRevocation(r.revocation),\n rate_abuse: parseRateAbuse(r.rate_abuse),\n };\n}\n\nfunction parseReplay(raw: unknown): ReplayWindowContract {\n const r = asObject(raw, 'stateful_vector_contract.replay_window');\n const behavior = assertString(r.black_box_behavior, 'replay_window.black_box_behavior');\n if (behavior !== 'repeat_request') {\n throw new Error(`replay_window.black_box_behavior must be \"repeat_request\", got \"${behavior}\"`);\n }\n return {\n vector_id: assertString(r.vector_id, 'replay_window.vector_id'),\n black_box_behavior: 'repeat_request',\n max_interval_seconds: assertNumber(r.max_interval_seconds, 'replay_window.max_interval_seconds'),\n min_replay_ttl_seconds: assertNumber(r.min_replay_ttl_seconds, 'replay_window.min_replay_ttl_seconds'),\n };\n}\n\nfunction parseRevocation(raw: unknown): RevocationContract {\n const r = asObject(raw, 'stateful_vector_contract.revocation');\n return {\n vector_id: assertString(r.vector_id, 'revocation.vector_id'),\n pre_revoked_keyid: assertString(r.pre_revoked_keyid, 'revocation.pre_revoked_keyid'),\n };\n}\n\nfunction parseRateAbuse(raw: unknown): RateAbuseContract {\n const r = asObject(raw, 'stateful_vector_contract.rate_abuse');\n return {\n vector_id: assertString(r.vector_id, 'rate_abuse.vector_id'),\n grading_target_per_keyid_cap_requests: assertNumber(\n r.grading_target_per_keyid_cap_requests,\n 'rate_abuse.grading_target_per_keyid_cap_requests'\n ),\n production_min_per_keyid_cap_requests: assertNumber(\n r.production_min_per_keyid_cap_requests,\n 'rate_abuse.production_min_per_keyid_cap_requests'\n ),\n window_seconds: assertNumber(r.window_seconds, 'rate_abuse.window_seconds'),\n };\n}\n\nfunction asObject(raw: unknown, where: string): Record<string, unknown> {\n if (!raw || typeof raw !== 'object') throw new Error(`${where} missing or not an object`);\n return raw as Record<string, unknown>;\n}\n\nfunction assertString(v: unknown, where: string): string {\n if (typeof v !== 'string') throw new Error(`${where} must be string`);\n return v;\n}\n\nfunction assertNumber(v: unknown, where: string): number {\n if (typeof v !== 'number') throw new Error(`${where} must be number`);\n return v;\n}\n"],"mappings":"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","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
|
const CONTRACT_IDS = ["replay_window", "revocation", "rate_abuse"];
|
|
8
2
|
export {
|
|
9
3
|
CONTRACT_IDS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/testing/storyboard/request-signing/types.ts"],"sourcesContent":["import type { RequestLike } from '../../../signing';\nimport type { RequestSignatureErrorCode } from '../../../signing';\n\n/** Stateful-vector contracts declared in `test-kits/signed-requests-runner.yaml`. */\nexport const CONTRACT_IDS = ['replay_window', 'revocation', 'rate_abuse'] as const;\nexport type ContractId = (typeof CONTRACT_IDS)[number];\n\nexport interface VectorRequest extends RequestLike {\n method: string;\n url: string;\n headers: Record<string, string>;\n body?: string;\n}\n\nexport interface VerifierCapabilityFixture {\n supported: boolean;\n covers_content_digest: 'required' | 'forbidden' | 'either';\n required_for: string[];\n supported_for?: string[];\n /**\n * JSON-RPC protocol-method coverage (e.g. `tasks/cancel`, `tasks/get`) —\n * separate namespace from `required_for` / `supported_for` (which carry\n * AdCP tool names). Introduced in adcp#4326. Vectors targeting protocol\n * methods (e.g. negative/028) populate these; vectors targeting AdCP tools\n * leave them undefined.\n */\n protocol_methods_supported_for?: string[];\n protocol_methods_required_for?: string[];\n}\n\n/**\n * Inline JWK set shipped with a negative vector that wants to publish a\n * deliberately-malformed JWK (e.g., vector 025 declares alg=EdDSA but\n * crv=P-256 to exercise step-8 parameter consistency). Using `jwks_override`\n * instead of adding a malformed key to `keys.json` keeps the canonical\n * keyset clean so other vectors can't inherit the broken shape.\n * Mutually exclusive with `jwks_ref`.\n */\nexport interface JwksOverride {\n keys: Array<Record<string, unknown>>;\n}\n\nexport interface PositiveVector {\n kind: 'positive';\n id: string;\n name: string;\n reference_now: number;\n request: VectorRequest;\n verifier_capability: VerifierCapabilityFixture;\n jwks_ref?: string[];\n jwks_override?: JwksOverride;\n expected_signature_base?: string;\n spec_reference?: string;\n}\n\nexport interface NegativeVector {\n kind: 'negative';\n id: string;\n name: string;\n reference_now: number;\n request: VectorRequest;\n verifier_capability: VerifierCapabilityFixture;\n jwks_ref?: string[];\n jwks_override?: JwksOverride;\n expected_error_code: RequestSignatureErrorCode;\n expected_failed_step: number | string;\n requires_contract?: ContractId;\n spec_reference?: string;\n}\n\nexport type Vector = PositiveVector | NegativeVector;\n\nexport interface TestKeypair {\n kid: string;\n kty: string;\n crv?: string;\n alg?: string;\n use?: string;\n key_ops?: string[];\n adcp_use?: string;\n x?: string;\n y?: string;\n /** base64url-encoded private scalar, published only in test-vector keys.json. */\n private_d: string;\n}\n\nexport interface TestKeyset {\n keys: TestKeypair[];\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/lib/testing/storyboard/request-signing/types.ts"],"sourcesContent":["import type { RequestLike } from '../../../signing';\nimport type { RequestSignatureErrorCode } from '../../../signing';\n\n/** Stateful-vector contracts declared in `test-kits/signed-requests-runner.yaml`. */\nexport const CONTRACT_IDS = ['replay_window', 'revocation', 'rate_abuse'] as const;\nexport type ContractId = (typeof CONTRACT_IDS)[number];\n\nexport interface VectorRequest extends RequestLike {\n method: string;\n url: string;\n headers: Record<string, string>;\n body?: string;\n}\n\nexport interface VerifierCapabilityFixture {\n supported: boolean;\n covers_content_digest: 'required' | 'forbidden' | 'either';\n required_for: string[];\n supported_for?: string[];\n /**\n * JSON-RPC protocol-method coverage (e.g. `tasks/cancel`, `tasks/get`) —\n * separate namespace from `required_for` / `supported_for` (which carry\n * AdCP tool names). Introduced in adcp#4326. Vectors targeting protocol\n * methods (e.g. negative/028) populate these; vectors targeting AdCP tools\n * leave them undefined.\n */\n protocol_methods_supported_for?: string[];\n protocol_methods_required_for?: string[];\n}\n\n/**\n * Inline JWK set shipped with a negative vector that wants to publish a\n * deliberately-malformed JWK (e.g., vector 025 declares alg=EdDSA but\n * crv=P-256 to exercise step-8 parameter consistency). Using `jwks_override`\n * instead of adding a malformed key to `keys.json` keeps the canonical\n * keyset clean so other vectors can't inherit the broken shape.\n * Mutually exclusive with `jwks_ref`.\n */\nexport interface JwksOverride {\n keys: Array<Record<string, unknown>>;\n}\n\nexport interface PositiveVector {\n kind: 'positive';\n id: string;\n name: string;\n reference_now: number;\n request: VectorRequest;\n verifier_capability: VerifierCapabilityFixture;\n jwks_ref?: string[];\n jwks_override?: JwksOverride;\n expected_signature_base?: string;\n spec_reference?: string;\n}\n\nexport interface NegativeVector {\n kind: 'negative';\n id: string;\n name: string;\n reference_now: number;\n request: VectorRequest;\n verifier_capability: VerifierCapabilityFixture;\n jwks_ref?: string[];\n jwks_override?: JwksOverride;\n expected_error_code: RequestSignatureErrorCode;\n expected_failed_step: number | string;\n requires_contract?: ContractId;\n spec_reference?: string;\n}\n\nexport type Vector = PositiveVector | NegativeVector;\n\nexport interface TestKeypair {\n kid: string;\n kty: string;\n crv?: string;\n alg?: string;\n use?: string;\n key_ops?: string[];\n adcp_use?: string;\n x?: string;\n y?: string;\n /** base64url-encoded private scalar, published only in test-vector keys.json. */\n private_d: string;\n}\n\nexport interface TestKeyset {\n keys: TestKeypair[];\n}\n"],"mappings":"AAIO,MAAM,eAAe,CAAC,iBAAiB,cAAc,YAAY;","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 { existsSync, readFileSync, readdirSync } from "fs";
|
|
8
2
|
import { basename, join } from "path";
|
|
9
3
|
import { getComplianceCacheDir } from "../compliance.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/testing/storyboard/request-signing/vector-loader.ts"],"sourcesContent":["import { existsSync, readFileSync, readdirSync } from 'fs';\nimport { basename, join } from 'path';\nimport { getComplianceCacheDir } from '../compliance';\nimport type { RequestSignatureErrorCode } from '../../../signing';\nimport { CONTRACT_IDS } from './types';\nimport type { ContractId, NegativeVector, PositiveVector, TestKeypair, TestKeyset, Vector } from './types';\n\nexport interface LoadVectorsOptions {\n complianceDir?: string;\n version?: string;\n}\n\nexport interface LoadedVectors {\n positive: PositiveVector[];\n negative: NegativeVector[];\n keys: TestKeyset;\n sourceDir: string;\n}\n\nconst ERROR_CODES: ReadonlySet<string> = new Set([\n 'request_signature_required',\n 'request_signature_header_malformed',\n 'request_signature_params_incomplete',\n 'request_signature_tag_invalid',\n 'request_signature_alg_not_allowed',\n 'request_signature_window_invalid',\n 'request_signature_components_incomplete',\n 'request_signature_components_unexpected',\n 'request_signature_key_unknown',\n 'request_signature_key_purpose_invalid',\n 'request_signature_key_revoked',\n 'request_signature_invalid',\n 'request_signature_digest_mismatch',\n 'request_signature_replayed',\n 'request_signature_rate_abuse',\n]);\n\nconst CONTRACT_ID_SET: ReadonlySet<string> = new Set(CONTRACT_IDS);\n\n// Memoized per sourceDir — loading 28 JSON fixtures + keys.json on every\n// per-vector call in the runner path added up (~28 disk reads × 2-3 storyboard\n// resolve calls per CLI run). Invariant: the compliance cache is immutable\n// during a process lifetime — `npm run sync-schemas` runs before the process,\n// never concurrently. Cache key is the absolute cacheDir so env-var overrides\n// don't poison the entry.\nconst VECTOR_CACHE = new Map<string, LoadedVectors>();\n\nexport function loadRequestSigningVectors(options: LoadVectorsOptions = {}): LoadedVectors {\n const cacheDir = getComplianceCacheDir(options);\n const sourceDir = join(cacheDir, 'test-vectors', 'request-signing');\n const cached = VECTOR_CACHE.get(sourceDir);\n if (cached) return cached;\n\n if (!existsSync(sourceDir)) {\n throw new Error(\n `Request-signing vectors not found at ${sourceDir}. Run \\`npm run sync-schemas\\` or check your ADCP_COMPLIANCE_DIR.`\n );\n }\n\n const loaded: LoadedVectors = {\n positive: loadDir(join(sourceDir, 'positive'), parsePositive),\n negative: loadDir(join(sourceDir, 'negative'), parseNegative),\n keys: loadKeys(join(sourceDir, 'keys.json')),\n sourceDir,\n };\n VECTOR_CACHE.set(sourceDir, loaded);\n return loaded;\n}\n\n/** Test-only: clear the memoization cache so a fresh cache path is reread. */\nexport function __resetVectorCache(): void {\n VECTOR_CACHE.clear();\n}\n\nfunction loadDir<T extends Vector>(dir: string, parse: (id: string, raw: unknown) => T): T[] {\n if (!existsSync(dir)) {\n throw new Error(`Vector directory missing: ${dir}`);\n }\n const files = readdirSync(dir)\n .filter(f => f.endsWith('.json'))\n .sort();\n return files.map(f => {\n const raw = JSON.parse(readFileSync(join(dir, f), 'utf-8'));\n return parse(vectorIdFromFilename(f), raw);\n });\n}\n\nfunction vectorIdFromFilename(file: string): string {\n return basename(file, '.json');\n}\n\nfunction parsePositive(id: string, raw: unknown): PositiveVector {\n const r = raw as Record<string, unknown>;\n assertSuccess(id, r, true);\n const { jwks_ref, jwks_override } = parseJwksSelector(id, r);\n return {\n kind: 'positive',\n id,\n name: str(r.name, `${id}.name`),\n reference_now: num(r.reference_now, `${id}.reference_now`),\n request: parseRequest(id, r.request),\n verifier_capability: parseCapability(id, r.verifier_capability),\n jwks_ref,\n jwks_override,\n expected_signature_base: typeof r.expected_signature_base === 'string' ? r.expected_signature_base : undefined,\n spec_reference: typeof r.spec_reference === 'string' ? r.spec_reference : undefined,\n };\n}\n\nfunction parseNegative(id: string, raw: unknown): NegativeVector {\n const r = raw as Record<string, unknown>;\n assertSuccess(id, r, false);\n const outcome = r.expected_outcome as Record<string, unknown>;\n const errorCode = str(outcome.error_code, `${id}.expected_outcome.error_code`);\n if (!ERROR_CODES.has(errorCode)) {\n throw new Error(`${id}: unknown expected_outcome.error_code \"${errorCode}\" (spec drift?)`);\n }\n const failedStep = outcome.failed_step;\n if (typeof failedStep !== 'number' && typeof failedStep !== 'string') {\n throw new Error(`${id}: expected_outcome.failed_step must be number or string`);\n }\n let contract: ContractId | undefined;\n if (r.requires_contract !== undefined) {\n const c = str(r.requires_contract, `${id}.requires_contract`);\n if (!CONTRACT_ID_SET.has(c)) {\n throw new Error(`${id}: unknown requires_contract \"${c}\" (spec drift?)`);\n }\n contract = c as ContractId;\n }\n const { jwks_ref, jwks_override } = parseJwksSelector(id, r);\n return {\n kind: 'negative',\n id,\n name: str(r.name, `${id}.name`),\n reference_now: num(r.reference_now, `${id}.reference_now`),\n request: parseRequest(id, r.request),\n verifier_capability: parseCapability(id, r.verifier_capability),\n jwks_ref,\n jwks_override,\n expected_error_code: errorCode as RequestSignatureErrorCode,\n expected_failed_step: failedStep,\n requires_contract: contract,\n spec_reference: typeof r.spec_reference === 'string' ? r.spec_reference : undefined,\n };\n}\n\nfunction parseJwksSelector(\n id: string,\n r: Record<string, unknown>\n): { jwks_ref?: string[]; jwks_override?: { keys: Array<Record<string, unknown>> } } {\n const hasRef = r.jwks_ref !== undefined;\n const hasOverride = r.jwks_override !== undefined;\n if (hasRef && hasOverride) {\n throw new Error(`${id}: jwks_ref and jwks_override are mutually exclusive`);\n }\n if (!hasRef && !hasOverride) {\n throw new Error(`${id}: must declare either jwks_ref or jwks_override`);\n }\n if (hasOverride) {\n const override = r.jwks_override as Record<string, unknown>;\n const keys = override.keys;\n if (!Array.isArray(keys) || keys.length === 0) {\n throw new Error(`${id}.jwks_override.keys must be a non-empty array`);\n }\n for (const k of keys) {\n if (!k || typeof k !== 'object') {\n throw new Error(`${id}.jwks_override.keys[] entries must be objects`);\n }\n }\n return { jwks_override: { keys: keys as Array<Record<string, unknown>> } };\n }\n return { jwks_ref: strArray(r.jwks_ref, `${id}.jwks_ref`) };\n}\n\nfunction assertSuccess(id: string, vector: Record<string, unknown>, expected: boolean): void {\n const outcome = vector.expected_outcome as Record<string, unknown> | undefined;\n if (!outcome || outcome.success !== expected) {\n throw new Error(\n `${id}: expected_outcome.success must be ${expected} for ${expected ? 'positive' : 'negative'} vector`\n );\n }\n}\n\nfunction parseRequest(id: string, raw: unknown): PositiveVector['request'] {\n const r = raw as Record<string, unknown> | undefined;\n if (!r) throw new Error(`${id}.request missing`);\n const headers = r.headers as Record<string, string> | undefined;\n if (!headers) throw new Error(`${id}.request.headers missing`);\n return {\n method: str(r.method, `${id}.request.method`),\n url: str(r.url, `${id}.request.url`),\n headers: { ...headers },\n body: typeof r.body === 'string' ? r.body : undefined,\n };\n}\n\nfunction parseCapability(id: string, raw: unknown): PositiveVector['verifier_capability'] {\n const r = raw as Record<string, unknown> | undefined;\n if (!r) throw new Error(`${id}.verifier_capability missing`);\n const digest = str(r.covers_content_digest, `${id}.verifier_capability.covers_content_digest`);\n if (digest !== 'required' && digest !== 'forbidden' && digest !== 'either') {\n throw new Error(`${id}: invalid covers_content_digest \"${digest}\"`);\n }\n return {\n supported: bool(r.supported, `${id}.verifier_capability.supported`),\n covers_content_digest: digest,\n required_for: strArray(r.required_for, `${id}.verifier_capability.required_for`),\n supported_for: Array.isArray(r.supported_for) ? (r.supported_for as string[]) : undefined,\n protocol_methods_supported_for: Array.isArray(r.protocol_methods_supported_for)\n ? (r.protocol_methods_supported_for as string[])\n : undefined,\n protocol_methods_required_for: Array.isArray(r.protocol_methods_required_for)\n ? (r.protocol_methods_required_for as string[])\n : undefined,\n };\n}\n\nfunction loadKeys(keysPath: string): TestKeyset {\n if (!existsSync(keysPath)) {\n throw new Error(`keys.json missing at ${keysPath}`);\n }\n const raw = JSON.parse(readFileSync(keysPath, 'utf-8')) as { keys?: unknown };\n if (!Array.isArray(raw.keys)) {\n throw new Error(`keys.json must contain a \"keys\" array`);\n }\n return { keys: raw.keys.map((k, i) => parseKey(i, k)) };\n}\n\nfunction parseKey(index: number, raw: unknown): TestKeypair {\n const r = raw as Record<string, unknown>;\n const where = `keys.json[${index}]`;\n const privateD = r._private_d_for_test_only;\n if (typeof privateD !== 'string' || privateD.length === 0) {\n throw new Error(`${where}._private_d_for_test_only missing (required for dynamic signing)`);\n }\n return {\n kid: str(r.kid, `${where}.kid`),\n kty: str(r.kty, `${where}.kty`),\n crv: typeof r.crv === 'string' ? r.crv : undefined,\n alg: typeof r.alg === 'string' ? r.alg : undefined,\n use: typeof r.use === 'string' ? r.use : undefined,\n key_ops: Array.isArray(r.key_ops) ? (r.key_ops as string[]) : undefined,\n adcp_use: typeof r.adcp_use === 'string' ? r.adcp_use : undefined,\n x: typeof r.x === 'string' ? r.x : undefined,\n y: typeof r.y === 'string' ? r.y : undefined,\n private_d: privateD,\n };\n}\n\nexport function findKey(keyset: TestKeyset, kid: string): TestKeypair {\n const match = keyset.keys.find(k => k.kid === kid);\n if (!match) {\n throw new Error(\n `No test keypair with kid=\"${kid}\" in keys.json (available: ${keyset.keys.map(k => k.kid).join(', ')})`\n );\n }\n return match;\n}\n\nfunction str(v: unknown, where: string): string {\n if (typeof v !== 'string') throw new Error(`${where} must be string`);\n return v;\n}\n\nfunction num(v: unknown, where: string): number {\n if (typeof v !== 'number') throw new Error(`${where} must be number`);\n return v;\n}\n\nfunction bool(v: unknown, where: string): boolean {\n if (typeof v !== 'boolean') throw new Error(`${where} must be boolean`);\n return v;\n}\n\nfunction strArray(v: unknown, where: string): string[] {\n if (!Array.isArray(v) || v.some(item => typeof item !== 'string')) {\n throw new Error(`${where} must be string[]`);\n }\n return v as string[];\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/lib/testing/storyboard/request-signing/vector-loader.ts"],"sourcesContent":["import { existsSync, readFileSync, readdirSync } from 'fs';\nimport { basename, join } from 'path';\nimport { getComplianceCacheDir } from '../compliance';\nimport type { RequestSignatureErrorCode } from '../../../signing';\nimport { CONTRACT_IDS } from './types';\nimport type { ContractId, NegativeVector, PositiveVector, TestKeypair, TestKeyset, Vector } from './types';\n\nexport interface LoadVectorsOptions {\n complianceDir?: string;\n version?: string;\n}\n\nexport interface LoadedVectors {\n positive: PositiveVector[];\n negative: NegativeVector[];\n keys: TestKeyset;\n sourceDir: string;\n}\n\nconst ERROR_CODES: ReadonlySet<string> = new Set([\n 'request_signature_required',\n 'request_signature_header_malformed',\n 'request_signature_params_incomplete',\n 'request_signature_tag_invalid',\n 'request_signature_alg_not_allowed',\n 'request_signature_window_invalid',\n 'request_signature_components_incomplete',\n 'request_signature_components_unexpected',\n 'request_signature_key_unknown',\n 'request_signature_key_purpose_invalid',\n 'request_signature_key_revoked',\n 'request_signature_invalid',\n 'request_signature_digest_mismatch',\n 'request_signature_replayed',\n 'request_signature_rate_abuse',\n]);\n\nconst CONTRACT_ID_SET: ReadonlySet<string> = new Set(CONTRACT_IDS);\n\n// Memoized per sourceDir — loading 28 JSON fixtures + keys.json on every\n// per-vector call in the runner path added up (~28 disk reads × 2-3 storyboard\n// resolve calls per CLI run). Invariant: the compliance cache is immutable\n// during a process lifetime — `npm run sync-schemas` runs before the process,\n// never concurrently. Cache key is the absolute cacheDir so env-var overrides\n// don't poison the entry.\nconst VECTOR_CACHE = new Map<string, LoadedVectors>();\n\nexport function loadRequestSigningVectors(options: LoadVectorsOptions = {}): LoadedVectors {\n const cacheDir = getComplianceCacheDir(options);\n const sourceDir = join(cacheDir, 'test-vectors', 'request-signing');\n const cached = VECTOR_CACHE.get(sourceDir);\n if (cached) return cached;\n\n if (!existsSync(sourceDir)) {\n throw new Error(\n `Request-signing vectors not found at ${sourceDir}. Run \\`npm run sync-schemas\\` or check your ADCP_COMPLIANCE_DIR.`\n );\n }\n\n const loaded: LoadedVectors = {\n positive: loadDir(join(sourceDir, 'positive'), parsePositive),\n negative: loadDir(join(sourceDir, 'negative'), parseNegative),\n keys: loadKeys(join(sourceDir, 'keys.json')),\n sourceDir,\n };\n VECTOR_CACHE.set(sourceDir, loaded);\n return loaded;\n}\n\n/** Test-only: clear the memoization cache so a fresh cache path is reread. */\nexport function __resetVectorCache(): void {\n VECTOR_CACHE.clear();\n}\n\nfunction loadDir<T extends Vector>(dir: string, parse: (id: string, raw: unknown) => T): T[] {\n if (!existsSync(dir)) {\n throw new Error(`Vector directory missing: ${dir}`);\n }\n const files = readdirSync(dir)\n .filter(f => f.endsWith('.json'))\n .sort();\n return files.map(f => {\n const raw = JSON.parse(readFileSync(join(dir, f), 'utf-8'));\n return parse(vectorIdFromFilename(f), raw);\n });\n}\n\nfunction vectorIdFromFilename(file: string): string {\n return basename(file, '.json');\n}\n\nfunction parsePositive(id: string, raw: unknown): PositiveVector {\n const r = raw as Record<string, unknown>;\n assertSuccess(id, r, true);\n const { jwks_ref, jwks_override } = parseJwksSelector(id, r);\n return {\n kind: 'positive',\n id,\n name: str(r.name, `${id}.name`),\n reference_now: num(r.reference_now, `${id}.reference_now`),\n request: parseRequest(id, r.request),\n verifier_capability: parseCapability(id, r.verifier_capability),\n jwks_ref,\n jwks_override,\n expected_signature_base: typeof r.expected_signature_base === 'string' ? r.expected_signature_base : undefined,\n spec_reference: typeof r.spec_reference === 'string' ? r.spec_reference : undefined,\n };\n}\n\nfunction parseNegative(id: string, raw: unknown): NegativeVector {\n const r = raw as Record<string, unknown>;\n assertSuccess(id, r, false);\n const outcome = r.expected_outcome as Record<string, unknown>;\n const errorCode = str(outcome.error_code, `${id}.expected_outcome.error_code`);\n if (!ERROR_CODES.has(errorCode)) {\n throw new Error(`${id}: unknown expected_outcome.error_code \"${errorCode}\" (spec drift?)`);\n }\n const failedStep = outcome.failed_step;\n if (typeof failedStep !== 'number' && typeof failedStep !== 'string') {\n throw new Error(`${id}: expected_outcome.failed_step must be number or string`);\n }\n let contract: ContractId | undefined;\n if (r.requires_contract !== undefined) {\n const c = str(r.requires_contract, `${id}.requires_contract`);\n if (!CONTRACT_ID_SET.has(c)) {\n throw new Error(`${id}: unknown requires_contract \"${c}\" (spec drift?)`);\n }\n contract = c as ContractId;\n }\n const { jwks_ref, jwks_override } = parseJwksSelector(id, r);\n return {\n kind: 'negative',\n id,\n name: str(r.name, `${id}.name`),\n reference_now: num(r.reference_now, `${id}.reference_now`),\n request: parseRequest(id, r.request),\n verifier_capability: parseCapability(id, r.verifier_capability),\n jwks_ref,\n jwks_override,\n expected_error_code: errorCode as RequestSignatureErrorCode,\n expected_failed_step: failedStep,\n requires_contract: contract,\n spec_reference: typeof r.spec_reference === 'string' ? r.spec_reference : undefined,\n };\n}\n\nfunction parseJwksSelector(\n id: string,\n r: Record<string, unknown>\n): { jwks_ref?: string[]; jwks_override?: { keys: Array<Record<string, unknown>> } } {\n const hasRef = r.jwks_ref !== undefined;\n const hasOverride = r.jwks_override !== undefined;\n if (hasRef && hasOverride) {\n throw new Error(`${id}: jwks_ref and jwks_override are mutually exclusive`);\n }\n if (!hasRef && !hasOverride) {\n throw new Error(`${id}: must declare either jwks_ref or jwks_override`);\n }\n if (hasOverride) {\n const override = r.jwks_override as Record<string, unknown>;\n const keys = override.keys;\n if (!Array.isArray(keys) || keys.length === 0) {\n throw new Error(`${id}.jwks_override.keys must be a non-empty array`);\n }\n for (const k of keys) {\n if (!k || typeof k !== 'object') {\n throw new Error(`${id}.jwks_override.keys[] entries must be objects`);\n }\n }\n return { jwks_override: { keys: keys as Array<Record<string, unknown>> } };\n }\n return { jwks_ref: strArray(r.jwks_ref, `${id}.jwks_ref`) };\n}\n\nfunction assertSuccess(id: string, vector: Record<string, unknown>, expected: boolean): void {\n const outcome = vector.expected_outcome as Record<string, unknown> | undefined;\n if (!outcome || outcome.success !== expected) {\n throw new Error(\n `${id}: expected_outcome.success must be ${expected} for ${expected ? 'positive' : 'negative'} vector`\n );\n }\n}\n\nfunction parseRequest(id: string, raw: unknown): PositiveVector['request'] {\n const r = raw as Record<string, unknown> | undefined;\n if (!r) throw new Error(`${id}.request missing`);\n const headers = r.headers as Record<string, string> | undefined;\n if (!headers) throw new Error(`${id}.request.headers missing`);\n return {\n method: str(r.method, `${id}.request.method`),\n url: str(r.url, `${id}.request.url`),\n headers: { ...headers },\n body: typeof r.body === 'string' ? r.body : undefined,\n };\n}\n\nfunction parseCapability(id: string, raw: unknown): PositiveVector['verifier_capability'] {\n const r = raw as Record<string, unknown> | undefined;\n if (!r) throw new Error(`${id}.verifier_capability missing`);\n const digest = str(r.covers_content_digest, `${id}.verifier_capability.covers_content_digest`);\n if (digest !== 'required' && digest !== 'forbidden' && digest !== 'either') {\n throw new Error(`${id}: invalid covers_content_digest \"${digest}\"`);\n }\n return {\n supported: bool(r.supported, `${id}.verifier_capability.supported`),\n covers_content_digest: digest,\n required_for: strArray(r.required_for, `${id}.verifier_capability.required_for`),\n supported_for: Array.isArray(r.supported_for) ? (r.supported_for as string[]) : undefined,\n protocol_methods_supported_for: Array.isArray(r.protocol_methods_supported_for)\n ? (r.protocol_methods_supported_for as string[])\n : undefined,\n protocol_methods_required_for: Array.isArray(r.protocol_methods_required_for)\n ? (r.protocol_methods_required_for as string[])\n : undefined,\n };\n}\n\nfunction loadKeys(keysPath: string): TestKeyset {\n if (!existsSync(keysPath)) {\n throw new Error(`keys.json missing at ${keysPath}`);\n }\n const raw = JSON.parse(readFileSync(keysPath, 'utf-8')) as { keys?: unknown };\n if (!Array.isArray(raw.keys)) {\n throw new Error(`keys.json must contain a \"keys\" array`);\n }\n return { keys: raw.keys.map((k, i) => parseKey(i, k)) };\n}\n\nfunction parseKey(index: number, raw: unknown): TestKeypair {\n const r = raw as Record<string, unknown>;\n const where = `keys.json[${index}]`;\n const privateD = r._private_d_for_test_only;\n if (typeof privateD !== 'string' || privateD.length === 0) {\n throw new Error(`${where}._private_d_for_test_only missing (required for dynamic signing)`);\n }\n return {\n kid: str(r.kid, `${where}.kid`),\n kty: str(r.kty, `${where}.kty`),\n crv: typeof r.crv === 'string' ? r.crv : undefined,\n alg: typeof r.alg === 'string' ? r.alg : undefined,\n use: typeof r.use === 'string' ? r.use : undefined,\n key_ops: Array.isArray(r.key_ops) ? (r.key_ops as string[]) : undefined,\n adcp_use: typeof r.adcp_use === 'string' ? r.adcp_use : undefined,\n x: typeof r.x === 'string' ? r.x : undefined,\n y: typeof r.y === 'string' ? r.y : undefined,\n private_d: privateD,\n };\n}\n\nexport function findKey(keyset: TestKeyset, kid: string): TestKeypair {\n const match = keyset.keys.find(k => k.kid === kid);\n if (!match) {\n throw new Error(\n `No test keypair with kid=\"${kid}\" in keys.json (available: ${keyset.keys.map(k => k.kid).join(', ')})`\n );\n }\n return match;\n}\n\nfunction str(v: unknown, where: string): string {\n if (typeof v !== 'string') throw new Error(`${where} must be string`);\n return v;\n}\n\nfunction num(v: unknown, where: string): number {\n if (typeof v !== 'number') throw new Error(`${where} must be number`);\n return v;\n}\n\nfunction bool(v: unknown, where: string): boolean {\n if (typeof v !== 'boolean') throw new Error(`${where} must be boolean`);\n return v;\n}\n\nfunction strArray(v: unknown, where: string): string[] {\n if (!Array.isArray(v) || v.some(item => typeof item !== 'string')) {\n throw new Error(`${where} must be string[]`);\n }\n return v as string[];\n}\n"],"mappings":"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","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 { createHash, createHmac } from "node:crypto";
|
|
8
2
|
import { existsSync, readFileSync } from "node:fs";
|
|
9
3
|
import { basename, join } from "node:path";
|