@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
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creative Assignment Adapter
|
|
3
|
+
*
|
|
4
|
+
* Handles conversion between v2 creative_ids and v3 creative_assignments.
|
|
5
|
+
* The library exposes only v3 API (creative_assignments) to clients,
|
|
6
|
+
* and internally adapts requests for v2 servers.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* v3 creative assignment with optional weight and placement targeting
|
|
10
|
+
*/
|
|
11
|
+
export interface CreativeAssignment {
|
|
12
|
+
/** Unique identifier for the creative */
|
|
13
|
+
creative_id: string;
|
|
14
|
+
/** Delivery weight (0-100) for rotation */
|
|
15
|
+
weight?: number;
|
|
16
|
+
/** Optional placement IDs to restrict where this creative runs */
|
|
17
|
+
placement_ids?: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Package request with creative assignments (v3 style)
|
|
21
|
+
*/
|
|
22
|
+
export interface PackageRequestV3 {
|
|
23
|
+
creative_assignments?: CreativeAssignment[];
|
|
24
|
+
creatives?: any[];
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Package request with creative_ids (v2 style)
|
|
29
|
+
*/
|
|
30
|
+
export interface PackageRequestV2 {
|
|
31
|
+
creative_ids?: string[];
|
|
32
|
+
creatives?: any[];
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Package response with creative assignments (v3 style)
|
|
37
|
+
*/
|
|
38
|
+
export interface PackageResponseV3 {
|
|
39
|
+
creative_assignments?: CreativeAssignment[];
|
|
40
|
+
[key: string]: unknown;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Package response with creative_ids (v2 style)
|
|
44
|
+
*/
|
|
45
|
+
export interface PackageResponseV2 {
|
|
46
|
+
creative_ids?: string[];
|
|
47
|
+
[key: string]: unknown;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Adapt a v3-style package request for a v2 server.
|
|
51
|
+
* Converts creative_assignments to creative_ids (dropping weight and placement_ids).
|
|
52
|
+
*/
|
|
53
|
+
export declare function adaptPackageRequestForV2(pkg: PackageRequestV3): PackageRequestV2;
|
|
54
|
+
/**
|
|
55
|
+
* Adapt a create_media_buy request for a v2 server.
|
|
56
|
+
*/
|
|
57
|
+
export declare function adaptCreateMediaBuyRequestForV2(request: any): any;
|
|
58
|
+
/**
|
|
59
|
+
* Adapt an update_media_buy request for a v2 server.
|
|
60
|
+
*/
|
|
61
|
+
export declare function adaptUpdateMediaBuyRequestForV2(request: any): any;
|
|
62
|
+
/**
|
|
63
|
+
* Normalize a v2-style package response to v3.
|
|
64
|
+
* Converts creative_ids to creative_assignments.
|
|
65
|
+
*/
|
|
66
|
+
export declare function normalizePackageResponse(pkg: PackageResponseV2 | PackageResponseV3): PackageResponseV3;
|
|
67
|
+
/**
|
|
68
|
+
* Normalize a media buy response (converts all packages).
|
|
69
|
+
*/
|
|
70
|
+
export declare function normalizeMediaBuyResponse(response: any): any;
|
|
71
|
+
/**
|
|
72
|
+
* Check if a package uses v2 creative_ids format
|
|
73
|
+
*/
|
|
74
|
+
export declare function usesV2CreativeIds(pkg: any): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Check if a package uses v3 creative_assignments format
|
|
77
|
+
*/
|
|
78
|
+
export declare function usesV3CreativeAssignments(pkg: any): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Get all creative IDs from a package (works with both v2 and v3 format)
|
|
81
|
+
*/
|
|
82
|
+
export declare function getCreativeIds(pkg: PackageResponseV2 | PackageResponseV3): string[];
|
|
83
|
+
/**
|
|
84
|
+
* Get creative assignments from a package (normalizes v2 to v3 format)
|
|
85
|
+
*/
|
|
86
|
+
export declare function getCreativeAssignments(pkg: PackageResponseV2 | PackageResponseV3): CreativeAssignment[];
|
|
87
|
+
//# sourceMappingURL=creative-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creative-adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/creative-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAWhF;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CASjE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CASjE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,CAiBtG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAS5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,MAAM,EAAE,CAQnF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,EAAE,CAQvG"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Creative Assignment Adapter
|
|
4
|
+
*
|
|
5
|
+
* Handles conversion between v2 creative_ids and v3 creative_assignments.
|
|
6
|
+
* The library exposes only v3 API (creative_assignments) to clients,
|
|
7
|
+
* and internally adapts requests for v2 servers.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.adaptPackageRequestForV2 = adaptPackageRequestForV2;
|
|
11
|
+
exports.adaptCreateMediaBuyRequestForV2 = adaptCreateMediaBuyRequestForV2;
|
|
12
|
+
exports.adaptUpdateMediaBuyRequestForV2 = adaptUpdateMediaBuyRequestForV2;
|
|
13
|
+
exports.normalizePackageResponse = normalizePackageResponse;
|
|
14
|
+
exports.normalizeMediaBuyResponse = normalizeMediaBuyResponse;
|
|
15
|
+
exports.usesV2CreativeIds = usesV2CreativeIds;
|
|
16
|
+
exports.usesV3CreativeAssignments = usesV3CreativeAssignments;
|
|
17
|
+
exports.getCreativeIds = getCreativeIds;
|
|
18
|
+
exports.getCreativeAssignments = getCreativeAssignments;
|
|
19
|
+
/**
|
|
20
|
+
* Adapt a v3-style package request for a v2 server.
|
|
21
|
+
* Converts creative_assignments to creative_ids (dropping weight and placement_ids).
|
|
22
|
+
*/
|
|
23
|
+
function adaptPackageRequestForV2(pkg) {
|
|
24
|
+
if (!pkg.creative_assignments) {
|
|
25
|
+
return pkg;
|
|
26
|
+
}
|
|
27
|
+
const { creative_assignments, ...rest } = pkg;
|
|
28
|
+
return {
|
|
29
|
+
...rest,
|
|
30
|
+
creative_ids: creative_assignments.map(a => a.creative_id),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Adapt a create_media_buy request for a v2 server.
|
|
35
|
+
*/
|
|
36
|
+
function adaptCreateMediaBuyRequestForV2(request) {
|
|
37
|
+
if (!request.packages) {
|
|
38
|
+
return request;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
...request,
|
|
42
|
+
packages: request.packages.map(adaptPackageRequestForV2),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Adapt an update_media_buy request for a v2 server.
|
|
47
|
+
*/
|
|
48
|
+
function adaptUpdateMediaBuyRequestForV2(request) {
|
|
49
|
+
if (!request.packages) {
|
|
50
|
+
return request;
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
...request,
|
|
54
|
+
packages: request.packages.map(adaptPackageRequestForV2),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Normalize a v2-style package response to v3.
|
|
59
|
+
* Converts creative_ids to creative_assignments.
|
|
60
|
+
*/
|
|
61
|
+
function normalizePackageResponse(pkg) {
|
|
62
|
+
// Already v3 format
|
|
63
|
+
if (pkg.creative_assignments) {
|
|
64
|
+
return pkg;
|
|
65
|
+
}
|
|
66
|
+
// v2 format - convert creative_ids to creative_assignments
|
|
67
|
+
if (pkg.creative_ids) {
|
|
68
|
+
const { creative_ids, ...rest } = pkg;
|
|
69
|
+
return {
|
|
70
|
+
...rest,
|
|
71
|
+
creative_assignments: creative_ids.map(id => ({ creative_id: id })),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
// No creatives
|
|
75
|
+
return pkg;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Normalize a media buy response (converts all packages).
|
|
79
|
+
*/
|
|
80
|
+
function normalizeMediaBuyResponse(response) {
|
|
81
|
+
if (!response.packages) {
|
|
82
|
+
return response;
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
...response,
|
|
86
|
+
packages: response.packages.map(normalizePackageResponse),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Check if a package uses v2 creative_ids format
|
|
91
|
+
*/
|
|
92
|
+
function usesV2CreativeIds(pkg) {
|
|
93
|
+
return Array.isArray(pkg.creative_ids) && !pkg.creative_assignments;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Check if a package uses v3 creative_assignments format
|
|
97
|
+
*/
|
|
98
|
+
function usesV3CreativeAssignments(pkg) {
|
|
99
|
+
return Array.isArray(pkg.creative_assignments);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get all creative IDs from a package (works with both v2 and v3 format)
|
|
103
|
+
*/
|
|
104
|
+
function getCreativeIds(pkg) {
|
|
105
|
+
if (pkg.creative_assignments) {
|
|
106
|
+
return pkg.creative_assignments.map(a => a.creative_id);
|
|
107
|
+
}
|
|
108
|
+
if (pkg.creative_ids) {
|
|
109
|
+
return pkg.creative_ids;
|
|
110
|
+
}
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get creative assignments from a package (normalizes v2 to v3 format)
|
|
115
|
+
*/
|
|
116
|
+
function getCreativeAssignments(pkg) {
|
|
117
|
+
if (pkg.creative_assignments) {
|
|
118
|
+
return pkg.creative_assignments;
|
|
119
|
+
}
|
|
120
|
+
if (pkg.creative_ids) {
|
|
121
|
+
return pkg.creative_ids.map(id => ({ creative_id: id }));
|
|
122
|
+
}
|
|
123
|
+
return [];
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=creative-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creative-adapter.js","sourceRoot":"","sources":["../../../src/lib/utils/creative-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,15 +7,13 @@ type RepeatableAssetGroup = Extract<FormatAsset, {
|
|
|
7
7
|
item_type: 'repeatable_group';
|
|
8
8
|
}>;
|
|
9
9
|
/**
|
|
10
|
-
* Get assets from a Format
|
|
10
|
+
* Get assets from a Format
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* - If only `assets_required` exists, normalizes it to the new format (sets required: true)
|
|
15
|
-
* - Returns empty array if neither field exists (flexible format)
|
|
12
|
+
* Returns the assets from the v3 `assets` field. For backward compatibility with v2 servers,
|
|
13
|
+
* this function also handles the deprecated `assets_required` field if present.
|
|
16
14
|
*
|
|
17
15
|
* @param format - The Format object from list_creative_formats response
|
|
18
|
-
* @returns Array of assets
|
|
16
|
+
* @returns Array of assets
|
|
19
17
|
*
|
|
20
18
|
* @example
|
|
21
19
|
* ```typescript
|
|
@@ -27,16 +25,6 @@ type RepeatableAssetGroup = Extract<FormatAsset, {
|
|
|
27
25
|
* ```
|
|
28
26
|
*/
|
|
29
27
|
export declare function getFormatAssets(format: Format): FormatAsset[];
|
|
30
|
-
/**
|
|
31
|
-
* Convert deprecated assets_required to new assets format
|
|
32
|
-
*
|
|
33
|
-
* All assets in assets_required are required by definition (that's why they were in that array).
|
|
34
|
-
* The new `assets` field has an explicit `required: boolean` to allow both required AND optional assets.
|
|
35
|
-
*
|
|
36
|
-
* @param assetsRequired - The deprecated assets_required array
|
|
37
|
-
* @returns Normalized assets array with explicit required: true
|
|
38
|
-
*/
|
|
39
|
-
export declare function normalizeAssetsRequired(assetsRequired: NonNullable<Format['assets_required']>): FormatAsset[];
|
|
40
28
|
/**
|
|
41
29
|
* Get only required assets from a Format
|
|
42
30
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-assets.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/format-assets.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,KAAK,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACzD,KAAK,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,SAAS,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC;AACzE,KAAK,oBAAoB,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,SAAS,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"format-assets.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/format-assets.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,KAAK,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACzD,KAAK,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,SAAS,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC;AACzE,KAAK,oBAAoB,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,SAAS,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAC;AAQpF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAiB7D;AAmBD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAE/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAI1E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjD"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Format Asset Utilities
|
|
3
|
-
// Provides
|
|
3
|
+
// Provides access to format assets from the v3 `assets` field
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getFormatAssets = getFormatAssets;
|
|
6
|
-
exports.normalizeAssetsRequired = normalizeAssetsRequired;
|
|
7
6
|
exports.getRequiredAssets = getRequiredAssets;
|
|
8
7
|
exports.getOptionalAssets = getOptionalAssets;
|
|
9
8
|
exports.getIndividualAssets = getIndividualAssets;
|
|
@@ -12,15 +11,13 @@ exports.usesDeprecatedAssetsField = usesDeprecatedAssetsField;
|
|
|
12
11
|
exports.getAssetCount = getAssetCount;
|
|
13
12
|
exports.hasAssets = hasAssets;
|
|
14
13
|
/**
|
|
15
|
-
* Get assets from a Format
|
|
14
|
+
* Get assets from a Format
|
|
16
15
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* - If only `assets_required` exists, normalizes it to the new format (sets required: true)
|
|
20
|
-
* - Returns empty array if neither field exists (flexible format)
|
|
16
|
+
* Returns the assets from the v3 `assets` field. For backward compatibility with v2 servers,
|
|
17
|
+
* this function also handles the deprecated `assets_required` field if present.
|
|
21
18
|
*
|
|
22
19
|
* @param format - The Format object from list_creative_formats response
|
|
23
|
-
* @returns Array of assets
|
|
20
|
+
* @returns Array of assets
|
|
24
21
|
*
|
|
25
22
|
* @example
|
|
26
23
|
* ```typescript
|
|
@@ -32,24 +29,28 @@ exports.hasAssets = hasAssets;
|
|
|
32
29
|
* ```
|
|
33
30
|
*/
|
|
34
31
|
function getFormatAssets(format) {
|
|
35
|
-
//
|
|
32
|
+
// Use v3 `assets` field
|
|
36
33
|
if (format.assets && format.assets.length > 0) {
|
|
37
34
|
return format.assets;
|
|
38
35
|
}
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
// Runtime backward compatibility: handle v2 responses with deprecated assets_required
|
|
37
|
+
const legacyFormat = format;
|
|
38
|
+
if (legacyFormat.assets_required &&
|
|
39
|
+
Array.isArray(legacyFormat.assets_required) &&
|
|
40
|
+
legacyFormat.assets_required.length > 0) {
|
|
41
|
+
return normalizeAssetsRequired(legacyFormat.assets_required);
|
|
42
42
|
}
|
|
43
43
|
return [];
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
|
-
* Convert deprecated assets_required to new assets format
|
|
46
|
+
* Convert deprecated assets_required to new assets format (internal use)
|
|
47
47
|
*
|
|
48
48
|
* All assets in assets_required are required by definition (that's why they were in that array).
|
|
49
49
|
* The new `assets` field has an explicit `required: boolean` to allow both required AND optional assets.
|
|
50
50
|
*
|
|
51
51
|
* @param assetsRequired - The deprecated assets_required array
|
|
52
52
|
* @returns Normalized assets array with explicit required: true
|
|
53
|
+
* @internal
|
|
53
54
|
*/
|
|
54
55
|
function normalizeAssetsRequired(assetsRequired) {
|
|
55
56
|
return assetsRequired.map(asset => ({
|
|
@@ -122,7 +123,8 @@ function getRepeatableGroups(format) {
|
|
|
122
123
|
* ```
|
|
123
124
|
*/
|
|
124
125
|
function usesDeprecatedAssetsField(format) {
|
|
125
|
-
|
|
126
|
+
const legacyFormat = format;
|
|
127
|
+
return !format.assets && !!(legacyFormat.assets_required && Array.isArray(legacyFormat.assets_required));
|
|
126
128
|
}
|
|
127
129
|
/**
|
|
128
130
|
* Get the count of assets in a format (for display purposes)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-assets.js","sourceRoot":"","sources":["../../../src/lib/utils/format-assets.ts"],"names":[],"mappings":";AAAA,yBAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"format-assets.js","sourceRoot":"","sources":["../../../src/lib/utils/format-assets.ts"],"names":[],"mappings":";AAAA,yBAAyB;AACzB,8DAA8D;;AAiC9D,0CAiBC;AA+BD,8CAEC;AAiBD,8CAEC;AAQD,kDAEC;AAQD,kDAIC;AAeD,8DAGC;AAQD,sCAEC;AAQD,8BAEC;AAnJD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,eAAe,CAAC,MAAc;IAC5C,wBAAwB;IACxB,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAsB,CAAC;IAC5C,IACE,YAAY,CAAC,eAAe;QAC5B,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;QAC3C,YAAY,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EACvC,CAAC;QACD,OAAO,uBAAuB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,uBAAuB,CAAC,cAAyB;IACxD,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,GAAI,KAAiC;QACrC,QAAQ,EAAE,IAAI,EAAE,iDAAiD;KAClE,CAAC,CAAkB,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,MAAc;IAChD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA4B,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC;AAC/G,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,MAAc;IAChD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CACnC,CAAC,KAAK,EAAiC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,kBAAkB,CACjF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,yBAAyB,CAAC,MAAc;IACtD,MAAM,YAAY,GAAG,MAAsB,CAAC;IAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,MAAc;IAC1C,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,MAAc;IACtC,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format Renders Normalizer
|
|
3
|
+
*
|
|
4
|
+
* Handles conversion between v2 top-level dimensions and v3 renders array.
|
|
5
|
+
* The library exposes only v3 API (renders array) to clients,
|
|
6
|
+
* and internally normalizes responses from v2 servers.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Dimensions for a render
|
|
10
|
+
*/
|
|
11
|
+
export interface RenderDimensions {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* v3 render specification
|
|
17
|
+
*/
|
|
18
|
+
export interface FormatRender {
|
|
19
|
+
/** Unique identifier for this render */
|
|
20
|
+
render_id: string;
|
|
21
|
+
/** Semantic role (e.g., 'primary', 'companion', 'mobile_variant') */
|
|
22
|
+
role: string;
|
|
23
|
+
/** Dimensions of this render */
|
|
24
|
+
dimensions?: RenderDimensions;
|
|
25
|
+
/** Whether dimensions come from format_id parameters */
|
|
26
|
+
parameters_from_format_id?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* v2 format with top-level dimensions
|
|
30
|
+
*/
|
|
31
|
+
export interface FormatV2 {
|
|
32
|
+
width?: number;
|
|
33
|
+
height?: number;
|
|
34
|
+
dimensions?: RenderDimensions;
|
|
35
|
+
[key: string]: unknown;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* v3 format with renders array
|
|
39
|
+
*/
|
|
40
|
+
export interface FormatV3 {
|
|
41
|
+
renders?: FormatRender[];
|
|
42
|
+
[key: string]: unknown;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Normalize a format from v2 (top-level dimensions) to v3 (renders array).
|
|
46
|
+
* If the format already has renders, returns as-is.
|
|
47
|
+
*/
|
|
48
|
+
export declare function normalizeFormatRenders(format: FormatV2 | FormatV3): FormatV3;
|
|
49
|
+
/**
|
|
50
|
+
* Normalize all formats in a list_creative_formats response
|
|
51
|
+
*/
|
|
52
|
+
export declare function normalizeFormatsResponse(response: any): any;
|
|
53
|
+
/**
|
|
54
|
+
* Get renders from a format (normalizes v2 to v3 format)
|
|
55
|
+
*/
|
|
56
|
+
export declare function getFormatRenders(format: FormatV2 | FormatV3): FormatRender[];
|
|
57
|
+
/**
|
|
58
|
+
* Get primary render from a format
|
|
59
|
+
*/
|
|
60
|
+
export declare function getPrimaryRender(format: FormatV2 | FormatV3): FormatRender | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Get companion renders from a format
|
|
63
|
+
*/
|
|
64
|
+
export declare function getCompanionRenders(format: FormatV2 | FormatV3): FormatRender[];
|
|
65
|
+
/**
|
|
66
|
+
* Check if format has multiple renders (companion ads, adaptive)
|
|
67
|
+
*/
|
|
68
|
+
export declare function isMultiRenderFormat(format: FormatV2 | FormatV3): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Check if format uses v2 top-level dimensions
|
|
71
|
+
*/
|
|
72
|
+
export declare function usesV2Dimensions(format: any): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Check if format uses v3 renders array
|
|
75
|
+
*/
|
|
76
|
+
export declare function usesV3Renders(format: any): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Get format dimensions (works with both v2 and v3)
|
|
79
|
+
* For multi-render formats, returns primary render dimensions
|
|
80
|
+
*/
|
|
81
|
+
export declare function getFormatDimensions(format: FormatV2 | FormatV3): RenderDimensions | undefined;
|
|
82
|
+
//# sourceMappingURL=format-renders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-renders.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/format-renders.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,wDAAwD;IACxD,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CA4C5E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAS3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,EAAE,CAG5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAGtF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,EAAE,CAG/E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAGxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAIrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAElD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,GAAG,SAAS,CAoB7F"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Format Renders Normalizer
|
|
4
|
+
*
|
|
5
|
+
* Handles conversion between v2 top-level dimensions and v3 renders array.
|
|
6
|
+
* The library exposes only v3 API (renders array) to clients,
|
|
7
|
+
* and internally normalizes responses from v2 servers.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.normalizeFormatRenders = normalizeFormatRenders;
|
|
11
|
+
exports.normalizeFormatsResponse = normalizeFormatsResponse;
|
|
12
|
+
exports.getFormatRenders = getFormatRenders;
|
|
13
|
+
exports.getPrimaryRender = getPrimaryRender;
|
|
14
|
+
exports.getCompanionRenders = getCompanionRenders;
|
|
15
|
+
exports.isMultiRenderFormat = isMultiRenderFormat;
|
|
16
|
+
exports.usesV2Dimensions = usesV2Dimensions;
|
|
17
|
+
exports.usesV3Renders = usesV3Renders;
|
|
18
|
+
exports.getFormatDimensions = getFormatDimensions;
|
|
19
|
+
/**
|
|
20
|
+
* Normalize a format from v2 (top-level dimensions) to v3 (renders array).
|
|
21
|
+
* If the format already has renders, returns as-is.
|
|
22
|
+
*/
|
|
23
|
+
function normalizeFormatRenders(format) {
|
|
24
|
+
// Already has renders array - return as-is
|
|
25
|
+
if (format.renders && Array.isArray(format.renders)) {
|
|
26
|
+
return format;
|
|
27
|
+
}
|
|
28
|
+
const v2Format = format;
|
|
29
|
+
// Check for v2 dimensions
|
|
30
|
+
const hasWidth = v2Format.width !== undefined;
|
|
31
|
+
const hasHeight = v2Format.height !== undefined;
|
|
32
|
+
const hasDimensions = v2Format.dimensions !== undefined;
|
|
33
|
+
if (!hasWidth && !hasHeight && !hasDimensions) {
|
|
34
|
+
// No dimension info - could be a template format
|
|
35
|
+
// Return without renders (caller can check accepts_parameters)
|
|
36
|
+
return format;
|
|
37
|
+
}
|
|
38
|
+
// Build dimensions object
|
|
39
|
+
let dimensions;
|
|
40
|
+
if (hasDimensions) {
|
|
41
|
+
dimensions = v2Format.dimensions;
|
|
42
|
+
}
|
|
43
|
+
else if (hasWidth || hasHeight) {
|
|
44
|
+
dimensions = {
|
|
45
|
+
width: v2Format.width ?? 0,
|
|
46
|
+
height: v2Format.height ?? 0,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
// Remove v2 fields and add v3 renders
|
|
50
|
+
const { width, height, dimensions: _, ...rest } = v2Format;
|
|
51
|
+
return {
|
|
52
|
+
...rest,
|
|
53
|
+
renders: [
|
|
54
|
+
{
|
|
55
|
+
render_id: 'primary',
|
|
56
|
+
role: 'primary',
|
|
57
|
+
dimensions,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Normalize all formats in a list_creative_formats response
|
|
64
|
+
*/
|
|
65
|
+
function normalizeFormatsResponse(response) {
|
|
66
|
+
if (!response.formats || !Array.isArray(response.formats)) {
|
|
67
|
+
return response;
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
...response,
|
|
71
|
+
formats: response.formats.map(normalizeFormatRenders),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get renders from a format (normalizes v2 to v3 format)
|
|
76
|
+
*/
|
|
77
|
+
function getFormatRenders(format) {
|
|
78
|
+
const normalized = normalizeFormatRenders(format);
|
|
79
|
+
return normalized.renders ?? [];
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get primary render from a format
|
|
83
|
+
*/
|
|
84
|
+
function getPrimaryRender(format) {
|
|
85
|
+
const renders = getFormatRenders(format);
|
|
86
|
+
return renders.find(r => r.role === 'primary') ?? renders[0];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get companion renders from a format
|
|
90
|
+
*/
|
|
91
|
+
function getCompanionRenders(format) {
|
|
92
|
+
const renders = getFormatRenders(format);
|
|
93
|
+
return renders.filter(r => r.role === 'companion');
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Check if format has multiple renders (companion ads, adaptive)
|
|
97
|
+
*/
|
|
98
|
+
function isMultiRenderFormat(format) {
|
|
99
|
+
const renders = getFormatRenders(format);
|
|
100
|
+
return renders.length > 1;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Check if format uses v2 top-level dimensions
|
|
104
|
+
*/
|
|
105
|
+
function usesV2Dimensions(format) {
|
|
106
|
+
return ((format.width !== undefined || format.height !== undefined || format.dimensions !== undefined) && !format.renders);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Check if format uses v3 renders array
|
|
110
|
+
*/
|
|
111
|
+
function usesV3Renders(format) {
|
|
112
|
+
return Array.isArray(format.renders);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Get format dimensions (works with both v2 and v3)
|
|
116
|
+
* For multi-render formats, returns primary render dimensions
|
|
117
|
+
*/
|
|
118
|
+
function getFormatDimensions(format) {
|
|
119
|
+
// v3 format - get from primary render
|
|
120
|
+
if (format.renders) {
|
|
121
|
+
const primary = getPrimaryRender(format);
|
|
122
|
+
return primary?.dimensions;
|
|
123
|
+
}
|
|
124
|
+
// v2 format - get from top-level
|
|
125
|
+
const v2Format = format;
|
|
126
|
+
if (v2Format.dimensions) {
|
|
127
|
+
return v2Format.dimensions;
|
|
128
|
+
}
|
|
129
|
+
if (v2Format.width !== undefined || v2Format.height !== undefined) {
|
|
130
|
+
return {
|
|
131
|
+
width: v2Format.width ?? 0,
|
|
132
|
+
height: v2Format.height ?? 0,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=format-renders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-renders.js","sourceRoot":"","sources":["../../../src/lib/utils/format-renders.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,5 +27,6 @@ export declare function getStandardFormats(): CreativeFormat[];
|
|
|
27
27
|
export { unwrapProtocolResponse, isAdcpError, isAdcpSuccess } from './response-unwrapper';
|
|
28
28
|
export type { AdCPResponse } from './response-unwrapper';
|
|
29
29
|
export { detectProtocol, detectProtocolWithTimeout } from './protocol-detection';
|
|
30
|
-
export { getFormatAssets,
|
|
30
|
+
export { getFormatAssets, getRequiredAssets, getOptionalAssets, getIndividualAssets, getRepeatableGroups, usesDeprecatedAssetsField, getAssetCount, hasAssets, } from './format-assets';
|
|
31
|
+
export { adaptPricingOptionForV2, normalizePricingOption, normalizeProductPricing, normalizeGetProductsResponse, usesV2PricingFields, usesV3PricingFields, isFixedPricing, getPrice, getFloorPrice, type PricingOptionV2, type PricingOptionV3, type PriceGuidanceV2, type PriceGuidanceV3, } from './pricing-adapter';
|
|
31
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAIlF,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,eAAO,MAAM,eAAe,QAAmD,CAAC;AAChF,eAAO,MAAM,cAAc,QAA8C,CAAC;AAG1E,eAAO,MAAM,gBAAgB,EAAE,cAAc,EA8C5C,CAAC;AAEF;;GAEG;AACH,qBAAa,cAAc;IAOb,OAAO,CAAC,OAAO;IAN3B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAElB,OAAO,EAAE,MAAM;IAE7B,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAoB/C,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,SAAS;CASlB;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAKjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAErD;AAGD,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1F,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EACL,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAIlF,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,eAAO,MAAM,eAAe,QAAmD,CAAC;AAChF,eAAO,MAAM,cAAc,QAA8C,CAAC;AAG1E,eAAO,MAAM,gBAAgB,EAAE,cAAc,EA8C5C,CAAC;AAEF;;GAEG;AACH,qBAAa,cAAc;IAOb,OAAO,CAAC,OAAO;IAN3B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAElB,OAAO,EAAE,MAAM;IAE7B,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAoB/C,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,SAAS;CASlB;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAKjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAErD;AAGD,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1F,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACb,SAAS,GACV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC"}
|
package/dist/lib/utils/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hasAssets = exports.getAssetCount = exports.usesDeprecatedAssetsField = exports.getRepeatableGroups = exports.getIndividualAssets = exports.getOptionalAssets = exports.getRequiredAssets = exports.
|
|
3
|
+
exports.getFloorPrice = exports.getPrice = exports.isFixedPricing = exports.usesV3PricingFields = exports.usesV2PricingFields = exports.normalizeGetProductsResponse = exports.normalizeProductPricing = exports.normalizePricingOption = exports.adaptPricingOptionForV2 = exports.hasAssets = exports.getAssetCount = exports.usesDeprecatedAssetsField = exports.getRepeatableGroups = exports.getIndividualAssets = exports.getOptionalAssets = exports.getRequiredAssets = exports.getFormatAssets = exports.detectProtocolWithTimeout = exports.detectProtocol = exports.isAdcpSuccess = exports.isAdcpError = exports.unwrapProtocolResponse = exports.CircuitBreaker = exports.STANDARD_FORMATS = exports.MAX_CONCURRENT = exports.REQUEST_TIMEOUT = exports.clearPreviewCache = exports.batchPreviewFormats = exports.batchPreviewProducts = exports.createLogger = exports.logger = void 0;
|
|
4
4
|
exports.getCircuitBreaker = getCircuitBreaker;
|
|
5
5
|
exports.getStandardFormats = getStandardFormats;
|
|
6
6
|
// Re-export logger utilities
|
|
@@ -137,10 +137,9 @@ Object.defineProperty(exports, "isAdcpSuccess", { enumerable: true, get: functio
|
|
|
137
137
|
var protocol_detection_1 = require("./protocol-detection");
|
|
138
138
|
Object.defineProperty(exports, "detectProtocol", { enumerable: true, get: function () { return protocol_detection_1.detectProtocol; } });
|
|
139
139
|
Object.defineProperty(exports, "detectProtocolWithTimeout", { enumerable: true, get: function () { return protocol_detection_1.detectProtocolWithTimeout; } });
|
|
140
|
-
// Re-export format asset utilities
|
|
140
|
+
// Re-export format asset utilities
|
|
141
141
|
var format_assets_1 = require("./format-assets");
|
|
142
142
|
Object.defineProperty(exports, "getFormatAssets", { enumerable: true, get: function () { return format_assets_1.getFormatAssets; } });
|
|
143
|
-
Object.defineProperty(exports, "normalizeAssetsRequired", { enumerable: true, get: function () { return format_assets_1.normalizeAssetsRequired; } });
|
|
144
143
|
Object.defineProperty(exports, "getRequiredAssets", { enumerable: true, get: function () { return format_assets_1.getRequiredAssets; } });
|
|
145
144
|
Object.defineProperty(exports, "getOptionalAssets", { enumerable: true, get: function () { return format_assets_1.getOptionalAssets; } });
|
|
146
145
|
Object.defineProperty(exports, "getIndividualAssets", { enumerable: true, get: function () { return format_assets_1.getIndividualAssets; } });
|
|
@@ -148,4 +147,15 @@ Object.defineProperty(exports, "getRepeatableGroups", { enumerable: true, get: f
|
|
|
148
147
|
Object.defineProperty(exports, "usesDeprecatedAssetsField", { enumerable: true, get: function () { return format_assets_1.usesDeprecatedAssetsField; } });
|
|
149
148
|
Object.defineProperty(exports, "getAssetCount", { enumerable: true, get: function () { return format_assets_1.getAssetCount; } });
|
|
150
149
|
Object.defineProperty(exports, "hasAssets", { enumerable: true, get: function () { return format_assets_1.hasAssets; } });
|
|
150
|
+
// Re-export pricing adapter utilities (v3 pricing field compatibility)
|
|
151
|
+
var pricing_adapter_1 = require("./pricing-adapter");
|
|
152
|
+
Object.defineProperty(exports, "adaptPricingOptionForV2", { enumerable: true, get: function () { return pricing_adapter_1.adaptPricingOptionForV2; } });
|
|
153
|
+
Object.defineProperty(exports, "normalizePricingOption", { enumerable: true, get: function () { return pricing_adapter_1.normalizePricingOption; } });
|
|
154
|
+
Object.defineProperty(exports, "normalizeProductPricing", { enumerable: true, get: function () { return pricing_adapter_1.normalizeProductPricing; } });
|
|
155
|
+
Object.defineProperty(exports, "normalizeGetProductsResponse", { enumerable: true, get: function () { return pricing_adapter_1.normalizeGetProductsResponse; } });
|
|
156
|
+
Object.defineProperty(exports, "usesV2PricingFields", { enumerable: true, get: function () { return pricing_adapter_1.usesV2PricingFields; } });
|
|
157
|
+
Object.defineProperty(exports, "usesV3PricingFields", { enumerable: true, get: function () { return pricing_adapter_1.usesV3PricingFields; } });
|
|
158
|
+
Object.defineProperty(exports, "isFixedPricing", { enumerable: true, get: function () { return pricing_adapter_1.isFixedPricing; } });
|
|
159
|
+
Object.defineProperty(exports, "getPrice", { enumerable: true, get: function () { return pricing_adapter_1.getPrice; } });
|
|
160
|
+
Object.defineProperty(exports, "getFloorPrice", { enumerable: true, get: function () { return pricing_adapter_1.getFloorPrice; } });
|
|
151
161
|
//# sourceMappingURL=index.js.map
|