@adcp/sdk 6.11.0 → 6.13.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/bin/adcp-config.js +7 -1
- package/bin/adcp.js +191 -4
- package/dist/lib/adapters/index.d.ts +0 -2
- package/dist/lib/adapters/index.d.ts.map +1 -1
- package/dist/lib/adapters/index.js +1 -8
- package/dist/lib/adapters/index.js.map +1 -1
- package/dist/lib/auth/oauth/index.d.ts +1 -0
- package/dist/lib/auth/oauth/index.d.ts.map +1 -1
- package/dist/lib/auth/oauth/index.js +17 -1
- package/dist/lib/auth/oauth/index.js.map +1 -1
- package/dist/lib/auth/oauth/web-flow.d.ts +270 -0
- package/dist/lib/auth/oauth/web-flow.d.ts.map +1 -0
- package/dist/lib/auth/oauth/web-flow.js +413 -0
- package/dist/lib/auth/oauth/web-flow.js.map +1 -0
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -7
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/mock-server/index.d.ts +2 -0
- package/dist/lib/mock-server/index.d.ts.map +1 -1
- package/dist/lib/mock-server/index.js +17 -0
- package/dist/lib/mock-server/index.js.map +1 -1
- package/dist/lib/mock-server/sales-guaranteed/recipe.d.ts +155 -0
- package/dist/lib/mock-server/sales-guaranteed/recipe.d.ts.map +1 -0
- package/dist/lib/mock-server/sales-guaranteed/recipe.js +107 -0
- package/dist/lib/mock-server/sales-guaranteed/recipe.js.map +1 -0
- package/dist/lib/mock-server/sales-guaranteed/server.d.ts.map +1 -1
- package/dist/lib/mock-server/sales-guaranteed/server.js +212 -0
- package/dist/lib/mock-server/sales-guaranteed/server.js.map +1 -1
- package/dist/lib/mock-server/sales-non-guaranteed/recipe.d.ts +123 -0
- package/dist/lib/mock-server/sales-non-guaranteed/recipe.d.ts.map +1 -0
- package/dist/lib/mock-server/sales-non-guaranteed/recipe.js +81 -0
- package/dist/lib/mock-server/sales-non-guaranteed/recipe.js.map +1 -0
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/ctx-metadata/index.d.ts +1 -1
- package/dist/lib/server/ctx-metadata/index.d.ts.map +1 -1
- package/dist/lib/server/ctx-metadata/index.js +3 -1
- package/dist/lib/server/ctx-metadata/index.js.map +1 -1
- package/dist/lib/server/ctx-metadata/wire-shape.d.ts +21 -0
- package/dist/lib/server/ctx-metadata/wire-shape.d.ts.map +1 -1
- package/dist/lib/server/ctx-metadata/wire-shape.js +111 -0
- package/dist/lib/server/ctx-metadata/wire-shape.js.map +1 -1
- package/dist/lib/server/decisioning/context.d.ts +19 -0
- package/dist/lib/server/decisioning/context.d.ts.map +1 -1
- package/dist/lib/server/decisioning/index.d.ts +3 -0
- package/dist/lib/server/decisioning/index.d.ts.map +1 -1
- package/dist/lib/server/decisioning/index.js +16 -1
- package/dist/lib/server/decisioning/index.js.map +1 -1
- package/dist/lib/server/decisioning/platform.d.ts +17 -0
- package/dist/lib/server/decisioning/platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/platform.js.map +1 -1
- package/dist/lib/server/decisioning/proposal/dispatch.d.ts +203 -0
- package/dist/lib/server/decisioning/proposal/dispatch.d.ts.map +1 -0
- package/dist/lib/server/decisioning/proposal/dispatch.js +395 -0
- package/dist/lib/server/decisioning/proposal/dispatch.js.map +1 -0
- package/dist/lib/server/decisioning/proposal/index.d.ts +21 -0
- package/dist/lib/server/decisioning/proposal/index.d.ts.map +1 -0
- package/dist/lib/server/decisioning/proposal/index.js +37 -0
- package/dist/lib/server/decisioning/proposal/index.js.map +1 -0
- package/dist/lib/server/decisioning/proposal/lifecycle.d.ts +195 -0
- package/dist/lib/server/decisioning/proposal/lifecycle.d.ts.map +1 -0
- package/dist/lib/server/decisioning/proposal/lifecycle.js +366 -0
- package/dist/lib/server/decisioning/proposal/lifecycle.js.map +1 -0
- package/dist/lib/server/decisioning/proposal/mock-manager.d.ts +93 -0
- package/dist/lib/server/decisioning/proposal/mock-manager.d.ts.map +1 -0
- package/dist/lib/server/decisioning/proposal/mock-manager.js +109 -0
- package/dist/lib/server/decisioning/proposal/mock-manager.js.map +1 -0
- package/dist/lib/server/decisioning/proposal/store.d.ts +279 -0
- package/dist/lib/server/decisioning/proposal/store.d.ts.map +1 -0
- package/dist/lib/server/decisioning/proposal/store.js +291 -0
- package/dist/lib/server/decisioning/proposal/store.js.map +1 -0
- package/dist/lib/server/decisioning/proposal/types.d.ts +394 -0
- package/dist/lib/server/decisioning/proposal/types.d.ts.map +1 -0
- package/dist/lib/server/decisioning/proposal/types.js +58 -0
- package/dist/lib/server/decisioning/proposal/types.js.map +1 -0
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts +25 -0
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.js +198 -15
- package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
- package/dist/lib/server/index.d.ts +1 -1
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js +3 -1
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/testing/client.d.ts.map +1 -1
- package/dist/lib/testing/client.js +7 -1
- package/dist/lib/testing/client.js.map +1 -1
- package/dist/lib/testing/storyboard/task-map.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/task-map.js +1 -0
- package/dist/lib/testing/storyboard/task-map.js.map +1 -1
- package/dist/lib/testing/storyboard/test-kit.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/test-kit.js +4 -0
- package/dist/lib/testing/storyboard/test-kit.js.map +1 -1
- package/dist/lib/testing/types.d.ts +10 -0
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/examples/hello_seller_adapter_guaranteed.ts +29 -2
- package/examples/hello_seller_adapter_proposal_mode.ts +575 -0
- package/package.json +1 -1
- package/dist/lib/adapters/proposal-manager.d.ts +0 -142
- package/dist/lib/adapters/proposal-manager.d.ts.map +0 -1
- package/dist/lib/adapters/proposal-manager.js +0 -184
- package/dist/lib/adapters/proposal-manager.js.map +0 -1
|
@@ -10,6 +10,6 @@ export { memoryCtxMetadataStore } from './backends/memory';
|
|
|
10
10
|
export type { MemoryCtxMetadataStoreOptions } from './backends/memory';
|
|
11
11
|
export { pgCtxMetadataStore, getCtxMetadataMigration, cleanupExpiredCtxMetadata, CTX_METADATA_MIGRATION, } from './backends/pg';
|
|
12
12
|
export type { PgCtxMetadataBackendOptions } from './backends/pg';
|
|
13
|
-
export { stripCtxMetadata, hasCtxMetadata } from './wire-shape';
|
|
13
|
+
export { stripCtxMetadata, hasCtxMetadata, stripImplementationConfig, hasImplementationConfig } from './wire-shape';
|
|
14
14
|
export type { WireShape } from './wire-shape';
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/ctx-metadata/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/ctx-metadata/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACpH,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @public
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.hasCtxMetadata = exports.stripCtxMetadata = exports.CTX_METADATA_MIGRATION = exports.cleanupExpiredCtxMetadata = exports.getCtxMetadataMigration = exports.pgCtxMetadataStore = exports.memoryCtxMetadataStore = exports.MAX_TTL_SECONDS = exports.DEFAULT_MAX_VALUE_BYTES = exports.ADCP_INTERNAL_TAG = exports.CtxMetadataValidationError = exports.scopeCtxMetadataKey = exports.ctxMetadataResultKey = exports.createCtxMetadataStore = void 0;
|
|
9
|
+
exports.hasImplementationConfig = exports.stripImplementationConfig = exports.hasCtxMetadata = exports.stripCtxMetadata = exports.CTX_METADATA_MIGRATION = exports.cleanupExpiredCtxMetadata = exports.getCtxMetadataMigration = exports.pgCtxMetadataStore = exports.memoryCtxMetadataStore = exports.MAX_TTL_SECONDS = exports.DEFAULT_MAX_VALUE_BYTES = exports.ADCP_INTERNAL_TAG = exports.CtxMetadataValidationError = exports.scopeCtxMetadataKey = exports.ctxMetadataResultKey = exports.createCtxMetadataStore = void 0;
|
|
10
10
|
var store_1 = require("./store");
|
|
11
11
|
Object.defineProperty(exports, "createCtxMetadataStore", { enumerable: true, get: function () { return store_1.createCtxMetadataStore; } });
|
|
12
12
|
Object.defineProperty(exports, "ctxMetadataResultKey", { enumerable: true, get: function () { return store_1.ctxMetadataResultKey; } });
|
|
@@ -25,4 +25,6 @@ Object.defineProperty(exports, "CTX_METADATA_MIGRATION", { enumerable: true, get
|
|
|
25
25
|
var wire_shape_1 = require("./wire-shape");
|
|
26
26
|
Object.defineProperty(exports, "stripCtxMetadata", { enumerable: true, get: function () { return wire_shape_1.stripCtxMetadata; } });
|
|
27
27
|
Object.defineProperty(exports, "hasCtxMetadata", { enumerable: true, get: function () { return wire_shape_1.hasCtxMetadata; } });
|
|
28
|
+
Object.defineProperty(exports, "stripImplementationConfig", { enumerable: true, get: function () { return wire_shape_1.stripImplementationConfig; } });
|
|
29
|
+
Object.defineProperty(exports, "hasImplementationConfig", { enumerable: true, get: function () { return wire_shape_1.hasImplementationConfig; } });
|
|
28
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/server/ctx-metadata/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iCAQiB;AAPf,+GAAA,sBAAsB,OAAA;AACtB,6GAAA,oBAAoB,OAAA;AACpB,4GAAA,mBAAmB,OAAA;AACnB,mHAAA,0BAA0B,OAAA;AAC1B,0GAAA,iBAAiB,OAAA;AACjB,gHAAA,uBAAuB,OAAA;AACvB,wGAAA,eAAe,OAAA;AAYjB,4CAA2D;AAAlD,gHAAA,sBAAsB,OAAA;AAG/B,oCAKuB;AAJrB,wGAAA,kBAAkB,OAAA;AAClB,6GAAA,uBAAuB,OAAA;AACvB,+GAAA,yBAAyB,OAAA;AACzB,4GAAA,sBAAsB,OAAA;AAIxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/server/ctx-metadata/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iCAQiB;AAPf,+GAAA,sBAAsB,OAAA;AACtB,6GAAA,oBAAoB,OAAA;AACpB,4GAAA,mBAAmB,OAAA;AACnB,mHAAA,0BAA0B,OAAA;AAC1B,0GAAA,iBAAiB,OAAA;AACjB,gHAAA,uBAAuB,OAAA;AACvB,wGAAA,eAAe,OAAA;AAYjB,4CAA2D;AAAlD,gHAAA,sBAAsB,OAAA;AAG/B,oCAKuB;AAJrB,wGAAA,kBAAkB,OAAA;AAClB,6GAAA,uBAAuB,OAAA;AACvB,+GAAA,yBAAyB,OAAA;AACzB,4GAAA,sBAAsB,OAAA;AAIxB,2CAAoH;AAA3G,8GAAA,gBAAgB,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,uHAAA,yBAAyB,OAAA;AAAE,qHAAA,uBAAuB,OAAA"}
|
|
@@ -52,4 +52,25 @@ export declare function stripCtxMetadata<T>(value: T): WireShape<T>;
|
|
|
52
52
|
* are clean — production code paths just call `stripCtxMetadata`.
|
|
53
53
|
*/
|
|
54
54
|
export declare function hasCtxMetadata(value: unknown): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Runtime strip for `Product.implementation_config`. Walks Product
|
|
57
|
+
* carrier locations in the response (top-level `products[]` plus
|
|
58
|
+
* single-product `product` slots inside `proposals[].products[]` etc.)
|
|
59
|
+
* and deletes the recipe field. Mutates in place.
|
|
60
|
+
*
|
|
61
|
+
* Adopters who deliberately want the recipe to ride to the buyer (rare;
|
|
62
|
+
* defeats the typed-on-server contract) can re-attach it in a
|
|
63
|
+
* post-strip hook — but the default is "strip, always."
|
|
64
|
+
*
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
export declare function stripImplementationConfig<T>(value: T): T;
|
|
68
|
+
/**
|
|
69
|
+
* Detect whether a payload contains `implementation_config` on any
|
|
70
|
+
* Product carrier. Test-suite helper — production paths call
|
|
71
|
+
* `stripImplementationConfig`.
|
|
72
|
+
*
|
|
73
|
+
* @public
|
|
74
|
+
*/
|
|
75
|
+
export declare function hasImplementationConfig(value: unknown): boolean;
|
|
55
76
|
//# sourceMappingURL=wire-shape.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire-shape.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/ctx-metadata/wire-shape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC5B,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAC3B,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,cAAc,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC3E,CAAC,CAAC;AAEV;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAI1D;
|
|
1
|
+
{"version":3,"file":"wire-shape.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/ctx-metadata/wire-shape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC5B,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAC3B,CAAC,SAAS,MAAM,GACd;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,cAAc,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC3E,CAAC,CAAC;AAEV;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAI1D;AAsDD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGtD;AAgCD;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAIxD;AAyBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG/D"}
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
exports.stripCtxMetadata = stripCtxMetadata;
|
|
22
22
|
exports.hasCtxMetadata = hasCtxMetadata;
|
|
23
|
+
exports.stripImplementationConfig = stripImplementationConfig;
|
|
24
|
+
exports.hasImplementationConfig = hasImplementationConfig;
|
|
23
25
|
const CTX_METADATA_KEY = 'ctx_metadata';
|
|
24
26
|
/**
|
|
25
27
|
* Runtime strip. Walks known carrier shapes in the response and
|
|
@@ -68,6 +70,13 @@ const CARRIER_KEYS = [
|
|
|
68
70
|
'collection_lists',
|
|
69
71
|
'asset',
|
|
70
72
|
'assets',
|
|
73
|
+
// Proposal-mode (v1.5 ProposalManager): committed proposals embed
|
|
74
|
+
// their own `products[]` slice. Without these carriers, ctx_metadata
|
|
75
|
+
// (and implementation_config, which shares this list) on
|
|
76
|
+
// `proposals[].products[]` survived the strip and leaked via the
|
|
77
|
+
// HITL handoff path. Surfaced by security review on PR #1562.
|
|
78
|
+
'proposal',
|
|
79
|
+
'proposals',
|
|
71
80
|
];
|
|
72
81
|
function stripFromCarrier(obj) {
|
|
73
82
|
if (CTX_METADATA_KEY in obj)
|
|
@@ -97,6 +106,108 @@ function hasCtxMetadata(value) {
|
|
|
97
106
|
return false;
|
|
98
107
|
return walkForCtxMetadata(value);
|
|
99
108
|
}
|
|
109
|
+
// ---------------------------------------------------------------------------
|
|
110
|
+
// Recipe `implementation_config` strip — Product-specific, parallel pattern
|
|
111
|
+
// ---------------------------------------------------------------------------
|
|
112
|
+
const IMPLEMENTATION_CONFIG_KEY = 'implementation_config';
|
|
113
|
+
/**
|
|
114
|
+
* Carrier locations for `implementation_config`. Recipes ride on
|
|
115
|
+
* `Product.implementation_config` per the v1.5 ProposalManager design;
|
|
116
|
+
* the field is opaque-to-buyer (typed-on-server) and must NOT cross to
|
|
117
|
+
* the buyer's wire response. Mirrors the `ctx_metadata` strip pattern.
|
|
118
|
+
*
|
|
119
|
+
* The wire `Product` shape's JSON schema is `additionalProperties: true`
|
|
120
|
+
* so the field is technically legal on the wire — but recipes carry
|
|
121
|
+
* upstream identifiers (network codes, line-item template ids, ad-unit
|
|
122
|
+
* ids, GAM line-item priority, etc.) that leak topology to buyers.
|
|
123
|
+
* Strip at the dispatcher seam, after the platform builds the wire
|
|
124
|
+
* shape and before the idempotency cache writes it.
|
|
125
|
+
*
|
|
126
|
+
* Carrier list mirrors `CARRIER_KEYS` (used by `stripCtxMetadata`)
|
|
127
|
+
* because future spec extensions may nest a Product under any
|
|
128
|
+
* resource carrier (e.g. `media_buys[].products[]`,
|
|
129
|
+
* `creatives[].assigned_packages[].product`). Reusing the same set
|
|
130
|
+
* keeps the two strips from silently diverging — adding a new wire
|
|
131
|
+
* carrier in `CARRIER_KEYS` for `ctx_metadata` automatically extends
|
|
132
|
+
* the implementation_config walk too. Surfaced by security review on
|
|
133
|
+
* PR #1562.
|
|
134
|
+
*/
|
|
135
|
+
const IMPL_CONFIG_CARRIER_KEYS = CARRIER_KEYS;
|
|
136
|
+
/**
|
|
137
|
+
* Runtime strip for `Product.implementation_config`. Walks Product
|
|
138
|
+
* carrier locations in the response (top-level `products[]` plus
|
|
139
|
+
* single-product `product` slots inside `proposals[].products[]` etc.)
|
|
140
|
+
* and deletes the recipe field. Mutates in place.
|
|
141
|
+
*
|
|
142
|
+
* Adopters who deliberately want the recipe to ride to the buyer (rare;
|
|
143
|
+
* defeats the typed-on-server contract) can re-attach it in a
|
|
144
|
+
* post-strip hook — but the default is "strip, always."
|
|
145
|
+
*
|
|
146
|
+
* @public
|
|
147
|
+
*/
|
|
148
|
+
function stripImplementationConfig(value) {
|
|
149
|
+
if (value == null || typeof value !== 'object')
|
|
150
|
+
return value;
|
|
151
|
+
stripImplConfigFromCarrier(value);
|
|
152
|
+
return value;
|
|
153
|
+
}
|
|
154
|
+
function stripImplConfigFromCarrier(obj) {
|
|
155
|
+
// Strip the field on the current object IF this object looks like a
|
|
156
|
+
// Product (has product_id). We don't strip blindly at every level
|
|
157
|
+
// because the field name could legitimately appear elsewhere (e.g.,
|
|
158
|
+
// a diagnostic envelope) in a future spec extension.
|
|
159
|
+
if ('product_id' in obj && IMPLEMENTATION_CONFIG_KEY in obj) {
|
|
160
|
+
delete obj[IMPLEMENTATION_CONFIG_KEY];
|
|
161
|
+
}
|
|
162
|
+
// Walk the shared carrier set (mirrors stripCtxMetadata) so future
|
|
163
|
+
// spec additions extending one strip automatically extend both.
|
|
164
|
+
for (const key of IMPL_CONFIG_CARRIER_KEYS) {
|
|
165
|
+
const nested = obj[key];
|
|
166
|
+
if (nested == null)
|
|
167
|
+
continue;
|
|
168
|
+
if (Array.isArray(nested)) {
|
|
169
|
+
for (const item of nested) {
|
|
170
|
+
if (item != null && typeof item === 'object')
|
|
171
|
+
stripImplConfigFromCarrier(item);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else if (typeof nested === 'object') {
|
|
175
|
+
stripImplConfigFromCarrier(nested);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Detect whether a payload contains `implementation_config` on any
|
|
181
|
+
* Product carrier. Test-suite helper — production paths call
|
|
182
|
+
* `stripImplementationConfig`.
|
|
183
|
+
*
|
|
184
|
+
* @public
|
|
185
|
+
*/
|
|
186
|
+
function hasImplementationConfig(value) {
|
|
187
|
+
if (value == null || typeof value !== 'object')
|
|
188
|
+
return false;
|
|
189
|
+
return walkForImplConfig(value);
|
|
190
|
+
}
|
|
191
|
+
function walkForImplConfig(obj) {
|
|
192
|
+
if ('product_id' in obj && IMPLEMENTATION_CONFIG_KEY in obj)
|
|
193
|
+
return true;
|
|
194
|
+
for (const key of IMPL_CONFIG_CARRIER_KEYS) {
|
|
195
|
+
const nested = obj[key];
|
|
196
|
+
if (nested == null)
|
|
197
|
+
continue;
|
|
198
|
+
if (Array.isArray(nested)) {
|
|
199
|
+
for (const item of nested) {
|
|
200
|
+
if (item != null && typeof item === 'object' && walkForImplConfig(item))
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
else if (typeof nested === 'object') {
|
|
205
|
+
if (walkForImplConfig(nested))
|
|
206
|
+
return true;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
100
211
|
function walkForCtxMetadata(obj) {
|
|
101
212
|
if (CTX_METADATA_KEY in obj)
|
|
102
213
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire-shape.js","sourceRoot":"","sources":["../../../../src/lib/server/ctx-metadata/wire-shape.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;AAqCH,4CAIC;
|
|
1
|
+
{"version":3,"file":"wire-shape.js","sourceRoot":"","sources":["../../../../src/lib/server/ctx-metadata/wire-shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ import type { Format, FormatReferenceStructuredObject, PropertyList, CollectionL
|
|
|
26
26
|
import type { TaskHandoff, TaskHandoffContext, TaskHandoffOptions } from './async-outcome';
|
|
27
27
|
import type { CtxMetadataRef, ResourceKind } from '../ctx-metadata';
|
|
28
28
|
import type { BuyerAgent } from './buyer-agent';
|
|
29
|
+
import type { Recipe } from './proposal';
|
|
29
30
|
export interface RequestContext<TAccount = Account> {
|
|
30
31
|
/** Resolved account for this request. */
|
|
31
32
|
account: TAccount;
|
|
@@ -83,6 +84,24 @@ export interface RequestContext<TAccount = Account> {
|
|
|
83
84
|
* @public
|
|
84
85
|
*/
|
|
85
86
|
ctxMetadata?: CtxMetadataAccessor;
|
|
87
|
+
/**
|
|
88
|
+
* Hydrated typed recipes (`product_id -> Recipe`) for proposal-mode
|
|
89
|
+
* dispatch. Populated by the framework's v1.5 ProposalManager seams:
|
|
90
|
+
*
|
|
91
|
+
* - `createMediaBuy` with `proposal_id`: framework reserves the
|
|
92
|
+
* proposal, validates expiry + capability overlap, and writes the
|
|
93
|
+
* recipe map here BEFORE the adapter runs.
|
|
94
|
+
* - `updateMediaBuy` / `getMediaBuyDelivery`: framework hydrates
|
|
95
|
+
* via the `getByMediaBuyId` reverse-index.
|
|
96
|
+
*
|
|
97
|
+
* Adopters read this map to apply per-product internal-config
|
|
98
|
+
* (e.g., `recipe.line_item_template_id` on the matching adapter
|
|
99
|
+
* upstream call). Undefined when no proposal-mode dispatch is wired
|
|
100
|
+
* for the request — the v1 path leaves it untouched.
|
|
101
|
+
*
|
|
102
|
+
* @public
|
|
103
|
+
*/
|
|
104
|
+
recipes?: ReadonlyMap<string, Recipe>;
|
|
86
105
|
/**
|
|
87
106
|
* Hand off the call to a background task. Returns a `TaskHandoff<T>`
|
|
88
107
|
* marker — return that from your method to signal the framework should
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EACV,MAAM,EACN,+BAA+B,EAC/B,YAAY,EACZ,cAAc,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,9 @@ export { createTenantAdminRouter, createTenantAdminHandlers, mountTenantAdmin, t
|
|
|
52
52
|
export { batchPoll, validationError, upstreamError } from './helpers';
|
|
53
53
|
export type { RequestShape } from './helpers';
|
|
54
54
|
export { definePlatform, defineSalesPlatform, defineSalesCorePlatform, defineSalesIngestionPlatform, defineAudiencePlatform, defineSignalsPlatform, defineSponsoredIntelligencePlatform, defineCreativeBuilderPlatform, defineCreativeAdServerPlatform, defineCampaignGovernancePlatform, defineContentStandardsPlatform, definePropertyListsPlatform, defineCollectionListsPlatform, defineBrandRightsPlatform, definePlatformWithCompliance, } from './platform-helpers';
|
|
55
|
+
export type { ProposalManager, ProposalCapabilities, ProposalSalesSpecialism, Recipe, CapabilityOverlap, FinalizeProposalRequest, FinalizeProposalSuccess, ProposalState, ProposalRecord, ProposalStore, InMemoryProposalStoreOptions, MockProposalManagerOptions, } from './proposal';
|
|
56
|
+
export { validateProposalCapabilities, InMemoryProposalStore, MockProposalManager, enforceProposalExpiry, validateCapabilityOverlap, validateOverlapSubsetOfWire, detectFinalizeAction, setProposalLifecycleLogger, maybeInterceptFinalize, maybePersistDraftAfterGetProducts, maybeReserveProposalForCreateMediaBuy, finalizeProposalConsumption, releaseProposalReservation, maybeHydrateRecipesForMediaBuyId, } from './proposal';
|
|
57
|
+
export type { FinalizeActionRef, ProposalLifecycleLogger, FinalizeInterceptResult, ReservedProposal } from './proposal';
|
|
55
58
|
export { buildProduct, buildPricingOption, buildPackage } from './assembly-helpers';
|
|
56
59
|
export type { BuildProductInput, BuildPricingOptionInput, BuildPackageInput } from './assembly-helpers';
|
|
57
60
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.resolveStartTime = exports.buildListCreativesResponse = exports.requireAsset = exports.getAsset = exports.createNoopJwksValidator = exports.createSelfSignedTenantKey = exports.createDefaultJwksValidator = exports.createTenantRegistry = exports.getDecisioningTaskRegistryMigration = exports.createPostgresTaskRegistry = exports.createInMemoryTaskRegistry = exports.validatePlatform = exports.PlatformConfigError = exports.getAllAdcpMigrations = exports.createAdcpServerFromPlatform = exports.requireOrgScope = exports.requireAdvertiserMatch = exports.requireAccountMatch = exports.composeMethod = exports.identityStatusMappers = exports.BuyerAgentRegistry = exports.narrowAccountRef = exports.createTenantStore = exports.refAccountId = exports.AccountNotFoundError = exports.createInMemoryStatusChangeBus = exports.getStatusChangeBus = exports.setStatusChangeBus = exports.publishStatusChange = exports.PolicyViolationError = exports.GovernanceDeniedError = exports.ComplianceUnsatisfiedError = exports.UnsupportedFeatureError = exports.ServiceUnavailableError = exports.RateLimitedError = exports.PermissionDeniedError = exports.AuthRequiredError = exports.BackwardsTimeRangeError = exports.InvalidStateError = exports.InvalidRequestError = exports.IdempotencyConflictError = exports.BudgetExhaustedError = exports.BudgetTooLowError = exports.CreativeRejectedError = exports.ProductUnavailableError = exports.CreativeNotFoundError = exports.ProductNotFoundError = exports.MediaBuyNotFoundError = exports.PackageNotFoundError = exports.AdcpError = void 0;
|
|
15
|
-
exports.buildPackage = exports.buildPricingOption = exports.buildProduct = exports.definePlatformWithCompliance = exports.defineBrandRightsPlatform = exports.defineCollectionListsPlatform = exports.definePropertyListsPlatform = exports.defineContentStandardsPlatform = exports.defineCampaignGovernancePlatform = exports.defineCreativeAdServerPlatform = exports.defineCreativeBuilderPlatform = exports.defineSponsoredIntelligencePlatform = exports.defineSignalsPlatform = exports.defineAudiencePlatform = exports.defineSalesIngestionPlatform = exports.defineSalesCorePlatform = exports.defineSalesPlatform = exports.definePlatform = exports.upstreamError = exports.validationError = exports.batchPoll = exports.mountTenantAdmin = exports.createTenantAdminHandlers = exports.createTenantAdminRouter = void 0;
|
|
15
|
+
exports.buildPackage = exports.buildPricingOption = exports.buildProduct = exports.maybeHydrateRecipesForMediaBuyId = exports.releaseProposalReservation = exports.finalizeProposalConsumption = exports.maybeReserveProposalForCreateMediaBuy = exports.maybePersistDraftAfterGetProducts = exports.maybeInterceptFinalize = exports.setProposalLifecycleLogger = exports.detectFinalizeAction = exports.validateOverlapSubsetOfWire = exports.validateCapabilityOverlap = exports.enforceProposalExpiry = exports.MockProposalManager = exports.InMemoryProposalStore = exports.validateProposalCapabilities = exports.definePlatformWithCompliance = exports.defineBrandRightsPlatform = exports.defineCollectionListsPlatform = exports.definePropertyListsPlatform = exports.defineContentStandardsPlatform = exports.defineCampaignGovernancePlatform = exports.defineCreativeAdServerPlatform = exports.defineCreativeBuilderPlatform = exports.defineSponsoredIntelligencePlatform = exports.defineSignalsPlatform = exports.defineAudiencePlatform = exports.defineSalesIngestionPlatform = exports.defineSalesCorePlatform = exports.defineSalesPlatform = exports.definePlatform = exports.upstreamError = exports.validationError = exports.batchPoll = exports.mountTenantAdmin = exports.createTenantAdminHandlers = exports.createTenantAdminRouter = void 0;
|
|
16
16
|
// Adopter-facing structured-error primitive.
|
|
17
17
|
//
|
|
18
18
|
// `AdcpError` is the canonical throwable for structured rejection. Specialism
|
|
@@ -156,6 +156,21 @@ Object.defineProperty(exports, "definePropertyListsPlatform", { enumerable: true
|
|
|
156
156
|
Object.defineProperty(exports, "defineCollectionListsPlatform", { enumerable: true, get: function () { return platform_helpers_1.defineCollectionListsPlatform; } });
|
|
157
157
|
Object.defineProperty(exports, "defineBrandRightsPlatform", { enumerable: true, get: function () { return platform_helpers_1.defineBrandRightsPlatform; } });
|
|
158
158
|
Object.defineProperty(exports, "definePlatformWithCompliance", { enumerable: true, get: function () { return platform_helpers_1.definePlatformWithCompliance; } });
|
|
159
|
+
var proposal_1 = require("./proposal");
|
|
160
|
+
Object.defineProperty(exports, "validateProposalCapabilities", { enumerable: true, get: function () { return proposal_1.validateProposalCapabilities; } });
|
|
161
|
+
Object.defineProperty(exports, "InMemoryProposalStore", { enumerable: true, get: function () { return proposal_1.InMemoryProposalStore; } });
|
|
162
|
+
Object.defineProperty(exports, "MockProposalManager", { enumerable: true, get: function () { return proposal_1.MockProposalManager; } });
|
|
163
|
+
Object.defineProperty(exports, "enforceProposalExpiry", { enumerable: true, get: function () { return proposal_1.enforceProposalExpiry; } });
|
|
164
|
+
Object.defineProperty(exports, "validateCapabilityOverlap", { enumerable: true, get: function () { return proposal_1.validateCapabilityOverlap; } });
|
|
165
|
+
Object.defineProperty(exports, "validateOverlapSubsetOfWire", { enumerable: true, get: function () { return proposal_1.validateOverlapSubsetOfWire; } });
|
|
166
|
+
Object.defineProperty(exports, "detectFinalizeAction", { enumerable: true, get: function () { return proposal_1.detectFinalizeAction; } });
|
|
167
|
+
Object.defineProperty(exports, "setProposalLifecycleLogger", { enumerable: true, get: function () { return proposal_1.setProposalLifecycleLogger; } });
|
|
168
|
+
Object.defineProperty(exports, "maybeInterceptFinalize", { enumerable: true, get: function () { return proposal_1.maybeInterceptFinalize; } });
|
|
169
|
+
Object.defineProperty(exports, "maybePersistDraftAfterGetProducts", { enumerable: true, get: function () { return proposal_1.maybePersistDraftAfterGetProducts; } });
|
|
170
|
+
Object.defineProperty(exports, "maybeReserveProposalForCreateMediaBuy", { enumerable: true, get: function () { return proposal_1.maybeReserveProposalForCreateMediaBuy; } });
|
|
171
|
+
Object.defineProperty(exports, "finalizeProposalConsumption", { enumerable: true, get: function () { return proposal_1.finalizeProposalConsumption; } });
|
|
172
|
+
Object.defineProperty(exports, "releaseProposalReservation", { enumerable: true, get: function () { return proposal_1.releaseProposalReservation; } });
|
|
173
|
+
Object.defineProperty(exports, "maybeHydrateRecipesForMediaBuyId", { enumerable: true, get: function () { return proposal_1.maybeHydrateRecipesForMediaBuyId; } });
|
|
159
174
|
// Wire-shape assembly helpers — emit correct Product / PricingOption /
|
|
160
175
|
// package shapes from intent-shaped input. Reduces 30+ lines of wire
|
|
161
176
|
// boilerplate per resource. Used in slim skill examples so LLMs scaffold
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;AAEH,6CAA6C;AAC7C,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,qCAAqC;AACrC,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,oCAAoC;AACpC,iDAAsF;AAAnC,0GAAA,SAAS,OAAA;AAG5D,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAC1E,uDAAuD;AACvD,+CAqBwB;AApBtB,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,uHAAA,uBAAuB,OAAA;AACvB,qHAAA,qBAAqB,OAAA;AACrB,iHAAA,iBAAiB,OAAA;AACjB,oHAAA,oBAAoB,OAAA;AACpB,wHAAA,wBAAwB,OAAA;AACxB,mHAAA,mBAAmB,OAAA;AACnB,iHAAA,iBAAiB,OAAA;AACjB,uHAAA,uBAAuB,OAAA;AACvB,iHAAA,iBAAiB,OAAA;AACjB,qHAAA,qBAAqB,OAAA;AACrB,gHAAA,gBAAgB,OAAA;AAChB,uHAAA,uBAAuB,OAAA;AACvB,uHAAA,uBAAuB,OAAA;AACvB,0HAAA,0BAA0B,OAAA;AAC1B,qHAAA,qBAAqB,OAAA;AACrB,oHAAA,oBAAoB,OAAA;AAMtB,qEAAqE;AACrE,4EAA4E;AAC5E,uEAAuE;AACvE,2EAA2E;AAC3E,sBAAsB;AACtB,mDAU0B;AATxB,qHAAA,mBAAmB,OAAA;AACnB,oHAAA,kBAAkB,OAAA;AAClB,oHAAA,kBAAkB,OAAA;AAClB,+HAAA,6BAA6B,OAAA;AA8B/B,qCAA+D;AAAtD,+GAAA,oBAAoB,OAAA;AAAE,uGAAA,YAAY,OAAA;AAE3C,sEAAsE;AACtE,2EAA2E;AAC3E,sEAAsE;AACtE,iEAAiE;AACjE,+CAAqE;AAA5D,iHAAA,iBAAiB,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAsB5C,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAI3B,mDAAyD;AAAhD,uHAAA,qBAAqB,OAAA;AAgB9B,6EAA6E;AAC7E,yEAAyE;AACzE,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AAGtB,8EAA8E;AAC9E,4EAA4E;AAC5E,mCAAmC;AACnC,qDAAiG;AAAxF,sHAAA,mBAAmB,OAAA;AAAE,yHAAA,sBAAsB,OAAA;AAAE,kHAAA,eAAe,OAAA;AAwDrE,0EAA0E;AAC1E,8CAA8C;AAC9C,yDAOiC;AAN/B,6HAAA,4BAA4B,OAAA;AAC5B,qHAAA,oBAAoB,OAAA;AAMtB,iEAAoF;AAA3E,wHAAA,mBAAmB,OAAA;AAAE,qHAAA,gBAAgB,OAAA;AAC9C,yDAKiC;AAJ/B,2HAAA,0BAA0B,OAAA;AAK5B,2EAK0C;AAJxC,oIAAA,0BAA0B,OAAA;AAC1B,6IAAA,mCAAmC,OAAA;AAKrC,2EAA2E;AAC3E,2EAA2E;AAC3E,uEAAuE;AACvE,qDAa2B;AAZzB,uHAAA,oBAAoB,OAAA;AACpB,6HAAA,0BAA0B,OAAA;AAC1B,4HAAA,yBAAyB,OAAA;AACzB,0HAAA,uBAAuB,OAAA;AAWzB,0EAA0E;AAC1E,uEAAuE;AACvE,wBAAwB;AACxB,uDAA4D;AAAnD,4GAAA,QAAQ,OAAA;AAAE,gHAAA,YAAY,OAAA;AAE/B,2EAA2E;AAC3E,2EAA2E;AAC3E,+CAAiG;AAAxF,0HAAA,0BAA0B,OAAA;AAEnC,yEAAyE;AACzE,gDAAgD;AAChD,2CAA8E;AAArE,8GAAA,gBAAgB,OAAA;AAEzB,mEAAmE;AACnE,oDAAoD;AACpD,+CAMwB;AALtB,uHAAA,uBAAuB,OAAA;AACvB,yHAAA,yBAAyB,OAAA;AACzB,gHAAA,gBAAgB,OAAA;AAKlB,6EAA6E;AAC7E,2EAA2E;AAC3E,qCAAsE;AAA7D,oGAAA,SAAS,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAGlD,0EAA0E;AAC1E,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,yEAAyE;AACzE,wEAAwE;AACxE,+CAA+C;AAC/C,uDAgB4B;AAf1B,kHAAA,cAAc,OAAA;AACd,uHAAA,mBAAmB,OAAA;AACnB,2HAAA,uBAAuB,OAAA;AACvB,gIAAA,4BAA4B,OAAA;AAC5B,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AACrB,uIAAA,mCAAmC,OAAA;AACnC,iIAAA,6BAA6B,OAAA;AAC7B,kIAAA,8BAA8B,OAAA;AAC9B,oIAAA,gCAAgC,OAAA;AAChC,kIAAA,8BAA8B,OAAA;AAC9B,+HAAA,2BAA2B,OAAA;AAC3B,iIAAA,6BAA6B,OAAA;AAC7B,6HAAA,yBAAyB,OAAA;AACzB,gIAAA,4BAA4B,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;AAEH,6CAA6C;AAC7C,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,qCAAqC;AACrC,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,oCAAoC;AACpC,iDAAsF;AAAnC,0GAAA,SAAS,OAAA;AAG5D,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAC1E,uDAAuD;AACvD,+CAqBwB;AApBtB,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,uHAAA,uBAAuB,OAAA;AACvB,qHAAA,qBAAqB,OAAA;AACrB,iHAAA,iBAAiB,OAAA;AACjB,oHAAA,oBAAoB,OAAA;AACpB,wHAAA,wBAAwB,OAAA;AACxB,mHAAA,mBAAmB,OAAA;AACnB,iHAAA,iBAAiB,OAAA;AACjB,uHAAA,uBAAuB,OAAA;AACvB,iHAAA,iBAAiB,OAAA;AACjB,qHAAA,qBAAqB,OAAA;AACrB,gHAAA,gBAAgB,OAAA;AAChB,uHAAA,uBAAuB,OAAA;AACvB,uHAAA,uBAAuB,OAAA;AACvB,0HAAA,0BAA0B,OAAA;AAC1B,qHAAA,qBAAqB,OAAA;AACrB,oHAAA,oBAAoB,OAAA;AAMtB,qEAAqE;AACrE,4EAA4E;AAC5E,uEAAuE;AACvE,2EAA2E;AAC3E,sBAAsB;AACtB,mDAU0B;AATxB,qHAAA,mBAAmB,OAAA;AACnB,oHAAA,kBAAkB,OAAA;AAClB,oHAAA,kBAAkB,OAAA;AAClB,+HAAA,6BAA6B,OAAA;AA8B/B,qCAA+D;AAAtD,+GAAA,oBAAoB,OAAA;AAAE,uGAAA,YAAY,OAAA;AAE3C,sEAAsE;AACtE,2EAA2E;AAC3E,sEAAsE;AACtE,iEAAiE;AACjE,+CAAqE;AAA5D,iHAAA,iBAAiB,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAsB5C,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAI3B,mDAAyD;AAAhD,uHAAA,qBAAqB,OAAA;AAgB9B,6EAA6E;AAC7E,yEAAyE;AACzE,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AAGtB,8EAA8E;AAC9E,4EAA4E;AAC5E,mCAAmC;AACnC,qDAAiG;AAAxF,sHAAA,mBAAmB,OAAA;AAAE,yHAAA,sBAAsB,OAAA;AAAE,kHAAA,eAAe,OAAA;AAwDrE,0EAA0E;AAC1E,8CAA8C;AAC9C,yDAOiC;AAN/B,6HAAA,4BAA4B,OAAA;AAC5B,qHAAA,oBAAoB,OAAA;AAMtB,iEAAoF;AAA3E,wHAAA,mBAAmB,OAAA;AAAE,qHAAA,gBAAgB,OAAA;AAC9C,yDAKiC;AAJ/B,2HAAA,0BAA0B,OAAA;AAK5B,2EAK0C;AAJxC,oIAAA,0BAA0B,OAAA;AAC1B,6IAAA,mCAAmC,OAAA;AAKrC,2EAA2E;AAC3E,2EAA2E;AAC3E,uEAAuE;AACvE,qDAa2B;AAZzB,uHAAA,oBAAoB,OAAA;AACpB,6HAAA,0BAA0B,OAAA;AAC1B,4HAAA,yBAAyB,OAAA;AACzB,0HAAA,uBAAuB,OAAA;AAWzB,0EAA0E;AAC1E,uEAAuE;AACvE,wBAAwB;AACxB,uDAA4D;AAAnD,4GAAA,QAAQ,OAAA;AAAE,gHAAA,YAAY,OAAA;AAE/B,2EAA2E;AAC3E,2EAA2E;AAC3E,+CAAiG;AAAxF,0HAAA,0BAA0B,OAAA;AAEnC,yEAAyE;AACzE,gDAAgD;AAChD,2CAA8E;AAArE,8GAAA,gBAAgB,OAAA;AAEzB,mEAAmE;AACnE,oDAAoD;AACpD,+CAMwB;AALtB,uHAAA,uBAAuB,OAAA;AACvB,yHAAA,yBAAyB,OAAA;AACzB,gHAAA,gBAAgB,OAAA;AAKlB,6EAA6E;AAC7E,2EAA2E;AAC3E,qCAAsE;AAA7D,oGAAA,SAAS,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAGlD,0EAA0E;AAC1E,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,yEAAyE;AACzE,wEAAwE;AACxE,+CAA+C;AAC/C,uDAgB4B;AAf1B,kHAAA,cAAc,OAAA;AACd,uHAAA,mBAAmB,OAAA;AACnB,2HAAA,uBAAuB,OAAA;AACvB,gIAAA,4BAA4B,OAAA;AAC5B,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AACrB,uIAAA,mCAAmC,OAAA;AACnC,iIAAA,6BAA6B,OAAA;AAC7B,kIAAA,8BAA8B,OAAA;AAC9B,oIAAA,gCAAgC,OAAA;AAChC,kIAAA,8BAA8B,OAAA;AAC9B,+HAAA,2BAA2B,OAAA;AAC3B,iIAAA,6BAA6B,OAAA;AAC7B,6HAAA,yBAAyB,OAAA;AACzB,gIAAA,4BAA4B,OAAA;AAqB9B,uCAeoB;AAdlB,wHAAA,4BAA4B,OAAA;AAC5B,iHAAA,qBAAqB,OAAA;AACrB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,uHAAA,2BAA2B,OAAA;AAC3B,gHAAA,oBAAoB,OAAA;AACpB,sHAAA,0BAA0B,OAAA;AAC1B,kHAAA,sBAAsB,OAAA;AACtB,6HAAA,iCAAiC,OAAA;AACjC,iIAAA,qCAAqC,OAAA;AACrC,uHAAA,2BAA2B,OAAA;AAC3B,sHAAA,0BAA0B,OAAA;AAC1B,4HAAA,gCAAgC,OAAA;AAIlC,uEAAuE;AACvE,qEAAqE;AACrE,yEAAyE;AACzE,qCAAqC;AACrC,uDAAoF;AAA3E,gHAAA,YAAY,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAAE,gHAAA,YAAY,OAAA"}
|
|
@@ -15,6 +15,7 @@ import type { BuyerAgentRegistry } from './buyer-agent';
|
|
|
15
15
|
import type { SessionContext, OnInstructionsError, MaybePromise } from '../create-adcp-server';
|
|
16
16
|
import type { StatusMappers } from './status-mappers';
|
|
17
17
|
import type { SalesPlatform, SalesCorePlatform, SalesIngestionPlatform } from './specialisms/sales';
|
|
18
|
+
import type { ProposalManager, Recipe } from './proposal';
|
|
18
19
|
import type { CreativeBuilderPlatform } from './specialisms/creative';
|
|
19
20
|
import type { CreativeAdServerPlatform } from './specialisms/creative-ad-server';
|
|
20
21
|
import type { AudiencePlatform } from './specialisms/audiences';
|
|
@@ -225,6 +226,22 @@ export interface DecisioningPlatform<TConfig = unknown, TCtxMeta = Record<string
|
|
|
225
226
|
collectionLists?: CollectionListsPlatform<TCtxMeta>;
|
|
226
227
|
/** @see DecisioningPlatform — § Cross-specialism dispatch (`acquireRights` is the canonical caller into `campaignGovernance.checkGovernance`). */
|
|
227
228
|
brandRights?: BrandRightsPlatform<TCtxMeta>;
|
|
229
|
+
/**
|
|
230
|
+
* Optional sibling that owns the proposal side of the two-platform
|
|
231
|
+
* composition (port of `adcp-client-python`'s `ProposalManager`). When
|
|
232
|
+
* present, the framework routes `get_products` and refine traffic to
|
|
233
|
+
* the manager instead of `sales.getProducts`; `sales` stays
|
|
234
|
+
* responsible for media-buy execution. Either side can be mock-backed
|
|
235
|
+
* independently — see `MockProposalManager`.
|
|
236
|
+
*
|
|
237
|
+
* **Status**: primitive types only. Framework dispatch wiring (the
|
|
238
|
+
* five seams that intercept `getProducts`, `createMediaBuy`,
|
|
239
|
+
* `updateMediaBuy`, `getMediaBuyDelivery` to persist drafts, hydrate
|
|
240
|
+
* recipes, and commit on finalize) lands in a follow-up release. v1.5
|
|
241
|
+
* adopters can already implement against this surface; the framework
|
|
242
|
+
* just doesn't drive the lifecycle yet.
|
|
243
|
+
*/
|
|
244
|
+
proposalManager?: ProposalManager<Recipe, TCtxMeta>;
|
|
228
245
|
}
|
|
229
246
|
/**
|
|
230
247
|
* Maps an AdCP specialism to the platform interface(s) it requires. The
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/platform.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/platform.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/platform.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAwbH,0EAA0E;AAC1E,wEAAwE;AACxE,0EAA0E;AAC1E,sEAAsE;AACtE,iBAAiB"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proposal-dispatch — the v1.5 framework intercept seams.
|
|
3
|
+
*
|
|
4
|
+
* Pure functions that the runtime calls from the wire-handler shims
|
|
5
|
+
* (`getProducts`, `createMediaBuy`, `updateMediaBuy`,
|
|
6
|
+
* `getMediaBuyDelivery`). Each helper short-circuits when no manager /
|
|
7
|
+
* store is wired for the request, so the v1 path is preserved
|
|
8
|
+
* byte-for-byte.
|
|
9
|
+
*
|
|
10
|
+
* Five integration points (parity with `adcp-client-python.src/adcp/decisioning/proposal_dispatch.py`):
|
|
11
|
+
*
|
|
12
|
+
* - {@link maybeInterceptFinalize} — `getProducts` shim. Detects
|
|
13
|
+
* `refine[i].action: 'finalize'`, calls the manager's
|
|
14
|
+
* `finalizeProposal`, commits the proposal, returns the wire
|
|
15
|
+
* response. Returns `null` when no finalize entry / no
|
|
16
|
+
* finalize-capable manager.
|
|
17
|
+
* - {@link maybePersistDraftAfterGetProducts} — `getProducts` shim
|
|
18
|
+
* (post-call). Walks the response's `proposals[]`, validates
|
|
19
|
+
* `overlap ⊆ wire`, persists each as a draft.
|
|
20
|
+
* - {@link maybeReserveProposalForCreateMediaBuy} — `createMediaBuy`
|
|
21
|
+
* shim. When `proposal_id` is set, validates expiry + capability
|
|
22
|
+
* overlap, reserves the proposal (`COMMITTED → CONSUMING`), returns
|
|
23
|
+
* the recipes map for `ctx.recipes` hydration.
|
|
24
|
+
* - {@link finalizeProposalConsumption} — `createMediaBuy` shim
|
|
25
|
+
* (post-success). Promotes `CONSUMING → CONSUMED` and records the
|
|
26
|
+
* `mediaBuyId` back-reference.
|
|
27
|
+
* - {@link releaseProposalReservation} — `createMediaBuy` shim
|
|
28
|
+
* (failure rollback). Restores `CONSUMING → COMMITTED`.
|
|
29
|
+
* - {@link maybeHydrateRecipesForMediaBuyId} —
|
|
30
|
+
* `updateMediaBuy` / `getMediaBuyDelivery` shims. Reverse-index
|
|
31
|
+
* hydration via `getByMediaBuyId`. Re-runs capability-overlap
|
|
32
|
+
* validation per Resolutions §5.
|
|
33
|
+
*
|
|
34
|
+
* @public
|
|
35
|
+
* @packageDocumentation
|
|
36
|
+
*/
|
|
37
|
+
import { type TaskHandoff } from '../async-outcome';
|
|
38
|
+
import type { GetProductsRequest, GetProductsResponse } from '../../../types/tools.generated';
|
|
39
|
+
import type { ProposalRecord, ProposalStore } from './store';
|
|
40
|
+
import type { FinalizeProposalSuccess, ProposalManager, Recipe } from './types';
|
|
41
|
+
/**
|
|
42
|
+
* Result of {@link maybeInterceptFinalize}.
|
|
43
|
+
*
|
|
44
|
+
* - `kind: 'intercepted'` — adopter's `finalizeProposal` was called.
|
|
45
|
+
* Caller threads `result` and `project` through the framework's
|
|
46
|
+
* standard `routeIfHandoff` so the projection callback fires
|
|
47
|
+
* synchronously for sync `FinalizeProposalSuccess` returns AND
|
|
48
|
+
* inside the background task for `TaskHandoff<FinalizeProposalSuccess>`
|
|
49
|
+
* returns. The projection commits the proposal store, emits the
|
|
50
|
+
* `proposal.finalized` log, and shapes the wire response.
|
|
51
|
+
* - `kind: 'pass'` — no finalize entry / no finalize-capable manager;
|
|
52
|
+
* caller continues with the standard `getProducts` dispatch.
|
|
53
|
+
*
|
|
54
|
+
* No special-case handling: finalize HITL inherits the framework's
|
|
55
|
+
* task-lifecycle posture (cancellation, restart-via-durable-store,
|
|
56
|
+
* deadline, webhook delivery) from `routeIfHandoff`, the same machinery
|
|
57
|
+
* that drives `createMediaBuy` HITL and `syncCreatives` HITL.
|
|
58
|
+
*
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
export type FinalizeInterceptResult<TRecipe extends Recipe = Recipe> = {
|
|
62
|
+
kind: 'intercepted';
|
|
63
|
+
result: FinalizeProposalSuccess<TRecipe> | TaskHandoff<FinalizeProposalSuccess<TRecipe>>;
|
|
64
|
+
project: (success: FinalizeProposalSuccess<TRecipe>) => Promise<GetProductsResponse>;
|
|
65
|
+
} | {
|
|
66
|
+
kind: 'pass';
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Intercept `buying_mode: 'refine'` requests carrying a
|
|
70
|
+
* `refine[i].action: 'finalize'` entry. Hydrates the draft, calls the
|
|
71
|
+
* manager's `finalizeProposal`, and returns the raw adopter result + a
|
|
72
|
+
* projection callback. The runtime threads them through the framework's
|
|
73
|
+
* standard `routeIfHandoff` so:
|
|
74
|
+
*
|
|
75
|
+
* - Sync `FinalizeProposalSuccess` returns: projection runs inline,
|
|
76
|
+
* buyer sees the committed proposal in the response.
|
|
77
|
+
* - HITL `TaskHandoff<FinalizeProposalSuccess>` returns: framework
|
|
78
|
+
* returns the Submitted envelope to the buyer, runs the adopter's
|
|
79
|
+
* handoff fn in background; projection runs when the handoff
|
|
80
|
+
* resolves, commits the proposal, projects the terminal task
|
|
81
|
+
* artifact.
|
|
82
|
+
*
|
|
83
|
+
* Same machinery as `createMediaBuy` HITL — finalize inherits whatever
|
|
84
|
+
* cancellation, restart-via-durable-store, deadline, and webhook
|
|
85
|
+
* delivery semantics the framework's task lifecycle provides for every
|
|
86
|
+
* other unified-hybrid tool. No special-case wrapper.
|
|
87
|
+
*
|
|
88
|
+
* @public
|
|
89
|
+
*/
|
|
90
|
+
export declare function maybeInterceptFinalize<TRecipe extends Recipe, TCtxMeta>(args: {
|
|
91
|
+
request: GetProductsRequest;
|
|
92
|
+
manager: ProposalManager<TRecipe, TCtxMeta> | undefined;
|
|
93
|
+
store: ProposalStore<TRecipe> | undefined;
|
|
94
|
+
ctx: {
|
|
95
|
+
account: {
|
|
96
|
+
id: string;
|
|
97
|
+
};
|
|
98
|
+
} & Record<string, unknown>;
|
|
99
|
+
}): Promise<FinalizeInterceptResult<TRecipe>>;
|
|
100
|
+
/**
|
|
101
|
+
* Persist proposals returned by `getProducts` / `refineProducts` as
|
|
102
|
+
* drafts in the wired {@link ProposalStore}. Validates `overlap ⊆ wire`
|
|
103
|
+
* for any returned recipes before persisting.
|
|
104
|
+
*
|
|
105
|
+
* Quietly returns when no store is wired, no `proposals[]` in the
|
|
106
|
+
* response, or no typed recipes attached to products.
|
|
107
|
+
*
|
|
108
|
+
* @public
|
|
109
|
+
*/
|
|
110
|
+
export declare function maybePersistDraftAfterGetProducts<TRecipe extends Recipe>(args: {
|
|
111
|
+
response: GetProductsResponse;
|
|
112
|
+
store: ProposalStore<TRecipe> | undefined;
|
|
113
|
+
ctx: {
|
|
114
|
+
account: {
|
|
115
|
+
id: string;
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
}): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Result of {@link maybeReserveProposalForCreateMediaBuy}.
|
|
121
|
+
*
|
|
122
|
+
* - `record` — the reserved {@link ProposalRecord}. Caller threads
|
|
123
|
+
* `recipes` onto `ctx.recipes` and calls
|
|
124
|
+
* {@link finalizeProposalConsumption} on adapter success or
|
|
125
|
+
* {@link releaseProposalReservation} on failure.
|
|
126
|
+
* - `null` — request has no `proposal_id`, no store wired, or the
|
|
127
|
+
* framework didn't intercept (v1 path).
|
|
128
|
+
*
|
|
129
|
+
* @public
|
|
130
|
+
*/
|
|
131
|
+
export type ReservedProposal<TRecipe extends Recipe> = ProposalRecord<TRecipe>;
|
|
132
|
+
/**
|
|
133
|
+
* Reserve the proposal for consumption and hydrate `ctx.recipes`.
|
|
134
|
+
*
|
|
135
|
+
* Atomic CAS via {@link ProposalStore.tryReserveConsumption} — the
|
|
136
|
+
* proposal transitions `COMMITTED → CONSUMING` before the adapter runs.
|
|
137
|
+
* Two parallel `createMediaBuy(proposal_id=X)` calls cannot both
|
|
138
|
+
* reserve; the loser raises `PROPOSAL_NOT_COMMITTED`.
|
|
139
|
+
*
|
|
140
|
+
* Validates per § D7 (expiry) BEFORE reserving — an expired proposal
|
|
141
|
+
* surfaces `PROPOSAL_EXPIRED` without flipping the state.
|
|
142
|
+
*
|
|
143
|
+
* @public
|
|
144
|
+
*/
|
|
145
|
+
export declare function maybeReserveProposalForCreateMediaBuy<TRecipe extends Recipe, TCtxMeta>(args: {
|
|
146
|
+
request: {
|
|
147
|
+
proposal_id?: string;
|
|
148
|
+
packages?: ReadonlyArray<unknown>;
|
|
149
|
+
} & Record<string, unknown>;
|
|
150
|
+
manager: ProposalManager<TRecipe, TCtxMeta> | undefined;
|
|
151
|
+
store: ProposalStore<TRecipe> | undefined;
|
|
152
|
+
ctx: {
|
|
153
|
+
account: {
|
|
154
|
+
id: string;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
now?: Date;
|
|
158
|
+
}): Promise<ReservedProposal<TRecipe> | null>;
|
|
159
|
+
/**
|
|
160
|
+
* Promote `CONSUMING → CONSUMED` after the adapter's `createMediaBuy`
|
|
161
|
+
* succeeded.
|
|
162
|
+
*
|
|
163
|
+
* @public
|
|
164
|
+
*/
|
|
165
|
+
export declare function finalizeProposalConsumption<TRecipe extends Recipe>(args: {
|
|
166
|
+
store: ProposalStore<TRecipe> | undefined;
|
|
167
|
+
record: ReservedProposal<TRecipe>;
|
|
168
|
+
mediaBuyId: string;
|
|
169
|
+
}): Promise<void>;
|
|
170
|
+
/**
|
|
171
|
+
* Roll back the reservation: `CONSUMING → COMMITTED`. Best-effort.
|
|
172
|
+
*
|
|
173
|
+
* @public
|
|
174
|
+
*/
|
|
175
|
+
export declare function releaseProposalReservation<TRecipe extends Recipe>(args: {
|
|
176
|
+
store: ProposalStore<TRecipe> | undefined;
|
|
177
|
+
record: ReservedProposal<TRecipe>;
|
|
178
|
+
logger?: {
|
|
179
|
+
warn(message: string): void;
|
|
180
|
+
};
|
|
181
|
+
}): Promise<void>;
|
|
182
|
+
/**
|
|
183
|
+
* Hydrate `ctx.recipes` for post-acceptance buy operations via the
|
|
184
|
+
* `getByMediaBuyId` reverse-index. Returns the record (so the caller
|
|
185
|
+
* can re-validate overlap if a packages-shaped patch is provided);
|
|
186
|
+
* returns `null` when no proposal backs this buy.
|
|
187
|
+
*
|
|
188
|
+
* Per Resolutions §5: re-validates capability overlap on every call
|
|
189
|
+
* with packages.
|
|
190
|
+
*
|
|
191
|
+
* @public
|
|
192
|
+
*/
|
|
193
|
+
export declare function maybeHydrateRecipesForMediaBuyId<TRecipe extends Recipe>(args: {
|
|
194
|
+
mediaBuyId: string | undefined;
|
|
195
|
+
store: ProposalStore<TRecipe> | undefined;
|
|
196
|
+
ctx: {
|
|
197
|
+
account: {
|
|
198
|
+
id: string;
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
packages?: ReadonlyArray<unknown>;
|
|
202
|
+
}): Promise<ProposalRecord<TRecipe> | null>;
|
|
203
|
+
//# sourceMappingURL=dispatch.d.ts.map
|