@adcp/sdk 14.0.0-beta.10 → 14.0.0-beta.12
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/bin/adcp-storyboard-sandbox.js +16 -0
- package/bin/adcp.js +28 -30
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.mts +2 -1
- package/dist/lib/core/SingleAgentClient.d.ts +2 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +113 -64
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/SingleAgentClient.mjs +113 -64
- package/dist/lib/core/SingleAgentClient.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.map +1 -1
- package/dist/lib/protocols/a2a.d.mts +10 -3
- package/dist/lib/protocols/a2a.d.ts +10 -3
- package/dist/lib/protocols/a2a.d.ts.map +1 -1
- package/dist/lib/protocols/a2a.js +162 -34
- package/dist/lib/protocols/a2a.js.map +1 -1
- package/dist/lib/protocols/a2a.mjs +166 -34
- package/dist/lib/protocols/a2a.mjs.map +1 -1
- package/dist/lib/schemas/index.d.mts +385 -1
- package/dist/lib/schemas/index.d.ts +385 -1
- package/dist/lib/schemas/index.d.ts.map +1 -1
- package/dist/lib/schemas/index.js +13 -0
- package/dist/lib/schemas/index.js.map +1 -1
- package/dist/lib/schemas/index.mjs +11 -0
- 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.d.mts +59 -33
- package/dist/lib/server/a2a-adapter.d.ts +59 -33
- package/dist/lib/server/a2a-adapter.d.ts.map +1 -1
- package/dist/lib/server/a2a-adapter.js +278 -67
- package/dist/lib/server/a2a-adapter.js.map +1 -1
- package/dist/lib/server/a2a-adapter.mjs +280 -68
- package/dist/lib/server/a2a-adapter.mjs.map +1 -1
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +35 -108
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/server/create-adcp-server.mjs +37 -109
- package/dist/lib/server/create-adcp-server.mjs.map +1 -1
- package/dist/lib/server/decisioning/index.d.mts +2 -0
- package/dist/lib/server/decisioning/index.d.ts +2 -0
- package/dist/lib/server/decisioning/index.d.ts.map +1 -1
- package/dist/lib/server/decisioning/index.js +5 -2
- package/dist/lib/server/decisioning/index.js.map +1 -1
- package/dist/lib/server/decisioning/index.mjs +3 -1
- package/dist/lib/server/decisioning/index.mjs.map +1 -1
- package/dist/lib/server/decisioning/response-summary.d.mts +33 -0
- package/dist/lib/server/decisioning/response-summary.d.ts +34 -0
- package/dist/lib/server/decisioning/response-summary.d.ts.map +1 -0
- package/dist/lib/server/decisioning/response-summary.js +62 -0
- package/dist/lib/server/decisioning/response-summary.js.map +1 -0
- package/dist/lib/server/decisioning/response-summary.mjs +37 -0
- package/dist/lib/server/decisioning/response-summary.mjs.map +1 -0
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.js +27 -5
- package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.mjs +27 -5
- package/dist/lib/server/decisioning/runtime/from-platform.mjs.map +1 -1
- package/dist/lib/server/decisioning/specialisms/sales.d.mts +7 -1
- package/dist/lib/server/decisioning/specialisms/sales.d.ts +7 -1
- package/dist/lib/server/decisioning/specialisms/sales.d.ts.map +1 -1
- package/dist/lib/server/decisioning/specialisms/sales.js.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.map +1 -1
- package/dist/lib/server/responses.d.ts.map +1 -1
- package/dist/lib/server/responses.js +9 -1
- package/dist/lib/server/responses.js.map +1 -1
- package/dist/lib/server/responses.mjs +8 -1
- package/dist/lib/server/responses.mjs.map +1 -1
- package/dist/lib/signing/agent-context.d.mts +1 -0
- package/dist/lib/signing/agent-context.d.ts +1 -0
- package/dist/lib/signing/agent-context.d.ts.map +1 -1
- package/dist/lib/signing/agent-context.js +37 -2
- package/dist/lib/signing/agent-context.js.map +1 -1
- package/dist/lib/signing/agent-context.mjs +38 -3
- package/dist/lib/signing/agent-context.mjs.map +1 -1
- package/dist/lib/signing/agent-fetch.d.mts +1 -2
- package/dist/lib/signing/agent-fetch.d.ts +1 -2
- package/dist/lib/signing/agent-fetch.d.ts.map +1 -1
- package/dist/lib/signing/agent-fetch.js +2 -0
- package/dist/lib/signing/agent-fetch.js.map +1 -1
- package/dist/lib/signing/agent-fetch.mjs +2 -0
- package/dist/lib/signing/agent-fetch.mjs.map +1 -1
- package/dist/lib/signing/agent-resolver/etld.js.map +1 -1
- package/dist/lib/signing/agent-resolver/etld.mjs.map +1 -1
- package/dist/lib/testing/client.d.mts +6 -0
- package/dist/lib/testing/client.d.ts +6 -0
- package/dist/lib/testing/client.d.ts.map +1 -1
- package/dist/lib/testing/client.js +76 -4
- package/dist/lib/testing/client.js.map +1 -1
- package/dist/lib/testing/client.mjs +75 -4
- package/dist/lib/testing/client.mjs.map +1 -1
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
- package/dist/lib/testing/compliance/comply.js +6 -0
- package/dist/lib/testing/compliance/comply.js.map +1 -1
- package/dist/lib/testing/compliance/comply.mjs +7 -1
- package/dist/lib/testing/compliance/comply.mjs.map +1 -1
- package/dist/lib/testing/storyboard/context.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/context.js +9 -4
- package/dist/lib/testing/storyboard/context.js.map +1 -1
- package/dist/lib/testing/storyboard/context.mjs +9 -4
- package/dist/lib/testing/storyboard/context.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.js +28 -4
- package/dist/lib/testing/storyboard/request-builder.js.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.mjs +28 -4
- package/dist/lib/testing/storyboard/request-builder.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/functional-dispatch.d.mts +15 -0
- package/dist/lib/testing/storyboard/request-signing/functional-dispatch.d.ts +16 -0
- package/dist/lib/testing/storyboard/request-signing/functional-dispatch.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/functional-dispatch.js +106 -0
- package/dist/lib/testing/storyboard/request-signing/functional-dispatch.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/functional-dispatch.mjs +82 -0
- package/dist/lib/testing/storyboard/request-signing/functional-dispatch.mjs.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.d.mts +15 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.d.ts +15 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/test-kit.js +58 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.js.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/test-kit.mjs +58 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.mts +2 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts +2 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/vector-loader.js +7 -1
- package/dist/lib/testing/storyboard/request-signing/vector-loader.js.map +1 -1
- package/dist/lib/testing/storyboard/request-signing/vector-loader.mjs +6 -1
- package/dist/lib/testing/storyboard/request-signing/vector-loader.mjs.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +31 -7
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.mjs +31 -7
- package/dist/lib/testing/storyboard/runner.mjs.map +1 -1
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/validations.js +18 -7
- package/dist/lib/testing/storyboard/validations.js.map +1 -1
- package/dist/lib/testing/storyboard/validations.mjs +18 -7
- package/dist/lib/testing/storyboard/validations.mjs.map +1 -1
- package/dist/lib/testing/storyboard/webhook-receiver.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/webhook-receiver.js +32 -20
- package/dist/lib/testing/storyboard/webhook-receiver.js.map +1 -1
- package/dist/lib/testing/storyboard/webhook-receiver.mjs +32 -20
- package/dist/lib/testing/storyboard/webhook-receiver.mjs.map +1 -1
- package/dist/lib/testing/types.d.mts +10 -0
- package/dist/lib/testing/types.d.ts +10 -0
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/testing/types.js.map +1 -1
- package/dist/lib/types/comply-test-controller.d.ts +1 -14
- package/dist/lib/types/core.generated.d.mts +1 -1
- package/dist/lib/types/core.generated.d.ts +1 -1
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js.map +1 -1
- package/dist/lib/types/get-products.d.ts +1 -14
- package/dist/lib/types/schemas.generated.d.ts +519 -571
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +2 -2
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/schemas.generated.mjs +2 -2
- package/dist/lib/types/schemas.generated.mjs.map +1 -1
- package/dist/lib/types/tools.generated.d.mts +1 -1
- package/dist/lib/types/tools.generated.d.ts +1 -1
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js.map +1 -1
- package/dist/lib/utils/a2a-artifacts.d.ts.map +1 -1
- package/dist/lib/utils/a2a-artifacts.js +2 -2
- package/dist/lib/utils/a2a-artifacts.js.map +1 -1
- package/dist/lib/utils/a2a-artifacts.mjs +2 -2
- package/dist/lib/utils/a2a-artifacts.mjs.map +1 -1
- package/dist/lib/utils/a2a-discovery.d.mts +3 -3
- package/dist/lib/utils/a2a-discovery.d.ts +3 -3
- package/dist/lib/utils/a2a-discovery.js +1 -1
- package/dist/lib/utils/a2a-discovery.js.map +1 -1
- package/dist/lib/utils/a2a-discovery.mjs +1 -1
- package/dist/lib/utils/a2a-discovery.mjs.map +1 -1
- package/dist/lib/utils/tool-request-schemas.d.mts +31 -31
- package/dist/lib/utils/tool-request-schemas.d.ts +31 -31
- package/dist/lib/v2/projection/index.d.mts +2 -0
- package/dist/lib/v2/projection/index.d.ts +2 -0
- package/dist/lib/v2/projection/index.d.ts.map +1 -1
- package/dist/lib/v2/projection/index.js +3 -0
- package/dist/lib/v2/projection/index.js.map +1 -1
- package/dist/lib/v2/projection/index.mjs +2 -0
- package/dist/lib/v2/projection/index.mjs.map +1 -1
- package/dist/lib/v2/projection/legacy-normalization.d.mts +24 -0
- package/dist/lib/v2/projection/legacy-normalization.d.ts +25 -0
- package/dist/lib/v2/projection/legacy-normalization.d.ts.map +1 -0
- package/dist/lib/v2/projection/legacy-normalization.js +32 -0
- package/dist/lib/v2/projection/legacy-normalization.js.map +1 -0
- package/dist/lib/v2/projection/legacy-normalization.mjs +8 -0
- package/dist/lib/v2/projection/legacy-normalization.mjs.map +1 -0
- 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 -3
- package/dist/lib/version.mjs.map +1 -1
- package/docs/guides/BUILD-AN-AGENT.md +42 -6
- package/docs/llms.txt +2 -2
- package/docs/migration-13-to-14.md +17 -0
- package/package.json +44 -41
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/server/index.ts"],"sourcesContent":["export { adcpError } from './errors';\nexport type { AdcpErrorOptions, AdcpErrorPayload, AdcpErrorResponse } from './errors';\n\nexport { normalizeError, normalizeErrors } from './normalize-errors';\nexport type { NormalizedError } from './normalize-errors';\n\nexport { pickSafeDetails } from './pick-safe-details';\nexport type { PickSafeDetailsOptions } from './pick-safe-details';\n\nexport { wrapEnvelope } from './wrap-envelope';\nexport type { WrapEnvelopeOptions } from './wrap-envelope';\n\nexport {\n ERROR_ENVELOPE_FIELD_ALLOWLIST,\n DEFAULT_ERROR_ENVELOPE_FIELDS,\n ADCP_ERROR_FIELD_ALLOWLIST,\n CONFLICT_ADCP_ERROR_ALLOWLIST,\n} from './envelope-allowlist';\n\nexport { scanArgsForCredentials, DEFAULT_CREDENTIAL_PATTERNS } from './credential-policy';\nexport type {\n CredentialPolicy,\n CredentialPolicyMode,\n CredentialPolicyConfig,\n CredentialPatternsConfig,\n} from './credential-policy';\n\nexport { createDynamicRegistry } from './dynamic-registry';\nexport type {\n DynamicRegistry,\n DynamicRegistryConfig,\n DynamicRegistryRegisterOptions,\n PendingRegistries,\n RegistryShape,\n} from './dynamic-registry';\n\nexport { defineOperationalPlatform } from './operational-platform';\nexport type { OperationalPlatform, OperationalContext } from './operational-platform';\n\nexport { pickWireSpecFields, scrubExtensions, WIRE_SPEC_FIELDS } from './wire-safe';\nexport type { WireSafe, WireSpecRequestName, ScrubExtensionsOptions } from './wire-safe';\nexport type { RequireCacheScopeWhenProducts, ServerPayload } from '../types/server-payload';\nexport type {\n ActivateSignalPayload,\n AcquireRightsAcquiredPayload as LegacyAcquireRightsAcquiredPayload,\n AcquireRightsPayload as LegacyAcquireRightsPayload,\n AcquireRightsPendingApprovalPayload as LegacyAcquireRightsPendingApprovalPayload,\n AcquireRightsRejectedPayload as LegacyAcquireRightsRejectedPayload,\n BuildCreativeMultiPayload as LegacyBuildCreativeMultiPayload,\n BuildCreativePayload as LegacyBuildCreativePayload,\n CalibrateContentPayload as LegacyCalibrateContentPayload,\n CheckGovernancePayload,\n CreateCollectionListPayload,\n CreateContentStandardsPayload as LegacyCreateContentStandardsPayload,\n CreateMediaBuyPayload as LegacyCreateMediaBuyPayload,\n CreatePropertyListPayload,\n CreativeApprovalPayload,\n CreativeApprovedPayload,\n CreativePendingReviewPayload,\n CreativeRejectedPayload,\n DeleteCollectionListPayload,\n DeletePropertyListPayload,\n GetAccountFinancialsPayload,\n GetAccountFinancialsSuccessPayload,\n GetAdCPCapabilitiesPayload,\n GetBrandIdentityPayload,\n GetCollectionListPayload,\n GetContentStandardsPayload as LegacyGetContentStandardsPayload,\n GetCreativeDeliveryPayload as LegacyGetCreativeDeliveryPayload,\n GetCreativeFeaturesPayload as LegacyGetCreativeFeaturesPayload,\n GetMediaBuyArtifactsPayload as LegacyGetMediaBuyArtifactsPayload,\n GetMediaBuyDeliveryPayload as LegacyGetMediaBuyDeliveryPayload,\n GetMediaBuysPayload as LegacyGetMediaBuysPayload,\n GetPlanAuditLogsPayload,\n GetProductsPayload as LegacyGetProductsPayload,\n GetPropertyListPayload,\n GetRightsPayload as LegacyGetRightsPayload,\n GetRightsResponsePayload as LegacyGetRightsResponsePayload,\n GetSignalsPayload,\n ListAccountsPayload,\n ListCollectionListsPayload,\n ListContentStandardsPayload as LegacyListContentStandardsPayload,\n ListCreativeFormatsPayload as LegacyListCreativeFormatsPayload,\n ListCreativeFormatsResponsePayload as LegacyListCreativeFormatsResponsePayload,\n ListCreativeFormatsServerPayload as LegacyListCreativeFormatsServerPayload,\n ListCreativesPayload as LegacyListCreativesPayload,\n ListPropertyListsPayload,\n LogEventPayload,\n CanonicalPreviewCreativePayload,\n PreviewCreativePayload as LegacyPreviewCreativePayload,\n ProvidePerformanceFeedbackPayload,\n ReportPlanOutcomePayload,\n ReportUsagePayload,\n SIGetOfferingPayload,\n SIInitiateSessionPayload,\n SISendMessagePayload,\n SITerminateSessionPayload,\n SyncAccountsPayload,\n SyncAccountsSuccessPayload,\n SyncAudiencesPayload,\n SyncCatalogsPayload,\n SyncCreativesErrorPayload,\n SyncCreativesPayload,\n SyncCreativesSuccessPayload,\n SyncEventSourcesPayload,\n SyncGovernancePayload,\n SyncGovernanceSuccessPayload,\n SyncPlansPayload,\n UpdateCollectionListPayload,\n UpdateContentStandardsPayload as LegacyUpdateContentStandardsPayload,\n UpdateMediaBuyPayload as LegacyUpdateMediaBuyPayload,\n UpdatePropertyListPayload,\n UpdateRightsPayload as LegacyUpdateRightsPayload,\n ValidateContentDeliveryPayload as LegacyValidateContentDeliveryPayload,\n} from '../types/server-payload-aliases';\n\nexport { assertNoExampleTlds } from './example-tld-guard';\nexport type { AssertNoExampleTldsOptions } from './example-tld-guard';\n\n// Raw wire response builders remain available only through explicit\n// `legacy*` aliases on this primary barrel. The legacy/v5 subpath preserves\n// their historical names for handler-bag adopters.\nexport {\n capabilitiesResponse as legacyCapabilitiesResponse,\n productsResponse as legacyProductsResponse,\n mediaBuyResponse as legacyMediaBuyResponse,\n deliveryResponse as legacyDeliveryResponse,\n listAccountsResponse as legacyListAccountsResponse,\n listCreativeFormatsResponse as legacyListCreativeFormatsResponse,\n updateMediaBuyResponse as legacyUpdateMediaBuyResponse,\n getMediaBuysResponse as legacyGetMediaBuysResponse,\n performanceFeedbackResponse as legacyPerformanceFeedbackResponse,\n buildCreativeResponse as legacyBuildCreativeResponse,\n buildCreativeMultiResponse as legacyBuildCreativeMultiResponse,\n previewCreativeResponse as legacyPreviewCreativeResponse,\n creativeDeliveryResponse as legacyCreativeDeliveryResponse,\n listCreativesResponse as legacyListCreativesResponse,\n listPropertyListsResponse as legacyListPropertyListsResponse,\n listCollectionListsResponse as legacyListCollectionListsResponse,\n listContentStandardsResponse as legacyListContentStandardsResponse,\n getPlanAuditLogsResponse as legacyGetPlanAuditLogsResponse,\n syncCreativesResponse as legacySyncCreativesResponse,\n getSignalsResponse as legacyGetSignalsResponse,\n activateSignalResponse as legacyActivateSignalResponse,\n cancelMediaBuyResponse as legacyCancelMediaBuyResponse,\n acquireRightsResponse as legacyAcquireRightsResponse,\n acquireRightsAcquired as legacyAcquireRightsAcquired,\n acquireRightsPendingApproval as legacyAcquireRightsPendingApproval,\n acquireRightsRejected as legacyAcquireRightsRejected,\n updateRightsResponse as legacyUpdateRightsResponse,\n updateRightsSuccess as legacyUpdateRightsSuccess,\n creativeApprovalResponse as legacyCreativeApprovalResponse,\n creativeApprovalApproved as legacyCreativeApprovalApproved,\n creativeApprovalRejected as legacyCreativeApprovalRejected,\n creativeApprovalPendingReview as legacyCreativeApprovalPendingReview,\n creativeApprovalError as legacyCreativeApprovalError,\n syncAccountsResponse as legacySyncAccountsResponse,\n syncGovernanceResponse as legacySyncGovernanceResponse,\n reportUsageResponse as legacyReportUsageResponse,\n toStructuredContent,\n} from './responses';\nexport type { McpToolResponse } from './responses';\n\nexport { validActionsForStatus } from './media-buy-helpers';\nexport type { ValidAction, CancelMediaBuyInput } from './media-buy-helpers';\nexport { assertUpdateMediaBuyAllowed } from './media-buy-actions';\nexport type { AssertUpdateMediaBuyAllowedOptions } from './media-buy-actions';\n\nexport { createMediaBuyStore, DEFAULT_MEDIA_BUY_STORE_COLLECTION } from './media-buy-store';\nexport type {\n MediaBuyStore,\n CreateMediaBuyStoreOptions,\n CreateMediaBuyInputForStore,\n CreateMediaBuyResultForStore,\n UpdateMediaBuyInputForStore,\n GetMediaBuysResultForStore,\n} from './media-buy-store';\n\nexport {\n MEDIA_BUY_TRANSITIONS,\n CREATIVE_ASSET_TRANSITIONS,\n isLegalMediaBuyTransition,\n isLegalCreativeTransition,\n assertMediaBuyTransition,\n assertCreativeTransition,\n} from './state-machine';\n\nexport { getAccountMode, isSandboxOrMockAccount, assertSandboxAccount } from './account-mode';\nexport type { AccountMode } from './account-mode';\n\nexport {\n taskToolResponse,\n registerAdcpTaskTool,\n createTaskCapableServer,\n InMemoryTaskStore,\n isTerminal,\n} from './tasks';\nexport type {\n AdcpTaskToolConfig,\n TaskStore,\n TaskMessageQueue,\n CreateTaskOptions,\n ToolTaskHandler,\n CreateTaskRequestHandlerExtra,\n TaskRequestHandlerExtra,\n CreateTaskResult,\n GetTaskResult,\n Task,\n} from './tasks';\n\nexport {\n PostgresTaskStore,\n cleanupExpiredTasks,\n getMcpTasksMigration,\n MCP_TASKS_MIGRATION,\n} from './postgres-task-store';\nexport type { PgQueryable, PostgresTaskStoreOptions } from './postgres-task-store';\n\nexport {\n registerTestController,\n handleTestControllerRequest,\n TestControllerError,\n toMcpResponse,\n TOOL_INPUT_SHAPE,\n CONTROLLER_SCENARIOS,\n DISCOVERY_ARM_SCENARIOS,\n SEED_SCENARIOS,\n SEED_MESSAGES,\n SESSION_ENTRY_CAP,\n enforceMapCap,\n createSeedFixtureCache,\n} from './test-controller';\nexport type {\n TestControllerStore,\n TestControllerStoreFactory,\n TestControllerStoreOrFactory,\n ControllerScenario,\n SeedScenario,\n SeedFixtureCache,\n} from './test-controller';\n\nexport { serve, taskScopeFromPrincipal, UnknownHostError, hostname, resolveHost } from './serve';\nexport type { ServeContext, ServeOptions, ProtectedResourceMetadata } from './serve';\n\nexport { createExpressAdapter } from './express-adapter';\nexport type { ExpressAdapter, ExpressAdapterOptions } from './express-adapter';\n\nexport {\n verifyApiKey,\n verifyBearer,\n anyOf,\n extractBearerToken,\n respondUnauthorized,\n signatureErrorCodeFromCause,\n AuthError,\n AUTH_NEEDS_RAW_BODY,\n tagAuthenticatorNeedsRawBody,\n authenticatorNeedsRawBody,\n AUTH_PRESENCE_GATED,\n tagAuthenticatorPresenceGated,\n isAuthenticatorPresenceGated,\n ADCP_SERVE_REQUEST_CONTEXT,\n getServeRequestContext,\n DEFAULT_JWT_ALGORITHMS,\n DEFAULT_JWT_CLOCK_TOLERANCE_SECONDS,\n} from './auth';\nexport type {\n Authenticator,\n AuthPrincipal,\n AuthResult,\n VerifyApiKeyOptions,\n VerifyBearerOptions,\n RespondUnauthorizedOptions,\n ServeRequestContext,\n} from './auth';\n\nexport { verifyIntrospection } from './auth-introspection';\nexport type {\n VerifyIntrospectionOptions,\n IntrospectionCacheOptions,\n IntrospectionResponse,\n} from './auth-introspection';\n\nexport {\n verifySignatureAsAuthenticator,\n requireSignatureWhenPresent,\n requireAuthenticatedOrSigned,\n mcpToolNameResolver,\n} from './auth-signature';\nexport type {\n VerifySignatureAsAuthenticatorOptions,\n RequireSignatureWhenPresentOptions,\n RequireAuthenticatedOrSignedOptions,\n} from './auth-signature';\n\nexport {\n InMemoryStateStore,\n StateError,\n PatchConflictError,\n DEFAULT_MAX_DOCUMENT_BYTES,\n SESSION_KEY_FIELD,\n createSessionedStore,\n scopedStore,\n patchWithRetry,\n isPutIfMatchConflict,\n validateCollection,\n validateId,\n validatePayloadSize,\n validateWrite,\n} from './state-store';\nexport type {\n AdcpStateStore,\n InMemoryStateStoreOptions,\n ListOptions,\n ListResult,\n PatchWithRetryOptions,\n PutIfMatchResult,\n StateErrorCode,\n VersionedDocument,\n} from './state-store';\n\nexport { PostgresStateStore, getAdcpStateMigration, ADCP_STATE_MIGRATION } from './postgres-state-store';\nexport type { PostgresStateStoreOptions } from './postgres-state-store';\n\nexport { structuredSerialize, structuredDeserialize } from './structured-serialize';\n\nexport { MCP_APP_RESOURCE_MIME_TYPE } from './mcp-app';\nexport type {\n AdcpMcpResourceDefinition,\n McpAppResourceCsp,\n McpAppResourcePermissions,\n McpAppResourceUiMeta,\n McpAppResourceMeta,\n McpAppResourceReadContext,\n} from './mcp-app';\n\n// `createAdcpServer` is NOT re-exported from `@adcp/sdk/server` anymore —\n// LLMs scaffolding from skills consistently latched onto it as the canonical\n// entry point despite the @deprecated JSDoc. Removing the top-level export\n// forces new code to either reach for `createAdcpServerFromPlatform` (the v6\n// canonical) or import from `@adcp/sdk/server/legacy/v5` (mid-migration /\n// escape-hatch only). Breaking change: v5 adopters see a hard import error\n// and update their import path. The migration is one line; the LLM-output\n// quality win is significant. See `docs/migration-5.x-to-6.x.md`.\nexport {\n requireSessionKey,\n ADCP_PRE_TRANSPORT,\n ADCP_SIGNED_REQUESTS_STATE,\n ADCP_INSTRUCTIONS_FN,\n} from './create-adcp-server';\nexport type { SessionContext, OnInstructionsError, MaybePromise, BridgeMarker } from './create-adcp-server';\nexport type {\n AdcpServer,\n AdcpServerComplianceApi,\n AdcpServerTransport,\n AdcpTestRequest,\n AdcpTestToolsCallRequest,\n AdcpTestResponse,\n} from './adcp-server';\n// Handler-bag types describe the raw v5 server surface. Primary-barrel names\n// are explicit Legacy aliases; the legacy/v5 subpath retains the originals.\nexport type {\n AdcpServerConfig as LegacyAdcpServerConfig,\n WebhooksConfig,\n AdcpToolMap as LegacyAdcpToolMap,\n AdcpServerToolName,\n AdcpCapabilitiesConfig,\n AdcpCapabilitiesOverrides,\n AdcpCustomToolConfig as LegacyAdcpCustomToolConfig,\n McpAppUiMeta,\n McpAppMeta,\n AdcpLogger,\n SignedRequestsConfig,\n AdcpPreTransport,\n AdcpSignedRequestsState,\n HandlerContext as LegacyHandlerContext,\n SessionKeyContext,\n MediaBuyHandlers as LegacyMediaBuyHandlers,\n ProposalNegotiationHandlers as LegacyProposalNegotiationHandlers,\n SignalsHandlers as LegacySignalsHandlers,\n CreativeHandlers as LegacyCreativeHandlers,\n GovernanceHandlers as LegacyGovernanceHandlers,\n AccountHandlers as LegacyAccountHandlers,\n EventTrackingHandlers as LegacyEventTrackingHandlers,\n SponsoredIntelligenceHandlers as LegacySponsoredIntelligenceHandlers,\n ResolveAccountContext as LegacyResolveAccountContext,\n} from './create-adcp-server';\n\nexport { DEFAULT_REPORTING_CAPABILITIES } from './product-defaults';\n\nexport {\n isSandboxRequest,\n mergeSeededProductsIntoResponse,\n filterValidSeededProducts,\n filterValidSeededCreatives,\n filterValidSeededMediaBuys,\n filterValidSeededAccounts,\n filterValidSeededAccountFinancials,\n filterValidSeededCreativeFormats,\n mergeSeededCreativesIntoResponse,\n mergeSeededMediaBuysIntoResponse,\n mergeSeededAccountsIntoResponse,\n mergeSeededCreativeFormatsIntoResponse,\n pickSeededAccountFinancialsForRequest,\n replaceAccountFinancialsIfSeeded,\n bridgeFromTestControllerStore,\n bridgeFromSessionStore,\n} from './test-controller-bridge';\nexport type {\n TestControllerBridge,\n TestControllerBridgeContext,\n BridgeFromSessionStoreOptions,\n SeededCreative,\n SeededMediaBuy,\n SeededAccountFinancials,\n} from './test-controller-bridge';\n\nexport {\n createIdempotencyStore,\n probeIdempotencyStore,\n memoryBackend,\n pgBackend,\n getIdempotencyMigration,\n IDEMPOTENCY_MIGRATION,\n cleanupExpiredIdempotency,\n redisBackend,\n createLazyBackend,\n hashPayload,\n IdempotencyClaimOwnershipError,\n} from './idempotency';\nexport type {\n IdempotencyStore,\n IdempotencyStoreConfig,\n IdempotencyBackend,\n IdempotencyCacheEntry,\n IdempotencyCheckResult,\n MemoryBackendOptions,\n PgBackendOptions,\n RedisBackendOptions,\n RedisBackendClient,\n RedisLikeClient,\n LazyBackendFactory,\n LazyBackendOptions,\n} from './idempotency';\n\nexport { createA2AAdapter, A2AInvocationError } from './a2a-adapter';\nexport type {\n A2AAdapter,\n A2AAdapterOptions,\n A2AAgentCardOverrides,\n A2AMountOptions,\n ExpressAppLike,\n} from './a2a-adapter';\n\nexport { createWebhookEmitter, memoryWebhookDeliveryStore, memoryWebhookKeyStore } from './webhook-emitter';\nexport {\n pgWebhookDeliveryStore,\n pgWebhookDeliveryRecoveryBackend,\n redisWebhookDeliveryStore,\n redisWebhookDeliveryRecoveryBackend,\n getWebhookDeliveryMigration,\n getWebhookDeliveryRecoveryMigration,\n WEBHOOK_DELIVERY_MIGRATION,\n WEBHOOK_DELIVERY_RECOVERY_MIGRATION,\n createWebhookDeliveryRecovery,\n pollWebhookDeliveryRecovery,\n memoryWebhookDeliveryRecoveryBackend,\n WebhookDeliveryTerminalError,\n isWebhookDeliveryTerminalError,\n} from './webhook-delivery';\nexport type {\n PgWebhookDeliveryStoreOptions,\n PgWebhookDeliveryRecoveryOptions,\n RedisWebhookDeliveryStoreOptions,\n RedisWebhookDeliveryRecoveryOptions,\n ProtectedWebhookAuthentication,\n WebhookAuthenticationAdapter,\n WebhookAuthenticationContext,\n StoredWebhookDeliverySnapshot,\n WebhookRecoveryRecord,\n WebhookRecoveryLease,\n WebhookRecoveryCheckpointResult,\n WebhookRecoveryCheckpointOutcome,\n WebhookDeliveryRecoveryBackend,\n DurableWebhookDeliveryRecovery,\n CreateWebhookDeliveryRecoveryOptions,\n PollWebhookDeliveryRecoveryOptions,\n} from './webhook-delivery';\nexport type {\n WebhookEmitter,\n RecoverableWebhookEmitter,\n WebhookEmitterOptions,\n WebhookEmitParams,\n WebhookEmitResult,\n WebhookRecoveredDelivery,\n WebhookEmitAttempt,\n WebhookEmitAttemptResult,\n WebhookDeliveryBinding,\n WebhookDeliveryRetired,\n WebhookDeliveryRecord,\n WebhookDeliveryKey,\n WebhookDeliveryProposal,\n WebhookDeliverySnapshot,\n WebhookDeliveryRecovery,\n WebhookDeliveryRecoveryClaim,\n WebhookDeliveryStore,\n WebhookIdempotencyKeyStore,\n WebhookRetryOptions,\n WebhookAuthentication,\n} from './webhook-emitter';\nexport type { SigningProvider } from '../signing/provider';\n\nexport { createPinAndBindFetch, WEBHOOK_SSRF_POLICY, LOOPBACK_OK_WEBHOOK_SSRF_POLICY } from './pin-and-bind-fetch';\nexport type { PinAndBindFetchOptions, DnsLookupAll } from './pin-and-bind-fetch';\n\nexport {\n checkGovernance,\n createAdcpGovernanceEnforcementMiddleware,\n governanceDeniedError,\n governanceUnavailableError,\n} from './governance';\nexport type {\n AdcpGovernanceEnforcementMiddleware,\n CheckGovernanceOptions,\n GovernanceCallResult,\n GovernanceApproved,\n GovernanceDenied,\n GovernanceConditions,\n} from './governance';\n\nexport {\n GovernanceAuthorizationError,\n GovernanceReplayStoreAdapter,\n InMemoryGovernanceReplayStore,\n buildGovernanceExecutionCommitment,\n buildGovernanceExecutionRequest,\n computeGovernedPayloadHash,\n createGovernanceEnforcementMiddleware,\n verifyGovernanceAuthorization,\n} from '../governance';\nexport type {\n BuildGovernanceExecutionRequestInput,\n GovernanceAuthorizationClaims,\n GovernanceAuthorizationErrorCode,\n GovernanceAuthorizationResult,\n GovernanceAuthorizationSuccess,\n GovernanceCommitment,\n GovernanceEnforcementMiddleware,\n GovernanceEnforcementMiddlewareConfig,\n GovernanceEnforcementMiddlewareInput,\n GovernanceReplayStore,\n GovernanceReplayBinding,\n GovernanceRevocationResolver,\n GovernanceRevocationStatus,\n VerifyGovernanceAuthorizationOptions,\n} from '../governance';\n\nexport {\n clearDefaultResolvedListCache,\n createResolvedListCache,\n DEFAULT_RESOLVE_LIST_PAGE_SIZE,\n defaultResolvedListCache,\n resolvePropertyList,\n resolveCollectionList,\n resolvedListCacheKey,\n matchesPropertyList,\n matchesCollectionList,\n} from './targeting-helpers';\nexport type {\n ResolvedListCache,\n ResolvedListCacheEntry,\n ResolvedListCacheValue,\n ResolvedListKind,\n ResolvedPropertyList,\n ResolvedCollectionList,\n ResolvedCollection,\n ResolveListCallTool,\n ResolveListOptions,\n} from './targeting-helpers';\n\n// ---------------------------------------------------------------------------\n// Platform-shaped server entry point (recommended for new agents)\n// ---------------------------------------------------------------------------\n//\n// `createAdcpServerFromPlatform` wraps `createAdcpServer` (the lower-level\n// handler-bag entry above) with compile-time specialism enforcement\n// (`RequiredPlatformsFor<S>`), capability projection, idempotency wiring,\n// async tasks, status normalization, multi-tenant routing, and async task\n// completion webhooks. Synchronous terminal responses remain inline by\n// default. Adopters declare a typed `DecisioningPlatform` per-specialism\n// and the framework wires the rest. See `docs/migration-5.x-to-6.x.md` and\n// `skills/build-decisioning-platform/` for the full walkthrough.\n//\n// Both `createAdcpServer` and `createAdcpServerFromPlatform` live on the\n// same import path so adopters discover them as siblings; pick the\n// function shape that matches your agent. The platform path internally\n// builds an `AdcpServerConfig` and calls `createAdcpServer` — they're\n// not adjacent surfaces, they're parent-child layers of the same SDK.\n//\n// **Pin to v5 long-term?** Import from `@adcp/sdk/server/legacy/v5`\n// instead. The subpath is the stable home for the v5 handler-bag\n// constructor; the top-level re-export here may be removed in a\n// future major. New code should not pin against `legacy/v5` either —\n// reach for `createAdcpServerFromPlatform` first.\nexport * from './decisioning';\nexport {\n createProposalRefinementHandler,\n createProposalSuccessor,\n proposalRefinementScopeFromContext,\n classifyProposalRefinementFailure,\n defineProposalRefinementCapabilities,\n ProposalSellerPreflightError,\n} from '../negotiation/seller';\nexport { proposalTermsDigest, verifyProposalTermsDigest } from '../negotiation/verification';\nexport type {\n ProposalCommercialEvaluator,\n ProposalFailureClassification,\n ProposalEvaluationContext,\n ProposalRefinementHandler,\n ProposalRefinementHandlerOptions,\n ProposalRefinementStore,\n ProposalRefinementTransaction,\n ProposalRefinementScope,\n ProposalSourceExpectation,\n ProposalSourceSnapshot,\n ProposalSuccessorInput,\n} from '../negotiation/seller';\nexport type {\n CanonicalProposal,\n ProposalCommercialTerms,\n ProposalRefinementCapabilities,\n ProposalRefinementResult,\n RefineProposalsRequest,\n RefineProposalsResponse,\n} from '../negotiation/types';\n\n// ---------------------------------------------------------------------------\n// Ctx-metadata store — opaque-blob round-trip for adapter-internal state\n// ---------------------------------------------------------------------------\n//\n// Publishers attach platform-specific opaque blobs to any returned resource\n// (product, media_buy, package, creative, audience, signal, rights_grant);\n// the framework persists by `(account_id, kind, id)`, strips from buyer-\n// facing wire payloads, threads back into the publisher's request context\n// on subsequent calls referencing the same resource ID. See\n// `docs/proposals/decisioning-platform-v6-1-ctx-metadata.md`.\nexport {\n createCtxMetadataStore,\n memoryCtxMetadataStore,\n pgCtxMetadataStore,\n redisCtxMetadataStore,\n getCtxMetadataMigration,\n cleanupExpiredCtxMetadata,\n CTX_METADATA_MIGRATION,\n CtxMetadataValidationError,\n ADCP_INTERNAL_TAG,\n DEFAULT_MAX_VALUE_BYTES,\n MAX_TTL_SECONDS,\n stripCtxMetadata,\n hasCtxMetadata,\n stripImplementationConfig,\n hasImplementationConfig,\n ctxMetadataResultKey,\n scopeCtxMetadataKey,\n} from './ctx-metadata';\nexport type {\n CtxMetadataStore,\n CtxMetadataStoreConfig,\n CtxMetadataBackend,\n CtxMetadataEntry,\n CtxMetadataRef,\n ResourceKind as CtxMetadataResourceKind,\n MemoryCtxMetadataStoreOptions,\n PgCtxMetadataBackendOptions,\n RedisCtxMetadataBackendOptions,\n CtxMetadataRedisBackendClient,\n CtxMetadataRedisLikeClient,\n WireShape,\n} from './ctx-metadata';\n\nexport { createTranslationMap, createUpstreamHttpClient } from './upstream-helpers';\nexport type {\n TranslationMap,\n UpstreamAuth,\n AuthContext,\n UpstreamCallOptions,\n UpstreamHttpClientOptions,\n UpstreamHttpClient,\n UpstreamHttpResult,\n} from './upstream-helpers';\n\n// ---------------------------------------------------------------------------\n// Server-side adapters\n// ---------------------------------------------------------------------------\nexport {\n InMemoryImplicitAccountStore,\n defaultImplicitKeyFn,\n type ImplicitAccountStoreOptions,\n} from '../adapters/implicit-account-store';\n\nexport {\n createOAuthPassthroughResolver,\n type OAuthPassthroughResolverOptions,\n} from '../adapters/oauth-passthrough-resolver';\n\nexport { createRosterAccountStore, type RosterAccountStoreOptions } from '../adapters/roster-account-store';\n\nexport { createDerivedAccountStore, type DerivedAccountStoreOptions } from '../adapters/derived-account-store';\n\n// ---------------------------------------------------------------------------\n// Socket Mode — outbound WebSocket bridge for adopter dev environments\n// ---------------------------------------------------------------------------\nexport {\n ConformanceClient,\n WebSocketTransport,\n type ConformanceClientOptions,\n type ConformanceStatus,\n} from './socket-mode';\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/server/index.ts"],"sourcesContent":["export { adcpError } from './errors';\nexport type { AdcpErrorOptions, AdcpErrorPayload, AdcpErrorResponse } from './errors';\n\nexport { normalizeError, normalizeErrors } from './normalize-errors';\nexport type { NormalizedError } from './normalize-errors';\n\nexport { pickSafeDetails } from './pick-safe-details';\nexport type { PickSafeDetailsOptions } from './pick-safe-details';\n\nexport { wrapEnvelope } from './wrap-envelope';\nexport type { WrapEnvelopeOptions } from './wrap-envelope';\n\nexport {\n ERROR_ENVELOPE_FIELD_ALLOWLIST,\n DEFAULT_ERROR_ENVELOPE_FIELDS,\n ADCP_ERROR_FIELD_ALLOWLIST,\n CONFLICT_ADCP_ERROR_ALLOWLIST,\n} from './envelope-allowlist';\n\nexport { scanArgsForCredentials, DEFAULT_CREDENTIAL_PATTERNS } from './credential-policy';\nexport type {\n CredentialPolicy,\n CredentialPolicyMode,\n CredentialPolicyConfig,\n CredentialPatternsConfig,\n} from './credential-policy';\n\nexport { createDynamicRegistry } from './dynamic-registry';\nexport type {\n DynamicRegistry,\n DynamicRegistryConfig,\n DynamicRegistryRegisterOptions,\n PendingRegistries,\n RegistryShape,\n} from './dynamic-registry';\n\nexport { defineOperationalPlatform } from './operational-platform';\nexport type { OperationalPlatform, OperationalContext } from './operational-platform';\n\nexport { pickWireSpecFields, scrubExtensions, WIRE_SPEC_FIELDS } from './wire-safe';\nexport type { WireSafe, WireSpecRequestName, ScrubExtensionsOptions } from './wire-safe';\nexport type { RequireCacheScopeWhenProducts, ServerPayload } from '../types/server-payload';\nexport type {\n ActivateSignalPayload,\n AcquireRightsAcquiredPayload as LegacyAcquireRightsAcquiredPayload,\n AcquireRightsPayload as LegacyAcquireRightsPayload,\n AcquireRightsPendingApprovalPayload as LegacyAcquireRightsPendingApprovalPayload,\n AcquireRightsRejectedPayload as LegacyAcquireRightsRejectedPayload,\n BuildCreativeMultiPayload as LegacyBuildCreativeMultiPayload,\n BuildCreativePayload as LegacyBuildCreativePayload,\n CalibrateContentPayload as LegacyCalibrateContentPayload,\n CheckGovernancePayload,\n CreateCollectionListPayload,\n CreateContentStandardsPayload as LegacyCreateContentStandardsPayload,\n CreateMediaBuyPayload as LegacyCreateMediaBuyPayload,\n CreatePropertyListPayload,\n CreativeApprovalPayload,\n CreativeApprovedPayload,\n CreativePendingReviewPayload,\n CreativeRejectedPayload,\n DeleteCollectionListPayload,\n DeletePropertyListPayload,\n GetAccountFinancialsPayload,\n GetAccountFinancialsSuccessPayload,\n GetAdCPCapabilitiesPayload,\n GetBrandIdentityPayload,\n GetCollectionListPayload,\n GetContentStandardsPayload as LegacyGetContentStandardsPayload,\n GetCreativeDeliveryPayload as LegacyGetCreativeDeliveryPayload,\n GetCreativeFeaturesPayload as LegacyGetCreativeFeaturesPayload,\n GetMediaBuyArtifactsPayload as LegacyGetMediaBuyArtifactsPayload,\n GetMediaBuyDeliveryPayload as LegacyGetMediaBuyDeliveryPayload,\n GetMediaBuysPayload as LegacyGetMediaBuysPayload,\n GetPlanAuditLogsPayload,\n GetProductsPayload as LegacyGetProductsPayload,\n GetPropertyListPayload,\n GetRightsPayload as LegacyGetRightsPayload,\n GetRightsResponsePayload as LegacyGetRightsResponsePayload,\n GetSignalsPayload,\n ListAccountsPayload,\n ListCollectionListsPayload,\n ListContentStandardsPayload as LegacyListContentStandardsPayload,\n ListCreativeFormatsPayload as LegacyListCreativeFormatsPayload,\n ListCreativeFormatsResponsePayload as LegacyListCreativeFormatsResponsePayload,\n ListCreativeFormatsServerPayload as LegacyListCreativeFormatsServerPayload,\n ListCreativesPayload as LegacyListCreativesPayload,\n ListPropertyListsPayload,\n LogEventPayload,\n CanonicalPreviewCreativePayload,\n PreviewCreativePayload as LegacyPreviewCreativePayload,\n ProvidePerformanceFeedbackPayload,\n ReportPlanOutcomePayload,\n ReportUsagePayload,\n SIGetOfferingPayload,\n SIInitiateSessionPayload,\n SISendMessagePayload,\n SITerminateSessionPayload,\n SyncAccountsPayload,\n SyncAccountsSuccessPayload,\n SyncAudiencesPayload,\n SyncCatalogsPayload,\n SyncCreativesErrorPayload,\n SyncCreativesPayload,\n SyncCreativesSuccessPayload,\n SyncEventSourcesPayload,\n SyncGovernancePayload,\n SyncGovernanceSuccessPayload,\n SyncPlansPayload,\n UpdateCollectionListPayload,\n UpdateContentStandardsPayload as LegacyUpdateContentStandardsPayload,\n UpdateMediaBuyPayload as LegacyUpdateMediaBuyPayload,\n UpdatePropertyListPayload,\n UpdateRightsPayload as LegacyUpdateRightsPayload,\n ValidateContentDeliveryPayload as LegacyValidateContentDeliveryPayload,\n} from '../types/server-payload-aliases';\n\nexport { assertNoExampleTlds } from './example-tld-guard';\nexport type { AssertNoExampleTldsOptions } from './example-tld-guard';\n\n// Raw wire response builders remain available only through explicit\n// `legacy*` aliases on this primary barrel. The legacy/v5 subpath preserves\n// their historical names for handler-bag adopters.\nexport {\n capabilitiesResponse as legacyCapabilitiesResponse,\n productsResponse as legacyProductsResponse,\n mediaBuyResponse as legacyMediaBuyResponse,\n deliveryResponse as legacyDeliveryResponse,\n listAccountsResponse as legacyListAccountsResponse,\n listCreativeFormatsResponse as legacyListCreativeFormatsResponse,\n updateMediaBuyResponse as legacyUpdateMediaBuyResponse,\n getMediaBuysResponse as legacyGetMediaBuysResponse,\n performanceFeedbackResponse as legacyPerformanceFeedbackResponse,\n buildCreativeResponse as legacyBuildCreativeResponse,\n buildCreativeMultiResponse as legacyBuildCreativeMultiResponse,\n previewCreativeResponse as legacyPreviewCreativeResponse,\n creativeDeliveryResponse as legacyCreativeDeliveryResponse,\n listCreativesResponse as legacyListCreativesResponse,\n listPropertyListsResponse as legacyListPropertyListsResponse,\n listCollectionListsResponse as legacyListCollectionListsResponse,\n listContentStandardsResponse as legacyListContentStandardsResponse,\n getPlanAuditLogsResponse as legacyGetPlanAuditLogsResponse,\n syncCreativesResponse as legacySyncCreativesResponse,\n getSignalsResponse as legacyGetSignalsResponse,\n activateSignalResponse as legacyActivateSignalResponse,\n cancelMediaBuyResponse as legacyCancelMediaBuyResponse,\n acquireRightsResponse as legacyAcquireRightsResponse,\n acquireRightsAcquired as legacyAcquireRightsAcquired,\n acquireRightsPendingApproval as legacyAcquireRightsPendingApproval,\n acquireRightsRejected as legacyAcquireRightsRejected,\n updateRightsResponse as legacyUpdateRightsResponse,\n updateRightsSuccess as legacyUpdateRightsSuccess,\n creativeApprovalResponse as legacyCreativeApprovalResponse,\n creativeApprovalApproved as legacyCreativeApprovalApproved,\n creativeApprovalRejected as legacyCreativeApprovalRejected,\n creativeApprovalPendingReview as legacyCreativeApprovalPendingReview,\n creativeApprovalError as legacyCreativeApprovalError,\n syncAccountsResponse as legacySyncAccountsResponse,\n syncGovernanceResponse as legacySyncGovernanceResponse,\n reportUsageResponse as legacyReportUsageResponse,\n toStructuredContent,\n} from './responses';\nexport type { McpToolResponse } from './responses';\n\nexport { validActionsForStatus } from './media-buy-helpers';\nexport type { ValidAction, CancelMediaBuyInput } from './media-buy-helpers';\nexport { assertUpdateMediaBuyAllowed } from './media-buy-actions';\nexport type { AssertUpdateMediaBuyAllowedOptions } from './media-buy-actions';\n\nexport { createMediaBuyStore, DEFAULT_MEDIA_BUY_STORE_COLLECTION } from './media-buy-store';\nexport type {\n MediaBuyStore,\n CreateMediaBuyStoreOptions,\n CreateMediaBuyInputForStore,\n CreateMediaBuyResultForStore,\n UpdateMediaBuyInputForStore,\n GetMediaBuysResultForStore,\n} from './media-buy-store';\n\nexport {\n MEDIA_BUY_TRANSITIONS,\n CREATIVE_ASSET_TRANSITIONS,\n isLegalMediaBuyTransition,\n isLegalCreativeTransition,\n assertMediaBuyTransition,\n assertCreativeTransition,\n} from './state-machine';\n\nexport { getAccountMode, isSandboxOrMockAccount, assertSandboxAccount } from './account-mode';\nexport type { AccountMode } from './account-mode';\n\nexport {\n taskToolResponse,\n registerAdcpTaskTool,\n createTaskCapableServer,\n InMemoryTaskStore,\n isTerminal,\n} from './tasks';\nexport type {\n AdcpTaskToolConfig,\n TaskStore,\n TaskMessageQueue,\n CreateTaskOptions,\n ToolTaskHandler,\n CreateTaskRequestHandlerExtra,\n TaskRequestHandlerExtra,\n CreateTaskResult,\n GetTaskResult,\n Task,\n} from './tasks';\n\nexport {\n PostgresTaskStore,\n cleanupExpiredTasks,\n getMcpTasksMigration,\n MCP_TASKS_MIGRATION,\n} from './postgres-task-store';\nexport type { PgQueryable, PostgresTaskStoreOptions } from './postgres-task-store';\n\nexport {\n registerTestController,\n handleTestControllerRequest,\n TestControllerError,\n toMcpResponse,\n TOOL_INPUT_SHAPE,\n CONTROLLER_SCENARIOS,\n DISCOVERY_ARM_SCENARIOS,\n SEED_SCENARIOS,\n SEED_MESSAGES,\n SESSION_ENTRY_CAP,\n enforceMapCap,\n createSeedFixtureCache,\n} from './test-controller';\nexport type {\n TestControllerStore,\n TestControllerStoreFactory,\n TestControllerStoreOrFactory,\n ControllerScenario,\n SeedScenario,\n SeedFixtureCache,\n} from './test-controller';\n\nexport { serve, taskScopeFromPrincipal, UnknownHostError, hostname, resolveHost } from './serve';\nexport type { ServeContext, ServeOptions, ProtectedResourceMetadata } from './serve';\n\nexport { createExpressAdapter } from './express-adapter';\nexport type { ExpressAdapter, ExpressAdapterOptions } from './express-adapter';\n\nexport {\n verifyApiKey,\n verifyBearer,\n anyOf,\n extractBearerToken,\n respondUnauthorized,\n signatureErrorCodeFromCause,\n AuthError,\n AUTH_NEEDS_RAW_BODY,\n tagAuthenticatorNeedsRawBody,\n authenticatorNeedsRawBody,\n AUTH_PRESENCE_GATED,\n tagAuthenticatorPresenceGated,\n isAuthenticatorPresenceGated,\n ADCP_SERVE_REQUEST_CONTEXT,\n getServeRequestContext,\n DEFAULT_JWT_ALGORITHMS,\n DEFAULT_JWT_CLOCK_TOLERANCE_SECONDS,\n} from './auth';\nexport type {\n Authenticator,\n AuthPrincipal,\n AuthResult,\n VerifyApiKeyOptions,\n VerifyBearerOptions,\n RespondUnauthorizedOptions,\n ServeRequestContext,\n} from './auth';\n\nexport { verifyIntrospection } from './auth-introspection';\nexport type {\n VerifyIntrospectionOptions,\n IntrospectionCacheOptions,\n IntrospectionResponse,\n} from './auth-introspection';\n\nexport {\n verifySignatureAsAuthenticator,\n requireSignatureWhenPresent,\n requireAuthenticatedOrSigned,\n mcpToolNameResolver,\n} from './auth-signature';\nexport type {\n VerifySignatureAsAuthenticatorOptions,\n RequireSignatureWhenPresentOptions,\n RequireAuthenticatedOrSignedOptions,\n} from './auth-signature';\n\nexport {\n InMemoryStateStore,\n StateError,\n PatchConflictError,\n DEFAULT_MAX_DOCUMENT_BYTES,\n SESSION_KEY_FIELD,\n createSessionedStore,\n scopedStore,\n patchWithRetry,\n isPutIfMatchConflict,\n validateCollection,\n validateId,\n validatePayloadSize,\n validateWrite,\n} from './state-store';\nexport type {\n AdcpStateStore,\n InMemoryStateStoreOptions,\n ListOptions,\n ListResult,\n PatchWithRetryOptions,\n PutIfMatchResult,\n StateErrorCode,\n VersionedDocument,\n} from './state-store';\n\nexport { PostgresStateStore, getAdcpStateMigration, ADCP_STATE_MIGRATION } from './postgres-state-store';\nexport type { PostgresStateStoreOptions } from './postgres-state-store';\n\nexport { structuredSerialize, structuredDeserialize } from './structured-serialize';\n\nexport { MCP_APP_RESOURCE_MIME_TYPE } from './mcp-app';\nexport type {\n AdcpMcpResourceDefinition,\n McpAppResourceCsp,\n McpAppResourcePermissions,\n McpAppResourceUiMeta,\n McpAppResourceMeta,\n McpAppResourceReadContext,\n} from './mcp-app';\n\n// `createAdcpServer` is NOT re-exported from `@adcp/sdk/server` anymore —\n// LLMs scaffolding from skills consistently latched onto it as the canonical\n// entry point despite the @deprecated JSDoc. Removing the top-level export\n// forces new code to either reach for `createAdcpServerFromPlatform` (the v6\n// canonical) or import from `@adcp/sdk/server/legacy/v5` (mid-migration /\n// escape-hatch only). Breaking change: v5 adopters see a hard import error\n// and update their import path. The migration is one line; the LLM-output\n// quality win is significant. See `docs/migration-5.x-to-6.x.md`.\nexport {\n requireSessionKey,\n ADCP_PRE_TRANSPORT,\n ADCP_SIGNED_REQUESTS_STATE,\n ADCP_INSTRUCTIONS_FN,\n} from './create-adcp-server';\nexport type { SessionContext, OnInstructionsError, MaybePromise, BridgeMarker } from './create-adcp-server';\nexport type {\n AdcpServer,\n AdcpServerComplianceApi,\n AdcpServerTransport,\n AdcpTestRequest,\n AdcpTestToolsCallRequest,\n AdcpTestResponse,\n} from './adcp-server';\n// Handler-bag types describe the raw v5 server surface. Primary-barrel names\n// are explicit Legacy aliases; the legacy/v5 subpath retains the originals.\nexport type {\n AdcpServerConfig as LegacyAdcpServerConfig,\n WebhooksConfig,\n AdcpToolMap as LegacyAdcpToolMap,\n AdcpServerToolName,\n AdcpCapabilitiesConfig,\n AdcpCapabilitiesOverrides,\n AdcpCustomToolConfig as LegacyAdcpCustomToolConfig,\n McpAppUiMeta,\n McpAppMeta,\n AdcpLogger,\n SignedRequestsConfig,\n AdcpPreTransport,\n AdcpSignedRequestsState,\n HandlerContext as LegacyHandlerContext,\n SessionKeyContext,\n MediaBuyHandlers as LegacyMediaBuyHandlers,\n ProposalNegotiationHandlers as LegacyProposalNegotiationHandlers,\n SignalsHandlers as LegacySignalsHandlers,\n CreativeHandlers as LegacyCreativeHandlers,\n GovernanceHandlers as LegacyGovernanceHandlers,\n AccountHandlers as LegacyAccountHandlers,\n EventTrackingHandlers as LegacyEventTrackingHandlers,\n SponsoredIntelligenceHandlers as LegacySponsoredIntelligenceHandlers,\n ResolveAccountContext as LegacyResolveAccountContext,\n} from './create-adcp-server';\n\nexport { DEFAULT_REPORTING_CAPABILITIES } from './product-defaults';\n\nexport {\n isSandboxRequest,\n mergeSeededProductsIntoResponse,\n filterValidSeededProducts,\n filterValidSeededCreatives,\n filterValidSeededMediaBuys,\n filterValidSeededAccounts,\n filterValidSeededAccountFinancials,\n filterValidSeededCreativeFormats,\n mergeSeededCreativesIntoResponse,\n mergeSeededMediaBuysIntoResponse,\n mergeSeededAccountsIntoResponse,\n mergeSeededCreativeFormatsIntoResponse,\n pickSeededAccountFinancialsForRequest,\n replaceAccountFinancialsIfSeeded,\n bridgeFromTestControllerStore,\n bridgeFromSessionStore,\n} from './test-controller-bridge';\nexport type {\n TestControllerBridge,\n TestControllerBridgeContext,\n BridgeFromSessionStoreOptions,\n SeededCreative,\n SeededMediaBuy,\n SeededAccountFinancials,\n} from './test-controller-bridge';\n\nexport {\n createIdempotencyStore,\n probeIdempotencyStore,\n memoryBackend,\n pgBackend,\n getIdempotencyMigration,\n IDEMPOTENCY_MIGRATION,\n cleanupExpiredIdempotency,\n redisBackend,\n createLazyBackend,\n hashPayload,\n IdempotencyClaimOwnershipError,\n} from './idempotency';\nexport type {\n IdempotencyStore,\n IdempotencyStoreConfig,\n IdempotencyBackend,\n IdempotencyCacheEntry,\n IdempotencyCheckResult,\n MemoryBackendOptions,\n PgBackendOptions,\n RedisBackendOptions,\n RedisBackendClient,\n RedisLikeClient,\n LazyBackendFactory,\n LazyBackendOptions,\n} from './idempotency';\n\nexport { createA2AAdapter, A2AInvocationError } from './a2a-adapter';\nexport type {\n A2AAdapter,\n A2AAdapterOptions,\n A2AAgentCardOverrides,\n A2AAgentCapabilitiesOverride,\n A2AAgentSkillOverride,\n A2AMountOptions,\n ExpressAppLike,\n LegacyHttpSecurityScheme,\n LegacySecurityScheme,\n} from './a2a-adapter';\n\nexport { createWebhookEmitter, memoryWebhookDeliveryStore, memoryWebhookKeyStore } from './webhook-emitter';\nexport {\n pgWebhookDeliveryStore,\n pgWebhookDeliveryRecoveryBackend,\n redisWebhookDeliveryStore,\n redisWebhookDeliveryRecoveryBackend,\n getWebhookDeliveryMigration,\n getWebhookDeliveryRecoveryMigration,\n WEBHOOK_DELIVERY_MIGRATION,\n WEBHOOK_DELIVERY_RECOVERY_MIGRATION,\n createWebhookDeliveryRecovery,\n pollWebhookDeliveryRecovery,\n memoryWebhookDeliveryRecoveryBackend,\n WebhookDeliveryTerminalError,\n isWebhookDeliveryTerminalError,\n} from './webhook-delivery';\nexport type {\n PgWebhookDeliveryStoreOptions,\n PgWebhookDeliveryRecoveryOptions,\n RedisWebhookDeliveryStoreOptions,\n RedisWebhookDeliveryRecoveryOptions,\n ProtectedWebhookAuthentication,\n WebhookAuthenticationAdapter,\n WebhookAuthenticationContext,\n StoredWebhookDeliverySnapshot,\n WebhookRecoveryRecord,\n WebhookRecoveryLease,\n WebhookRecoveryCheckpointResult,\n WebhookRecoveryCheckpointOutcome,\n WebhookDeliveryRecoveryBackend,\n DurableWebhookDeliveryRecovery,\n CreateWebhookDeliveryRecoveryOptions,\n PollWebhookDeliveryRecoveryOptions,\n} from './webhook-delivery';\nexport type {\n WebhookEmitter,\n RecoverableWebhookEmitter,\n WebhookEmitterOptions,\n WebhookEmitParams,\n WebhookEmitResult,\n WebhookRecoveredDelivery,\n WebhookEmitAttempt,\n WebhookEmitAttemptResult,\n WebhookDeliveryBinding,\n WebhookDeliveryRetired,\n WebhookDeliveryRecord,\n WebhookDeliveryKey,\n WebhookDeliveryProposal,\n WebhookDeliverySnapshot,\n WebhookDeliveryRecovery,\n WebhookDeliveryRecoveryClaim,\n WebhookDeliveryStore,\n WebhookIdempotencyKeyStore,\n WebhookRetryOptions,\n WebhookAuthentication,\n} from './webhook-emitter';\nexport type { SigningProvider } from '../signing/provider';\n\nexport { createPinAndBindFetch, WEBHOOK_SSRF_POLICY, LOOPBACK_OK_WEBHOOK_SSRF_POLICY } from './pin-and-bind-fetch';\nexport type { PinAndBindFetchOptions, DnsLookupAll } from './pin-and-bind-fetch';\n\nexport {\n checkGovernance,\n createAdcpGovernanceEnforcementMiddleware,\n governanceDeniedError,\n governanceUnavailableError,\n} from './governance';\nexport type {\n AdcpGovernanceEnforcementMiddleware,\n CheckGovernanceOptions,\n GovernanceCallResult,\n GovernanceApproved,\n GovernanceDenied,\n GovernanceConditions,\n} from './governance';\n\nexport {\n GovernanceAuthorizationError,\n GovernanceReplayStoreAdapter,\n InMemoryGovernanceReplayStore,\n buildGovernanceExecutionCommitment,\n buildGovernanceExecutionRequest,\n computeGovernedPayloadHash,\n createGovernanceEnforcementMiddleware,\n verifyGovernanceAuthorization,\n} from '../governance';\nexport type {\n BuildGovernanceExecutionRequestInput,\n GovernanceAuthorizationClaims,\n GovernanceAuthorizationErrorCode,\n GovernanceAuthorizationResult,\n GovernanceAuthorizationSuccess,\n GovernanceCommitment,\n GovernanceEnforcementMiddleware,\n GovernanceEnforcementMiddlewareConfig,\n GovernanceEnforcementMiddlewareInput,\n GovernanceReplayStore,\n GovernanceReplayBinding,\n GovernanceRevocationResolver,\n GovernanceRevocationStatus,\n VerifyGovernanceAuthorizationOptions,\n} from '../governance';\n\nexport {\n clearDefaultResolvedListCache,\n createResolvedListCache,\n DEFAULT_RESOLVE_LIST_PAGE_SIZE,\n defaultResolvedListCache,\n resolvePropertyList,\n resolveCollectionList,\n resolvedListCacheKey,\n matchesPropertyList,\n matchesCollectionList,\n} from './targeting-helpers';\nexport type {\n ResolvedListCache,\n ResolvedListCacheEntry,\n ResolvedListCacheValue,\n ResolvedListKind,\n ResolvedPropertyList,\n ResolvedCollectionList,\n ResolvedCollection,\n ResolveListCallTool,\n ResolveListOptions,\n} from './targeting-helpers';\n\n// ---------------------------------------------------------------------------\n// Platform-shaped server entry point (recommended for new agents)\n// ---------------------------------------------------------------------------\n//\n// `createAdcpServerFromPlatform` wraps `createAdcpServer` (the lower-level\n// handler-bag entry above) with compile-time specialism enforcement\n// (`RequiredPlatformsFor<S>`), capability projection, idempotency wiring,\n// async tasks, status normalization, multi-tenant routing, and async task\n// completion webhooks. Synchronous terminal responses remain inline by\n// default. Adopters declare a typed `DecisioningPlatform` per-specialism\n// and the framework wires the rest. See `docs/migration-5.x-to-6.x.md` and\n// `skills/build-decisioning-platform/` for the full walkthrough.\n//\n// Both `createAdcpServer` and `createAdcpServerFromPlatform` live on the\n// same import path so adopters discover them as siblings; pick the\n// function shape that matches your agent. The platform path internally\n// builds an `AdcpServerConfig` and calls `createAdcpServer` — they're\n// not adjacent surfaces, they're parent-child layers of the same SDK.\n//\n// **Pin to v5 long-term?** Import from `@adcp/sdk/server/legacy/v5`\n// instead. The subpath is the stable home for the v5 handler-bag\n// constructor; the top-level re-export here may be removed in a\n// future major. New code should not pin against `legacy/v5` either —\n// reach for `createAdcpServerFromPlatform` first.\nexport * from './decisioning';\nexport {\n createProposalRefinementHandler,\n createProposalSuccessor,\n proposalRefinementScopeFromContext,\n classifyProposalRefinementFailure,\n defineProposalRefinementCapabilities,\n ProposalSellerPreflightError,\n} from '../negotiation/seller';\nexport { proposalTermsDigest, verifyProposalTermsDigest } from '../negotiation/verification';\nexport type {\n ProposalCommercialEvaluator,\n ProposalFailureClassification,\n ProposalEvaluationContext,\n ProposalRefinementHandler,\n ProposalRefinementHandlerOptions,\n ProposalRefinementStore,\n ProposalRefinementTransaction,\n ProposalRefinementScope,\n ProposalSourceExpectation,\n ProposalSourceSnapshot,\n ProposalSuccessorInput,\n} from '../negotiation/seller';\nexport type {\n CanonicalProposal,\n ProposalCommercialTerms,\n ProposalRefinementCapabilities,\n ProposalRefinementResult,\n RefineProposalsRequest,\n RefineProposalsResponse,\n} from '../negotiation/types';\n\n// ---------------------------------------------------------------------------\n// Ctx-metadata store — opaque-blob round-trip for adapter-internal state\n// ---------------------------------------------------------------------------\n//\n// Publishers attach platform-specific opaque blobs to any returned resource\n// (product, media_buy, package, creative, audience, signal, rights_grant);\n// the framework persists by `(account_id, kind, id)`, strips from buyer-\n// facing wire payloads, threads back into the publisher's request context\n// on subsequent calls referencing the same resource ID. See\n// `docs/proposals/decisioning-platform-v6-1-ctx-metadata.md`.\nexport {\n createCtxMetadataStore,\n memoryCtxMetadataStore,\n pgCtxMetadataStore,\n redisCtxMetadataStore,\n getCtxMetadataMigration,\n cleanupExpiredCtxMetadata,\n CTX_METADATA_MIGRATION,\n CtxMetadataValidationError,\n ADCP_INTERNAL_TAG,\n DEFAULT_MAX_VALUE_BYTES,\n MAX_TTL_SECONDS,\n stripCtxMetadata,\n hasCtxMetadata,\n stripImplementationConfig,\n hasImplementationConfig,\n ctxMetadataResultKey,\n scopeCtxMetadataKey,\n} from './ctx-metadata';\nexport type {\n CtxMetadataStore,\n CtxMetadataStoreConfig,\n CtxMetadataBackend,\n CtxMetadataEntry,\n CtxMetadataRef,\n ResourceKind as CtxMetadataResourceKind,\n MemoryCtxMetadataStoreOptions,\n PgCtxMetadataBackendOptions,\n RedisCtxMetadataBackendOptions,\n CtxMetadataRedisBackendClient,\n CtxMetadataRedisLikeClient,\n WireShape,\n} from './ctx-metadata';\n\nexport { createTranslationMap, createUpstreamHttpClient } from './upstream-helpers';\nexport type {\n TranslationMap,\n UpstreamAuth,\n AuthContext,\n UpstreamCallOptions,\n UpstreamHttpClientOptions,\n UpstreamHttpClient,\n UpstreamHttpResult,\n} from './upstream-helpers';\n\n// ---------------------------------------------------------------------------\n// Server-side adapters\n// ---------------------------------------------------------------------------\nexport {\n InMemoryImplicitAccountStore,\n defaultImplicitKeyFn,\n type ImplicitAccountStoreOptions,\n} from '../adapters/implicit-account-store';\n\nexport {\n createOAuthPassthroughResolver,\n type OAuthPassthroughResolverOptions,\n} from '../adapters/oauth-passthrough-resolver';\n\nexport { createRosterAccountStore, type RosterAccountStoreOptions } from '../adapters/roster-account-store';\n\nexport { createDerivedAccountStore, type DerivedAccountStoreOptions } from '../adapters/derived-account-store';\n\n// ---------------------------------------------------------------------------\n// Socket Mode — outbound WebSocket bridge for adopter dev environments\n// ---------------------------------------------------------------------------\nexport {\n ConformanceClient,\n WebSocketTransport,\n type ConformanceClientOptions,\n type ConformanceStatus,\n} from './socket-mode';\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/lib/server/responses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,6BAA6B,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,iCAAiC,EACjC,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;
|
|
1
|
+
{"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/lib/server/responses.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var responses_exports = {};
|
|
20
20
|
__export(responses_exports, {
|
|
21
|
+
_getExplicitResponseSummary: () => _getExplicitResponseSummary,
|
|
21
22
|
acquireRightsAcquired: () => acquireRightsAcquired,
|
|
22
23
|
acquireRightsPendingApproval: () => acquireRightsPendingApproval,
|
|
23
24
|
acquireRightsRejected: () => acquireRightsRejected,
|
|
@@ -58,6 +59,10 @@ __export(responses_exports, {
|
|
|
58
59
|
});
|
|
59
60
|
module.exports = __toCommonJS(responses_exports);
|
|
60
61
|
var import_media_buy_helpers = require('./media-buy-helpers.js');
|
|
62
|
+
const explicitResponseSummaries = /* @__PURE__ */ new WeakMap();
|
|
63
|
+
function _getExplicitResponseSummary(response) {
|
|
64
|
+
return explicitResponseSummaries.get(response);
|
|
65
|
+
}
|
|
61
66
|
function toStructuredContent(data) {
|
|
62
67
|
return data;
|
|
63
68
|
}
|
|
@@ -163,10 +168,12 @@ function capabilitiesResponse(data, summary) {
|
|
|
163
168
|
function productsResponse(data, summary) {
|
|
164
169
|
const structured = completedStructuredContent(data);
|
|
165
170
|
const defaultSummary = data.unchanged === true ? "Product feed unchanged" : `Found ${(data.products ?? []).length} products`;
|
|
166
|
-
|
|
171
|
+
const response = {
|
|
167
172
|
content: [{ type: "text", text: summary ?? defaultSummary }],
|
|
168
173
|
structuredContent: structured
|
|
169
174
|
};
|
|
175
|
+
if (summary !== void 0) explicitResponseSummaries.set(response, summary);
|
|
176
|
+
return response;
|
|
170
177
|
}
|
|
171
178
|
function mediaBuyResponse(data, summary) {
|
|
172
179
|
assertNoTopLevelSetup(data, "mediaBuyResponse");
|
|
@@ -506,6 +513,7 @@ reportUsageResponse.acceptAll = function acceptAll(request, opts) {
|
|
|
506
513
|
};
|
|
507
514
|
// Annotate the CommonJS export names for ESM import in node:
|
|
508
515
|
0 && (module.exports = {
|
|
516
|
+
_getExplicitResponseSummary,
|
|
509
517
|
acquireRightsAcquired,
|
|
510
518
|
acquireRightsPendingApproval,
|
|
511
519
|
acquireRightsRejected,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/server/responses.ts"],"sourcesContent":["/**\n * Typed response builders for AdCP MCP servers.\n *\n * @deprecated For new code, use `createAdcpServerFromPlatform` from\n * `@adcp/sdk/server` instead — it constructs wire responses internally\n * from your typed `DecisioningPlatform` return values, so adopters don't\n * touch these builders. The functions below remain exported for v5\n * adopters wiring raw MCP tool handlers (mid-migration), and for adopters\n * shaping bespoke tools the platform interface doesn't yet model. For new\n * v6 adopters, ignore this whole module — the framework handles wire\n * shaping.\n *\n * Each function takes typed data (compile-time checked against AdCP schemas)\n * and returns an MCP-compatible tool response with `content` (text summary)\n * + `structuredContent` (typed payload).\n *\n * The input parameter enforces the AdCP schema shape at compile time.\n * The return type is compatible with MCP SDK's CallToolResult.\n *\n * @example\n * ```typescript\n * import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\n * import { legacyCapabilitiesResponse, legacyProductsResponse, adcpError } from '@adcp/sdk/server';\n * import { GetProductsRequestSchema } from '@adcp/sdk/schemas';\n *\n * const server = new McpServer({ name: 'My Agent', version: '1.0.0' });\n *\n * server.registerTool(\n * 'get_adcp_capabilities',\n * { inputSchema: {} },\n * async () => capabilitiesResponse({ supported_protocols: ['media_buy'] })\n * );\n *\n * server.registerTool(\n * 'get_products',\n * { inputSchema: GetProductsRequestSchema.shape },\n * async (params) => legacyProductsResponse({ products: myProducts, cache_scope: 'account' })\n * );\n * ```\n */\n\nimport type { GetAdCPCapabilitiesResponse } from '../types/tools.generated';\nimport type { GetMediaBuyDeliveryResponse } from '../types/tools.generated';\nimport type { RequireCacheScopeWhenProducts, ServerPayload } from '../types/server-payload';\nimport { validActionsForStatus } from './media-buy-helpers';\nimport type { CancelMediaBuyInput } from './media-buy-helpers';\nimport type {\n ListCreativeFormatsResponse,\n GetProductsResponse,\n CreateMediaBuySuccess,\n UpdateMediaBuySuccess,\n GetMediaBuysResponse,\n ProvidePerformanceFeedbackSuccess,\n BuildCreativeSuccess,\n BuildCreativeMultiSuccess,\n PreviewCreativeSingleResponse,\n PreviewCreativeBatchResponse,\n PreviewCreativeVariantResponse,\n GetCreativeDeliveryResponse,\n ListCreativesResponse,\n SyncCreativesError,\n SyncCreativesSuccess,\n GetSignalsResponse,\n ActivateSignalSuccess,\n ListAccountsResponse,\n ListPropertyListsResponse,\n ListCollectionListsResponse,\n ListContentStandardsResponse,\n GetPlanAuditLogsResponse,\n ReportUsageRequest,\n ReportUsageResponse,\n SyncAccountsResponse,\n SyncGovernanceResponse,\n} from '../types/tools.generated';\nimport type {\n AcquireRightsResponse,\n AcquireRightsAcquired,\n AcquireRightsPendingApproval,\n AcquireRightsRejected,\n UpdateRightsResponse,\n UpdateRightsSuccess,\n CreativeApprovalResponse,\n CreativeApproved,\n CreativeRejected,\n CreativePendingReview,\n CreativeApprovalError,\n} from '../types/core.generated';\n\n/**\n * MCP-compatible tool response shape.\n *\n * `structuredContent` is optional because error responses legitimately carry\n * only `content` (the human-readable error text) — forcing every wrapper to\n * fabricate an empty structuredContent obscures the success/error split.\n * All success builders in this file still populate it.\n *\n * Uses Record<string, unknown> for structuredContent to satisfy\n * MCP SDK's CallToolResult index signature requirement.\n */\nexport interface McpToolResponse {\n [key: string]: unknown;\n content: Array<{ type: 'text'; text: string }>;\n structuredContent?: Record<string, unknown>;\n}\n\n// MCP SDK requires structuredContent to have an index signature ({ [x: string]: unknown }).\n// Generated AdCP types are TypeScript interfaces without index signatures. At runtime,\n// JSON objects are always Records — this bridge is safe.\nexport function toStructuredContent(data: object): Record<string, unknown> {\n return data as unknown as Record<string, unknown>;\n}\n\nconst MEDIA_BUY_STATUS_VALUES = new Set([\n 'pending_creatives',\n 'pending_start',\n 'active',\n 'paused',\n 'completed',\n 'rejected',\n 'canceled',\n]);\n\nfunction completedStructuredContent(data: object, opts?: { splitMediaBuyStatus?: boolean }): Record<string, unknown> {\n const structured = { ...toStructuredContent(data) };\n if (\n opts?.splitMediaBuyStatus === true &&\n typeof structured.status === 'string' &&\n MEDIA_BUY_STATUS_VALUES.has(structured.status)\n ) {\n if (structured.media_buy_status === undefined) structured.media_buy_status = structured.status;\n delete structured.status;\n }\n if (structured.status === undefined) structured.status = 'completed';\n return structured;\n}\n\nfunction failedStructuredContent(data: object): Record<string, unknown> {\n const structured = { ...toStructuredContent(data) };\n if (structured.status === undefined) structured.status = 'failed';\n return structured;\n}\n\nfunction stripNotificationConfigSecrets<T extends object>(row: T): T {\n const notificationConfigs = (row as { notification_configs?: unknown }).notification_configs;\n if (!Array.isArray(notificationConfigs)) return row;\n return {\n ...row,\n notification_configs: notificationConfigs.map(config => {\n if (config == null || typeof config !== 'object') return config;\n const authentication = (config as { authentication?: unknown }).authentication;\n if (authentication == null || typeof authentication !== 'object') return config;\n const { credentials: _credentials, ...authenticationWithoutCredentials } = authentication as Record<\n string,\n unknown\n >;\n const stripped = { ...(config as Record<string, unknown>) };\n if (Object.keys(authenticationWithoutCredentials).length > 0) {\n stripped.authentication = authenticationWithoutCredentials;\n } else {\n delete stripped.authentication;\n }\n return stripped;\n }),\n };\n}\n\nfunction stripBusinessEntityBank<T extends object>(row: T, key: 'billing_entity' | 'invoice_recipient'): T {\n const entity = (row as Record<string, unknown>)[key];\n if (entity == null || typeof entity !== 'object') return row;\n if (!('bank' in entity)) return row;\n const { bank: _bank, ...entityWithoutBank } = entity as Record<string, unknown>;\n const stripped = { ...row } as Record<string, unknown>;\n if (Object.keys(entityWithoutBank).length > 0) {\n stripped[key] = entityWithoutBank;\n } else {\n delete stripped[key];\n }\n return stripped as T;\n}\n\nfunction stripAccountWriteOnlyFields<T extends object>(account: T): T {\n return stripBusinessEntityBank(stripNotificationConfigSecrets(account), 'billing_entity');\n}\n\nfunction stripAccountsWriteOnlyFields<T extends { accounts?: unknown }>(data: T): T {\n if (!Array.isArray(data.accounts)) return data;\n return {\n ...data,\n accounts: data.accounts.map(account =>\n account != null && typeof account === 'object' ? stripAccountWriteOnlyFields(account) : account\n ),\n };\n}\n\nfunction stripMediaBuyWriteOnlyFields<T extends object>(buy: T): T {\n let stripped = stripBusinessEntityBank(buy, 'invoice_recipient');\n const account = (stripped as { account?: unknown }).account;\n if (account == null || typeof account !== 'object') return stripped;\n return {\n ...stripped,\n account: stripAccountWriteOnlyFields(account),\n };\n}\n\nfunction stripMediaBuysWriteOnlyFields<T extends { media_buys?: unknown }>(data: T): T {\n if (!Array.isArray(data.media_buys)) return data;\n return {\n ...data,\n media_buys: data.media_buys.map(buy =>\n buy != null && typeof buy === 'object' ? stripMediaBuyWriteOnlyFields(buy) : buy\n ),\n };\n}\n\n// `setup` is only ever nested inside an `Account` (the IO-signing / pending_approval\n// path). A top-level `setup` on a media buy response means the builder read the\n// storyboard's \"setup.url\" shorthand as a top-level field. The strict handler types\n// would catch this, but `DomainHandler` accepts `Record<string, unknown>` for DX,\n// so the error has to move to runtime.\nfunction assertNoTopLevelSetup(data: unknown, builder: string): void {\n if (data != null && typeof data === 'object' && 'setup' in data) {\n throw new Error(\n `${builder}: \\`setup\\` is not a field on the media buy — it belongs inside \\`account.setup\\`. ` +\n `Move \\`{ setup: { url, message } }\\` to \\`{ account: { ..., setup: { url, message } } }\\`. ` +\n `The setup URL is a property of the Account (returned alongside \\`status: 'pending_approval'\\`), not the MediaBuy.`\n );\n }\n}\n\n/**\n * Build a get_adcp_capabilities response.\n *\n * `supported_protocols` lists AdCP domain protocols (media_buy, signals, governance, etc.),\n * NOT transport protocols (mcp, a2a).\n *\n * Stamps the v3 protocol envelope's required `status: \"completed\"` field at\n * the top level of `structuredContent`. Synchronous task responses MUST carry\n * `status` per `protocol-envelope.json` (AdCP #4876); without it the\n * `v3_envelope_integrity/no_legacy_status_fields` conformance step fails.\n * The status is injected here rather than added to `GetAdCPCapabilitiesResponse`\n * because it's an envelope concern, not a payload field — the wire shape and\n * the typed payload model live at different layers.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function capabilitiesResponse(\n data: ServerPayload<GetAdCPCapabilitiesResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [{ type: 'text', text: summary ?? 'Agent capabilities retrieved' }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a get_products response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function productsResponse(\n data: RequireCacheScopeWhenProducts<ServerPayload<GetProductsResponse>>,\n summary?: string\n): McpToolResponse {\n const structured = completedStructuredContent(data);\n const defaultSummary =\n data.unchanged === true ? 'Product feed unchanged' : `Found ${(data.products ?? []).length} products`;\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: structured,\n };\n}\n\n/**\n * Build a successful create_media_buy response.\n *\n * Applies protocol defaults when not explicitly provided:\n * - `revision` defaults to `1` (initial revision for optimistic concurrency)\n * - `confirmed_at` defaults to the current ISO 8601 timestamp\n * - `valid_actions` populated from status via `validActionsForStatus()` when\n * `status` is provided but `valid_actions` is not\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function mediaBuyResponse(data: ServerPayload<CreateMediaBuySuccess>, summary?: string): McpToolResponse {\n assertNoTopLevelSetup(data, 'mediaBuyResponse');\n const withDefaults = { ...stripMediaBuyWriteOnlyFields(data) };\n const legacyStatus = (withDefaults as typeof withDefaults & { status?: unknown }).status;\n if (withDefaults.media_buy_status == null && typeof legacyStatus === 'string') {\n withDefaults.media_buy_status = legacyStatus as NonNullable<typeof withDefaults.media_buy_status>;\n }\n if (withDefaults.revision === undefined) {\n withDefaults.revision = 1;\n }\n if (withDefaults.confirmed_at === undefined) {\n withDefaults.confirmed_at = new Date().toISOString();\n }\n if (withDefaults.valid_actions === undefined && withDefaults.media_buy_status != null) {\n withDefaults.valid_actions = validActionsForStatus(withDefaults.media_buy_status);\n }\n return {\n content: [{ type: 'text', text: summary ?? `Media buy ${withDefaults.media_buy_id} created` }],\n structuredContent: completedStructuredContent(withDefaults, { splitMediaBuyStatus: true }),\n };\n}\n\n/**\n * Build a get_media_buy_delivery response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function deliveryResponse(data: ServerPayload<GetMediaBuyDeliveryResponse>, summary?: string): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text:\n summary ??\n `Delivery data for ${data.media_buy_deliveries.length} media buy${data.media_buy_deliveries.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a list_accounts response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listAccountsResponse(data: ServerPayload<ListAccountsResponse>, summary?: string): McpToolResponse {\n const stripped = stripAccountsWriteOnlyFields(data);\n return {\n content: [{ type: 'text', text: summary ?? `Found ${stripped.accounts.length} accounts` }],\n structuredContent: completedStructuredContent(stripped),\n };\n}\n\n/**\n * Build a list_creative_formats response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listCreativeFormatsResponse(\n data: ServerPayload<ListCreativeFormatsResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [{ type: 'text', text: summary ?? `Found ${data.formats.length} creative formats` }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a successful update_media_buy response.\n *\n * When `media_buy_status` is provided but `valid_actions` is not, auto-populates\n * `valid_actions` from `validActionsForStatus()`.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function updateMediaBuyResponse(data: ServerPayload<UpdateMediaBuySuccess>, summary?: string): McpToolResponse {\n assertNoTopLevelSetup(data, 'updateMediaBuyResponse');\n const withDefaults = { ...stripBusinessEntityBank(data, 'invoice_recipient') };\n const legacyStatus = (withDefaults as typeof withDefaults & { status?: unknown }).status;\n if (withDefaults.media_buy_status == null && typeof legacyStatus === 'string') {\n withDefaults.media_buy_status = legacyStatus as NonNullable<typeof withDefaults.media_buy_status>;\n }\n if (withDefaults.valid_actions === undefined && withDefaults.media_buy_status != null) {\n withDefaults.valid_actions = validActionsForStatus(withDefaults.media_buy_status);\n }\n return {\n content: [{ type: 'text', text: summary ?? `Media buy ${withDefaults.media_buy_id} updated` }],\n structuredContent: completedStructuredContent(withDefaults, { splitMediaBuyStatus: true }),\n };\n}\n\n/**\n * Build a get_media_buys response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function getMediaBuysResponse(data: ServerPayload<GetMediaBuysResponse>, summary?: string): McpToolResponse {\n if (Array.isArray(data.media_buys)) {\n for (const buy of data.media_buys) {\n assertNoTopLevelSetup(buy, 'getMediaBuysResponse');\n }\n }\n const stripped = stripMediaBuysWriteOnlyFields(data);\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Found ${stripped.media_buys.length} media buy${stripped.media_buys.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(stripped),\n };\n}\n\n/**\n * Build a successful provide_performance_feedback response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function performanceFeedbackResponse(\n data: ServerPayload<ProvidePerformanceFeedbackSuccess>,\n summary?: string\n): McpToolResponse {\n return {\n content: [{ type: 'text', text: summary ?? 'Performance feedback accepted' }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a successful build_creative response (single format).\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function buildCreativeResponse(data: ServerPayload<BuildCreativeSuccess>, summary?: string): McpToolResponse {\n // Optional-chain the default summary — handler responses that drop\n // `format_id` still reach the wire-level schema validator (which names\n // the missing field), instead of crashing the dispatcher here with an\n // opaque `Cannot read properties of undefined (reading 'id')`.\n const formatId = data.creative_manifest?.format_id?.id;\n return {\n content: [{ type: 'text', text: summary ?? (formatId ? `Creative built: ${formatId}` : 'Creative built') }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a successful build_creative response (multi-format).\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function buildCreativeMultiResponse(\n data: ServerPayload<BuildCreativeMultiSuccess>,\n summary?: string\n): McpToolResponse {\n const count = data.creative_manifests?.length ?? 0;\n return {\n content: [{ type: 'text', text: summary ?? `Built ${count} creative formats` }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a preview_creative response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function previewCreativeResponse(\n data: PreviewCreativeSingleResponse | PreviewCreativeBatchResponse | PreviewCreativeVariantResponse,\n summary?: string\n): McpToolResponse {\n const defaultSummary =\n data.response_type === 'single'\n ? (() => {\n const n = (data as PreviewCreativeSingleResponse).previews.length;\n return `Preview generated: ${n} variant${n === 1 ? '' : 's'}`;\n })()\n : data.response_type === 'batch'\n ? (() => {\n const n = (data as PreviewCreativeBatchResponse).results.length;\n return `Batch preview: ${n} result${n === 1 ? '' : 's'}`;\n })()\n : `Variant preview generated`;\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a get_creative_delivery response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function creativeDeliveryResponse(\n data: ServerPayload<GetCreativeDeliveryResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [{ type: 'text', text: summary ?? `Creative delivery data for ${data.currency} report` }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a list_creatives response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listCreativesResponse(data: ServerPayload<ListCreativesResponse>, summary?: string): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text:\n summary ?? `Found ${data.query_summary.total_matching} creatives (${data.query_summary.returned} returned)`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a list_property_lists response. The governance property-list catalog\n * is returned under the required `lists` wrapper — use this helper so\n * handlers can't accidentally emit a bare array at the top level (which the\n * storyboard runner flags as shape drift).\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listPropertyListsResponse(\n data: ServerPayload<ListPropertyListsResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Found ${data.lists.length} property list${data.lists.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a list_collection_lists response. Companion to\n * `listPropertyListsResponse` — same `lists` wrapper shape; parallel\n * governance surface for program-level collections.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listCollectionListsResponse(\n data: ServerPayload<ListCollectionListsResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Found ${data.lists.length} collection list${data.lists.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a list_content_standards response. The response type is a union\n * (success branch with `standards` array, error branch with `errors`) —\n * the helper wraps either shape verbatim; schema-level invariants are\n * enforced at wire validation, not here.\n *\n * Discriminates on `'standards' in data` rather than `'errors' in data` so\n * a legitimate success response that happens to carry advisory `errors`\n * still gets a counted summary. The error-only text fires only when\n * `standards` is absent. Mirrors `acquireRightsResponse`'s success-first\n * discrimination pattern a few screens down.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listContentStandardsResponse(\n data: ServerPayload<ListContentStandardsResponse>,\n summary?: string\n): McpToolResponse {\n const defaultSummary =\n 'standards' in data\n ? `Found ${data.standards.length} content standard${data.standards.length === 1 ? '' : 's'}`\n : 'Content standards lookup error';\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a get_plan_audit_logs response. Wraps the audit data array under\n * the required `plans` key — handlers that return a bare array trip the\n * storyboard runner's shape-drift hint.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function getPlanAuditLogsResponse(\n data: ServerPayload<GetPlanAuditLogsResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Audit data for ${data.plans.length} plan${data.plans.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\ntype SyncCreativesResponsePayload = ServerPayload<SyncCreativesSuccess> | ServerPayload<SyncCreativesError>;\n\nfunction isSyncCreativesErrorPayload(data: SyncCreativesResponsePayload): data is ServerPayload<SyncCreativesError> {\n return (\n Array.isArray((data as { errors?: unknown }).errors) && !Array.isArray((data as { creatives?: unknown }).creatives)\n );\n}\n\n/**\n * Build a sync_creatives response. Accepts both row-level success payloads\n * and operation-level error payloads. If a payload includes `creatives`, the\n * builder treats it as success-shaped even when advisory row errors are also\n * present; operation-level errors are the errors-only arm.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function syncCreativesResponse(data: SyncCreativesResponsePayload, summary?: string): McpToolResponse {\n if (isSyncCreativesErrorPayload(data)) {\n const firstError = data.errors[0];\n const defaultSummary = firstError ? `${firstError.code}: ${firstError.message}` : 'Sync creatives failed';\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n isError: true,\n structuredContent: failedStructuredContent(data),\n };\n }\n\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Synced ${data.creatives.length} creative${data.creatives.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a get_signals response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function getSignalsResponse(data: ServerPayload<GetSignalsResponse>, summary?: string): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Found ${(data.signals ?? []).length} signal${(data.signals ?? []).length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a successful activate_signal response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function activateSignalResponse(data: ServerPayload<ActivateSignalSuccess>, summary?: string): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text:\n summary ??\n `Signal activated across ${data.deployments.length} deployment${data.deployments.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a cancel response for update_media_buy with action: 'cancel'.\n *\n * Eliminates the cancellation metadata trap by requiring `canceled_by`\n * and auto-setting `canceled_at`, `status: 'canceled'`, and `valid_actions: []`.\n *\n * Note: `cancellation` is not yet on the `UpdateMediaBuySuccess` generated type\n * (it exists on the full `MediaBuy` entity). This builder constructs the response\n * as a plain object to include it. When the upstream schema adds `cancellation`\n * to the update response, this can be tightened.\n *\n * @example\n * ```typescript\n * server.registerTool(\n * 'update_media_buy',\n * { inputSchema: UpdateMediaBuyRequestSchema.shape },\n * async (params) => {\n * if (params.action === 'cancel') {\n * return cancelMediaBuyResponse({\n * media_buy_id: params.media_buy_id,\n * canceled_by: 'buyer',\n * revision: currentRevision + 1,\n * });\n * }\n * // ... handle other actions\n * }\n * );\n * ```\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function cancelMediaBuyResponse(input: CancelMediaBuyInput, summary?: string): McpToolResponse {\n const cancellation: Record<string, unknown> = {\n canceled_at: input.canceled_at ?? new Date().toISOString(),\n canceled_by: input.canceled_by,\n };\n if (input.reason !== undefined) {\n cancellation.reason = input.reason;\n }\n\n const data: Record<string, unknown> = {\n media_buy_id: input.media_buy_id,\n status: 'canceled',\n valid_actions: [],\n revision: input.revision,\n cancellation,\n };\n if (input.affected_packages !== undefined) {\n data.affected_packages = input.affected_packages;\n }\n if (input.sandbox !== undefined) {\n data.sandbox = input.sandbox;\n }\n\n return {\n content: [{ type: 'text', text: summary ?? `Media buy ${input.media_buy_id} canceled` }],\n structuredContent: completedStructuredContent(data, { splitMediaBuyStatus: true }),\n };\n}\n\n/**\n * Build an `acquire_rights` response. Thin envelope wrapper — enforces the\n * discriminated union on `status` at the type level, wraps the domain object\n * in `content` + `structuredContent`, nothing else. Schema-level constraints\n * (credential length, schemes cardinality, required-field presence) belong\n * in wire-level Zod validation, not here.\n *\n * Enable dev-time enforcement via\n * `createAdcpServer({ validation: { responses: 'strict' } })` until it\n * becomes the default.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function acquireRightsResponse(data: ServerPayload<AcquireRightsResponse>, summary?: string): McpToolResponse {\n const dataAsAny = data as AcquireRightsResponse & { rights_status?: string; rights_id?: string };\n const defaultSummary =\n 'errors' in data\n ? 'Rights acquisition error'\n : dataAsAny.rights_status === 'acquired'\n ? `Rights ${dataAsAny.rights_id} acquired`\n : dataAsAny.rights_status === 'rejected'\n ? `Rights ${dataAsAny.rights_id} rejected`\n : `Rights ${dataAsAny.rights_id} pending approval`;\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Per-variant constructor — builds an `AcquireRightsAcquired` success response\n * and wraps it. Cleaner autocomplete than `acquireRightsResponse({ rights_status: 'acquired', ... })`\n * because a coding agent typing `acquireRightsAcqu…` gets the required-fields\n * shape directly without reading a 4-variant union.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function acquireRightsAcquired(\n data: Omit<AcquireRightsAcquired, 'rights_status'>,\n summary?: string\n): McpToolResponse {\n return acquireRightsResponse({ ...data, rights_status: 'acquired' } as unknown as AcquireRightsResponse, summary);\n}\n\n/** Per-variant constructor for the `pending_approval` branch. */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function acquireRightsPendingApproval(\n data: Omit<AcquireRightsPendingApproval, 'rights_status'>,\n summary?: string\n): McpToolResponse {\n return acquireRightsResponse(\n { ...data, rights_status: 'pending_approval' } as unknown as AcquireRightsResponse,\n summary\n );\n}\n\n/** Per-variant constructor for the `rejected` branch. */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function acquireRightsRejected(\n data: Omit<AcquireRightsRejected, 'rights_status'>,\n summary?: string\n): McpToolResponse {\n return acquireRightsResponse({ ...data, rights_status: 'rejected' } as unknown as AcquireRightsResponse, summary);\n}\n\n/**\n * Build an `update_rights` response. Wraps a `UpdateRightsResponse` (success\n * or error arm — discriminated structurally on `errors` presence) in the\n * standard `content` + `structuredContent` envelope. The framework auto-\n * applies this wrapper for v6 typed-platform handlers; direct callers are\n * v5 raw-handler adopters only.\n *\n * Mirrors `acquireRightsResponse`'s shape conventions (success-first\n * default summary, error pass-through).\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function updateRightsResponse(data: ServerPayload<UpdateRightsResponse>, summary?: string): McpToolResponse {\n const defaultSummary =\n 'errors' in data\n ? 'Rights update error'\n : data.implementation_date == null\n ? `Rights ${data.rights_id} update pending approval`\n : `Rights ${data.rights_id} updated`;\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Per-variant constructor for the success arm. The wire spec doesn't\n * carry a `status` discriminator on `update_rights` (unlike\n * `acquire_rights`); success is identified structurally by absence of\n * `errors`. The narrow constructor is still useful — it gives autocomplete\n * the success-shape fields (`terms`, `generation_credentials`,\n * `rights_constraint`) without crossing the union.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function updateRightsSuccess(data: ServerPayload<UpdateRightsSuccess>, summary?: string): McpToolResponse {\n return updateRightsResponse(data as unknown as UpdateRightsResponse, summary);\n}\n\n/**\n * Build a `creative_approval` webhook response.\n *\n * Unlike the other builders in this module, `creative_approval` is NOT an\n * MCP/A2A tool — the spec models it as an HTTP webhook. The buyer POSTs\n * a `CreativeApprovalRequest` to the `approval_webhook` URL returned in\n * `acquire_rights`; the brand-rights agent reviews and returns one of four\n * arms (Approved / Rejected / PendingReview / Error). Adopters wire this\n * builder into their HTTP server's response path — see the\n * `BrandRightsPlatform.reviewCreativeApproval` Platform method and the\n * skill at `skills/build-brand-rights-agent/SKILL.md` for the receiver\n * pattern.\n *\n * Returns the raw JSON-serializable payload, NOT an `McpToolResponse` —\n * webhooks have no `content` envelope. Adopters serialize this to JSON and\n * write to the HTTP response body.\n */\nexport function creativeApprovalResponse(data: CreativeApprovalResponse): CreativeApprovalResponse {\n return data;\n}\n\n/** Per-variant constructor for the `approved` branch — webhook payload. */\nexport function creativeApprovalApproved(data: Omit<CreativeApproved, 'status'>): CreativeApproved {\n return { ...data, status: 'approved' } as CreativeApproved;\n}\n\n/** Per-variant constructor for the `rejected` branch — webhook payload. */\nexport function creativeApprovalRejected(data: Omit<CreativeRejected, 'status'>): CreativeRejected {\n return { ...data, status: 'rejected' } as CreativeRejected;\n}\n\n/** Per-variant constructor for the `pending_review` branch — webhook payload. */\nexport function creativeApprovalPendingReview(data: Omit<CreativePendingReview, 'status'>): CreativePendingReview {\n return { ...data, status: 'pending_review' } as CreativePendingReview;\n}\n\n/** Per-variant constructor for the multi-error arm — webhook payload. */\nexport function creativeApprovalError(data: CreativeApprovalError): CreativeApprovalError {\n return data;\n}\n\n/**\n * Build a `sync_accounts` response. Thin envelope wrapper accepting the full\n * `SyncAccountsResponse` union; error payloads pass through.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function syncAccountsResponse(data: ServerPayload<SyncAccountsResponse>, summary?: string): McpToolResponse {\n const stripped = 'accounts' in data ? stripAccountsWriteOnlyFields(data) : data;\n const defaultSummary =\n 'errors' in stripped\n ? 'Account sync error'\n : `Synced ${stripped.accounts?.length ?? 0} account${stripped.accounts?.length === 1 ? '' : 's'}`;\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: completedStructuredContent(stripped),\n };\n}\n\n/**\n * Build a sync_governance response. The spec permits two top-level shapes\n * (success / error); the type union enforces discrimination on `status`.\n *\n * Strips `governance_agents[i].authentication` from every row before emit:\n * the spec marks `authentication.credentials` write-only (the buyer sends\n * the bearer; the seller persists it for outbound `check_governance` calls\n * but MUST NOT echo it back). The natural `{ ...entry.governance_agents[i] }`\n * echo idiom would compile silently against the typed return shape and ship\n * credentials over the wire AND into the idempotency replay cache, arming\n * the buyer (and any subsequent caller hitting the same key) to impersonate\n * the seller against the governance agent. Strip is enforced at the wire-\n * emit boundary so both v5 (`opts.accounts.syncGovernance`) and v6\n * (`AccountStore.syncGovernance`) paths are protected.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function syncGovernanceResponse(data: ServerPayload<SyncGovernanceResponse>, summary?: string): McpToolResponse {\n const stripped = stripGovernanceAgentSecrets(data);\n return {\n content: [{ type: 'text', text: summary ?? 'Governance registration synced' }],\n structuredContent: completedStructuredContent(stripped),\n };\n}\n\nfunction stripGovernanceAgentSecrets(\n data: ServerPayload<SyncGovernanceResponse>\n): ServerPayload<SyncGovernanceResponse> {\n if (!('accounts' in data) || !Array.isArray(data.accounts)) return data;\n return {\n ...data,\n accounts: data.accounts.map(row => {\n if (!row.governance_agents) return row;\n return {\n ...row,\n // AdCP 3.1.0-beta.2 narrowed the wire shape to `{ url }` only;\n // `categories` was removed (per-agent category signaling moved\n // out of band) and `authentication` remains write-only. Project\n // explicitly to defeat JS / `as any` smuggling of either field.\n governance_agents: row.governance_agents.map(a => ({ url: a.url })),\n };\n }),\n };\n}\n\n/**\n * Build a `report_usage` response. Thin envelope wrapper. Schema-level\n * `accepted` requiredness is enforced at the type level (via\n * `ReportUsageResponse.accepted: number`) and at wire-level validation;\n * this builder does not re-assert it.\n *\n * @example\n * ```typescript\n * // Explicit:\n * reportUsage: async (params) =>\n * reportUsageResponse({ accepted: 8, errors: [{ usage_index: 2, message: 'invalid' }] })\n *\n * // Ack every usage[] row with optional errors (shortcut):\n * reportUsage: async (params) => reportUsageResponse.acceptAll(params)\n * ```\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function reportUsageResponse(data: ServerPayload<ReportUsageResponse>, summary?: string): McpToolResponse {\n return {\n content: [\n { type: 'text', text: summary ?? `Accepted ${data.accepted} usage record${data.accepted === 1 ? '' : 's'}` },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Shortcut for the common case: accept all rows in the request, optionally\n * minus any `errors[]` the caller computed. Sets\n * `accepted = (request.usage?.length ?? 0) - errors.length`.\n *\n * Use with honest errors — passing no `errors` when rows failed validation\n * is lying to buyers and the audit trail.\n */\nreportUsageResponse.acceptAll = function acceptAll(\n request: ReportUsageRequest,\n opts?: { errors?: ReportUsageResponse['errors']; summary?: string }\n): McpToolResponse {\n const total = request.usage?.length ?? 0;\n const errors = opts?.errors ?? [];\n const accepted = Math.max(0, total - errors.length);\n return reportUsageResponse(\n {\n status: errors.length > 0 ? 'failed' : 'completed',\n accepted,\n ...(errors.length > 0 ? { errors } : {}),\n } as ReportUsageResponse,\n opts?.summary\n );\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/server/responses.ts"],"sourcesContent":["/**\n * Typed response builders for AdCP MCP servers.\n *\n * @deprecated For new code, use `createAdcpServerFromPlatform` from\n * `@adcp/sdk/server` instead — it constructs wire responses internally\n * from your typed `DecisioningPlatform` return values, so adopters don't\n * touch these builders. The functions below remain exported for v5\n * adopters wiring raw MCP tool handlers (mid-migration), and for adopters\n * shaping bespoke tools the platform interface doesn't yet model. For new\n * v6 adopters, ignore this whole module — the framework handles wire\n * shaping.\n *\n * Each function takes typed data (compile-time checked against AdCP schemas)\n * and returns an MCP-compatible tool response with `content` (text summary)\n * + `structuredContent` (typed payload).\n *\n * The input parameter enforces the AdCP schema shape at compile time.\n * The return type is compatible with MCP SDK's CallToolResult.\n *\n * @example\n * ```typescript\n * import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\n * import { legacyCapabilitiesResponse, legacyProductsResponse, adcpError } from '@adcp/sdk/server';\n * import { GetProductsRequestSchema } from '@adcp/sdk/schemas';\n *\n * const server = new McpServer({ name: 'My Agent', version: '1.0.0' });\n *\n * server.registerTool(\n * 'get_adcp_capabilities',\n * { inputSchema: {} },\n * async () => capabilitiesResponse({ supported_protocols: ['media_buy'] })\n * );\n *\n * server.registerTool(\n * 'get_products',\n * { inputSchema: GetProductsRequestSchema.shape },\n * async (params) => legacyProductsResponse({ products: myProducts, cache_scope: 'account' })\n * );\n * ```\n */\n\nimport type { GetAdCPCapabilitiesResponse } from '../types/tools.generated';\nimport type { GetMediaBuyDeliveryResponse } from '../types/tools.generated';\nimport type { RequireCacheScopeWhenProducts, ServerPayload } from '../types/server-payload';\nimport { validActionsForStatus } from './media-buy-helpers';\nimport type { CancelMediaBuyInput } from './media-buy-helpers';\nimport type {\n ListCreativeFormatsResponse,\n GetProductsResponse,\n CreateMediaBuySuccess,\n UpdateMediaBuySuccess,\n GetMediaBuysResponse,\n ProvidePerformanceFeedbackSuccess,\n BuildCreativeSuccess,\n BuildCreativeMultiSuccess,\n PreviewCreativeSingleResponse,\n PreviewCreativeBatchResponse,\n PreviewCreativeVariantResponse,\n GetCreativeDeliveryResponse,\n ListCreativesResponse,\n SyncCreativesError,\n SyncCreativesSuccess,\n GetSignalsResponse,\n ActivateSignalSuccess,\n ListAccountsResponse,\n ListPropertyListsResponse,\n ListCollectionListsResponse,\n ListContentStandardsResponse,\n GetPlanAuditLogsResponse,\n ReportUsageRequest,\n ReportUsageResponse,\n SyncAccountsResponse,\n SyncGovernanceResponse,\n} from '../types/tools.generated';\nimport type {\n AcquireRightsResponse,\n AcquireRightsAcquired,\n AcquireRightsPendingApproval,\n AcquireRightsRejected,\n UpdateRightsResponse,\n UpdateRightsSuccess,\n CreativeApprovalResponse,\n CreativeApproved,\n CreativeRejected,\n CreativePendingReview,\n CreativeApprovalError,\n} from '../types/core.generated';\n\n/**\n * MCP-compatible tool response shape.\n *\n * `structuredContent` is optional because error responses legitimately carry\n * only `content` (the human-readable error text) — forcing every wrapper to\n * fabricate an empty structuredContent obscures the success/error split.\n * All success builders in this file still populate it.\n *\n * Uses Record<string, unknown> for structuredContent to satisfy\n * MCP SDK's CallToolResult index signature requirement.\n */\nexport interface McpToolResponse {\n [key: string]: unknown;\n content: Array<{ type: 'text'; text: string }>;\n structuredContent?: Record<string, unknown>;\n}\n\n// Explicit summaries are framework metadata, not wire data. Keep the marker\n// out-of-band so later framework-owned response rewrites can preserve an\n// adopter disclosure without serializing bookkeeping into structuredContent.\nconst explicitResponseSummaries = new WeakMap<object, string>();\n\n/** @internal */\nexport function _getExplicitResponseSummary(response: McpToolResponse): string | undefined {\n return explicitResponseSummaries.get(response);\n}\n\n// MCP SDK requires structuredContent to have an index signature ({ [x: string]: unknown }).\n// Generated AdCP types are TypeScript interfaces without index signatures. At runtime,\n// JSON objects are always Records — this bridge is safe.\nexport function toStructuredContent(data: object): Record<string, unknown> {\n return data as unknown as Record<string, unknown>;\n}\n\nconst MEDIA_BUY_STATUS_VALUES = new Set([\n 'pending_creatives',\n 'pending_start',\n 'active',\n 'paused',\n 'completed',\n 'rejected',\n 'canceled',\n]);\n\nfunction completedStructuredContent(data: object, opts?: { splitMediaBuyStatus?: boolean }): Record<string, unknown> {\n const structured = { ...toStructuredContent(data) };\n if (\n opts?.splitMediaBuyStatus === true &&\n typeof structured.status === 'string' &&\n MEDIA_BUY_STATUS_VALUES.has(structured.status)\n ) {\n if (structured.media_buy_status === undefined) structured.media_buy_status = structured.status;\n delete structured.status;\n }\n if (structured.status === undefined) structured.status = 'completed';\n return structured;\n}\n\nfunction failedStructuredContent(data: object): Record<string, unknown> {\n const structured = { ...toStructuredContent(data) };\n if (structured.status === undefined) structured.status = 'failed';\n return structured;\n}\n\nfunction stripNotificationConfigSecrets<T extends object>(row: T): T {\n const notificationConfigs = (row as { notification_configs?: unknown }).notification_configs;\n if (!Array.isArray(notificationConfigs)) return row;\n return {\n ...row,\n notification_configs: notificationConfigs.map(config => {\n if (config == null || typeof config !== 'object') return config;\n const authentication = (config as { authentication?: unknown }).authentication;\n if (authentication == null || typeof authentication !== 'object') return config;\n const { credentials: _credentials, ...authenticationWithoutCredentials } = authentication as Record<\n string,\n unknown\n >;\n const stripped = { ...(config as Record<string, unknown>) };\n if (Object.keys(authenticationWithoutCredentials).length > 0) {\n stripped.authentication = authenticationWithoutCredentials;\n } else {\n delete stripped.authentication;\n }\n return stripped;\n }),\n };\n}\n\nfunction stripBusinessEntityBank<T extends object>(row: T, key: 'billing_entity' | 'invoice_recipient'): T {\n const entity = (row as Record<string, unknown>)[key];\n if (entity == null || typeof entity !== 'object') return row;\n if (!('bank' in entity)) return row;\n const { bank: _bank, ...entityWithoutBank } = entity as Record<string, unknown>;\n const stripped = { ...row } as Record<string, unknown>;\n if (Object.keys(entityWithoutBank).length > 0) {\n stripped[key] = entityWithoutBank;\n } else {\n delete stripped[key];\n }\n return stripped as T;\n}\n\nfunction stripAccountWriteOnlyFields<T extends object>(account: T): T {\n return stripBusinessEntityBank(stripNotificationConfigSecrets(account), 'billing_entity');\n}\n\nfunction stripAccountsWriteOnlyFields<T extends { accounts?: unknown }>(data: T): T {\n if (!Array.isArray(data.accounts)) return data;\n return {\n ...data,\n accounts: data.accounts.map(account =>\n account != null && typeof account === 'object' ? stripAccountWriteOnlyFields(account) : account\n ),\n };\n}\n\nfunction stripMediaBuyWriteOnlyFields<T extends object>(buy: T): T {\n let stripped = stripBusinessEntityBank(buy, 'invoice_recipient');\n const account = (stripped as { account?: unknown }).account;\n if (account == null || typeof account !== 'object') return stripped;\n return {\n ...stripped,\n account: stripAccountWriteOnlyFields(account),\n };\n}\n\nfunction stripMediaBuysWriteOnlyFields<T extends { media_buys?: unknown }>(data: T): T {\n if (!Array.isArray(data.media_buys)) return data;\n return {\n ...data,\n media_buys: data.media_buys.map(buy =>\n buy != null && typeof buy === 'object' ? stripMediaBuyWriteOnlyFields(buy) : buy\n ),\n };\n}\n\n// `setup` is only ever nested inside an `Account` (the IO-signing / pending_approval\n// path). A top-level `setup` on a media buy response means the builder read the\n// storyboard's \"setup.url\" shorthand as a top-level field. The strict handler types\n// would catch this, but `DomainHandler` accepts `Record<string, unknown>` for DX,\n// so the error has to move to runtime.\nfunction assertNoTopLevelSetup(data: unknown, builder: string): void {\n if (data != null && typeof data === 'object' && 'setup' in data) {\n throw new Error(\n `${builder}: \\`setup\\` is not a field on the media buy — it belongs inside \\`account.setup\\`. ` +\n `Move \\`{ setup: { url, message } }\\` to \\`{ account: { ..., setup: { url, message } } }\\`. ` +\n `The setup URL is a property of the Account (returned alongside \\`status: 'pending_approval'\\`), not the MediaBuy.`\n );\n }\n}\n\n/**\n * Build a get_adcp_capabilities response.\n *\n * `supported_protocols` lists AdCP domain protocols (media_buy, signals, governance, etc.),\n * NOT transport protocols (mcp, a2a).\n *\n * Stamps the v3 protocol envelope's required `status: \"completed\"` field at\n * the top level of `structuredContent`. Synchronous task responses MUST carry\n * `status` per `protocol-envelope.json` (AdCP #4876); without it the\n * `v3_envelope_integrity/no_legacy_status_fields` conformance step fails.\n * The status is injected here rather than added to `GetAdCPCapabilitiesResponse`\n * because it's an envelope concern, not a payload field — the wire shape and\n * the typed payload model live at different layers.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function capabilitiesResponse(\n data: ServerPayload<GetAdCPCapabilitiesResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [{ type: 'text', text: summary ?? 'Agent capabilities retrieved' }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a get_products response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function productsResponse(\n data: RequireCacheScopeWhenProducts<ServerPayload<GetProductsResponse>>,\n summary?: string\n): McpToolResponse {\n const structured = completedStructuredContent(data);\n const defaultSummary =\n data.unchanged === true ? 'Product feed unchanged' : `Found ${(data.products ?? []).length} products`;\n const response: McpToolResponse = {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: structured,\n };\n if (summary !== undefined) explicitResponseSummaries.set(response, summary);\n return response;\n}\n\n/**\n * Build a successful create_media_buy response.\n *\n * Applies protocol defaults when not explicitly provided:\n * - `revision` defaults to `1` (initial revision for optimistic concurrency)\n * - `confirmed_at` defaults to the current ISO 8601 timestamp\n * - `valid_actions` populated from status via `validActionsForStatus()` when\n * `status` is provided but `valid_actions` is not\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function mediaBuyResponse(data: ServerPayload<CreateMediaBuySuccess>, summary?: string): McpToolResponse {\n assertNoTopLevelSetup(data, 'mediaBuyResponse');\n const withDefaults = { ...stripMediaBuyWriteOnlyFields(data) };\n const legacyStatus = (withDefaults as typeof withDefaults & { status?: unknown }).status;\n if (withDefaults.media_buy_status == null && typeof legacyStatus === 'string') {\n withDefaults.media_buy_status = legacyStatus as NonNullable<typeof withDefaults.media_buy_status>;\n }\n if (withDefaults.revision === undefined) {\n withDefaults.revision = 1;\n }\n if (withDefaults.confirmed_at === undefined) {\n withDefaults.confirmed_at = new Date().toISOString();\n }\n if (withDefaults.valid_actions === undefined && withDefaults.media_buy_status != null) {\n withDefaults.valid_actions = validActionsForStatus(withDefaults.media_buy_status);\n }\n return {\n content: [{ type: 'text', text: summary ?? `Media buy ${withDefaults.media_buy_id} created` }],\n structuredContent: completedStructuredContent(withDefaults, { splitMediaBuyStatus: true }),\n };\n}\n\n/**\n * Build a get_media_buy_delivery response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function deliveryResponse(data: ServerPayload<GetMediaBuyDeliveryResponse>, summary?: string): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text:\n summary ??\n `Delivery data for ${data.media_buy_deliveries.length} media buy${data.media_buy_deliveries.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a list_accounts response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listAccountsResponse(data: ServerPayload<ListAccountsResponse>, summary?: string): McpToolResponse {\n const stripped = stripAccountsWriteOnlyFields(data);\n return {\n content: [{ type: 'text', text: summary ?? `Found ${stripped.accounts.length} accounts` }],\n structuredContent: completedStructuredContent(stripped),\n };\n}\n\n/**\n * Build a list_creative_formats response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listCreativeFormatsResponse(\n data: ServerPayload<ListCreativeFormatsResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [{ type: 'text', text: summary ?? `Found ${data.formats.length} creative formats` }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a successful update_media_buy response.\n *\n * When `media_buy_status` is provided but `valid_actions` is not, auto-populates\n * `valid_actions` from `validActionsForStatus()`.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function updateMediaBuyResponse(data: ServerPayload<UpdateMediaBuySuccess>, summary?: string): McpToolResponse {\n assertNoTopLevelSetup(data, 'updateMediaBuyResponse');\n const withDefaults = { ...stripBusinessEntityBank(data, 'invoice_recipient') };\n const legacyStatus = (withDefaults as typeof withDefaults & { status?: unknown }).status;\n if (withDefaults.media_buy_status == null && typeof legacyStatus === 'string') {\n withDefaults.media_buy_status = legacyStatus as NonNullable<typeof withDefaults.media_buy_status>;\n }\n if (withDefaults.valid_actions === undefined && withDefaults.media_buy_status != null) {\n withDefaults.valid_actions = validActionsForStatus(withDefaults.media_buy_status);\n }\n return {\n content: [{ type: 'text', text: summary ?? `Media buy ${withDefaults.media_buy_id} updated` }],\n structuredContent: completedStructuredContent(withDefaults, { splitMediaBuyStatus: true }),\n };\n}\n\n/**\n * Build a get_media_buys response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function getMediaBuysResponse(data: ServerPayload<GetMediaBuysResponse>, summary?: string): McpToolResponse {\n if (Array.isArray(data.media_buys)) {\n for (const buy of data.media_buys) {\n assertNoTopLevelSetup(buy, 'getMediaBuysResponse');\n }\n }\n const stripped = stripMediaBuysWriteOnlyFields(data);\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Found ${stripped.media_buys.length} media buy${stripped.media_buys.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(stripped),\n };\n}\n\n/**\n * Build a successful provide_performance_feedback response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function performanceFeedbackResponse(\n data: ServerPayload<ProvidePerformanceFeedbackSuccess>,\n summary?: string\n): McpToolResponse {\n return {\n content: [{ type: 'text', text: summary ?? 'Performance feedback accepted' }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a successful build_creative response (single format).\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function buildCreativeResponse(data: ServerPayload<BuildCreativeSuccess>, summary?: string): McpToolResponse {\n // Optional-chain the default summary — handler responses that drop\n // `format_id` still reach the wire-level schema validator (which names\n // the missing field), instead of crashing the dispatcher here with an\n // opaque `Cannot read properties of undefined (reading 'id')`.\n const formatId = data.creative_manifest?.format_id?.id;\n return {\n content: [{ type: 'text', text: summary ?? (formatId ? `Creative built: ${formatId}` : 'Creative built') }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a successful build_creative response (multi-format).\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function buildCreativeMultiResponse(\n data: ServerPayload<BuildCreativeMultiSuccess>,\n summary?: string\n): McpToolResponse {\n const count = data.creative_manifests?.length ?? 0;\n return {\n content: [{ type: 'text', text: summary ?? `Built ${count} creative formats` }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a preview_creative response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function previewCreativeResponse(\n data: PreviewCreativeSingleResponse | PreviewCreativeBatchResponse | PreviewCreativeVariantResponse,\n summary?: string\n): McpToolResponse {\n const defaultSummary =\n data.response_type === 'single'\n ? (() => {\n const n = (data as PreviewCreativeSingleResponse).previews.length;\n return `Preview generated: ${n} variant${n === 1 ? '' : 's'}`;\n })()\n : data.response_type === 'batch'\n ? (() => {\n const n = (data as PreviewCreativeBatchResponse).results.length;\n return `Batch preview: ${n} result${n === 1 ? '' : 's'}`;\n })()\n : `Variant preview generated`;\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a get_creative_delivery response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function creativeDeliveryResponse(\n data: ServerPayload<GetCreativeDeliveryResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [{ type: 'text', text: summary ?? `Creative delivery data for ${data.currency} report` }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a list_creatives response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listCreativesResponse(data: ServerPayload<ListCreativesResponse>, summary?: string): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text:\n summary ?? `Found ${data.query_summary.total_matching} creatives (${data.query_summary.returned} returned)`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a list_property_lists response. The governance property-list catalog\n * is returned under the required `lists` wrapper — use this helper so\n * handlers can't accidentally emit a bare array at the top level (which the\n * storyboard runner flags as shape drift).\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listPropertyListsResponse(\n data: ServerPayload<ListPropertyListsResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Found ${data.lists.length} property list${data.lists.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a list_collection_lists response. Companion to\n * `listPropertyListsResponse` — same `lists` wrapper shape; parallel\n * governance surface for program-level collections.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listCollectionListsResponse(\n data: ServerPayload<ListCollectionListsResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Found ${data.lists.length} collection list${data.lists.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a list_content_standards response. The response type is a union\n * (success branch with `standards` array, error branch with `errors`) —\n * the helper wraps either shape verbatim; schema-level invariants are\n * enforced at wire validation, not here.\n *\n * Discriminates on `'standards' in data` rather than `'errors' in data` so\n * a legitimate success response that happens to carry advisory `errors`\n * still gets a counted summary. The error-only text fires only when\n * `standards` is absent. Mirrors `acquireRightsResponse`'s success-first\n * discrimination pattern a few screens down.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function listContentStandardsResponse(\n data: ServerPayload<ListContentStandardsResponse>,\n summary?: string\n): McpToolResponse {\n const defaultSummary =\n 'standards' in data\n ? `Found ${data.standards.length} content standard${data.standards.length === 1 ? '' : 's'}`\n : 'Content standards lookup error';\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a get_plan_audit_logs response. Wraps the audit data array under\n * the required `plans` key — handlers that return a bare array trip the\n * storyboard runner's shape-drift hint.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function getPlanAuditLogsResponse(\n data: ServerPayload<GetPlanAuditLogsResponse>,\n summary?: string\n): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Audit data for ${data.plans.length} plan${data.plans.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\ntype SyncCreativesResponsePayload = ServerPayload<SyncCreativesSuccess> | ServerPayload<SyncCreativesError>;\n\nfunction isSyncCreativesErrorPayload(data: SyncCreativesResponsePayload): data is ServerPayload<SyncCreativesError> {\n return (\n Array.isArray((data as { errors?: unknown }).errors) && !Array.isArray((data as { creatives?: unknown }).creatives)\n );\n}\n\n/**\n * Build a sync_creatives response. Accepts both row-level success payloads\n * and operation-level error payloads. If a payload includes `creatives`, the\n * builder treats it as success-shaped even when advisory row errors are also\n * present; operation-level errors are the errors-only arm.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function syncCreativesResponse(data: SyncCreativesResponsePayload, summary?: string): McpToolResponse {\n if (isSyncCreativesErrorPayload(data)) {\n const firstError = data.errors[0];\n const defaultSummary = firstError ? `${firstError.code}: ${firstError.message}` : 'Sync creatives failed';\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n isError: true,\n structuredContent: failedStructuredContent(data),\n };\n }\n\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Synced ${data.creatives.length} creative${data.creatives.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a get_signals response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function getSignalsResponse(data: ServerPayload<GetSignalsResponse>, summary?: string): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text: summary ?? `Found ${(data.signals ?? []).length} signal${(data.signals ?? []).length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a successful activate_signal response.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function activateSignalResponse(data: ServerPayload<ActivateSignalSuccess>, summary?: string): McpToolResponse {\n return {\n content: [\n {\n type: 'text',\n text:\n summary ??\n `Signal activated across ${data.deployments.length} deployment${data.deployments.length === 1 ? '' : 's'}`,\n },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Build a cancel response for update_media_buy with action: 'cancel'.\n *\n * Eliminates the cancellation metadata trap by requiring `canceled_by`\n * and auto-setting `canceled_at`, `status: 'canceled'`, and `valid_actions: []`.\n *\n * Note: `cancellation` is not yet on the `UpdateMediaBuySuccess` generated type\n * (it exists on the full `MediaBuy` entity). This builder constructs the response\n * as a plain object to include it. When the upstream schema adds `cancellation`\n * to the update response, this can be tightened.\n *\n * @example\n * ```typescript\n * server.registerTool(\n * 'update_media_buy',\n * { inputSchema: UpdateMediaBuyRequestSchema.shape },\n * async (params) => {\n * if (params.action === 'cancel') {\n * return cancelMediaBuyResponse({\n * media_buy_id: params.media_buy_id,\n * canceled_by: 'buyer',\n * revision: currentRevision + 1,\n * });\n * }\n * // ... handle other actions\n * }\n * );\n * ```\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function cancelMediaBuyResponse(input: CancelMediaBuyInput, summary?: string): McpToolResponse {\n const cancellation: Record<string, unknown> = {\n canceled_at: input.canceled_at ?? new Date().toISOString(),\n canceled_by: input.canceled_by,\n };\n if (input.reason !== undefined) {\n cancellation.reason = input.reason;\n }\n\n const data: Record<string, unknown> = {\n media_buy_id: input.media_buy_id,\n status: 'canceled',\n valid_actions: [],\n revision: input.revision,\n cancellation,\n };\n if (input.affected_packages !== undefined) {\n data.affected_packages = input.affected_packages;\n }\n if (input.sandbox !== undefined) {\n data.sandbox = input.sandbox;\n }\n\n return {\n content: [{ type: 'text', text: summary ?? `Media buy ${input.media_buy_id} canceled` }],\n structuredContent: completedStructuredContent(data, { splitMediaBuyStatus: true }),\n };\n}\n\n/**\n * Build an `acquire_rights` response. Thin envelope wrapper — enforces the\n * discriminated union on `status` at the type level, wraps the domain object\n * in `content` + `structuredContent`, nothing else. Schema-level constraints\n * (credential length, schemes cardinality, required-field presence) belong\n * in wire-level Zod validation, not here.\n *\n * Enable dev-time enforcement via\n * `createAdcpServer({ validation: { responses: 'strict' } })` until it\n * becomes the default.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function acquireRightsResponse(data: ServerPayload<AcquireRightsResponse>, summary?: string): McpToolResponse {\n const dataAsAny = data as AcquireRightsResponse & { rights_status?: string; rights_id?: string };\n const defaultSummary =\n 'errors' in data\n ? 'Rights acquisition error'\n : dataAsAny.rights_status === 'acquired'\n ? `Rights ${dataAsAny.rights_id} acquired`\n : dataAsAny.rights_status === 'rejected'\n ? `Rights ${dataAsAny.rights_id} rejected`\n : `Rights ${dataAsAny.rights_id} pending approval`;\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Per-variant constructor — builds an `AcquireRightsAcquired` success response\n * and wraps it. Cleaner autocomplete than `acquireRightsResponse({ rights_status: 'acquired', ... })`\n * because a coding agent typing `acquireRightsAcqu…` gets the required-fields\n * shape directly without reading a 4-variant union.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function acquireRightsAcquired(\n data: Omit<AcquireRightsAcquired, 'rights_status'>,\n summary?: string\n): McpToolResponse {\n return acquireRightsResponse({ ...data, rights_status: 'acquired' } as unknown as AcquireRightsResponse, summary);\n}\n\n/** Per-variant constructor for the `pending_approval` branch. */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function acquireRightsPendingApproval(\n data: Omit<AcquireRightsPendingApproval, 'rights_status'>,\n summary?: string\n): McpToolResponse {\n return acquireRightsResponse(\n { ...data, rights_status: 'pending_approval' } as unknown as AcquireRightsResponse,\n summary\n );\n}\n\n/** Per-variant constructor for the `rejected` branch. */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function acquireRightsRejected(\n data: Omit<AcquireRightsRejected, 'rights_status'>,\n summary?: string\n): McpToolResponse {\n return acquireRightsResponse({ ...data, rights_status: 'rejected' } as unknown as AcquireRightsResponse, summary);\n}\n\n/**\n * Build an `update_rights` response. Wraps a `UpdateRightsResponse` (success\n * or error arm — discriminated structurally on `errors` presence) in the\n * standard `content` + `structuredContent` envelope. The framework auto-\n * applies this wrapper for v6 typed-platform handlers; direct callers are\n * v5 raw-handler adopters only.\n *\n * Mirrors `acquireRightsResponse`'s shape conventions (success-first\n * default summary, error pass-through).\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function updateRightsResponse(data: ServerPayload<UpdateRightsResponse>, summary?: string): McpToolResponse {\n const defaultSummary =\n 'errors' in data\n ? 'Rights update error'\n : data.implementation_date == null\n ? `Rights ${data.rights_id} update pending approval`\n : `Rights ${data.rights_id} updated`;\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Per-variant constructor for the success arm. The wire spec doesn't\n * carry a `status` discriminator on `update_rights` (unlike\n * `acquire_rights`); success is identified structurally by absence of\n * `errors`. The narrow constructor is still useful — it gives autocomplete\n * the success-shape fields (`terms`, `generation_credentials`,\n * `rights_constraint`) without crossing the union.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function updateRightsSuccess(data: ServerPayload<UpdateRightsSuccess>, summary?: string): McpToolResponse {\n return updateRightsResponse(data as unknown as UpdateRightsResponse, summary);\n}\n\n/**\n * Build a `creative_approval` webhook response.\n *\n * Unlike the other builders in this module, `creative_approval` is NOT an\n * MCP/A2A tool — the spec models it as an HTTP webhook. The buyer POSTs\n * a `CreativeApprovalRequest` to the `approval_webhook` URL returned in\n * `acquire_rights`; the brand-rights agent reviews and returns one of four\n * arms (Approved / Rejected / PendingReview / Error). Adopters wire this\n * builder into their HTTP server's response path — see the\n * `BrandRightsPlatform.reviewCreativeApproval` Platform method and the\n * skill at `skills/build-brand-rights-agent/SKILL.md` for the receiver\n * pattern.\n *\n * Returns the raw JSON-serializable payload, NOT an `McpToolResponse` —\n * webhooks have no `content` envelope. Adopters serialize this to JSON and\n * write to the HTTP response body.\n */\nexport function creativeApprovalResponse(data: CreativeApprovalResponse): CreativeApprovalResponse {\n return data;\n}\n\n/** Per-variant constructor for the `approved` branch — webhook payload. */\nexport function creativeApprovalApproved(data: Omit<CreativeApproved, 'status'>): CreativeApproved {\n return { ...data, status: 'approved' } as CreativeApproved;\n}\n\n/** Per-variant constructor for the `rejected` branch — webhook payload. */\nexport function creativeApprovalRejected(data: Omit<CreativeRejected, 'status'>): CreativeRejected {\n return { ...data, status: 'rejected' } as CreativeRejected;\n}\n\n/** Per-variant constructor for the `pending_review` branch — webhook payload. */\nexport function creativeApprovalPendingReview(data: Omit<CreativePendingReview, 'status'>): CreativePendingReview {\n return { ...data, status: 'pending_review' } as CreativePendingReview;\n}\n\n/** Per-variant constructor for the multi-error arm — webhook payload. */\nexport function creativeApprovalError(data: CreativeApprovalError): CreativeApprovalError {\n return data;\n}\n\n/**\n * Build a `sync_accounts` response. Thin envelope wrapper accepting the full\n * `SyncAccountsResponse` union; error payloads pass through.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function syncAccountsResponse(data: ServerPayload<SyncAccountsResponse>, summary?: string): McpToolResponse {\n const stripped = 'accounts' in data ? stripAccountsWriteOnlyFields(data) : data;\n const defaultSummary =\n 'errors' in stripped\n ? 'Account sync error'\n : `Synced ${stripped.accounts?.length ?? 0} account${stripped.accounts?.length === 1 ? '' : 's'}`;\n return {\n content: [{ type: 'text', text: summary ?? defaultSummary }],\n structuredContent: completedStructuredContent(stripped),\n };\n}\n\n/**\n * Build a sync_governance response. The spec permits two top-level shapes\n * (success / error); the type union enforces discrimination on `status`.\n *\n * Strips `governance_agents[i].authentication` from every row before emit:\n * the spec marks `authentication.credentials` write-only (the buyer sends\n * the bearer; the seller persists it for outbound `check_governance` calls\n * but MUST NOT echo it back). The natural `{ ...entry.governance_agents[i] }`\n * echo idiom would compile silently against the typed return shape and ship\n * credentials over the wire AND into the idempotency replay cache, arming\n * the buyer (and any subsequent caller hitting the same key) to impersonate\n * the seller against the governance agent. Strip is enforced at the wire-\n * emit boundary so both v5 (`opts.accounts.syncGovernance`) and v6\n * (`AccountStore.syncGovernance`) paths are protected.\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function syncGovernanceResponse(data: ServerPayload<SyncGovernanceResponse>, summary?: string): McpToolResponse {\n const stripped = stripGovernanceAgentSecrets(data);\n return {\n content: [{ type: 'text', text: summary ?? 'Governance registration synced' }],\n structuredContent: completedStructuredContent(stripped),\n };\n}\n\nfunction stripGovernanceAgentSecrets(\n data: ServerPayload<SyncGovernanceResponse>\n): ServerPayload<SyncGovernanceResponse> {\n if (!('accounts' in data) || !Array.isArray(data.accounts)) return data;\n return {\n ...data,\n accounts: data.accounts.map(row => {\n if (!row.governance_agents) return row;\n return {\n ...row,\n // AdCP 3.1.0-beta.2 narrowed the wire shape to `{ url }` only;\n // `categories` was removed (per-agent category signaling moved\n // out of band) and `authentication` remains write-only. Project\n // explicitly to defeat JS / `as any` smuggling of either field.\n governance_agents: row.governance_agents.map(a => ({ url: a.url })),\n };\n }),\n };\n}\n\n/**\n * Build a `report_usage` response. Thin envelope wrapper. Schema-level\n * `accepted` requiredness is enforced at the type level (via\n * `ReportUsageResponse.accepted: number`) and at wire-level validation;\n * this builder does not re-assert it.\n *\n * @example\n * ```typescript\n * // Explicit:\n * reportUsage: async (params) =>\n * reportUsageResponse({ accepted: 8, errors: [{ usage_index: 2, message: 'invalid' }] })\n *\n * // Ack every usage[] row with optional errors (shortcut):\n * reportUsage: async (params) => reportUsageResponse.acceptAll(params)\n * ```\n */\n/** @deprecated v6: `createAdcpServerFromPlatform` constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only. */\nexport function reportUsageResponse(data: ServerPayload<ReportUsageResponse>, summary?: string): McpToolResponse {\n return {\n content: [\n { type: 'text', text: summary ?? `Accepted ${data.accepted} usage record${data.accepted === 1 ? '' : 's'}` },\n ],\n structuredContent: completedStructuredContent(data),\n };\n}\n\n/**\n * Shortcut for the common case: accept all rows in the request, optionally\n * minus any `errors[]` the caller computed. Sets\n * `accepted = (request.usage?.length ?? 0) - errors.length`.\n *\n * Use with honest errors — passing no `errors` when rows failed validation\n * is lying to buyers and the audit trail.\n */\nreportUsageResponse.acceptAll = function acceptAll(\n request: ReportUsageRequest,\n opts?: { errors?: ReportUsageResponse['errors']; summary?: string }\n): McpToolResponse {\n const total = request.usage?.length ?? 0;\n const errors = opts?.errors ?? [];\n const accepted = Math.max(0, total - errors.length);\n return reportUsageResponse(\n {\n status: errors.length > 0 ? 'failed' : 'completed',\n accepted,\n ...(errors.length > 0 ? { errors } : {}),\n } as ReportUsageResponse,\n opts?.summary\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { validActionsForStatus } from "./media-buy-helpers.mjs";
|
|
2
|
+
const explicitResponseSummaries = /* @__PURE__ */ new WeakMap();
|
|
3
|
+
function _getExplicitResponseSummary(response) {
|
|
4
|
+
return explicitResponseSummaries.get(response);
|
|
5
|
+
}
|
|
2
6
|
function toStructuredContent(data) {
|
|
3
7
|
return data;
|
|
4
8
|
}
|
|
@@ -104,10 +108,12 @@ function capabilitiesResponse(data, summary) {
|
|
|
104
108
|
function productsResponse(data, summary) {
|
|
105
109
|
const structured = completedStructuredContent(data);
|
|
106
110
|
const defaultSummary = data.unchanged === true ? "Product feed unchanged" : `Found ${(data.products ?? []).length} products`;
|
|
107
|
-
|
|
111
|
+
const response = {
|
|
108
112
|
content: [{ type: "text", text: summary ?? defaultSummary }],
|
|
109
113
|
structuredContent: structured
|
|
110
114
|
};
|
|
115
|
+
if (summary !== void 0) explicitResponseSummaries.set(response, summary);
|
|
116
|
+
return response;
|
|
111
117
|
}
|
|
112
118
|
function mediaBuyResponse(data, summary) {
|
|
113
119
|
assertNoTopLevelSetup(data, "mediaBuyResponse");
|
|
@@ -446,6 +452,7 @@ reportUsageResponse.acceptAll = function acceptAll(request, opts) {
|
|
|
446
452
|
);
|
|
447
453
|
};
|
|
448
454
|
export {
|
|
455
|
+
_getExplicitResponseSummary,
|
|
449
456
|
acquireRightsAcquired,
|
|
450
457
|
acquireRightsPendingApproval,
|
|
451
458
|
acquireRightsRejected,
|