@adcp/sdk 16.1.0 → 16.3.0

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.
Files changed (126) hide show
  1. package/AGENTS.md +2 -0
  2. package/dist/lib/core/AgentClient.js +17 -1
  3. package/dist/lib/core/AgentClient.mjs +17 -1
  4. package/dist/lib/core/SingleAgentClient.js +13 -0
  5. package/dist/lib/core/SingleAgentClient.mjs +13 -0
  6. package/dist/lib/core/TaskExecutor.js +88 -13
  7. package/dist/lib/core/TaskExecutor.mjs +89 -14
  8. package/dist/lib/errors/index.d.mts +34 -0
  9. package/dist/lib/errors/index.d.ts +34 -0
  10. package/dist/lib/errors/index.js +11 -0
  11. package/dist/lib/errors/index.mjs +10 -0
  12. package/dist/lib/governance/authorization.d.mts +66 -0
  13. package/dist/lib/governance/authorization.d.ts +66 -0
  14. package/dist/lib/governance/authorization.js +181 -37
  15. package/dist/lib/governance/authorization.mjs +183 -36
  16. package/dist/lib/governance/index.d.mts +2 -2
  17. package/dist/lib/governance/index.d.ts +2 -2
  18. package/dist/lib/governance/index.js +4 -2
  19. package/dist/lib/governance/index.mjs +3 -1
  20. package/dist/lib/identity-3.3/index.d.mts +1 -0
  21. package/dist/lib/identity-3.3/index.d.ts +1 -0
  22. package/dist/lib/identity-3.3/index.js +3 -1
  23. package/dist/lib/identity-3.3/index.mjs +1 -0
  24. package/dist/lib/identity-3.3/jws-artifacts.d.mts +147 -0
  25. package/dist/lib/identity-3.3/jws-artifacts.d.ts +147 -0
  26. package/dist/lib/identity-3.3/jws-artifacts.js +258 -0
  27. package/dist/lib/identity-3.3/jws-artifacts.mjs +234 -0
  28. package/dist/lib/identity-3.3/revocation.d.mts +7 -0
  29. package/dist/lib/identity-3.3/revocation.d.ts +7 -0
  30. package/dist/lib/identity-3.3/revocation.js +13 -0
  31. package/dist/lib/identity-3.3/revocation.mjs +13 -0
  32. package/dist/lib/index.d.mts +3 -3
  33. package/dist/lib/index.d.ts +3 -3
  34. package/dist/lib/index.js +4 -0
  35. package/dist/lib/index.mjs +4 -0
  36. package/dist/lib/media-buy/compatibility.d.mts +1 -0
  37. package/dist/lib/media-buy/compatibility.d.ts +1 -0
  38. package/dist/lib/media-buy/compatibility.js +33 -10
  39. package/dist/lib/media-buy/compatibility.mjs +32 -14
  40. package/dist/lib/negotiation/buyer.js +11 -5
  41. package/dist/lib/negotiation/buyer.mjs +11 -5
  42. package/dist/lib/negotiation/types.d.mts +4 -2
  43. package/dist/lib/negotiation/types.d.ts +4 -2
  44. package/dist/lib/negotiation/verification.d.mts +15 -6
  45. package/dist/lib/negotiation/verification.d.ts +15 -6
  46. package/dist/lib/negotiation/verification.js +146 -27
  47. package/dist/lib/negotiation/verification.mjs +146 -28
  48. package/dist/lib/negotiation/version.d.mts +6 -0
  49. package/dist/lib/negotiation/version.d.ts +6 -0
  50. package/dist/lib/negotiation/version.js +60 -0
  51. package/dist/lib/negotiation/version.mjs +33 -0
  52. package/dist/lib/registry/types.generated.d.mts +24 -1
  53. package/dist/lib/registry/types.generated.d.ts +24 -1
  54. package/dist/lib/server/create-adcp-server.js +1 -1
  55. package/dist/lib/server/create-adcp-server.mjs +1 -1
  56. package/dist/lib/server/error-arm-tools.d.mts +10 -10
  57. package/dist/lib/server/error-arm-tools.d.ts +10 -10
  58. package/dist/lib/server/error-arm-tools.js +22 -58
  59. package/dist/lib/server/error-arm-tools.mjs +30 -65
  60. package/dist/lib/server/index.d.mts +2 -2
  61. package/dist/lib/server/index.d.ts +2 -2
  62. package/dist/lib/server/index.js +2 -0
  63. package/dist/lib/server/index.mjs +2 -0
  64. package/dist/lib/signing/web-bot-auth.js +5 -0
  65. package/dist/lib/signing/web-bot-auth.mjs +4 -0
  66. package/dist/lib/testing/compliance/comply.js +17 -0
  67. package/dist/lib/testing/compliance/comply.mjs +17 -0
  68. package/dist/lib/testing/index.d.mts +3 -0
  69. package/dist/lib/testing/index.d.ts +3 -0
  70. package/dist/lib/testing/index.js +44 -2
  71. package/dist/lib/testing/index.mjs +42 -0
  72. package/dist/lib/testing/storyboard/collection-selection.d.mts +259 -0
  73. package/dist/lib/testing/storyboard/collection-selection.d.ts +259 -0
  74. package/dist/lib/testing/storyboard/collection-selection.js +384 -0
  75. package/dist/lib/testing/storyboard/collection-selection.mjs +348 -0
  76. package/dist/lib/testing/storyboard/context.js +12 -6
  77. package/dist/lib/testing/storyboard/context.mjs +12 -6
  78. package/dist/lib/testing/storyboard/fixture-resolution.d.mts +39 -1
  79. package/dist/lib/testing/storyboard/fixture-resolution.d.ts +39 -1
  80. package/dist/lib/testing/storyboard/fixture-resolution.js +216 -12
  81. package/dist/lib/testing/storyboard/fixture-resolution.mjs +218 -12
  82. package/dist/lib/testing/storyboard/index.d.mts +9 -2
  83. package/dist/lib/testing/storyboard/index.d.ts +9 -2
  84. package/dist/lib/testing/storyboard/index.js +51 -2
  85. package/dist/lib/testing/storyboard/index.mjs +49 -1
  86. package/dist/lib/testing/storyboard/prepared-fixtures.d.mts +471 -0
  87. package/dist/lib/testing/storyboard/prepared-fixtures.d.ts +471 -0
  88. package/dist/lib/testing/storyboard/prepared-fixtures.js +434 -0
  89. package/dist/lib/testing/storyboard/prepared-fixtures.mjs +389 -0
  90. package/dist/lib/testing/storyboard/protected-context.d.mts +127 -0
  91. package/dist/lib/testing/storyboard/protected-context.d.ts +127 -0
  92. package/dist/lib/testing/storyboard/protected-context.js +301 -0
  93. package/dist/lib/testing/storyboard/protected-context.mjs +267 -0
  94. package/dist/lib/testing/storyboard/rejection-hints.js +13 -4
  95. package/dist/lib/testing/storyboard/rejection-hints.mjs +13 -4
  96. package/dist/lib/testing/storyboard/runner.d.mts +24 -0
  97. package/dist/lib/testing/storyboard/runner.d.ts +24 -0
  98. package/dist/lib/testing/storyboard/runner.js +1061 -105
  99. package/dist/lib/testing/storyboard/runner.mjs +1075 -106
  100. package/dist/lib/testing/storyboard/seeding.d.mts +15 -1
  101. package/dist/lib/testing/storyboard/seeding.d.ts +15 -1
  102. package/dist/lib/testing/storyboard/seeding.js +272 -12
  103. package/dist/lib/testing/storyboard/seeding.mjs +274 -13
  104. package/dist/lib/testing/storyboard/types.d.mts +207 -10
  105. package/dist/lib/testing/storyboard/types.d.ts +207 -10
  106. package/dist/lib/testing/storyboard/types.js +1 -1
  107. package/dist/lib/testing/storyboard/types.mjs +1 -1
  108. package/dist/lib/testing/storyboard/validations.d.mts +1 -1
  109. package/dist/lib/testing/storyboard/validations.d.ts +1 -1
  110. package/dist/lib/testing/storyboard/validations.js +95 -0
  111. package/dist/lib/testing/storyboard/validations.mjs +95 -0
  112. package/dist/lib/validation/bundled-schema-store.js +5 -0
  113. package/dist/lib/validation/bundled-schema-store.mjs +4 -0
  114. package/dist/lib/validation/schema-loader.js +19 -2
  115. package/dist/lib/validation/schema-loader.mjs +22 -3
  116. package/dist/lib/version.d.mts +3 -3
  117. package/dist/lib/version.d.ts +3 -3
  118. package/dist/lib/version.js +3 -3
  119. package/dist/lib/version.mjs +3 -3
  120. package/docs/TYPE-SUMMARY.md +2 -2
  121. package/docs/guides/COLLECTION-FIXTURE-FOUNDATION.md +850 -0
  122. package/docs/guides/PROPOSAL-TERMS-VERIFICATION.md +66 -0
  123. package/docs/llms.txt +4 -3
  124. package/docs/migration-14.x-rc-worksheet.md +4 -4
  125. package/docs/migration-agent-identity-3.3.md +51 -6
  126. package/package.json +6 -4
@@ -526,6 +526,9 @@ async function legacyRevocationCheck(options, origin, keyid) {
526
526
  function testKeysAllowed(allowTestKeys) {
527
527
  return allowTestKeys === true && ["test", "development"].includes(process.env.NODE_ENV ?? "");
528
528
  }
529
+ function isRefusedWebBotAuthTestKey(kid, allowTestKeys) {
530
+ return TEST_KIDS.has(kid) && !testKeysAllowed(allowTestKeys);
531
+ }
529
532
  async function verifyKeyDirectory(response, now = Date.now() / 1e3, options = {}) {
530
533
  try {
531
534
  if (!Number.isFinite(now)) denied("directory_invalid");
@@ -892,6 +895,7 @@ export {
892
895
  deferWebBotAuthPrincipalFailure,
893
896
  getWebBotAuthAuthorizationFailure,
894
897
  getWebBotAuthLegacyOriginGate,
898
+ isRefusedWebBotAuthTestKey,
895
899
  isVerifiedWebBotSigner,
896
900
  isWebBotAuthRevocationChecked,
897
901
  jwkThumbprint,
@@ -37,6 +37,7 @@ var import_storyboard_tracks = require('./storyboard-tracks.js');
37
37
  var import_runner = require('../storyboard/runner.js');
38
38
  var import_native_a2a_compliance = require('../storyboard/native-a2a-compliance.js');
39
39
  var import_test_kit = require('../storyboard/test-kit.js');
40
+ var import_protected_context = require('../storyboard/protected-context.js');
40
41
  var import_spec_conformance = require('./spec-conformance.js');
41
42
  var import_default_invariants = require('../storyboard/default-invariants.js');
42
43
  var import_agent_routing = require('../storyboard/agent-routing.js');
@@ -429,6 +430,12 @@ async function comply(agentUrl, options = {}) {
429
430
  `Refusing to run compliance against a non-HTTPS URL: ${agentUrl}. Production agents MUST terminate TLS. Pass { allow_http: true } (or --allow-http) for local development.`
430
431
  );
431
432
  }
433
+ const forced = options;
434
+ if (forced.prepared_fixtures !== void 0) {
435
+ throw new Error(
436
+ "comply() does not accept prepared_fixtures. Prepared state binds one storyboard digest, and comply selects its storyboard set from capability discovery at runtime \u2014 so there is no scope to authorize against before the agent is contacted. Call prepareStoryboardFixtures() and pass the state to runStoryboard() or runStoryboardStep() per storyboard instead. See docs/guides/COLLECTION-FIXTURE-FOUNDATION.md section 4."
437
+ );
438
+ }
432
439
  return (0, import_client.withTestClientScope)(
433
440
  () => (0, import_protocols.withMCPConnectionScope)(
434
441
  async () => {
@@ -1077,6 +1084,16 @@ function buildRoutedStoryboardRun(agentUrl, selected, runOptions, route) {
1077
1084
  const leak = testKitCredentialLeak(storyboard, agentUnderTestKeys);
1078
1085
  if (leak) return { refused: `${selected.id} cannot be routed: ${leak}` };
1079
1086
  const context = runOptions.context !== void 0 || route.context !== void 0 ? { ...runOptions.context, ...route.context } : void 0;
1087
+ if (context !== void 0) {
1088
+ const reserved = Object.keys(context).filter(
1089
+ (key) => (0, import_protected_context.isProtectedContextKey)(key) || key === "__proto__" || key === "constructor" || key === "prototype"
1090
+ );
1091
+ if (reserved.length > 0) {
1092
+ return {
1093
+ refused: `${selected.id} cannot be routed: route context declares reserved or prototype-sensitive key(s) ${reserved.join(", ")}; prepared state cannot be imported from route JSON`
1094
+ };
1095
+ }
1096
+ }
1080
1097
  const options = {
1081
1098
  ...runOptions,
1082
1099
  agents: isolated,
@@ -16,6 +16,7 @@ import {
16
16
  } from "../storyboard/runner.mjs";
17
17
  import { applyNativeA2AComplianceTransportOptions } from "../storyboard/native-a2a-compliance.mjs";
18
18
  import { validateTestKit } from "../storyboard/test-kit.mjs";
19
+ import { isProtectedContextKey } from "../storyboard/protected-context.mjs";
19
20
  import { checkAccountDiscoveryGate, isAccountBearingSpecialism } from "./spec-conformance.mjs";
20
21
  import { registerDefaultInvariants } from "../storyboard/default-invariants.mjs";
21
22
  import { hasAnyRequiredTool } from "../storyboard/agent-routing.mjs";
@@ -419,6 +420,12 @@ async function comply(agentUrl, options = {}) {
419
420
  `Refusing to run compliance against a non-HTTPS URL: ${agentUrl}. Production agents MUST terminate TLS. Pass { allow_http: true } (or --allow-http) for local development.`
420
421
  );
421
422
  }
423
+ const forced = options;
424
+ if (forced.prepared_fixtures !== void 0) {
425
+ throw new Error(
426
+ "comply() does not accept prepared_fixtures. Prepared state binds one storyboard digest, and comply selects its storyboard set from capability discovery at runtime \u2014 so there is no scope to authorize against before the agent is contacted. Call prepareStoryboardFixtures() and pass the state to runStoryboard() or runStoryboardStep() per storyboard instead. See docs/guides/COLLECTION-FIXTURE-FOUNDATION.md section 4."
427
+ );
428
+ }
422
429
  return withTestClientScope(
423
430
  () => withMCPConnectionScope(
424
431
  async () => {
@@ -1067,6 +1074,16 @@ function buildRoutedStoryboardRun(agentUrl, selected, runOptions, route) {
1067
1074
  const leak = testKitCredentialLeak(storyboard, agentUnderTestKeys);
1068
1075
  if (leak) return { refused: `${selected.id} cannot be routed: ${leak}` };
1069
1076
  const context = runOptions.context !== void 0 || route.context !== void 0 ? { ...runOptions.context, ...route.context } : void 0;
1077
+ if (context !== void 0) {
1078
+ const reserved = Object.keys(context).filter(
1079
+ (key) => isProtectedContextKey(key) || key === "__proto__" || key === "constructor" || key === "prototype"
1080
+ );
1081
+ if (reserved.length > 0) {
1082
+ return {
1083
+ refused: `${selected.id} cannot be routed: route context declares reserved or prototype-sensitive key(s) ${reserved.join(", ")}; prepared state cannot be imported from route JSON`
1084
+ };
1085
+ }
1086
+ }
1070
1087
  const options = {
1071
1088
  ...runOptions,
1072
1089
  agents: isolated,
@@ -1,4 +1,5 @@
1
1
  export { assertPendingWebFlowStoreRoundTrip, type PendingWebFlowStoreRoundTripOptions } from './pending-web-flow-store.mjs';
2
+ export { PreparedFixturesDeniedError } from '../errors/index.mjs';
2
3
  export { testAgent, testAgentA2A, testAgentClient, createTestAgent, TEST_AGENT_TOKEN, TEST_AGENT_MCP_CONFIG, TEST_AGENT_A2A_CONFIG, testAgentNoAuth, testAgentNoAuthA2A, TEST_AGENT_NO_AUTH_MCP_CONFIG, TEST_AGENT_NO_AUTH_A2A_CONFIG, creativeAgent, } from './test-helpers.mjs';
3
4
  export { testAgent as runAgentTests, formatTestResults, formatTestResultsJSON, formatTestResultsSummary, setAgentTesterLogger, getLogger, createTestClient, runStep, testHealthCheck, testDiscovery, testCreateMediaBuy, testFullSalesFlow, testReportingFlow, testCreativeSync, testCreativeInline, testCreativeFlow, testSignalsFlow, testErrorHandling, testValidation, testPricingEdgeCases, testTemporalValidation, testBehaviorAnalysis, testResponseConsistency, testGovernancePropertyLists, testGovernanceContentStandards, testPropertyListFilters, testSISessionLifecycle, testSIAvailability, testSIHandoff, testCapabilityDiscovery, testSyncAudiences, resolveAccountForMediaBuy, resolveAccountForAudiences, testSchemaCompliance, testMediaBuyLifecycle, testTerminalStateEnforcement, testPackageLifecycle, testCreativeStateMachine, testMediaBuyStateMachine, testAccountStateMachine, testSessionStateMachine, testDeliverySimulation, testBudgetSimulation, testControllerValidation, testBrandRightsFlow, hasBrandRightsTools, hasGovernanceTools, hasSITools, likelySupportsV3, testAllScenarios, getApplicableScenarios, SCENARIO_REQUIREMENTS, DEFAULT_SCENARIOS, formatSuiteResults, formatSuiteResultsJSON, type TestScenario, type TestOptions, type OrchestratorOptions, type TestResult, type SuiteResult, type TestStepResult, type AgentProfile, type TaskResult, type TestClient, type Logger, } from './agent-tester.mjs';
4
5
  export { comply, buildComplianceBundleResults, formatComplianceResults, formatComplianceResultsJSON, buildComplianceSummary, SAMPLE_BRIEFS, getBriefById, getBriefsByVertical, type ComplyOptions, type ComplianceBundleAssessmentOptions, type ComplyRouteStoryboardContext, type ComplyStoryboardRoute, type ComplyStoryboardRouting, type ComplyStoryboardSkip, type ComplianceTrack, type TrackResult, type TestedTrackEntry, type TrackStatus, type ComplianceBundleResult, type ComplianceBundleStatus, type ComplianceResult, type ComplianceSummary, type ComplianceSummaryArtifact, type BuildSummaryOptions, type AdvisoryObservation, type ObservationSource, type SampleBrief, } from './compliance/index.mjs';
@@ -18,5 +19,7 @@ export { runAgainstLocalAgent } from './local-agent-runner.mjs';
18
19
  export type { LocalAgentRunResult, PerStoryboardOverride, RunAgainstLocalAgentOptions } from './local-agent-runner.mjs';
19
20
  export { registerExternalSchemaRoot, unregisterExternalSchemaRoot, withExternalSchemaRoot, withServedReleaseSchemaRoots, } from '../validation/index.mjs';
20
21
  export { runStoryboard, runStoryboardStep, applyAdcpVersionRunOptions, applyStoryboardVersionOptions, getFirstStepPreview, parseStoryboard, loadStoryboardFile, normalizeValidationOnlyTasks, VALIDATION_ONLY_TASK, applyFixtureBindingsToRequest, buildFixtureResolutionSpecs, FixtureBindingRegistry, matchesFixtureRequirements, normalizeFixtureMatchExpression, validateFixtureResolutionDeclarations, getComplianceCacheDir, loadComplianceIndex, listBundles, loadBundleStoryboards, listAllComplianceStoryboards, getComplianceStoryboardById, findBundleById, resolveBundleOrStoryboard, resolveStoryboardsForCapabilities, isComplianceVersionSupported, CapabilityResolutionError, TASK_TO_METHOD, executeStoryboardTask, expandCreativeAssetDirectives, findUnresolvedCreativeAssetDirectives, extractContext, injectContext, runValidations, resolvePath, RateLimitTripObserver, RATE_LIMIT_TRIP_CONTRACT, RATE_LIMIT_TRIP_DEFAULT_REPLAY_MAX_WAIT_SECONDS, RATE_LIMIT_TRIP_MAX_ATTEMPTS_MAX, RATE_LIMIT_TRIP_MAX_ATTEMPTS_MIN, validateRateLimitTripSpec, getSandboxEntities, getSandboxBrands, getSandboxBrand, isSandboxDomain, clearSandboxCache, registerAssertion, getAssertion, listAssertions, listDefaultAssertions, clearAssertionRegistry, resolveAssertions, type AssertionSpec, type AssertionContext, type AssertionResult, type RegisterAssertionOptions, type Storyboard, type StoryboardFixtureResolution, type FixtureResolutionStrategy, type FixtureMatchOperator, type FixtureMatchClause, type FixtureResolutionDeclaration, type ProductFixtureResolutionDeclaration, type PricingOptionFixtureResolutionDeclaration, type FixtureResolutionStatus, type FixtureResolutionRecord, type FixtureResolutionAttempt, type FixtureResolutionEvidence, type FixtureResolutionCoverageGap, type StoryboardInvariants, type StoryboardInvariantsObject, type StepInvariantsObject, type StoryboardPhase, type StoryboardStep, type RateLimitTripSpec, type StoryboardValidation, type RateLimitTripClient, type RateLimitTripFailureCode, type RateLimitTripObservation, type RateLimitTripObserverOptions, type RateLimitTripResponseSnapshot, type RateLimitTripStructuredResult, type RateLimitTripTaskOptions, type StoryboardContext, type StoryboardRunOptions, type TrustedMatchContextProviderEndpoint, type TrustedMatchContextRegistrationContext, type TrustedMatchContextRouterRunnerOptions, type TrustedMatchPublisherAuthOperation, type TrustedMatchPublisherCredentialState, type TrustedMatchPublisherAuthTls, type TrustedMatchPublisherAuthProbeConfiguration, type TrustedMatchPublisherAuthRunner, type ValidationResult, type StoryboardStepPreview, type StoryboardStepResult, type StoryboardStepHint, type StoryboardStepHintBase, type ContextValueRejectedHint, type ShapeDriftHint, type MissingRequiredFieldHint, type FormatMismatchHint, type MonotonicViolationHint, type ContextProvenanceEntry, type StoryboardPhaseResult, type StoryboardResult, type RunnerNotice, type NoticeCode, type NoticeSeverity, type AgentCapabilities, type BundleKind, type BundleRef, type CapabilityResolutionCode, type ComplianceIndex, type ComplianceIndexProtocol, type ComplianceIndexSpecialism, type ResolveOptions, type ResolvedBundle, type ResolvedStoryboards, type SandboxBrand, type SandboxAgent, type SandboxEntities, type BrandJson, type AdagentsJson, gradeOAuthMetadataGraph, gradeOAuthMetadataGraphVector, loadOAuthMetadataGraphVectors, normalizeOAuthResourceForComparison, redactOAuthUrlForOutput, type GradeOAuthMetadataGraphOptions, type OAuthMetadataGraphErrorCode, type OAuthMetadataGraphFinding, type OAuthMetadataGraphGrade, type OAuthMetadataGraphObservation, type OAuthMetadataGraphVector, type OAuthMetadataGraphVectorCorpus, BrandJsonSchema, AdagentsJsonSchema, MCP_SESSION_PROBE_TASK, } from './storyboard/index.mjs';
22
+ export { COLLECTION_DIAGNOSTIC_LIMIT, COLLECTION_PAIR_LIMIT, COLLECTION_TARGETING_MODES, COLLECTION_WITNESS_KINDS, diffCollectionPairSets, evaluateCollectionSelection, formatCollectionPair, isProtectedContextKey, isTrustedPreparedFixtures, normalizeCollectionSelectors, prepareStoryboardFixtures, PREPARED_FIXTURES_CONTRACT_VERSION, PreparedStoryboardFixtures, productSatisfiesCollectionSelection, PROTECTED_CONTEXT_PREFIX, summarizeCollectionPairs, ProtectedContextViolation, readCollectionWitness, withPreparedFixtures, } from './storyboard/index.mjs';
23
+ export type { CollectionNormalizationCode, CollectionNormalizationFailure, CollectionNormalizationResult, CrossPublisherCollectionRelation, CollectionPair, CollectionSelectionEvaluation, CollectionSelectionSelector, CollectionSelectionWitness, CollectionSelectorObject, CollectionWitnessKind, CollectionWitnessReadResult, FixtureContextOutput, NormalizedCollectionSelectors, PreparedFixtureBinding, PreparedFixtureSelection, PreparedFixturesAuthorizer, PreparedFixturesDecision, PreparedFixturesDisposition, PreparedFixturesLookup, PreparedFixturesRefusal, PreparedFixturesRefusalCode, PreparedFixturesReference, PreparedSchemaArtifact, ProtectedContextViolationCode, ResolvedCollectionSelectionSelector, } from './storyboard/index.mjs';
21
24
  export { resolveCreativeBuildProbe, validateCreativeBuildProbeSpec } from './storyboard/index.mjs';
22
25
  export type { CreativeBuildProbeSpec, CreativeBuildProbeInputFixture, CreativeBuildProbeResolution, } from './storyboard/index.mjs';
@@ -1,4 +1,5 @@
1
1
  export { assertPendingWebFlowStoreRoundTrip, type PendingWebFlowStoreRoundTripOptions } from './pending-web-flow-store';
2
+ export { PreparedFixturesDeniedError } from '../errors';
2
3
  export { testAgent, testAgentA2A, testAgentClient, createTestAgent, TEST_AGENT_TOKEN, TEST_AGENT_MCP_CONFIG, TEST_AGENT_A2A_CONFIG, testAgentNoAuth, testAgentNoAuthA2A, TEST_AGENT_NO_AUTH_MCP_CONFIG, TEST_AGENT_NO_AUTH_A2A_CONFIG, creativeAgent, } from './test-helpers';
3
4
  export { testAgent as runAgentTests, formatTestResults, formatTestResultsJSON, formatTestResultsSummary, setAgentTesterLogger, getLogger, createTestClient, runStep, testHealthCheck, testDiscovery, testCreateMediaBuy, testFullSalesFlow, testReportingFlow, testCreativeSync, testCreativeInline, testCreativeFlow, testSignalsFlow, testErrorHandling, testValidation, testPricingEdgeCases, testTemporalValidation, testBehaviorAnalysis, testResponseConsistency, testGovernancePropertyLists, testGovernanceContentStandards, testPropertyListFilters, testSISessionLifecycle, testSIAvailability, testSIHandoff, testCapabilityDiscovery, testSyncAudiences, resolveAccountForMediaBuy, resolveAccountForAudiences, testSchemaCompliance, testMediaBuyLifecycle, testTerminalStateEnforcement, testPackageLifecycle, testCreativeStateMachine, testMediaBuyStateMachine, testAccountStateMachine, testSessionStateMachine, testDeliverySimulation, testBudgetSimulation, testControllerValidation, testBrandRightsFlow, hasBrandRightsTools, hasGovernanceTools, hasSITools, likelySupportsV3, testAllScenarios, getApplicableScenarios, SCENARIO_REQUIREMENTS, DEFAULT_SCENARIOS, formatSuiteResults, formatSuiteResultsJSON, type TestScenario, type TestOptions, type OrchestratorOptions, type TestResult, type SuiteResult, type TestStepResult, type AgentProfile, type TaskResult, type TestClient, type Logger, } from './agent-tester';
4
5
  export { comply, buildComplianceBundleResults, formatComplianceResults, formatComplianceResultsJSON, buildComplianceSummary, SAMPLE_BRIEFS, getBriefById, getBriefsByVertical, type ComplyOptions, type ComplianceBundleAssessmentOptions, type ComplyRouteStoryboardContext, type ComplyStoryboardRoute, type ComplyStoryboardRouting, type ComplyStoryboardSkip, type ComplianceTrack, type TrackResult, type TestedTrackEntry, type TrackStatus, type ComplianceBundleResult, type ComplianceBundleStatus, type ComplianceResult, type ComplianceSummary, type ComplianceSummaryArtifact, type BuildSummaryOptions, type AdvisoryObservation, type ObservationSource, type SampleBrief, } from './compliance';
@@ -18,5 +19,7 @@ export { runAgainstLocalAgent } from './local-agent-runner';
18
19
  export type { LocalAgentRunResult, PerStoryboardOverride, RunAgainstLocalAgentOptions } from './local-agent-runner';
19
20
  export { registerExternalSchemaRoot, unregisterExternalSchemaRoot, withExternalSchemaRoot, withServedReleaseSchemaRoots, } from '../validation';
20
21
  export { runStoryboard, runStoryboardStep, applyAdcpVersionRunOptions, applyStoryboardVersionOptions, getFirstStepPreview, parseStoryboard, loadStoryboardFile, normalizeValidationOnlyTasks, VALIDATION_ONLY_TASK, applyFixtureBindingsToRequest, buildFixtureResolutionSpecs, FixtureBindingRegistry, matchesFixtureRequirements, normalizeFixtureMatchExpression, validateFixtureResolutionDeclarations, getComplianceCacheDir, loadComplianceIndex, listBundles, loadBundleStoryboards, listAllComplianceStoryboards, getComplianceStoryboardById, findBundleById, resolveBundleOrStoryboard, resolveStoryboardsForCapabilities, isComplianceVersionSupported, CapabilityResolutionError, TASK_TO_METHOD, executeStoryboardTask, expandCreativeAssetDirectives, findUnresolvedCreativeAssetDirectives, extractContext, injectContext, runValidations, resolvePath, RateLimitTripObserver, RATE_LIMIT_TRIP_CONTRACT, RATE_LIMIT_TRIP_DEFAULT_REPLAY_MAX_WAIT_SECONDS, RATE_LIMIT_TRIP_MAX_ATTEMPTS_MAX, RATE_LIMIT_TRIP_MAX_ATTEMPTS_MIN, validateRateLimitTripSpec, getSandboxEntities, getSandboxBrands, getSandboxBrand, isSandboxDomain, clearSandboxCache, registerAssertion, getAssertion, listAssertions, listDefaultAssertions, clearAssertionRegistry, resolveAssertions, type AssertionSpec, type AssertionContext, type AssertionResult, type RegisterAssertionOptions, type Storyboard, type StoryboardFixtureResolution, type FixtureResolutionStrategy, type FixtureMatchOperator, type FixtureMatchClause, type FixtureResolutionDeclaration, type ProductFixtureResolutionDeclaration, type PricingOptionFixtureResolutionDeclaration, type FixtureResolutionStatus, type FixtureResolutionRecord, type FixtureResolutionAttempt, type FixtureResolutionEvidence, type FixtureResolutionCoverageGap, type StoryboardInvariants, type StoryboardInvariantsObject, type StepInvariantsObject, type StoryboardPhase, type StoryboardStep, type RateLimitTripSpec, type StoryboardValidation, type RateLimitTripClient, type RateLimitTripFailureCode, type RateLimitTripObservation, type RateLimitTripObserverOptions, type RateLimitTripResponseSnapshot, type RateLimitTripStructuredResult, type RateLimitTripTaskOptions, type StoryboardContext, type StoryboardRunOptions, type TrustedMatchContextProviderEndpoint, type TrustedMatchContextRegistrationContext, type TrustedMatchContextRouterRunnerOptions, type TrustedMatchPublisherAuthOperation, type TrustedMatchPublisherCredentialState, type TrustedMatchPublisherAuthTls, type TrustedMatchPublisherAuthProbeConfiguration, type TrustedMatchPublisherAuthRunner, type ValidationResult, type StoryboardStepPreview, type StoryboardStepResult, type StoryboardStepHint, type StoryboardStepHintBase, type ContextValueRejectedHint, type ShapeDriftHint, type MissingRequiredFieldHint, type FormatMismatchHint, type MonotonicViolationHint, type ContextProvenanceEntry, type StoryboardPhaseResult, type StoryboardResult, type RunnerNotice, type NoticeCode, type NoticeSeverity, type AgentCapabilities, type BundleKind, type BundleRef, type CapabilityResolutionCode, type ComplianceIndex, type ComplianceIndexProtocol, type ComplianceIndexSpecialism, type ResolveOptions, type ResolvedBundle, type ResolvedStoryboards, type SandboxBrand, type SandboxAgent, type SandboxEntities, type BrandJson, type AdagentsJson, gradeOAuthMetadataGraph, gradeOAuthMetadataGraphVector, loadOAuthMetadataGraphVectors, normalizeOAuthResourceForComparison, redactOAuthUrlForOutput, type GradeOAuthMetadataGraphOptions, type OAuthMetadataGraphErrorCode, type OAuthMetadataGraphFinding, type OAuthMetadataGraphGrade, type OAuthMetadataGraphObservation, type OAuthMetadataGraphVector, type OAuthMetadataGraphVectorCorpus, BrandJsonSchema, AdagentsJsonSchema, MCP_SESSION_PROBE_TASK, } from './storyboard';
22
+ export { COLLECTION_DIAGNOSTIC_LIMIT, COLLECTION_PAIR_LIMIT, COLLECTION_TARGETING_MODES, COLLECTION_WITNESS_KINDS, diffCollectionPairSets, evaluateCollectionSelection, formatCollectionPair, isProtectedContextKey, isTrustedPreparedFixtures, normalizeCollectionSelectors, prepareStoryboardFixtures, PREPARED_FIXTURES_CONTRACT_VERSION, PreparedStoryboardFixtures, productSatisfiesCollectionSelection, PROTECTED_CONTEXT_PREFIX, summarizeCollectionPairs, ProtectedContextViolation, readCollectionWitness, withPreparedFixtures, } from './storyboard';
23
+ export type { CollectionNormalizationCode, CollectionNormalizationFailure, CollectionNormalizationResult, CrossPublisherCollectionRelation, CollectionPair, CollectionSelectionEvaluation, CollectionSelectionSelector, CollectionSelectionWitness, CollectionSelectorObject, CollectionWitnessKind, CollectionWitnessReadResult, FixtureContextOutput, NormalizedCollectionSelectors, PreparedFixtureBinding, PreparedFixtureSelection, PreparedFixturesAuthorizer, PreparedFixturesDecision, PreparedFixturesDisposition, PreparedFixturesLookup, PreparedFixturesRefusal, PreparedFixturesRefusalCode, PreparedFixturesReference, PreparedSchemaArtifact, ProtectedContextViolationCode, ResolvedCollectionSelectionSelector, } from './storyboard';
21
24
  export { resolveCreativeBuildProbe, validateCreativeBuildProbeSpec } from './storyboard';
22
25
  export type { CreativeBuildProbeSpec, CreativeBuildProbeInputFixture, CreativeBuildProbeResolution, } from './storyboard';
@@ -20,6 +20,10 @@ var testing_exports = {};
20
20
  __export(testing_exports, {
21
21
  AdagentsJsonSchema: () => import_storyboard.AdagentsJsonSchema,
22
22
  BrandJsonSchema: () => import_storyboard.BrandJsonSchema,
23
+ COLLECTION_DIAGNOSTIC_LIMIT: () => import_storyboard2.COLLECTION_DIAGNOSTIC_LIMIT,
24
+ COLLECTION_PAIR_LIMIT: () => import_storyboard2.COLLECTION_PAIR_LIMIT,
25
+ COLLECTION_TARGETING_MODES: () => import_storyboard2.COLLECTION_TARGETING_MODES,
26
+ COLLECTION_WITNESS_KINDS: () => import_storyboard2.COLLECTION_WITNESS_KINDS,
23
27
  CONTROLLER_SCENARIOS: () => import_test_controller.CONTROLLER_SCENARIOS,
24
28
  CapabilityResolutionError: () => import_storyboard.CapabilityResolutionError,
25
29
  DEFAULT_SCENARIOS: () => import_agent_tester.DEFAULT_SCENARIOS,
@@ -27,6 +31,11 @@ __export(testing_exports, {
27
31
  FixtureBindingRegistry: () => import_storyboard.FixtureBindingRegistry,
28
32
  GovernanceAgentStub: () => import_stubs.GovernanceAgentStub,
29
33
  MCP_SESSION_PROBE_TASK: () => import_storyboard.MCP_SESSION_PROBE_TASK,
34
+ PREPARED_FIXTURES_CONTRACT_VERSION: () => import_storyboard2.PREPARED_FIXTURES_CONTRACT_VERSION,
35
+ PROTECTED_CONTEXT_PREFIX: () => import_storyboard2.PROTECTED_CONTEXT_PREFIX,
36
+ PreparedFixturesDeniedError: () => import_errors.PreparedFixturesDeniedError,
37
+ PreparedStoryboardFixtures: () => import_storyboard2.PreparedStoryboardFixtures,
38
+ ProtectedContextViolation: () => import_storyboard2.ProtectedContextViolation,
30
39
  RATE_LIMIT_TRIP_CONTRACT: () => import_storyboard.RATE_LIMIT_TRIP_CONTRACT,
31
40
  RATE_LIMIT_TRIP_DEFAULT_REPLAY_MAX_WAIT_SECONDS: () => import_storyboard.RATE_LIMIT_TRIP_DEFAULT_REPLAY_MAX_WAIT_SECONDS,
32
41
  RATE_LIMIT_TRIP_MAX_ATTEMPTS_MAX: () => import_storyboard.RATE_LIMIT_TRIP_MAX_ATTEMPTS_MAX,
@@ -61,7 +70,9 @@ __export(testing_exports, {
61
70
  createTestAgent: () => import_test_helpers.createTestAgent,
62
71
  createTestClient: () => import_agent_tester.createTestClient,
63
72
  creativeAgent: () => import_test_helpers.creativeAgent,
73
+ diffCollectionPairSets: () => import_storyboard2.diffCollectionPairSets,
64
74
  enforceMapCap: () => import_test_controller.enforceMapCap,
75
+ evaluateCollectionSelection: () => import_storyboard2.evaluateCollectionSelection,
65
76
  executeStoryboardTask: () => import_storyboard.executeStoryboardTask,
66
77
  expandCreativeAssetDirectives: () => import_storyboard.expandCreativeAssetDirectives,
67
78
  expectControllerError: () => import_controller_assertions.expectControllerError,
@@ -75,6 +86,7 @@ __export(testing_exports, {
75
86
  filterValidSeededProducts: () => import_test_controller_bridge.filterValidSeededProducts,
76
87
  findBundleById: () => import_storyboard.findBundleById,
77
88
  findUnresolvedCreativeAssetDirectives: () => import_storyboard.findUnresolvedCreativeAssetDirectives,
89
+ formatCollectionPair: () => import_storyboard2.formatCollectionPair,
78
90
  formatComplianceResults: () => import_compliance.formatComplianceResults,
79
91
  formatComplianceResultsJSON: () => import_compliance.formatComplianceResultsJSON,
80
92
  formatSuiteResults: () => import_agent_tester.formatSuiteResults,
@@ -100,8 +112,10 @@ __export(testing_exports, {
100
112
  hasSITools: () => import_agent_tester.hasSITools,
101
113
  injectContext: () => import_storyboard.injectContext,
102
114
  isComplianceVersionSupported: () => import_storyboard.isComplianceVersionSupported,
115
+ isProtectedContextKey: () => import_storyboard2.isProtectedContextKey,
103
116
  isSandboxDomain: () => import_storyboard.isSandboxDomain,
104
117
  isSandboxRequest: () => import_test_controller_bridge.isSandboxRequest,
118
+ isTrustedPreparedFixtures: () => import_storyboard2.isTrustedPreparedFixtures,
105
119
  likelySupportsV3: () => import_agent_tester.likelySupportsV3,
106
120
  listAllComplianceStoryboards: () => import_storyboard.listAllComplianceStoryboards,
107
121
  listAssertions: () => import_storyboard.listAssertions,
@@ -124,12 +138,16 @@ __export(testing_exports, {
124
138
  mergeSeededCreativesIntoResponse: () => import_test_controller_bridge.mergeSeededCreativesIntoResponse,
125
139
  mergeSeededMediaBuysIntoResponse: () => import_test_controller_bridge.mergeSeededMediaBuysIntoResponse,
126
140
  mergeSeededProductsIntoResponse: () => import_test_controller_bridge.mergeSeededProductsIntoResponse,
141
+ normalizeCollectionSelectors: () => import_storyboard2.normalizeCollectionSelectors,
127
142
  normalizeFixtureMatchExpression: () => import_storyboard.normalizeFixtureMatchExpression,
128
143
  normalizeOAuthResourceForComparison: () => import_storyboard.normalizeOAuthResourceForComparison,
129
144
  normalizeValidationOnlyTasks: () => import_storyboard.normalizeValidationOnlyTasks,
130
145
  overlayById: () => import_seed_merge.overlayById,
131
146
  parseStoryboard: () => import_storyboard.parseStoryboard,
132
147
  pickSeededAccountFinancialsForRequest: () => import_test_controller_bridge.pickSeededAccountFinancialsForRequest,
148
+ prepareStoryboardFixtures: () => import_storyboard2.prepareStoryboardFixtures,
149
+ productSatisfiesCollectionSelection: () => import_storyboard2.productSatisfiesCollectionSelection,
150
+ readCollectionWitness: () => import_storyboard2.readCollectionWitness,
133
151
  redactOAuthUrlForOutput: () => import_storyboard.redactOAuthUrlForOutput,
134
152
  registerAssertion: () => import_storyboard.registerAssertion,
135
153
  registerExternalSchemaRoot: () => import_validation.registerExternalSchemaRoot,
@@ -139,7 +157,7 @@ __export(testing_exports, {
139
157
  resolveAccountForMediaBuy: () => import_agent_tester.resolveAccountForMediaBuy,
140
158
  resolveAssertions: () => import_storyboard.resolveAssertions,
141
159
  resolveBundleOrStoryboard: () => import_storyboard.resolveBundleOrStoryboard,
142
- resolveCreativeBuildProbe: () => import_storyboard2.resolveCreativeBuildProbe,
160
+ resolveCreativeBuildProbe: () => import_storyboard3.resolveCreativeBuildProbe,
143
161
  resolvePath: () => import_storyboard.resolvePath,
144
162
  resolveStoryboardsForCapabilities: () => import_storyboard.resolveStoryboardsForCapabilities,
145
163
  runAgainstLocalAgent: () => import_local_agent_runner.runAgainstLocalAgent,
@@ -149,6 +167,7 @@ __export(testing_exports, {
149
167
  runStoryboardStep: () => import_storyboard.runStoryboardStep,
150
168
  runValidations: () => import_storyboard.runValidations,
151
169
  setAgentTesterLogger: () => import_agent_tester.setAgentTesterLogger,
170
+ summarizeCollectionPairs: () => import_storyboard2.summarizeCollectionPairs,
152
171
  testAccountStateMachine: () => import_agent_tester.testAccountStateMachine,
153
172
  testAgent: () => import_test_helpers.testAgent,
154
173
  testAgentA2A: () => import_test_helpers.testAgentA2A,
@@ -191,14 +210,16 @@ __export(testing_exports, {
191
210
  testTerminalStateEnforcement: () => import_agent_tester.testTerminalStateEnforcement,
192
211
  testValidation: () => import_agent_tester.testValidation,
193
212
  unregisterExternalSchemaRoot: () => import_validation.unregisterExternalSchemaRoot,
194
- validateCreativeBuildProbeSpec: () => import_storyboard2.validateCreativeBuildProbeSpec,
213
+ validateCreativeBuildProbeSpec: () => import_storyboard3.validateCreativeBuildProbeSpec,
195
214
  validateFixtureResolutionDeclarations: () => import_storyboard.validateFixtureResolutionDeclarations,
196
215
  validateRateLimitTripSpec: () => import_storyboard.validateRateLimitTripSpec,
197
216
  withExternalSchemaRoot: () => import_validation.withExternalSchemaRoot,
217
+ withPreparedFixtures: () => import_storyboard2.withPreparedFixtures,
198
218
  withServedReleaseSchemaRoots: () => import_validation.withServedReleaseSchemaRoots
199
219
  });
200
220
  module.exports = __toCommonJS(testing_exports);
201
221
  var import_pending_web_flow_store = require('./pending-web-flow-store.js');
222
+ var import_errors = require('../errors/index.js');
202
223
  var import_test_helpers = require('./test-helpers.js');
203
224
  var import_agent_tester = require('./agent-tester.js');
204
225
  var import_compliance = require('./compliance/index.js');
@@ -212,10 +233,15 @@ var import_local_agent_runner = require('./local-agent-runner.js');
212
233
  var import_validation = require('../validation/index.js');
213
234
  var import_storyboard = require('./storyboard/index.js');
214
235
  var import_storyboard2 = require('./storyboard/index.js');
236
+ var import_storyboard3 = require('./storyboard/index.js');
215
237
  // Annotate the CommonJS export names for ESM import in node:
216
238
  0 && (module.exports = {
217
239
  AdagentsJsonSchema,
218
240
  BrandJsonSchema,
241
+ COLLECTION_DIAGNOSTIC_LIMIT,
242
+ COLLECTION_PAIR_LIMIT,
243
+ COLLECTION_TARGETING_MODES,
244
+ COLLECTION_WITNESS_KINDS,
219
245
  CONTROLLER_SCENARIOS,
220
246
  CapabilityResolutionError,
221
247
  DEFAULT_SCENARIOS,
@@ -223,6 +249,11 @@ var import_storyboard2 = require('./storyboard/index.js');
223
249
  FixtureBindingRegistry,
224
250
  GovernanceAgentStub,
225
251
  MCP_SESSION_PROBE_TASK,
252
+ PREPARED_FIXTURES_CONTRACT_VERSION,
253
+ PROTECTED_CONTEXT_PREFIX,
254
+ PreparedFixturesDeniedError,
255
+ PreparedStoryboardFixtures,
256
+ ProtectedContextViolation,
226
257
  RATE_LIMIT_TRIP_CONTRACT,
227
258
  RATE_LIMIT_TRIP_DEFAULT_REPLAY_MAX_WAIT_SECONDS,
228
259
  RATE_LIMIT_TRIP_MAX_ATTEMPTS_MAX,
@@ -257,7 +288,9 @@ var import_storyboard2 = require('./storyboard/index.js');
257
288
  createTestAgent,
258
289
  createTestClient,
259
290
  creativeAgent,
291
+ diffCollectionPairSets,
260
292
  enforceMapCap,
293
+ evaluateCollectionSelection,
261
294
  executeStoryboardTask,
262
295
  expandCreativeAssetDirectives,
263
296
  expectControllerError,
@@ -271,6 +304,7 @@ var import_storyboard2 = require('./storyboard/index.js');
271
304
  filterValidSeededProducts,
272
305
  findBundleById,
273
306
  findUnresolvedCreativeAssetDirectives,
307
+ formatCollectionPair,
274
308
  formatComplianceResults,
275
309
  formatComplianceResultsJSON,
276
310
  formatSuiteResults,
@@ -296,8 +330,10 @@ var import_storyboard2 = require('./storyboard/index.js');
296
330
  hasSITools,
297
331
  injectContext,
298
332
  isComplianceVersionSupported,
333
+ isProtectedContextKey,
299
334
  isSandboxDomain,
300
335
  isSandboxRequest,
336
+ isTrustedPreparedFixtures,
301
337
  likelySupportsV3,
302
338
  listAllComplianceStoryboards,
303
339
  listAssertions,
@@ -320,12 +356,16 @@ var import_storyboard2 = require('./storyboard/index.js');
320
356
  mergeSeededCreativesIntoResponse,
321
357
  mergeSeededMediaBuysIntoResponse,
322
358
  mergeSeededProductsIntoResponse,
359
+ normalizeCollectionSelectors,
323
360
  normalizeFixtureMatchExpression,
324
361
  normalizeOAuthResourceForComparison,
325
362
  normalizeValidationOnlyTasks,
326
363
  overlayById,
327
364
  parseStoryboard,
328
365
  pickSeededAccountFinancialsForRequest,
366
+ prepareStoryboardFixtures,
367
+ productSatisfiesCollectionSelection,
368
+ readCollectionWitness,
329
369
  redactOAuthUrlForOutput,
330
370
  registerAssertion,
331
371
  registerExternalSchemaRoot,
@@ -345,6 +385,7 @@ var import_storyboard2 = require('./storyboard/index.js');
345
385
  runStoryboardStep,
346
386
  runValidations,
347
387
  setAgentTesterLogger,
388
+ summarizeCollectionPairs,
348
389
  testAccountStateMachine,
349
390
  testAgent,
350
391
  testAgentA2A,
@@ -391,5 +432,6 @@ var import_storyboard2 = require('./storyboard/index.js');
391
432
  validateFixtureResolutionDeclarations,
392
433
  validateRateLimitTripSpec,
393
434
  withExternalSchemaRoot,
435
+ withPreparedFixtures,
394
436
  withServedReleaseSchemaRoots
395
437
  });
@@ -1,4 +1,5 @@
1
1
  import { assertPendingWebFlowStoreRoundTrip } from "./pending-web-flow-store.mjs";
2
+ import { PreparedFixturesDeniedError } from "../errors/index.mjs";
2
3
  import {
3
4
  testAgent,
4
5
  testAgentA2A,
@@ -189,10 +190,35 @@ import {
189
190
  AdagentsJsonSchema,
190
191
  MCP_SESSION_PROBE_TASK
191
192
  } from "./storyboard/index.mjs";
193
+ import {
194
+ COLLECTION_DIAGNOSTIC_LIMIT,
195
+ COLLECTION_PAIR_LIMIT,
196
+ COLLECTION_TARGETING_MODES,
197
+ COLLECTION_WITNESS_KINDS,
198
+ diffCollectionPairSets,
199
+ evaluateCollectionSelection,
200
+ formatCollectionPair,
201
+ isProtectedContextKey,
202
+ isTrustedPreparedFixtures,
203
+ normalizeCollectionSelectors,
204
+ prepareStoryboardFixtures,
205
+ PREPARED_FIXTURES_CONTRACT_VERSION,
206
+ PreparedStoryboardFixtures,
207
+ productSatisfiesCollectionSelection,
208
+ PROTECTED_CONTEXT_PREFIX,
209
+ summarizeCollectionPairs,
210
+ ProtectedContextViolation,
211
+ readCollectionWitness,
212
+ withPreparedFixtures
213
+ } from "./storyboard/index.mjs";
192
214
  import { resolveCreativeBuildProbe, validateCreativeBuildProbeSpec } from "./storyboard/index.mjs";
193
215
  export {
194
216
  AdagentsJsonSchema,
195
217
  BrandJsonSchema,
218
+ COLLECTION_DIAGNOSTIC_LIMIT,
219
+ COLLECTION_PAIR_LIMIT,
220
+ COLLECTION_TARGETING_MODES,
221
+ COLLECTION_WITNESS_KINDS,
196
222
  CONTROLLER_SCENARIOS,
197
223
  CapabilityResolutionError,
198
224
  DEFAULT_SCENARIOS,
@@ -200,6 +226,11 @@ export {
200
226
  FixtureBindingRegistry,
201
227
  GovernanceAgentStub,
202
228
  MCP_SESSION_PROBE_TASK,
229
+ PREPARED_FIXTURES_CONTRACT_VERSION,
230
+ PROTECTED_CONTEXT_PREFIX,
231
+ PreparedFixturesDeniedError,
232
+ PreparedStoryboardFixtures,
233
+ ProtectedContextViolation,
203
234
  RATE_LIMIT_TRIP_CONTRACT,
204
235
  RATE_LIMIT_TRIP_DEFAULT_REPLAY_MAX_WAIT_SECONDS,
205
236
  RATE_LIMIT_TRIP_MAX_ATTEMPTS_MAX,
@@ -234,7 +265,9 @@ export {
234
265
  createTestAgent,
235
266
  createTestClient,
236
267
  creativeAgent,
268
+ diffCollectionPairSets,
237
269
  enforceMapCap,
270
+ evaluateCollectionSelection,
238
271
  executeStoryboardTask,
239
272
  expandCreativeAssetDirectives,
240
273
  expectControllerError,
@@ -248,6 +281,7 @@ export {
248
281
  filterValidSeededProducts,
249
282
  findBundleById,
250
283
  findUnresolvedCreativeAssetDirectives,
284
+ formatCollectionPair,
251
285
  formatComplianceResults,
252
286
  formatComplianceResultsJSON,
253
287
  formatSuiteResults,
@@ -273,8 +307,10 @@ export {
273
307
  hasSITools,
274
308
  injectContext,
275
309
  isComplianceVersionSupported,
310
+ isProtectedContextKey,
276
311
  isSandboxDomain,
277
312
  isSandboxRequest,
313
+ isTrustedPreparedFixtures,
278
314
  likelySupportsV3,
279
315
  listAllComplianceStoryboards,
280
316
  listAssertions,
@@ -297,12 +333,16 @@ export {
297
333
  mergeSeededCreativesIntoResponse,
298
334
  mergeSeededMediaBuysIntoResponse,
299
335
  mergeSeededProductsIntoResponse,
336
+ normalizeCollectionSelectors,
300
337
  normalizeFixtureMatchExpression,
301
338
  normalizeOAuthResourceForComparison,
302
339
  normalizeValidationOnlyTasks,
303
340
  overlayById,
304
341
  parseStoryboard,
305
342
  pickSeededAccountFinancialsForRequest,
343
+ prepareStoryboardFixtures,
344
+ productSatisfiesCollectionSelection,
345
+ readCollectionWitness,
306
346
  redactOAuthUrlForOutput,
307
347
  registerAssertion,
308
348
  registerExternalSchemaRoot,
@@ -322,6 +362,7 @@ export {
322
362
  runStoryboardStep,
323
363
  runValidations,
324
364
  setAgentTesterLogger,
365
+ summarizeCollectionPairs,
325
366
  testAccountStateMachine,
326
367
  testAgent,
327
368
  testAgentA2A,
@@ -368,5 +409,6 @@ export {
368
409
  validateFixtureResolutionDeclarations,
369
410
  validateRateLimitTripSpec,
370
411
  withExternalSchemaRoot,
412
+ withPreparedFixtures,
371
413
  withServedReleaseSchemaRoots
372
414
  };