@adcp/sdk 16.2.0 → 16.4.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.
- package/AGENTS.md +2 -0
- package/dist/lib/adapters/version/3.1/assignments.d.mts +12 -0
- package/dist/lib/adapters/version/3.1/assignments.d.ts +12 -0
- package/dist/lib/adapters/version/3.1/assignments.js +67 -0
- package/dist/lib/adapters/version/3.1/assignments.mjs +43 -0
- package/dist/lib/adapters/version/3.1/bidding.d.mts +3 -0
- package/dist/lib/adapters/version/3.1/bidding.d.ts +3 -0
- package/dist/lib/adapters/version/3.1/bidding.js +115 -0
- package/dist/lib/adapters/version/3.1/bidding.mjs +90 -0
- package/dist/lib/adapters/version/3.1/delivery.d.mts +7 -0
- package/dist/lib/adapters/version/3.1/delivery.d.ts +7 -0
- package/dist/lib/adapters/version/3.1/delivery.js +78 -0
- package/dist/lib/adapters/version/3.1/delivery.mjs +54 -0
- package/dist/lib/adapters/version/3.1/index.d.mts +3 -0
- package/dist/lib/adapters/version/3.1/index.d.ts +3 -0
- package/dist/lib/adapters/version/3.1/index.js +36 -0
- package/dist/lib/adapters/version/3.1/index.mjs +12 -0
- package/dist/lib/adapters/version/index.d.mts +59 -7
- package/dist/lib/adapters/version/index.d.ts +59 -7
- package/dist/lib/adapters/version/index.js +51 -2
- package/dist/lib/adapters/version/index.mjs +49 -1
- package/dist/lib/adapters/version/negotiate.d.mts +71 -0
- package/dist/lib/adapters/version/negotiate.d.ts +71 -0
- package/dist/lib/adapters/version/negotiate.js +101 -0
- package/dist/lib/adapters/version/negotiate.mjs +73 -0
- package/dist/lib/adapters/version/schema-projection.d.mts +33 -0
- package/dist/lib/adapters/version/schema-projection.d.ts +33 -0
- package/dist/lib/adapters/version/schema-projection.js +294 -0
- package/dist/lib/adapters/version/schema-projection.mjs +269 -0
- package/dist/lib/adapters/version/translate.d.mts +122 -0
- package/dist/lib/adapters/version/translate.d.ts +122 -0
- package/dist/lib/adapters/version/translate.js +169 -0
- package/dist/lib/adapters/version/translate.mjs +141 -0
- package/dist/lib/adapters/version/types.d.mts +51 -10
- package/dist/lib/adapters/version/types.d.ts +51 -10
- package/dist/lib/core/AgentClient.d.mts +1 -1
- package/dist/lib/core/AgentClient.d.ts +1 -1
- package/dist/lib/core/AgentClient.js +17 -1
- package/dist/lib/core/AgentClient.mjs +17 -1
- package/dist/lib/core/ConversationTypes.d.mts +7 -0
- package/dist/lib/core/ConversationTypes.d.ts +7 -0
- package/dist/lib/core/SingleAgentClient.d.mts +82 -0
- package/dist/lib/core/SingleAgentClient.d.ts +82 -0
- package/dist/lib/core/SingleAgentClient.js +336 -15
- package/dist/lib/core/SingleAgentClient.mjs +350 -17
- package/dist/lib/core/TaskExecutor.d.mts +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +1 -1
- package/dist/lib/core/TaskExecutor.js +182 -31
- package/dist/lib/core/TaskExecutor.mjs +183 -32
- package/dist/lib/core/account-reduction.d.mts +36 -0
- package/dist/lib/core/account-reduction.d.ts +36 -0
- package/dist/lib/core/account-reduction.js +127 -0
- package/dist/lib/core/account-reduction.mjs +98 -0
- package/dist/lib/core/buyer-account-registry.d.mts +52 -0
- package/dist/lib/core/buyer-account-registry.d.ts +52 -0
- package/dist/lib/core/buyer-account-registry.js +142 -6
- package/dist/lib/core/buyer-account-registry.mjs +142 -6
- package/dist/lib/errors/index.d.mts +34 -0
- package/dist/lib/errors/index.d.ts +34 -0
- package/dist/lib/errors/index.js +11 -0
- package/dist/lib/errors/index.mjs +10 -0
- package/dist/lib/index.d.mts +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.mjs +2 -0
- package/dist/lib/media-buy/action-contracts.js +4 -4
- package/dist/lib/media-buy/action-contracts.mjs +4 -4
- package/dist/lib/media-buy/action-types.d.mts +3 -2
- package/dist/lib/media-buy/action-types.d.ts +3 -2
- package/dist/lib/media-buy/compatibility.d.mts +1 -0
- package/dist/lib/media-buy/compatibility.d.ts +1 -0
- package/dist/lib/media-buy/compatibility.js +33 -10
- package/dist/lib/media-buy/compatibility.mjs +32 -14
- package/dist/lib/media-buy/update-fields.generated.d.mts +3 -2
- package/dist/lib/media-buy/update-fields.generated.d.ts +3 -2
- package/dist/lib/negotiation/buyer.js +11 -5
- package/dist/lib/negotiation/buyer.mjs +11 -5
- package/dist/lib/negotiation/types.d.mts +4 -2
- package/dist/lib/negotiation/types.d.ts +4 -2
- package/dist/lib/negotiation/verification.d.mts +15 -6
- package/dist/lib/negotiation/verification.d.ts +15 -6
- package/dist/lib/negotiation/verification.js +146 -27
- package/dist/lib/negotiation/verification.mjs +146 -28
- package/dist/lib/negotiation/version.d.mts +6 -0
- package/dist/lib/negotiation/version.d.ts +6 -0
- package/dist/lib/negotiation/version.js +60 -0
- package/dist/lib/negotiation/version.mjs +33 -0
- package/dist/lib/registry/types.generated.d.mts +1 -1
- package/dist/lib/registry/types.generated.d.ts +1 -1
- package/dist/lib/server/create-adcp-server.d.mts +21 -0
- package/dist/lib/server/create-adcp-server.d.ts +21 -0
- package/dist/lib/server/create-adcp-server.js +98 -16
- package/dist/lib/server/create-adcp-server.mjs +84 -2
- package/dist/lib/server/error-arm-tools.d.mts +10 -10
- package/dist/lib/server/error-arm-tools.d.ts +10 -10
- package/dist/lib/server/error-arm-tools.js +22 -58
- package/dist/lib/server/error-arm-tools.mjs +30 -65
- package/dist/lib/server/index.d.mts +1 -1
- package/dist/lib/server/index.d.ts +1 -1
- package/dist/lib/storage/interfaces.d.mts +2 -0
- package/dist/lib/storage/interfaces.d.ts +2 -0
- package/dist/lib/testing/compliance/comply.js +17 -0
- package/dist/lib/testing/compliance/comply.mjs +17 -0
- package/dist/lib/testing/index.d.mts +3 -0
- package/dist/lib/testing/index.d.ts +3 -0
- package/dist/lib/testing/index.js +44 -2
- package/dist/lib/testing/index.mjs +42 -0
- package/dist/lib/testing/storyboard/collection-selection.d.mts +259 -0
- package/dist/lib/testing/storyboard/collection-selection.d.ts +259 -0
- package/dist/lib/testing/storyboard/collection-selection.js +384 -0
- package/dist/lib/testing/storyboard/collection-selection.mjs +348 -0
- package/dist/lib/testing/storyboard/context.js +12 -6
- package/dist/lib/testing/storyboard/context.mjs +12 -6
- package/dist/lib/testing/storyboard/fixture-resolution.d.mts +39 -1
- package/dist/lib/testing/storyboard/fixture-resolution.d.ts +39 -1
- package/dist/lib/testing/storyboard/fixture-resolution.js +216 -12
- package/dist/lib/testing/storyboard/fixture-resolution.mjs +218 -12
- package/dist/lib/testing/storyboard/index.d.mts +9 -2
- package/dist/lib/testing/storyboard/index.d.ts +9 -2
- package/dist/lib/testing/storyboard/index.js +51 -2
- package/dist/lib/testing/storyboard/index.mjs +49 -1
- package/dist/lib/testing/storyboard/prepared-fixtures.d.mts +471 -0
- package/dist/lib/testing/storyboard/prepared-fixtures.d.ts +471 -0
- package/dist/lib/testing/storyboard/prepared-fixtures.js +434 -0
- package/dist/lib/testing/storyboard/prepared-fixtures.mjs +389 -0
- package/dist/lib/testing/storyboard/protected-context.d.mts +127 -0
- package/dist/lib/testing/storyboard/protected-context.d.ts +127 -0
- package/dist/lib/testing/storyboard/protected-context.js +301 -0
- package/dist/lib/testing/storyboard/protected-context.mjs +267 -0
- package/dist/lib/testing/storyboard/rejection-hints.js +13 -4
- package/dist/lib/testing/storyboard/rejection-hints.mjs +13 -4
- package/dist/lib/testing/storyboard/runner.d.mts +24 -0
- package/dist/lib/testing/storyboard/runner.d.ts +24 -0
- package/dist/lib/testing/storyboard/runner.js +1061 -105
- package/dist/lib/testing/storyboard/runner.mjs +1075 -106
- package/dist/lib/testing/storyboard/seeding.d.mts +15 -1
- package/dist/lib/testing/storyboard/seeding.d.ts +15 -1
- package/dist/lib/testing/storyboard/seeding.js +272 -12
- package/dist/lib/testing/storyboard/seeding.mjs +274 -13
- package/dist/lib/testing/storyboard/types.d.mts +207 -10
- package/dist/lib/testing/storyboard/types.d.ts +207 -10
- package/dist/lib/testing/storyboard/types.js +1 -1
- package/dist/lib/testing/storyboard/types.mjs +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.js +95 -0
- package/dist/lib/testing/storyboard/validations.mjs +95 -0
- package/dist/lib/validation/bundled-schema-store.js +5 -0
- package/dist/lib/validation/bundled-schema-store.mjs +4 -0
- package/dist/lib/validation/schema-loader.js +19 -2
- package/dist/lib/validation/schema-loader.mjs +22 -3
- 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.mjs +3 -3
- package/docs/TYPE-SUMMARY.md +2 -2
- package/docs/guides/COLLECTION-FIXTURE-FOUNDATION.md +850 -0
- package/docs/guides/PROPOSAL-TERMS-VERIFICATION.md +66 -0
- package/docs/llms.txt +4 -3
- package/docs/migration-14.x-rc-worksheet.md +4 -4
- package/package.json +1 -1
|
@@ -37,49 +37,6 @@ var import_path = __toESM(require("path"));
|
|
|
37
37
|
var import_version = require('../version.js');
|
|
38
38
|
var import_schema_loader = require('../validation/schema-loader.js');
|
|
39
39
|
var import_bundled_schema_store = require('../validation/bundled-schema-store.js');
|
|
40
|
-
function findPrereleaseBundle(root, key) {
|
|
41
|
-
if (!(0, import_fs.existsSync)(root)) return void 0;
|
|
42
|
-
const candidates = (0, import_fs.readdirSync)(root, { withFileTypes: true }).filter((entry) => entry.isDirectory() && !entry.name.endsWith(".previous")).map((entry) => {
|
|
43
|
-
try {
|
|
44
|
-
return { name: entry.name, releasePrecision: (0, import_schema_loader.toReleasePrecisionWire)(entry.name) };
|
|
45
|
-
} catch {
|
|
46
|
-
return void 0;
|
|
47
|
-
}
|
|
48
|
-
}).filter(
|
|
49
|
-
(entry) => entry !== void 0 && (entry.releasePrecision === key || entry.releasePrecision.startsWith(`${key}.`))
|
|
50
|
-
).sort((a, b) => b.name.localeCompare(a.name, void 0, { numeric: true, sensitivity: "base" }));
|
|
51
|
-
return candidates[0] ? import_path.default.join(root, candidates[0].name) : void 0;
|
|
52
|
-
}
|
|
53
|
-
function resolveBundledRoot(version) {
|
|
54
|
-
const key = (0, import_schema_loader.resolveBundleKey)(version);
|
|
55
|
-
const distRoot = import_path.default.join(__dirname, "..", "schemas-data");
|
|
56
|
-
const distCandidate = import_path.default.join(distRoot, key, "bundled");
|
|
57
|
-
if ((0, import_bundled_schema_store.hasBundledSchemaStore)(distCandidate)) return distCandidate;
|
|
58
|
-
const releasePrecisionMatch = /^\d+\.\d+-/.test(key);
|
|
59
|
-
if (releasePrecisionMatch) {
|
|
60
|
-
const distPrerelease = findPrereleaseBundle(distRoot, key);
|
|
61
|
-
if (distPrerelease) return import_path.default.join(distPrerelease, "bundled");
|
|
62
|
-
}
|
|
63
|
-
const cacheRoot = import_path.default.join(__dirname, "..", "..", "..", "schemas", "cache");
|
|
64
|
-
const exactCandidate = import_path.default.join(cacheRoot, version, "bundled");
|
|
65
|
-
if ((0, import_bundled_schema_store.hasBundledSchemaStore)(exactCandidate)) return exactCandidate;
|
|
66
|
-
const minorMatch = key.match(/^(\d+)\.(\d+)$/);
|
|
67
|
-
if (minorMatch && (0, import_fs.existsSync)(cacheRoot)) {
|
|
68
|
-
const [, major, minor] = minorMatch;
|
|
69
|
-
const prefix = `${major}.${minor}.`;
|
|
70
|
-
const cached = (0, import_fs.readdirSync)(cacheRoot, { withFileTypes: true }).filter(
|
|
71
|
-
(e) => e.isDirectory() && e.name.startsWith(prefix) && !e.name.endsWith(".previous") && /^\d+\.\d+\.\d+$/.test(e.name)
|
|
72
|
-
).map((e) => ({ name: e.name, patch: parseInt(e.name.slice(prefix.length), 10) })).filter((c) => Number.isFinite(c.patch)).sort((a, b) => b.patch - a.patch);
|
|
73
|
-
if (cached.length > 0) {
|
|
74
|
-
return import_path.default.join(cacheRoot, cached[0].name, "bundled");
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (releasePrecisionMatch) {
|
|
78
|
-
const cachePrerelease = findPrereleaseBundle(cacheRoot, key);
|
|
79
|
-
if (cachePrerelease) return import_path.default.join(cachePrerelease, "bundled");
|
|
80
|
-
}
|
|
81
|
-
return void 0;
|
|
82
|
-
}
|
|
83
40
|
function resolveBranch(branch, rootSchema) {
|
|
84
41
|
if (!branch || typeof branch !== "object") return void 0;
|
|
85
42
|
const obj = branch;
|
|
@@ -113,19 +70,21 @@ function describeErrorArm(branch, rootSchema) {
|
|
|
113
70
|
}
|
|
114
71
|
return { extraRequired: Object.freeze(extraRequired) };
|
|
115
72
|
}
|
|
116
|
-
function scanForErrorArmTools(
|
|
73
|
+
function scanForErrorArmTools(root, version) {
|
|
74
|
+
const bundledRoot = import_path.default.join(root, "bundled");
|
|
117
75
|
const map = /* @__PURE__ */ new Map();
|
|
118
76
|
let manifestTools;
|
|
119
77
|
try {
|
|
120
|
-
const manifest = JSON.parse((0, import_fs.readFileSync)(import_path.default.join(
|
|
78
|
+
const manifest = JSON.parse((0, import_fs.readFileSync)(import_path.default.join(root, "manifest.json"), "utf-8"));
|
|
121
79
|
if (manifest.tools) manifestTools = new Set(Object.keys(manifest.tools));
|
|
122
80
|
} catch {
|
|
123
81
|
}
|
|
124
|
-
const
|
|
125
|
-
|
|
82
|
+
const bundled = (0, import_bundled_schema_store.hasBundledSchemaStore)(bundledRoot);
|
|
83
|
+
const responses = bundled ? (0, import_bundled_schema_store.listBundledSchemaFiles)(bundledRoot).filter((file) => file.endsWith("-response.json")).map((file) => ({ toolName: import_path.default.basename(file, "-response.json").replace(/-/g, "_"), file })) : (0, import_schema_loader.listValidatorKeys)(version).filter((key) => key.endsWith("::sync")).map((key) => ({ toolName: key.slice(0, -"::sync".length), file: void 0 }));
|
|
84
|
+
for (const { toolName, file } of responses) {
|
|
126
85
|
let schema;
|
|
127
86
|
try {
|
|
128
|
-
const loaded = (0, import_bundled_schema_store.loadBundledSchemaFile)(file);
|
|
87
|
+
const loaded = file ? (0, import_bundled_schema_store.loadBundledSchemaFile)(file) : (0, import_schema_loader.getToolSchemaDocument)(toolName, "sync", version)?.schema;
|
|
129
88
|
if (!loaded) continue;
|
|
130
89
|
schema = loaded;
|
|
131
90
|
} catch {
|
|
@@ -142,25 +101,30 @@ function scanForErrorArmTools(bundledRoot) {
|
|
|
142
101
|
}
|
|
143
102
|
}
|
|
144
103
|
if (!descriptor) continue;
|
|
145
|
-
const base = import_path.default.basename(file, "-response.json");
|
|
146
|
-
const toolName = base.replace(/-/g, "_");
|
|
147
104
|
if (manifestTools && !manifestTools.has(toolName)) continue;
|
|
148
105
|
map.set(toolName, descriptor);
|
|
149
106
|
}
|
|
150
107
|
return map;
|
|
151
108
|
}
|
|
109
|
+
let cachedGeneration = -1;
|
|
152
110
|
const cachedMaps = /* @__PURE__ */ new Map();
|
|
153
111
|
function getToolsWithErrorArm(version = import_version.ADCP_VERSION) {
|
|
154
|
-
const
|
|
112
|
+
const bundleKey = (0, import_schema_loader.resolveBundleKey)(version);
|
|
113
|
+
let root;
|
|
114
|
+
try {
|
|
115
|
+
root = (0, import_schema_loader.resolveSchemaRoot)(version);
|
|
116
|
+
} catch {
|
|
117
|
+
return /* @__PURE__ */ new Map();
|
|
118
|
+
}
|
|
119
|
+
const generation = (0, import_schema_loader.getSchemaLoaderGeneration)();
|
|
120
|
+
if (cachedGeneration !== generation) {
|
|
121
|
+
cachedMaps.clear();
|
|
122
|
+
cachedGeneration = generation;
|
|
123
|
+
}
|
|
124
|
+
const key = `${bundleKey}\0${import_path.default.resolve(root)}`;
|
|
155
125
|
const cached = cachedMaps.get(key);
|
|
156
126
|
if (cached) return cached;
|
|
157
|
-
const
|
|
158
|
-
if (!root) {
|
|
159
|
-
const empty = /* @__PURE__ */ new Map();
|
|
160
|
-
cachedMaps.set(key, empty);
|
|
161
|
-
return empty;
|
|
162
|
-
}
|
|
163
|
-
const map = scanForErrorArmTools(root);
|
|
127
|
+
const map = scanForErrorArmTools(root, version);
|
|
164
128
|
cachedMaps.set(key, map);
|
|
165
129
|
return map;
|
|
166
130
|
}
|
|
@@ -1,60 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { dirname as __adcpDirname } from "node:path";
|
|
3
|
-
import { createRequire as __adcpCreateRequire } from "node:module";
|
|
4
|
-
const __dirname = __adcpDirname(__adcpFileURLToPath(import.meta.url));
|
|
5
|
-
const require2 = __adcpCreateRequire(import.meta.url);
|
|
6
|
-
import { readdirSync, readFileSync, existsSync } from "fs";
|
|
1
|
+
import { readFileSync } from "fs";
|
|
7
2
|
import path from "path";
|
|
8
3
|
import { ADCP_VERSION } from "../version.mjs";
|
|
9
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
getToolSchemaDocument,
|
|
6
|
+
getSchemaLoaderGeneration,
|
|
7
|
+
listValidatorKeys,
|
|
8
|
+
resolveBundleKey,
|
|
9
|
+
resolveSchemaRoot
|
|
10
|
+
} from "../validation/schema-loader.mjs";
|
|
10
11
|
import {
|
|
11
12
|
hasBundledSchemaStore,
|
|
12
13
|
listBundledSchemaFiles,
|
|
13
14
|
loadBundledSchemaFile
|
|
14
15
|
} from "../validation/bundled-schema-store.mjs";
|
|
15
|
-
function findPrereleaseBundle(root, key) {
|
|
16
|
-
if (!existsSync(root)) return void 0;
|
|
17
|
-
const candidates = readdirSync(root, { withFileTypes: true }).filter((entry) => entry.isDirectory() && !entry.name.endsWith(".previous")).map((entry) => {
|
|
18
|
-
try {
|
|
19
|
-
return { name: entry.name, releasePrecision: toReleasePrecisionWire(entry.name) };
|
|
20
|
-
} catch {
|
|
21
|
-
return void 0;
|
|
22
|
-
}
|
|
23
|
-
}).filter(
|
|
24
|
-
(entry) => entry !== void 0 && (entry.releasePrecision === key || entry.releasePrecision.startsWith(`${key}.`))
|
|
25
|
-
).sort((a, b) => b.name.localeCompare(a.name, void 0, { numeric: true, sensitivity: "base" }));
|
|
26
|
-
return candidates[0] ? path.join(root, candidates[0].name) : void 0;
|
|
27
|
-
}
|
|
28
|
-
function resolveBundledRoot(version) {
|
|
29
|
-
const key = resolveBundleKey(version);
|
|
30
|
-
const distRoot = path.join(__dirname, "..", "schemas-data");
|
|
31
|
-
const distCandidate = path.join(distRoot, key, "bundled");
|
|
32
|
-
if (hasBundledSchemaStore(distCandidate)) return distCandidate;
|
|
33
|
-
const releasePrecisionMatch = /^\d+\.\d+-/.test(key);
|
|
34
|
-
if (releasePrecisionMatch) {
|
|
35
|
-
const distPrerelease = findPrereleaseBundle(distRoot, key);
|
|
36
|
-
if (distPrerelease) return path.join(distPrerelease, "bundled");
|
|
37
|
-
}
|
|
38
|
-
const cacheRoot = path.join(__dirname, "..", "..", "..", "schemas", "cache");
|
|
39
|
-
const exactCandidate = path.join(cacheRoot, version, "bundled");
|
|
40
|
-
if (hasBundledSchemaStore(exactCandidate)) return exactCandidate;
|
|
41
|
-
const minorMatch = key.match(/^(\d+)\.(\d+)$/);
|
|
42
|
-
if (minorMatch && existsSync(cacheRoot)) {
|
|
43
|
-
const [, major, minor] = minorMatch;
|
|
44
|
-
const prefix = `${major}.${minor}.`;
|
|
45
|
-
const cached = readdirSync(cacheRoot, { withFileTypes: true }).filter(
|
|
46
|
-
(e) => e.isDirectory() && e.name.startsWith(prefix) && !e.name.endsWith(".previous") && /^\d+\.\d+\.\d+$/.test(e.name)
|
|
47
|
-
).map((e) => ({ name: e.name, patch: parseInt(e.name.slice(prefix.length), 10) })).filter((c) => Number.isFinite(c.patch)).sort((a, b) => b.patch - a.patch);
|
|
48
|
-
if (cached.length > 0) {
|
|
49
|
-
return path.join(cacheRoot, cached[0].name, "bundled");
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
if (releasePrecisionMatch) {
|
|
53
|
-
const cachePrerelease = findPrereleaseBundle(cacheRoot, key);
|
|
54
|
-
if (cachePrerelease) return path.join(cachePrerelease, "bundled");
|
|
55
|
-
}
|
|
56
|
-
return void 0;
|
|
57
|
-
}
|
|
58
16
|
function resolveBranch(branch, rootSchema) {
|
|
59
17
|
if (!branch || typeof branch !== "object") return void 0;
|
|
60
18
|
const obj = branch;
|
|
@@ -88,19 +46,21 @@ function describeErrorArm(branch, rootSchema) {
|
|
|
88
46
|
}
|
|
89
47
|
return { extraRequired: Object.freeze(extraRequired) };
|
|
90
48
|
}
|
|
91
|
-
function scanForErrorArmTools(
|
|
49
|
+
function scanForErrorArmTools(root, version) {
|
|
50
|
+
const bundledRoot = path.join(root, "bundled");
|
|
92
51
|
const map = /* @__PURE__ */ new Map();
|
|
93
52
|
let manifestTools;
|
|
94
53
|
try {
|
|
95
|
-
const manifest = JSON.parse(readFileSync(path.join(
|
|
54
|
+
const manifest = JSON.parse(readFileSync(path.join(root, "manifest.json"), "utf-8"));
|
|
96
55
|
if (manifest.tools) manifestTools = new Set(Object.keys(manifest.tools));
|
|
97
56
|
} catch {
|
|
98
57
|
}
|
|
99
|
-
const
|
|
100
|
-
|
|
58
|
+
const bundled = hasBundledSchemaStore(bundledRoot);
|
|
59
|
+
const responses = bundled ? listBundledSchemaFiles(bundledRoot).filter((file) => file.endsWith("-response.json")).map((file) => ({ toolName: path.basename(file, "-response.json").replace(/-/g, "_"), file })) : listValidatorKeys(version).filter((key) => key.endsWith("::sync")).map((key) => ({ toolName: key.slice(0, -"::sync".length), file: void 0 }));
|
|
60
|
+
for (const { toolName, file } of responses) {
|
|
101
61
|
let schema;
|
|
102
62
|
try {
|
|
103
|
-
const loaded = loadBundledSchemaFile(file);
|
|
63
|
+
const loaded = file ? loadBundledSchemaFile(file) : getToolSchemaDocument(toolName, "sync", version)?.schema;
|
|
104
64
|
if (!loaded) continue;
|
|
105
65
|
schema = loaded;
|
|
106
66
|
} catch {
|
|
@@ -117,25 +77,30 @@ function scanForErrorArmTools(bundledRoot) {
|
|
|
117
77
|
}
|
|
118
78
|
}
|
|
119
79
|
if (!descriptor) continue;
|
|
120
|
-
const base = path.basename(file, "-response.json");
|
|
121
|
-
const toolName = base.replace(/-/g, "_");
|
|
122
80
|
if (manifestTools && !manifestTools.has(toolName)) continue;
|
|
123
81
|
map.set(toolName, descriptor);
|
|
124
82
|
}
|
|
125
83
|
return map;
|
|
126
84
|
}
|
|
85
|
+
let cachedGeneration = -1;
|
|
127
86
|
const cachedMaps = /* @__PURE__ */ new Map();
|
|
128
87
|
function getToolsWithErrorArm(version = ADCP_VERSION) {
|
|
129
|
-
const
|
|
88
|
+
const bundleKey = resolveBundleKey(version);
|
|
89
|
+
let root;
|
|
90
|
+
try {
|
|
91
|
+
root = resolveSchemaRoot(version);
|
|
92
|
+
} catch {
|
|
93
|
+
return /* @__PURE__ */ new Map();
|
|
94
|
+
}
|
|
95
|
+
const generation = getSchemaLoaderGeneration();
|
|
96
|
+
if (cachedGeneration !== generation) {
|
|
97
|
+
cachedMaps.clear();
|
|
98
|
+
cachedGeneration = generation;
|
|
99
|
+
}
|
|
100
|
+
const key = `${bundleKey}\0${path.resolve(root)}`;
|
|
130
101
|
const cached = cachedMaps.get(key);
|
|
131
102
|
if (cached) return cached;
|
|
132
|
-
const
|
|
133
|
-
if (!root) {
|
|
134
|
-
const empty = /* @__PURE__ */ new Map();
|
|
135
|
-
cachedMaps.set(key, empty);
|
|
136
|
-
return empty;
|
|
137
|
-
}
|
|
138
|
-
const map = scanForErrorArmTools(root);
|
|
103
|
+
const map = scanForErrorArmTools(root, version);
|
|
139
104
|
cachedMaps.set(key, map);
|
|
140
105
|
return map;
|
|
141
106
|
}
|
|
@@ -61,7 +61,7 @@ export type { AdcpMcpResourceDefinition, McpAppResourceCsp, McpAppResourcePermis
|
|
|
61
61
|
export { requireSessionKey, ADCP_PRE_TRANSPORT, ADCP_SIGNED_REQUESTS_STATE, ADCP_INSTRUCTIONS_FN, } from './create-adcp-server.mjs';
|
|
62
62
|
export type { SessionContext, OnInstructionsError, MaybePromise, BridgeMarker } from './create-adcp-server.mjs';
|
|
63
63
|
export type { AdcpServer, AdcpServerComplianceApi, AdcpServerTransport, AdcpTestRequest, AdcpTestToolsCallRequest, AdcpTestResponse, AdcpInvokeOptions, } from './adcp-server.mjs';
|
|
64
|
-
export type { AdcpServerConfig as LegacyAdcpServerConfig, WebhooksConfig, AdcpToolMap as LegacyAdcpToolMap, AdcpServerToolName, AdcpCapabilitiesConfig, AdcpCapabilitiesOverrides, AdcpToolVersionRange, AdcpCustomToolConfig as LegacyAdcpCustomToolConfig, AdcpCustomToolHandler as LegacyAdcpCustomToolHandler, AdcpCustomToolHandlerExtra as LegacyAdcpCustomToolHandlerExtra, McpAppUiMeta, McpAppMeta, AdcpLogger, SignedRequestsConfig, AdcpPreTransport, AdcpSignedRequestsState, HandlerContext as LegacyHandlerContext, SessionKeyContext, MediaBuyHandlers as LegacyMediaBuyHandlers, ProposalNegotiationHandlers as LegacyProposalNegotiationHandlers, SignalsHandlers as LegacySignalsHandlers, CreativeHandlers as LegacyCreativeHandlers, GovernanceHandlers as LegacyGovernanceHandlers, AccountHandlers as LegacyAccountHandlers, EventTrackingHandlers as LegacyEventTrackingHandlers, SponsoredIntelligenceHandlers as LegacySponsoredIntelligenceHandlers, ResolveAccountContext as LegacyResolveAccountContext, } from './create-adcp-server.mjs';
|
|
64
|
+
export type { AdcpServerConfig as LegacyAdcpServerConfig, WebhooksConfig, AdcpToolMap as LegacyAdcpToolMap, AdcpServerToolName, AdcpCapabilitiesConfig, AdcpCapabilitiesOverrides, AdcpToolVersionRange, AdcpVersionTranslationEvent, AdcpCustomToolConfig as LegacyAdcpCustomToolConfig, AdcpCustomToolHandler as LegacyAdcpCustomToolHandler, AdcpCustomToolHandlerExtra as LegacyAdcpCustomToolHandlerExtra, McpAppUiMeta, McpAppMeta, AdcpLogger, SignedRequestsConfig, AdcpPreTransport, AdcpSignedRequestsState, HandlerContext as LegacyHandlerContext, SessionKeyContext, MediaBuyHandlers as LegacyMediaBuyHandlers, ProposalNegotiationHandlers as LegacyProposalNegotiationHandlers, SignalsHandlers as LegacySignalsHandlers, CreativeHandlers as LegacyCreativeHandlers, GovernanceHandlers as LegacyGovernanceHandlers, AccountHandlers as LegacyAccountHandlers, EventTrackingHandlers as LegacyEventTrackingHandlers, SponsoredIntelligenceHandlers as LegacySponsoredIntelligenceHandlers, ResolveAccountContext as LegacyResolveAccountContext, } from './create-adcp-server.mjs';
|
|
65
65
|
export { DEFAULT_REPORTING_CAPABILITIES } from './product-defaults.mjs';
|
|
66
66
|
export { isSandboxRequest, mergeSeededProductsIntoResponse, filterValidSeededProducts, filterValidSeededCreatives, filterValidSeededMediaBuys, filterValidSeededAccounts, filterValidSeededAccountFinancials, filterValidSeededCreativeFormats, mergeSeededCreativesIntoResponse, mergeSeededMediaBuysIntoResponse, mergeSeededAccountsIntoResponse, mergeSeededCreativeFormatsIntoResponse, pickSeededAccountFinancialsForRequest, replaceAccountFinancialsIfSeeded, bridgeFromTestControllerStore, bridgeFromSessionStore, } from './test-controller-bridge.mjs';
|
|
67
67
|
export type { TestControllerBridge, TestControllerBridgeContext, BridgeFromSessionStoreOptions, SeededCreative, SeededMediaBuy, SeededAccountFinancials, } from './test-controller-bridge.mjs';
|
|
@@ -61,7 +61,7 @@ export type { AdcpMcpResourceDefinition, McpAppResourceCsp, McpAppResourcePermis
|
|
|
61
61
|
export { requireSessionKey, ADCP_PRE_TRANSPORT, ADCP_SIGNED_REQUESTS_STATE, ADCP_INSTRUCTIONS_FN, } from './create-adcp-server';
|
|
62
62
|
export type { SessionContext, OnInstructionsError, MaybePromise, BridgeMarker } from './create-adcp-server';
|
|
63
63
|
export type { AdcpServer, AdcpServerComplianceApi, AdcpServerTransport, AdcpTestRequest, AdcpTestToolsCallRequest, AdcpTestResponse, AdcpInvokeOptions, } from './adcp-server';
|
|
64
|
-
export type { AdcpServerConfig as LegacyAdcpServerConfig, WebhooksConfig, AdcpToolMap as LegacyAdcpToolMap, AdcpServerToolName, AdcpCapabilitiesConfig, AdcpCapabilitiesOverrides, AdcpToolVersionRange, AdcpCustomToolConfig as LegacyAdcpCustomToolConfig, AdcpCustomToolHandler as LegacyAdcpCustomToolHandler, AdcpCustomToolHandlerExtra as LegacyAdcpCustomToolHandlerExtra, McpAppUiMeta, McpAppMeta, AdcpLogger, SignedRequestsConfig, AdcpPreTransport, AdcpSignedRequestsState, HandlerContext as LegacyHandlerContext, SessionKeyContext, MediaBuyHandlers as LegacyMediaBuyHandlers, ProposalNegotiationHandlers as LegacyProposalNegotiationHandlers, SignalsHandlers as LegacySignalsHandlers, CreativeHandlers as LegacyCreativeHandlers, GovernanceHandlers as LegacyGovernanceHandlers, AccountHandlers as LegacyAccountHandlers, EventTrackingHandlers as LegacyEventTrackingHandlers, SponsoredIntelligenceHandlers as LegacySponsoredIntelligenceHandlers, ResolveAccountContext as LegacyResolveAccountContext, } from './create-adcp-server';
|
|
64
|
+
export type { AdcpServerConfig as LegacyAdcpServerConfig, WebhooksConfig, AdcpToolMap as LegacyAdcpToolMap, AdcpServerToolName, AdcpCapabilitiesConfig, AdcpCapabilitiesOverrides, AdcpToolVersionRange, AdcpVersionTranslationEvent, AdcpCustomToolConfig as LegacyAdcpCustomToolConfig, AdcpCustomToolHandler as LegacyAdcpCustomToolHandler, AdcpCustomToolHandlerExtra as LegacyAdcpCustomToolHandlerExtra, McpAppUiMeta, McpAppMeta, AdcpLogger, SignedRequestsConfig, AdcpPreTransport, AdcpSignedRequestsState, HandlerContext as LegacyHandlerContext, SessionKeyContext, MediaBuyHandlers as LegacyMediaBuyHandlers, ProposalNegotiationHandlers as LegacyProposalNegotiationHandlers, SignalsHandlers as LegacySignalsHandlers, CreativeHandlers as LegacyCreativeHandlers, GovernanceHandlers as LegacyGovernanceHandlers, AccountHandlers as LegacyAccountHandlers, EventTrackingHandlers as LegacyEventTrackingHandlers, SponsoredIntelligenceHandlers as LegacySponsoredIntelligenceHandlers, ResolveAccountContext as LegacyResolveAccountContext, } from './create-adcp-server';
|
|
65
65
|
export { DEFAULT_REPORTING_CAPABILITIES } from './product-defaults';
|
|
66
66
|
export { isSandboxRequest, mergeSeededProductsIntoResponse, filterValidSeededProducts, filterValidSeededCreatives, filterValidSeededMediaBuys, filterValidSeededAccounts, filterValidSeededAccountFinancials, filterValidSeededCreativeFormats, mergeSeededCreativesIntoResponse, mergeSeededMediaBuysIntoResponse, mergeSeededAccountsIntoResponse, mergeSeededCreativeFormatsIntoResponse, pickSeededAccountFinancialsForRequest, replaceAccountFinancialsIfSeeded, bridgeFromTestControllerStore, bridgeFromSessionStore, } from './test-controller-bridge';
|
|
67
67
|
export type { TestControllerBridge, TestControllerBridgeContext, BridgeFromSessionStoreOptions, SeededCreative, SeededMediaBuy, SeededAccountFinancials, } from './test-controller-bridge';
|
|
@@ -135,6 +135,8 @@ export interface DeferredTaskState {
|
|
|
135
135
|
serverVersion: 'v2' | 'v3';
|
|
136
136
|
/** Per-operation AdCP wire release retained across durable resume. */
|
|
137
137
|
wireAdcpVersion?: string;
|
|
138
|
+
/** Older release negotiated with the seller; resumed responses validate against it. */
|
|
139
|
+
negotiatedAdcpVersion?: string;
|
|
138
140
|
/** Per-operation version-envelope mode retained across durable resume. */
|
|
139
141
|
versionEnvelope?: import('../protocols/index.mjs').VersionEnvelopeMode;
|
|
140
142
|
/** True when the original seller-version decision used the SDK's synthetic fallback. */
|
|
@@ -135,6 +135,8 @@ export interface DeferredTaskState {
|
|
|
135
135
|
serverVersion: 'v2' | 'v3';
|
|
136
136
|
/** Per-operation AdCP wire release retained across durable resume. */
|
|
137
137
|
wireAdcpVersion?: string;
|
|
138
|
+
/** Older release negotiated with the seller; resumed responses validate against it. */
|
|
139
|
+
negotiatedAdcpVersion?: string;
|
|
138
140
|
/** Per-operation version-envelope mode retained across durable resume. */
|
|
139
141
|
versionEnvelope?: import('../protocols').VersionEnvelopeMode;
|
|
140
142
|
/** True when the original seller-version decision used the SDK's synthetic fallback. */
|
|
@@ -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: () =>
|
|
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: () =>
|
|
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
|
});
|