@adcp/client 3.7.1 → 3.8.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.js +42 -3
- package/dist/lib/adapters/content-standards-adapter.d.ts +106 -0
- package/dist/lib/adapters/content-standards-adapter.d.ts.map +1 -0
- package/dist/lib/adapters/content-standards-adapter.js +199 -0
- package/dist/lib/adapters/content-standards-adapter.js.map +1 -0
- package/dist/lib/adapters/index.d.ts +18 -0
- package/dist/lib/adapters/index.d.ts.map +1 -0
- package/dist/lib/adapters/index.js +41 -0
- package/dist/lib/adapters/index.js.map +1 -0
- package/dist/lib/adapters/property-list-adapter.d.ts +123 -0
- package/dist/lib/adapters/property-list-adapter.d.ts.map +1 -0
- package/dist/lib/adapters/property-list-adapter.js +212 -0
- package/dist/lib/adapters/property-list-adapter.js.map +1 -0
- package/dist/lib/adapters/proposal-manager.d.ts +142 -0
- package/dist/lib/adapters/proposal-manager.d.ts.map +1 -0
- package/dist/lib/adapters/proposal-manager.js +184 -0
- package/dist/lib/adapters/proposal-manager.js.map +1 -0
- package/dist/lib/adapters/si-session-manager.d.ts +161 -0
- package/dist/lib/adapters/si-session-manager.d.ts.map +1 -0
- package/dist/lib/adapters/si-session-manager.js +320 -0
- package/dist/lib/adapters/si-session-manager.js.map +1 -0
- package/dist/lib/agents/index.generated.d.ts +109 -33
- package/dist/lib/agents/index.generated.d.ts.map +1 -1
- package/dist/lib/agents/index.generated.js +162 -36
- package/dist/lib/agents/index.generated.js.map +1 -1
- package/dist/lib/core/ADCPMultiAgentClient.d.ts +5 -7
- package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -1
- package/dist/lib/core/ADCPMultiAgentClient.js +47 -35
- package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -1
- package/dist/lib/core/AgentClient.d.ts +13 -6
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js +23 -13
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/core/AsyncHandler.d.ts +1 -2
- package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
- package/dist/lib/core/AsyncHandler.js +0 -3
- package/dist/lib/core/AsyncHandler.js.map +1 -1
- package/dist/lib/core/ResponseValidator.d.ts.map +1 -1
- package/dist/lib/core/ResponseValidator.js +0 -1
- package/dist/lib/core/ResponseValidator.js.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.ts +102 -10
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +244 -17
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/discovery/property-crawler.d.ts +13 -2
- package/dist/lib/discovery/property-crawler.d.ts.map +1 -1
- package/dist/lib/discovery/property-crawler.js +48 -13
- package/dist/lib/discovery/property-crawler.js.map +1 -1
- package/dist/lib/discovery/types.d.ts +7 -1
- package/dist/lib/discovery/types.d.ts.map +1 -1
- package/dist/lib/index.d.ts +13 -4
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +79 -5
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +502 -238
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +2 -2
- package/dist/lib/types/core.generated.js.map +1 -1
- package/dist/lib/types/schemas.generated.d.ts +7237 -2284
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +1368 -461
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +3128 -507
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js +1 -1
- package/dist/lib/types/tools.generated.js.map +1 -1
- package/dist/lib/utils/capabilities.d.ts +98 -0
- package/dist/lib/utils/capabilities.d.ts.map +1 -0
- package/dist/lib/utils/capabilities.js +155 -0
- package/dist/lib/utils/capabilities.js.map +1 -0
- package/dist/lib/utils/creative-adapter.d.ts +87 -0
- package/dist/lib/utils/creative-adapter.d.ts.map +1 -0
- package/dist/lib/utils/creative-adapter.js +125 -0
- package/dist/lib/utils/creative-adapter.js.map +1 -0
- package/dist/lib/utils/format-assets.d.ts +4 -16
- package/dist/lib/utils/format-assets.d.ts.map +1 -1
- package/dist/lib/utils/format-assets.js +16 -14
- package/dist/lib/utils/format-assets.js.map +1 -1
- package/dist/lib/utils/format-renders.d.ts +82 -0
- package/dist/lib/utils/format-renders.d.ts.map +1 -0
- package/dist/lib/utils/format-renders.js +137 -0
- package/dist/lib/utils/format-renders.js.map +1 -0
- package/dist/lib/utils/index.d.ts +2 -1
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +13 -3
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/preview-normalizer.d.ts +109 -0
- package/dist/lib/utils/preview-normalizer.d.ts.map +1 -0
- package/dist/lib/utils/preview-normalizer.js +122 -0
- package/dist/lib/utils/preview-normalizer.js.map +1 -0
- package/dist/lib/utils/pricing-adapter.d.ts +121 -0
- package/dist/lib/utils/pricing-adapter.d.ts.map +1 -0
- package/dist/lib/utils/pricing-adapter.js +213 -0
- package/dist/lib/utils/pricing-adapter.js.map +1 -0
- package/dist/lib/utils/response-unwrapper.d.ts +2 -2
- package/dist/lib/utils/response-unwrapper.d.ts.map +1 -1
- package/dist/lib/utils/response-unwrapper.js +2 -2
- package/dist/lib/utils/response-unwrapper.js.map +1 -1
- package/dist/lib/version.d.ts +15 -7
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +20 -11
- package/dist/lib/version.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preview Response Normalizer
|
|
3
|
+
*
|
|
4
|
+
* Handles conversion between v2 output_id/output_role and v3 render_id/role.
|
|
5
|
+
* The library exposes only v3 API to clients.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* v3 preview render
|
|
9
|
+
*/
|
|
10
|
+
export interface PreviewRenderV3 {
|
|
11
|
+
render_id: string;
|
|
12
|
+
role: string;
|
|
13
|
+
output_format: 'url' | 'html' | 'both';
|
|
14
|
+
preview_url?: string;
|
|
15
|
+
preview_html?: string;
|
|
16
|
+
dimensions?: {
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
};
|
|
20
|
+
embedding?: {
|
|
21
|
+
recommended_sandbox?: string;
|
|
22
|
+
requires_https?: boolean;
|
|
23
|
+
supports_fullscreen?: boolean;
|
|
24
|
+
csp_policy?: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* v2 preview render (with old field names)
|
|
29
|
+
*/
|
|
30
|
+
export interface PreviewRenderV2 {
|
|
31
|
+
output_id?: string;
|
|
32
|
+
output_role?: string;
|
|
33
|
+
render_id?: string;
|
|
34
|
+
role?: string;
|
|
35
|
+
output_format: 'url' | 'html' | 'both';
|
|
36
|
+
preview_url?: string;
|
|
37
|
+
preview_html?: string;
|
|
38
|
+
dimensions?: {
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
};
|
|
42
|
+
embedding?: {
|
|
43
|
+
recommended_sandbox?: string;
|
|
44
|
+
requires_https?: boolean;
|
|
45
|
+
supports_fullscreen?: boolean;
|
|
46
|
+
csp_policy?: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* v3 preview object
|
|
51
|
+
*/
|
|
52
|
+
export interface PreviewV3 {
|
|
53
|
+
preview_id: string;
|
|
54
|
+
renders: PreviewRenderV3[];
|
|
55
|
+
input?: {
|
|
56
|
+
name: string;
|
|
57
|
+
macros?: Record<string, unknown>;
|
|
58
|
+
context_description?: string;
|
|
59
|
+
};
|
|
60
|
+
interactive_url?: string;
|
|
61
|
+
expires_at: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Normalize a preview render from v2 to v3 format
|
|
65
|
+
*/
|
|
66
|
+
export declare function normalizePreviewRender(render: PreviewRenderV2): PreviewRenderV3;
|
|
67
|
+
/**
|
|
68
|
+
* Normalize a preview object (normalizes all renders)
|
|
69
|
+
*/
|
|
70
|
+
export declare function normalizePreview(preview: any): PreviewV3;
|
|
71
|
+
/**
|
|
72
|
+
* Normalize a preview_creative response (single or batch)
|
|
73
|
+
*/
|
|
74
|
+
export declare function normalizePreviewCreativeResponse(response: any): any;
|
|
75
|
+
/**
|
|
76
|
+
* Check if a render uses v2 field names
|
|
77
|
+
*/
|
|
78
|
+
export declare function usesV2RenderFields(render: any): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Check if a render uses v3 field names
|
|
81
|
+
*/
|
|
82
|
+
export declare function usesV3RenderFields(render: any): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Get render ID from a render (works with both v2 and v3)
|
|
85
|
+
*/
|
|
86
|
+
export declare function getRenderId(render: PreviewRenderV2 | PreviewRenderV3): string;
|
|
87
|
+
/**
|
|
88
|
+
* Get render role from a render (works with both v2 and v3)
|
|
89
|
+
*/
|
|
90
|
+
export declare function getRenderRole(render: PreviewRenderV2 | PreviewRenderV3): string;
|
|
91
|
+
/**
|
|
92
|
+
* Get primary render from a preview
|
|
93
|
+
*/
|
|
94
|
+
export declare function getPrimaryPreviewRender(preview: {
|
|
95
|
+
renders: (PreviewRenderV2 | PreviewRenderV3)[];
|
|
96
|
+
}): PreviewRenderV3 | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Get preview URL from primary render
|
|
99
|
+
*/
|
|
100
|
+
export declare function getPreviewUrl(preview: {
|
|
101
|
+
renders: (PreviewRenderV2 | PreviewRenderV3)[];
|
|
102
|
+
}): string | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Get preview HTML from primary render
|
|
105
|
+
*/
|
|
106
|
+
export declare function getPreviewHtml(preview: {
|
|
107
|
+
renders: (PreviewRenderV2 | PreviewRenderV3)[];
|
|
108
|
+
}): string | undefined;
|
|
109
|
+
//# sourceMappingURL=preview-normalizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-normalizer.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/preview-normalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Preview Response Normalizer
|
|
4
|
+
*
|
|
5
|
+
* Handles conversion between v2 output_id/output_role and v3 render_id/role.
|
|
6
|
+
* The library exposes only v3 API to clients.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.normalizePreviewRender = normalizePreviewRender;
|
|
10
|
+
exports.normalizePreview = normalizePreview;
|
|
11
|
+
exports.normalizePreviewCreativeResponse = normalizePreviewCreativeResponse;
|
|
12
|
+
exports.usesV2RenderFields = usesV2RenderFields;
|
|
13
|
+
exports.usesV3RenderFields = usesV3RenderFields;
|
|
14
|
+
exports.getRenderId = getRenderId;
|
|
15
|
+
exports.getRenderRole = getRenderRole;
|
|
16
|
+
exports.getPrimaryPreviewRender = getPrimaryPreviewRender;
|
|
17
|
+
exports.getPreviewUrl = getPreviewUrl;
|
|
18
|
+
exports.getPreviewHtml = getPreviewHtml;
|
|
19
|
+
/**
|
|
20
|
+
* Normalize a preview render from v2 to v3 format
|
|
21
|
+
*/
|
|
22
|
+
function normalizePreviewRender(render) {
|
|
23
|
+
return {
|
|
24
|
+
// Prefer v3 field names, fall back to v2
|
|
25
|
+
render_id: render.render_id ?? render.output_id ?? 'primary',
|
|
26
|
+
role: render.role ?? render.output_role ?? 'primary',
|
|
27
|
+
output_format: render.output_format,
|
|
28
|
+
preview_url: render.preview_url,
|
|
29
|
+
preview_html: render.preview_html,
|
|
30
|
+
dimensions: render.dimensions,
|
|
31
|
+
embedding: render.embedding,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Normalize a preview object (normalizes all renders)
|
|
36
|
+
*/
|
|
37
|
+
function normalizePreview(preview) {
|
|
38
|
+
if (!preview.renders || !Array.isArray(preview.renders)) {
|
|
39
|
+
return preview;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
...preview,
|
|
43
|
+
renders: preview.renders.map(normalizePreviewRender),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Normalize a preview_creative response (single or batch)
|
|
48
|
+
*/
|
|
49
|
+
function normalizePreviewCreativeResponse(response) {
|
|
50
|
+
// Single response with previews array
|
|
51
|
+
if (response.previews && Array.isArray(response.previews)) {
|
|
52
|
+
return {
|
|
53
|
+
...response,
|
|
54
|
+
previews: response.previews.map(normalizePreview),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
// Batch response with results array
|
|
58
|
+
if (response.results && Array.isArray(response.results)) {
|
|
59
|
+
return {
|
|
60
|
+
...response,
|
|
61
|
+
results: response.results.map((result) => {
|
|
62
|
+
if (result.success && result.response?.previews) {
|
|
63
|
+
return {
|
|
64
|
+
...result,
|
|
65
|
+
response: {
|
|
66
|
+
...result.response,
|
|
67
|
+
previews: result.response.previews.map(normalizePreview),
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
}),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return response;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Check if a render uses v2 field names
|
|
79
|
+
*/
|
|
80
|
+
function usesV2RenderFields(render) {
|
|
81
|
+
return ((render.output_id !== undefined || render.output_role !== undefined) &&
|
|
82
|
+
render.render_id === undefined &&
|
|
83
|
+
render.role === undefined);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Check if a render uses v3 field names
|
|
87
|
+
*/
|
|
88
|
+
function usesV3RenderFields(render) {
|
|
89
|
+
return render.render_id !== undefined || render.role !== undefined;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get render ID from a render (works with both v2 and v3)
|
|
93
|
+
*/
|
|
94
|
+
function getRenderId(render) {
|
|
95
|
+
return render.render_id ?? render.output_id ?? 'primary';
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get render role from a render (works with both v2 and v3)
|
|
99
|
+
*/
|
|
100
|
+
function getRenderRole(render) {
|
|
101
|
+
return render.role ?? render.output_role ?? 'primary';
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get primary render from a preview
|
|
105
|
+
*/
|
|
106
|
+
function getPrimaryPreviewRender(preview) {
|
|
107
|
+
const renders = preview.renders.map(normalizePreviewRender);
|
|
108
|
+
return renders.find(r => r.role === 'primary') ?? renders[0];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Get preview URL from primary render
|
|
112
|
+
*/
|
|
113
|
+
function getPreviewUrl(preview) {
|
|
114
|
+
return getPrimaryPreviewRender(preview)?.preview_url;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get preview HTML from primary render
|
|
118
|
+
*/
|
|
119
|
+
function getPreviewHtml(preview) {
|
|
120
|
+
return getPrimaryPreviewRender(preview)?.preview_html;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=preview-normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-normalizer.js","sourceRoot":"","sources":["../../../src/lib/utils/preview-normalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pricing Option Adapter
|
|
3
|
+
*
|
|
4
|
+
* Handles conversion between v2.x and v3 pricing option field names.
|
|
5
|
+
* The library exposes only v3 API (fixed_price, floor_price) to clients,
|
|
6
|
+
* and internally adapts requests for v2.x servers.
|
|
7
|
+
*
|
|
8
|
+
* Field mappings:
|
|
9
|
+
* - v3 fixed_price ↔ v2 rate (for fixed pricing)
|
|
10
|
+
* - v3 floor_price ↔ v2 price_guidance.floor (for auction pricing)
|
|
11
|
+
* - v3 presence of fixed_price ↔ v2 is_fixed: true/false
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* v3 price guidance (percentiles only, floor moved to top level)
|
|
15
|
+
*/
|
|
16
|
+
export interface PriceGuidanceV3 {
|
|
17
|
+
p25?: number;
|
|
18
|
+
p50?: number;
|
|
19
|
+
p75?: number;
|
|
20
|
+
p90?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* v2 price guidance (includes floor)
|
|
24
|
+
*/
|
|
25
|
+
export interface PriceGuidanceV2 {
|
|
26
|
+
floor?: number;
|
|
27
|
+
p25?: number;
|
|
28
|
+
p50?: number;
|
|
29
|
+
p75?: number;
|
|
30
|
+
p90?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* v3 pricing option structure
|
|
34
|
+
*/
|
|
35
|
+
export interface PricingOptionV3 {
|
|
36
|
+
pricing_option_id: string;
|
|
37
|
+
pricing_model: string;
|
|
38
|
+
currency: string;
|
|
39
|
+
/** Fixed price - if present, this is fixed pricing */
|
|
40
|
+
fixed_price?: number;
|
|
41
|
+
/** Floor price for auction - mutually exclusive with fixed_price */
|
|
42
|
+
floor_price?: number;
|
|
43
|
+
/** Percentile hints for auction bidding */
|
|
44
|
+
price_guidance?: PriceGuidanceV3;
|
|
45
|
+
min_spend_per_package?: number;
|
|
46
|
+
parameters?: Record<string, unknown>;
|
|
47
|
+
[key: string]: unknown;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* v2 pricing option structure
|
|
51
|
+
*/
|
|
52
|
+
export interface PricingOptionV2 {
|
|
53
|
+
pricing_option_id: string;
|
|
54
|
+
pricing_model: string;
|
|
55
|
+
currency: string;
|
|
56
|
+
/** Fixed rate (v2 name for fixed_price) */
|
|
57
|
+
rate?: number;
|
|
58
|
+
/** Boolean discriminator for fixed vs auction */
|
|
59
|
+
is_fixed?: boolean;
|
|
60
|
+
/** Price guidance including floor */
|
|
61
|
+
price_guidance?: PriceGuidanceV2;
|
|
62
|
+
min_spend_per_package?: number;
|
|
63
|
+
parameters?: Record<string, unknown>;
|
|
64
|
+
[key: string]: unknown;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Check if a pricing option uses v2 field names
|
|
68
|
+
*/
|
|
69
|
+
export declare function usesV2PricingFields(option: any): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Check if a pricing option uses v3 field names
|
|
72
|
+
*/
|
|
73
|
+
export declare function usesV3PricingFields(option: any): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Detect if a pricing option is fixed pricing (works with v2 or v3)
|
|
76
|
+
*/
|
|
77
|
+
export declare function isFixedPricing(option: PricingOptionV2 | PricingOptionV3): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Get the price value from a pricing option (works with v2 or v3)
|
|
80
|
+
*/
|
|
81
|
+
export declare function getPrice(option: PricingOptionV2 | PricingOptionV3): number | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Get the floor price from a pricing option (works with v2 or v3)
|
|
84
|
+
*/
|
|
85
|
+
export declare function getFloorPrice(option: PricingOptionV2 | PricingOptionV3): number | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Adapt a v3-style pricing option for a v2 server.
|
|
88
|
+
* Converts fixed_price → rate, floor_price → price_guidance.floor
|
|
89
|
+
*/
|
|
90
|
+
export declare function adaptPricingOptionForV2(option: PricingOptionV3): PricingOptionV2;
|
|
91
|
+
/**
|
|
92
|
+
* Normalize a v2-style pricing option to v3.
|
|
93
|
+
* Converts rate → fixed_price, price_guidance.floor → floor_price
|
|
94
|
+
*/
|
|
95
|
+
export declare function normalizePricingOption(option: PricingOptionV2 | PricingOptionV3): PricingOptionV3;
|
|
96
|
+
/**
|
|
97
|
+
* Adapt all pricing options in a product for v2 server
|
|
98
|
+
*/
|
|
99
|
+
export declare function adaptProductPricingForV2(product: any): any;
|
|
100
|
+
/**
|
|
101
|
+
* Normalize all pricing options in a product to v3
|
|
102
|
+
*/
|
|
103
|
+
export declare function normalizeProductPricing(product: any): any;
|
|
104
|
+
/**
|
|
105
|
+
* Normalize all products in a get_products response to v3
|
|
106
|
+
*/
|
|
107
|
+
export declare function normalizeGetProductsResponse(response: any): any;
|
|
108
|
+
/**
|
|
109
|
+
* Adapt a package request's pricing option selection for v2 server.
|
|
110
|
+
* This handles bid_price which references pricing option floor semantics.
|
|
111
|
+
*/
|
|
112
|
+
export declare function adaptPackagePricingForV2(pkg: any): any;
|
|
113
|
+
/**
|
|
114
|
+
* Adapt a create_media_buy request for v2 server (pricing fields)
|
|
115
|
+
*/
|
|
116
|
+
export declare function adaptMediaBuyPricingForV2(request: any): any;
|
|
117
|
+
/**
|
|
118
|
+
* Normalize a media buy response's package pricing to v3
|
|
119
|
+
*/
|
|
120
|
+
export declare function normalizeMediaBuyPricingResponse(response: any): any;
|
|
121
|
+
//# sourceMappingURL=pricing-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing-adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/pricing-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pricing Option Adapter
|
|
4
|
+
*
|
|
5
|
+
* Handles conversion between v2.x and v3 pricing option field names.
|
|
6
|
+
* The library exposes only v3 API (fixed_price, floor_price) to clients,
|
|
7
|
+
* and internally adapts requests for v2.x servers.
|
|
8
|
+
*
|
|
9
|
+
* Field mappings:
|
|
10
|
+
* - v3 fixed_price ↔ v2 rate (for fixed pricing)
|
|
11
|
+
* - v3 floor_price ↔ v2 price_guidance.floor (for auction pricing)
|
|
12
|
+
* - v3 presence of fixed_price ↔ v2 is_fixed: true/false
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.usesV2PricingFields = usesV2PricingFields;
|
|
16
|
+
exports.usesV3PricingFields = usesV3PricingFields;
|
|
17
|
+
exports.isFixedPricing = isFixedPricing;
|
|
18
|
+
exports.getPrice = getPrice;
|
|
19
|
+
exports.getFloorPrice = getFloorPrice;
|
|
20
|
+
exports.adaptPricingOptionForV2 = adaptPricingOptionForV2;
|
|
21
|
+
exports.normalizePricingOption = normalizePricingOption;
|
|
22
|
+
exports.adaptProductPricingForV2 = adaptProductPricingForV2;
|
|
23
|
+
exports.normalizeProductPricing = normalizeProductPricing;
|
|
24
|
+
exports.normalizeGetProductsResponse = normalizeGetProductsResponse;
|
|
25
|
+
exports.adaptPackagePricingForV2 = adaptPackagePricingForV2;
|
|
26
|
+
exports.adaptMediaBuyPricingForV2 = adaptMediaBuyPricingForV2;
|
|
27
|
+
exports.normalizeMediaBuyPricingResponse = normalizeMediaBuyPricingResponse;
|
|
28
|
+
/**
|
|
29
|
+
* Check if a pricing option uses v2 field names
|
|
30
|
+
*/
|
|
31
|
+
function usesV2PricingFields(option) {
|
|
32
|
+
if (!option || typeof option !== 'object')
|
|
33
|
+
return false;
|
|
34
|
+
// v2 uses 'rate' or 'is_fixed' or has floor inside price_guidance
|
|
35
|
+
return option.rate !== undefined || option.is_fixed !== undefined || option.price_guidance?.floor !== undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Check if a pricing option uses v3 field names
|
|
39
|
+
*/
|
|
40
|
+
function usesV3PricingFields(option) {
|
|
41
|
+
if (!option || typeof option !== 'object')
|
|
42
|
+
return false;
|
|
43
|
+
// v3 uses fixed_price or floor_price at top level
|
|
44
|
+
return option.fixed_price !== undefined || option.floor_price !== undefined;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Detect if a pricing option is fixed pricing (works with v2 or v3)
|
|
48
|
+
*/
|
|
49
|
+
function isFixedPricing(option) {
|
|
50
|
+
// v3: presence of fixed_price indicates fixed pricing
|
|
51
|
+
if (option.fixed_price !== undefined) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
// v2: is_fixed boolean
|
|
55
|
+
if (option.is_fixed !== undefined) {
|
|
56
|
+
return option.is_fixed;
|
|
57
|
+
}
|
|
58
|
+
// v2: presence of rate without is_fixed defaults to fixed
|
|
59
|
+
if (option.rate !== undefined) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get the price value from a pricing option (works with v2 or v3)
|
|
66
|
+
*/
|
|
67
|
+
function getPrice(option) {
|
|
68
|
+
// v3 field takes precedence
|
|
69
|
+
if (option.fixed_price !== undefined) {
|
|
70
|
+
return option.fixed_price;
|
|
71
|
+
}
|
|
72
|
+
// Fall back to v2 field
|
|
73
|
+
return option.rate;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get the floor price from a pricing option (works with v2 or v3)
|
|
77
|
+
*/
|
|
78
|
+
function getFloorPrice(option) {
|
|
79
|
+
// v3 field takes precedence
|
|
80
|
+
if (option.floor_price !== undefined) {
|
|
81
|
+
return option.floor_price;
|
|
82
|
+
}
|
|
83
|
+
// Fall back to v2 field (inside price_guidance)
|
|
84
|
+
return option.price_guidance?.floor;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Adapt a v3-style pricing option for a v2 server.
|
|
88
|
+
* Converts fixed_price → rate, floor_price → price_guidance.floor
|
|
89
|
+
*/
|
|
90
|
+
function adaptPricingOptionForV2(option) {
|
|
91
|
+
// Already v2 format or no v3 fields
|
|
92
|
+
if (!usesV3PricingFields(option)) {
|
|
93
|
+
return option;
|
|
94
|
+
}
|
|
95
|
+
const { fixed_price, floor_price, price_guidance, ...rest } = option;
|
|
96
|
+
const result = { ...rest };
|
|
97
|
+
if (fixed_price !== undefined) {
|
|
98
|
+
// Fixed pricing
|
|
99
|
+
result.rate = fixed_price;
|
|
100
|
+
result.is_fixed = true;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
// Auction pricing
|
|
104
|
+
result.is_fixed = false;
|
|
105
|
+
// Build v2 price_guidance with floor inside
|
|
106
|
+
if (floor_price !== undefined || price_guidance) {
|
|
107
|
+
result.price_guidance = {
|
|
108
|
+
...(price_guidance || {}),
|
|
109
|
+
};
|
|
110
|
+
if (floor_price !== undefined) {
|
|
111
|
+
result.price_guidance.floor = floor_price;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Normalize a v2-style pricing option to v3.
|
|
119
|
+
* Converts rate → fixed_price, price_guidance.floor → floor_price
|
|
120
|
+
*/
|
|
121
|
+
function normalizePricingOption(option) {
|
|
122
|
+
// Already v3 format
|
|
123
|
+
if (usesV3PricingFields(option) && !usesV2PricingFields(option)) {
|
|
124
|
+
return option;
|
|
125
|
+
}
|
|
126
|
+
const v2Option = option;
|
|
127
|
+
const { rate, is_fixed, price_guidance, ...rest } = v2Option;
|
|
128
|
+
const result = { ...rest };
|
|
129
|
+
// Convert rate → fixed_price (for fixed pricing)
|
|
130
|
+
if (rate !== undefined && (is_fixed === true || is_fixed === undefined)) {
|
|
131
|
+
result.fixed_price = rate;
|
|
132
|
+
}
|
|
133
|
+
// Convert price_guidance.floor → floor_price (for auction pricing)
|
|
134
|
+
if (price_guidance) {
|
|
135
|
+
const { floor, ...percentiles } = price_guidance;
|
|
136
|
+
if (floor !== undefined) {
|
|
137
|
+
result.floor_price = floor;
|
|
138
|
+
}
|
|
139
|
+
// Keep percentiles in price_guidance if any exist
|
|
140
|
+
if (Object.keys(percentiles).length > 0) {
|
|
141
|
+
result.price_guidance = percentiles;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Adapt all pricing options in a product for v2 server
|
|
148
|
+
*/
|
|
149
|
+
function adaptProductPricingForV2(product) {
|
|
150
|
+
if (!product?.pricing_options || !Array.isArray(product.pricing_options)) {
|
|
151
|
+
return product;
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
...product,
|
|
155
|
+
pricing_options: product.pricing_options.map(adaptPricingOptionForV2),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Normalize all pricing options in a product to v3
|
|
160
|
+
*/
|
|
161
|
+
function normalizeProductPricing(product) {
|
|
162
|
+
if (!product?.pricing_options || !Array.isArray(product.pricing_options)) {
|
|
163
|
+
return product;
|
|
164
|
+
}
|
|
165
|
+
return {
|
|
166
|
+
...product,
|
|
167
|
+
pricing_options: product.pricing_options.map(normalizePricingOption),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Normalize all products in a get_products response to v3
|
|
172
|
+
*/
|
|
173
|
+
function normalizeGetProductsResponse(response) {
|
|
174
|
+
if (!response?.products || !Array.isArray(response.products)) {
|
|
175
|
+
return response;
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
...response,
|
|
179
|
+
products: response.products.map(normalizeProductPricing),
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Adapt a package request's pricing option selection for v2 server.
|
|
184
|
+
* This handles bid_price which references pricing option floor semantics.
|
|
185
|
+
*/
|
|
186
|
+
function adaptPackagePricingForV2(pkg) {
|
|
187
|
+
// Package requests don't typically contain pricing_options,
|
|
188
|
+
// but they do contain pricing_option_id which selects one.
|
|
189
|
+
// No transformation needed for bid_price - it's the same in both versions.
|
|
190
|
+
return pkg;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Adapt a create_media_buy request for v2 server (pricing fields)
|
|
194
|
+
*/
|
|
195
|
+
function adaptMediaBuyPricingForV2(request) {
|
|
196
|
+
// Media buy requests select pricing options by ID, not by defining them.
|
|
197
|
+
// No pricing field transformation needed in requests.
|
|
198
|
+
return request;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Normalize a media buy response's package pricing to v3
|
|
202
|
+
*/
|
|
203
|
+
function normalizeMediaBuyPricingResponse(response) {
|
|
204
|
+
// Media buy responses may include products with pricing_options
|
|
205
|
+
if (response?.products && Array.isArray(response.products)) {
|
|
206
|
+
return {
|
|
207
|
+
...response,
|
|
208
|
+
products: response.products.map(normalizeProductPricing),
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
return response;
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=pricing-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing-adapter.js","sourceRoot":"","sources":["../../../src/lib/utils/pricing-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
* Extracts raw AdCP responses from protocol wrappers (MCP/A2A).
|
|
5
5
|
* Follows canonical A2A response format per AdCP specification.
|
|
6
6
|
*/
|
|
7
|
-
import type { GetProductsResponse, ListCreativeFormatsResponse, CreateMediaBuyResponse, SyncCreativesResponse, ListCreativesResponse, UpdateMediaBuyResponse, GetMediaBuyDeliveryResponse,
|
|
7
|
+
import type { GetProductsResponse, ListCreativeFormatsResponse, CreateMediaBuyResponse, SyncCreativesResponse, ListCreativesResponse, UpdateMediaBuyResponse, GetMediaBuyDeliveryResponse, ProvidePerformanceFeedbackResponse, BuildCreativeResponse, PreviewCreativeResponse, GetSignalsResponse, ActivateSignalResponse } from '../types/tools.generated';
|
|
8
8
|
/**
|
|
9
9
|
* Union type of all possible AdCP responses
|
|
10
10
|
* Each response type is a discriminated union of success | error
|
|
11
11
|
*/
|
|
12
|
-
export type AdCPResponse = GetProductsResponse | ListCreativeFormatsResponse | CreateMediaBuyResponse | SyncCreativesResponse | ListCreativesResponse | UpdateMediaBuyResponse | GetMediaBuyDeliveryResponse |
|
|
12
|
+
export type AdCPResponse = GetProductsResponse | ListCreativeFormatsResponse | CreateMediaBuyResponse | SyncCreativesResponse | ListCreativesResponse | UpdateMediaBuyResponse | GetMediaBuyDeliveryResponse | ProvidePerformanceFeedbackResponse | BuildCreativeResponse | PreviewCreativeResponse | GetSignalsResponse | ActivateSignalResponse;
|
|
13
13
|
/**
|
|
14
14
|
* Extract raw AdCP response from protocol wrapper
|
|
15
15
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-unwrapper.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/response-unwrapper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"response-unwrapper.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/response-unwrapper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,kCAAkC,EAClC,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAElC;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB,mBAAmB,GACnB,2BAA2B,GAC3B,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,2BAA2B,GAC3B,kCAAkC,GAClC,qBAAqB,GACrB,uBAAuB,GACvB,kBAAkB,GAClB,sBAAsB,CAAC;AA2D3B;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,GAAG,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GACvB,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAyCtC;AAwKD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAetE"}
|
|
@@ -93,15 +93,15 @@ const schemas = __importStar(require("../types/schemas.generated"));
|
|
|
93
93
|
* Conclusion: Current approach provides best balance of simplicity, maintainability,
|
|
94
94
|
* and runtime safety. TypeScript types are validated by Zod at runtime anyway.
|
|
95
95
|
*/
|
|
96
|
+
// Note: Some schemas not available due to complex discriminated unions (e.g., get_products)
|
|
96
97
|
const TOOL_RESPONSE_SCHEMAS = {
|
|
97
|
-
get_products:
|
|
98
|
+
// get_products: uses complex discriminated unions - validation falls back to type checking
|
|
98
99
|
list_creative_formats: schemas.ListCreativeFormatsResponseSchema,
|
|
99
100
|
create_media_buy: schemas.CreateMediaBuyResponseSchema,
|
|
100
101
|
update_media_buy: schemas.UpdateMediaBuyResponseSchema,
|
|
101
102
|
sync_creatives: schemas.SyncCreativesResponseSchema, // Manually defined discriminated union
|
|
102
103
|
list_creatives: schemas.ListCreativesResponseSchema,
|
|
103
104
|
get_media_buy_delivery: schemas.GetMediaBuyDeliveryResponseSchema,
|
|
104
|
-
list_authorized_properties: schemas.ListAuthorizedPropertiesResponseSchema,
|
|
105
105
|
provide_performance_feedback: schemas.ProvidePerformanceFeedbackResponseSchema,
|
|
106
106
|
build_creative: schemas.BuildCreativeResponseSchema,
|
|
107
107
|
preview_creative: schemas.PreviewCreativeResponseSchema, // Manually defined discriminated union
|