@coloop-ai/openai-ads-sdk 0.1.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.
@@ -0,0 +1,1392 @@
1
+ //#region src/generated/core/bodySerializer.gen.ts
2
+ const serializeFormDataPair = (data, key, value) => {
3
+ if (typeof value === "string" || value instanceof Blob) data.append(key, value);
4
+ else if (value instanceof Date) data.append(key, value.toISOString());
5
+ else data.append(key, JSON.stringify(value));
6
+ };
7
+ const serializeUrlSearchParamsPair = (data, key, value) => {
8
+ if (typeof value === "string") data.append(key, value);
9
+ else data.append(key, JSON.stringify(value));
10
+ };
11
+ const formDataBodySerializer = { bodySerializer: (body) => {
12
+ const data = new FormData();
13
+ Object.entries(body).forEach(([key, value]) => {
14
+ if (value === void 0 || value === null) return;
15
+ if (Array.isArray(value)) value.forEach((v) => serializeFormDataPair(data, key, v));
16
+ else serializeFormDataPair(data, key, value);
17
+ });
18
+ return data;
19
+ } };
20
+ const jsonBodySerializer = { bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value) };
21
+ const urlSearchParamsBodySerializer = { bodySerializer: (body) => {
22
+ const data = new URLSearchParams();
23
+ Object.entries(body).forEach(([key, value]) => {
24
+ if (value === void 0 || value === null) return;
25
+ if (Array.isArray(value)) value.forEach((v) => serializeUrlSearchParamsPair(data, key, v));
26
+ else serializeUrlSearchParamsPair(data, key, value);
27
+ });
28
+ return data.toString();
29
+ } };
30
+ //#endregion
31
+ //#region src/generated/core/serverSentEvents.gen.ts
32
+ function createSseClient({ onRequest, onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }) {
33
+ let lastEventId;
34
+ const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
35
+ const createStream = async function* () {
36
+ let retryDelay = sseDefaultRetryDelay ?? 3e3;
37
+ let attempt = 0;
38
+ const signal = options.signal ?? new AbortController().signal;
39
+ while (true) {
40
+ if (signal.aborted) break;
41
+ attempt++;
42
+ const headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers);
43
+ if (lastEventId !== void 0) headers.set("Last-Event-ID", lastEventId);
44
+ try {
45
+ const requestInit = {
46
+ redirect: "follow",
47
+ ...options,
48
+ body: options.serializedBody,
49
+ headers,
50
+ signal
51
+ };
52
+ let request = new Request(url, requestInit);
53
+ if (onRequest) request = await onRequest(url, requestInit);
54
+ const response = await (options.fetch ?? globalThis.fetch)(request);
55
+ if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`);
56
+ if (!response.body) throw new Error("No body in SSE response");
57
+ const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
58
+ let buffer = "";
59
+ const abortHandler = () => {
60
+ try {
61
+ reader.cancel();
62
+ } catch {}
63
+ };
64
+ signal.addEventListener("abort", abortHandler);
65
+ try {
66
+ while (true) {
67
+ const { done, value } = await reader.read();
68
+ if (done) break;
69
+ buffer += value;
70
+ buffer = buffer.replace(/\r\n?/g, "\n");
71
+ const chunks = buffer.split("\n\n");
72
+ buffer = chunks.pop() ?? "";
73
+ for (const chunk of chunks) {
74
+ const lines = chunk.split("\n");
75
+ const dataLines = [];
76
+ let eventName;
77
+ for (const line of lines) if (line.startsWith("data:")) dataLines.push(line.replace(/^data:\s*/, ""));
78
+ else if (line.startsWith("event:")) eventName = line.replace(/^event:\s*/, "");
79
+ else if (line.startsWith("id:")) lastEventId = line.replace(/^id:\s*/, "");
80
+ else if (line.startsWith("retry:")) {
81
+ const parsed = Number.parseInt(line.replace(/^retry:\s*/, ""), 10);
82
+ if (!Number.isNaN(parsed)) retryDelay = parsed;
83
+ }
84
+ let data;
85
+ let parsedJson = false;
86
+ if (dataLines.length) {
87
+ const rawData = dataLines.join("\n");
88
+ try {
89
+ data = JSON.parse(rawData);
90
+ parsedJson = true;
91
+ } catch {
92
+ data = rawData;
93
+ }
94
+ }
95
+ if (parsedJson) {
96
+ if (responseValidator) await responseValidator(data);
97
+ if (responseTransformer) data = await responseTransformer(data);
98
+ }
99
+ onSseEvent?.({
100
+ data,
101
+ event: eventName,
102
+ id: lastEventId,
103
+ retry: retryDelay
104
+ });
105
+ if (dataLines.length) yield data;
106
+ }
107
+ }
108
+ } finally {
109
+ signal.removeEventListener("abort", abortHandler);
110
+ reader.releaseLock();
111
+ }
112
+ break;
113
+ } catch (error) {
114
+ onSseError?.(error);
115
+ if (sseMaxRetryAttempts !== void 0 && attempt >= sseMaxRetryAttempts) break;
116
+ await sleep(Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 3e4));
117
+ }
118
+ }
119
+ };
120
+ return { stream: createStream() };
121
+ }
122
+ //#endregion
123
+ //#region src/generated/core/pathSerializer.gen.ts
124
+ const separatorArrayExplode = (style) => {
125
+ switch (style) {
126
+ case "label": return ".";
127
+ case "matrix": return ";";
128
+ case "simple": return ",";
129
+ default: return "&";
130
+ }
131
+ };
132
+ const separatorArrayNoExplode = (style) => {
133
+ switch (style) {
134
+ case "form": return ",";
135
+ case "pipeDelimited": return "|";
136
+ case "spaceDelimited": return "%20";
137
+ default: return ",";
138
+ }
139
+ };
140
+ const separatorObjectExplode = (style) => {
141
+ switch (style) {
142
+ case "label": return ".";
143
+ case "matrix": return ";";
144
+ case "simple": return ",";
145
+ default: return "&";
146
+ }
147
+ };
148
+ const serializeArrayParam = ({ allowReserved, explode, name, style, value }) => {
149
+ if (!explode) {
150
+ const joinedValues = (allowReserved ? value : value.map((v) => encodeURIComponent(v))).join(separatorArrayNoExplode(style));
151
+ switch (style) {
152
+ case "label": return `.${joinedValues}`;
153
+ case "matrix": return `;${name}=${joinedValues}`;
154
+ case "simple": return joinedValues;
155
+ default: return `${name}=${joinedValues}`;
156
+ }
157
+ }
158
+ const separator = separatorArrayExplode(style);
159
+ const joinedValues = value.map((v) => {
160
+ if (style === "label" || style === "simple") return allowReserved ? v : encodeURIComponent(v);
161
+ return serializePrimitiveParam({
162
+ allowReserved,
163
+ name,
164
+ value: v
165
+ });
166
+ }).join(separator);
167
+ return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
168
+ };
169
+ const serializePrimitiveParam = ({ allowReserved, name, value }) => {
170
+ if (value === void 0 || value === null) return "";
171
+ if (typeof value === "object") throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");
172
+ return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;
173
+ };
174
+ const serializeObjectParam = ({ allowReserved, explode, name, style, value, valueOnly }) => {
175
+ if (value instanceof Date) return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;
176
+ if (style !== "deepObject" && !explode) {
177
+ let values = [];
178
+ Object.entries(value).forEach(([key, v]) => {
179
+ values = [
180
+ ...values,
181
+ key,
182
+ allowReserved ? v : encodeURIComponent(v)
183
+ ];
184
+ });
185
+ const joinedValues = values.join(",");
186
+ switch (style) {
187
+ case "form": return `${name}=${joinedValues}`;
188
+ case "label": return `.${joinedValues}`;
189
+ case "matrix": return `;${name}=${joinedValues}`;
190
+ default: return joinedValues;
191
+ }
192
+ }
193
+ const separator = separatorObjectExplode(style);
194
+ const joinedValues = Object.entries(value).map(([key, v]) => serializePrimitiveParam({
195
+ allowReserved,
196
+ name: style === "deepObject" ? `${name}[${key}]` : key,
197
+ value: v
198
+ })).join(separator);
199
+ return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
200
+ };
201
+ //#endregion
202
+ //#region src/generated/core/utils.gen.ts
203
+ const PATH_PARAM_RE = /\{[^{}]+\}/g;
204
+ const defaultPathSerializer = ({ path, url: _url }) => {
205
+ let url = _url;
206
+ const matches = _url.match(PATH_PARAM_RE);
207
+ if (matches) for (const match of matches) {
208
+ let explode = false;
209
+ let name = match.substring(1, match.length - 1);
210
+ let style = "simple";
211
+ if (name.endsWith("*")) {
212
+ explode = true;
213
+ name = name.substring(0, name.length - 1);
214
+ }
215
+ if (name.startsWith(".")) {
216
+ name = name.substring(1);
217
+ style = "label";
218
+ } else if (name.startsWith(";")) {
219
+ name = name.substring(1);
220
+ style = "matrix";
221
+ }
222
+ const value = path[name];
223
+ if (value === void 0 || value === null) continue;
224
+ if (Array.isArray(value)) {
225
+ url = url.replace(match, serializeArrayParam({
226
+ explode,
227
+ name,
228
+ style,
229
+ value
230
+ }));
231
+ continue;
232
+ }
233
+ if (typeof value === "object") {
234
+ url = url.replace(match, serializeObjectParam({
235
+ explode,
236
+ name,
237
+ style,
238
+ value,
239
+ valueOnly: true
240
+ }));
241
+ continue;
242
+ }
243
+ if (style === "matrix") {
244
+ url = url.replace(match, `;${serializePrimitiveParam({
245
+ name,
246
+ value
247
+ })}`);
248
+ continue;
249
+ }
250
+ const replaceValue = encodeURIComponent(style === "label" ? `.${value}` : value);
251
+ url = url.replace(match, replaceValue);
252
+ }
253
+ return url;
254
+ };
255
+ const getUrl = ({ baseUrl, path, query, querySerializer, url: _url }) => {
256
+ const pathUrl = _url.startsWith("/") ? _url : `/${_url}`;
257
+ let url = (baseUrl ?? "") + pathUrl;
258
+ if (path) url = defaultPathSerializer({
259
+ path,
260
+ url
261
+ });
262
+ let search = query ? querySerializer(query) : "";
263
+ if (search.startsWith("?")) search = search.substring(1);
264
+ if (search) url += `?${search}`;
265
+ return url;
266
+ };
267
+ function getValidRequestBody(options) {
268
+ const hasBody = options.body !== void 0;
269
+ if (hasBody && options.bodySerializer) {
270
+ if ("serializedBody" in options) return options.serializedBody !== void 0 && options.serializedBody !== "" ? options.serializedBody : null;
271
+ return options.body !== "" ? options.body : null;
272
+ }
273
+ if (hasBody) return options.body;
274
+ }
275
+ //#endregion
276
+ //#region src/generated/core/auth.gen.ts
277
+ const getAuthToken = async (auth, callback) => {
278
+ const token = typeof callback === "function" ? await callback(auth) : callback;
279
+ if (!token) return;
280
+ if (auth.scheme === "bearer") return `Bearer ${token}`;
281
+ if (auth.scheme === "basic") return `Basic ${btoa(token)}`;
282
+ return token;
283
+ };
284
+ //#endregion
285
+ //#region src/generated/client/utils.gen.ts
286
+ const createQuerySerializer = ({ parameters = {}, ...args } = {}) => {
287
+ const querySerializer = (queryParams) => {
288
+ const search = [];
289
+ if (queryParams && typeof queryParams === "object") for (const name in queryParams) {
290
+ const value = queryParams[name];
291
+ if (value === void 0 || value === null) continue;
292
+ const options = parameters[name] || args;
293
+ if (Array.isArray(value)) {
294
+ const serializedArray = serializeArrayParam({
295
+ allowReserved: options.allowReserved,
296
+ explode: true,
297
+ name,
298
+ style: "form",
299
+ value,
300
+ ...options.array
301
+ });
302
+ if (serializedArray) search.push(serializedArray);
303
+ } else if (typeof value === "object") {
304
+ const serializedObject = serializeObjectParam({
305
+ allowReserved: options.allowReserved,
306
+ explode: true,
307
+ name,
308
+ style: "deepObject",
309
+ value,
310
+ ...options.object
311
+ });
312
+ if (serializedObject) search.push(serializedObject);
313
+ } else {
314
+ const serializedPrimitive = serializePrimitiveParam({
315
+ allowReserved: options.allowReserved,
316
+ name,
317
+ value
318
+ });
319
+ if (serializedPrimitive) search.push(serializedPrimitive);
320
+ }
321
+ }
322
+ return search.join("&");
323
+ };
324
+ return querySerializer;
325
+ };
326
+ /**
327
+ * Infers parseAs value from provided Content-Type header.
328
+ */
329
+ const getParseAs = (contentType) => {
330
+ if (!contentType) return "stream";
331
+ const cleanContent = contentType.split(";")[0]?.trim();
332
+ if (!cleanContent) return;
333
+ if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) return "json";
334
+ if (cleanContent === "multipart/form-data") return "formData";
335
+ if ([
336
+ "application/",
337
+ "audio/",
338
+ "image/",
339
+ "video/"
340
+ ].some((type) => cleanContent.startsWith(type))) return "blob";
341
+ if (cleanContent.startsWith("text/")) return "text";
342
+ };
343
+ const checkForExistence = (options, name) => {
344
+ if (!name) return false;
345
+ if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) return true;
346
+ return false;
347
+ };
348
+ async function setAuthParams(options) {
349
+ for (const auth of options.security ?? []) {
350
+ if (checkForExistence(options, auth.name)) continue;
351
+ const token = await getAuthToken(auth, options.auth);
352
+ if (!token) continue;
353
+ const name = auth.name ?? "Authorization";
354
+ switch (auth.in) {
355
+ case "query":
356
+ if (!options.query) options.query = {};
357
+ options.query[name] = token;
358
+ break;
359
+ case "cookie":
360
+ options.headers.append("Cookie", `${name}=${token}`);
361
+ break;
362
+ default:
363
+ options.headers.set(name, token);
364
+ break;
365
+ }
366
+ }
367
+ }
368
+ const buildUrl = (options) => getUrl({
369
+ baseUrl: options.baseUrl,
370
+ path: options.path,
371
+ query: options.query,
372
+ querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer(options.querySerializer),
373
+ url: options.url
374
+ });
375
+ const mergeConfigs = (a, b) => {
376
+ const config = {
377
+ ...a,
378
+ ...b
379
+ };
380
+ if (config.baseUrl?.endsWith("/")) config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
381
+ config.headers = mergeHeaders(a.headers, b.headers);
382
+ return config;
383
+ };
384
+ const headersEntries = (headers) => {
385
+ const entries = [];
386
+ headers.forEach((value, key) => {
387
+ entries.push([key, value]);
388
+ });
389
+ return entries;
390
+ };
391
+ const mergeHeaders = (...headers) => {
392
+ const mergedHeaders = new Headers();
393
+ for (const header of headers) {
394
+ if (!header) continue;
395
+ const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);
396
+ for (const [key, value] of iterator) if (value === null) mergedHeaders.delete(key);
397
+ else if (Array.isArray(value)) for (const v of value) mergedHeaders.append(key, v);
398
+ else if (value !== void 0) mergedHeaders.set(key, typeof value === "object" ? JSON.stringify(value) : value);
399
+ }
400
+ return mergedHeaders;
401
+ };
402
+ var Interceptors = class {
403
+ fns = [];
404
+ clear() {
405
+ this.fns = [];
406
+ }
407
+ eject(id) {
408
+ const index = this.getInterceptorIndex(id);
409
+ if (this.fns[index]) this.fns[index] = null;
410
+ }
411
+ exists(id) {
412
+ const index = this.getInterceptorIndex(id);
413
+ return Boolean(this.fns[index]);
414
+ }
415
+ getInterceptorIndex(id) {
416
+ if (typeof id === "number") return this.fns[id] ? id : -1;
417
+ return this.fns.indexOf(id);
418
+ }
419
+ update(id, fn) {
420
+ const index = this.getInterceptorIndex(id);
421
+ if (this.fns[index]) {
422
+ this.fns[index] = fn;
423
+ return id;
424
+ }
425
+ return false;
426
+ }
427
+ use(fn) {
428
+ this.fns.push(fn);
429
+ return this.fns.length - 1;
430
+ }
431
+ };
432
+ const createInterceptors = () => ({
433
+ error: new Interceptors(),
434
+ request: new Interceptors(),
435
+ response: new Interceptors()
436
+ });
437
+ const defaultQuerySerializer = createQuerySerializer({
438
+ allowReserved: false,
439
+ array: {
440
+ explode: true,
441
+ style: "form"
442
+ },
443
+ object: {
444
+ explode: true,
445
+ style: "deepObject"
446
+ }
447
+ });
448
+ const defaultHeaders = { "Content-Type": "application/json" };
449
+ const createConfig = (override = {}) => ({
450
+ ...jsonBodySerializer,
451
+ headers: defaultHeaders,
452
+ parseAs: "auto",
453
+ querySerializer: defaultQuerySerializer,
454
+ ...override
455
+ });
456
+ //#endregion
457
+ //#region src/generated/client/client.gen.ts
458
+ const createClient = (config = {}) => {
459
+ let _config = mergeConfigs(createConfig(), config);
460
+ const getConfig = () => ({ ..._config });
461
+ const setConfig = (config) => {
462
+ _config = mergeConfigs(_config, config);
463
+ return getConfig();
464
+ };
465
+ const interceptors = createInterceptors();
466
+ const beforeRequest = async (options) => {
467
+ const opts = {
468
+ ..._config,
469
+ ...options,
470
+ fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
471
+ headers: mergeHeaders(_config.headers, options.headers),
472
+ serializedBody: void 0
473
+ };
474
+ if (opts.security) await setAuthParams(opts);
475
+ if (opts.requestValidator) await opts.requestValidator(opts);
476
+ if (opts.body !== void 0 && opts.bodySerializer) opts.serializedBody = opts.bodySerializer(opts.body);
477
+ if (opts.body === void 0 || opts.serializedBody === "") opts.headers.delete("Content-Type");
478
+ const resolvedOpts = opts;
479
+ return {
480
+ opts: resolvedOpts,
481
+ url: buildUrl(resolvedOpts)
482
+ };
483
+ };
484
+ const request = async (options) => {
485
+ const throwOnError = options.throwOnError ?? _config.throwOnError;
486
+ const responseStyle = options.responseStyle ?? _config.responseStyle;
487
+ let request;
488
+ let response;
489
+ try {
490
+ const { opts, url } = await beforeRequest(options);
491
+ const requestInit = {
492
+ redirect: "follow",
493
+ ...opts,
494
+ body: getValidRequestBody(opts)
495
+ };
496
+ request = new Request(url, requestInit);
497
+ for (const fn of interceptors.request.fns) if (fn) request = await fn(request, opts);
498
+ const _fetch = opts.fetch;
499
+ response = await _fetch(request);
500
+ for (const fn of interceptors.response.fns) if (fn) response = await fn(response, request, opts);
501
+ const result = {
502
+ request,
503
+ response
504
+ };
505
+ if (response.ok) {
506
+ const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
507
+ if (response.status === 204 || response.headers.get("Content-Length") === "0") {
508
+ let emptyData;
509
+ switch (parseAs) {
510
+ case "arrayBuffer":
511
+ case "blob":
512
+ case "text":
513
+ emptyData = await response[parseAs]();
514
+ break;
515
+ case "formData":
516
+ emptyData = new FormData();
517
+ break;
518
+ case "stream":
519
+ emptyData = response.body;
520
+ break;
521
+ default:
522
+ emptyData = {};
523
+ break;
524
+ }
525
+ return opts.responseStyle === "data" ? emptyData : {
526
+ data: emptyData,
527
+ ...result
528
+ };
529
+ }
530
+ let data;
531
+ switch (parseAs) {
532
+ case "arrayBuffer":
533
+ case "blob":
534
+ case "formData":
535
+ case "text":
536
+ data = await response[parseAs]();
537
+ break;
538
+ case "json": {
539
+ const text = await response.text();
540
+ data = text ? JSON.parse(text) : {};
541
+ break;
542
+ }
543
+ case "stream": return opts.responseStyle === "data" ? response.body : {
544
+ data: response.body,
545
+ ...result
546
+ };
547
+ }
548
+ if (parseAs === "json") {
549
+ if (opts.responseValidator) await opts.responseValidator(data);
550
+ if (opts.responseTransformer) data = await opts.responseTransformer(data);
551
+ }
552
+ return opts.responseStyle === "data" ? data : {
553
+ data,
554
+ ...result
555
+ };
556
+ }
557
+ const textError = await response.text();
558
+ let jsonError;
559
+ try {
560
+ jsonError = JSON.parse(textError);
561
+ } catch {}
562
+ throw jsonError ?? textError;
563
+ } catch (error) {
564
+ let finalError = error;
565
+ for (const fn of interceptors.error.fns) if (fn) finalError = await fn(finalError, response, request, options);
566
+ finalError = finalError || {};
567
+ if (throwOnError) throw finalError;
568
+ return responseStyle === "data" ? void 0 : {
569
+ error: finalError,
570
+ request,
571
+ response
572
+ };
573
+ }
574
+ };
575
+ const makeMethodFn = (method) => (options) => request({
576
+ ...options,
577
+ method
578
+ });
579
+ const makeSseFn = (method) => async (options) => {
580
+ const { opts, url } = await beforeRequest(options);
581
+ return createSseClient({
582
+ ...opts,
583
+ body: opts.body,
584
+ method,
585
+ onRequest: async (url, init) => {
586
+ let request = new Request(url, init);
587
+ for (const fn of interceptors.request.fns) if (fn) request = await fn(request, opts);
588
+ return request;
589
+ },
590
+ serializedBody: getValidRequestBody(opts),
591
+ url
592
+ });
593
+ };
594
+ const _buildUrl = (options) => buildUrl({
595
+ ..._config,
596
+ ...options
597
+ });
598
+ return {
599
+ buildUrl: _buildUrl,
600
+ connect: makeMethodFn("CONNECT"),
601
+ delete: makeMethodFn("DELETE"),
602
+ get: makeMethodFn("GET"),
603
+ getConfig,
604
+ head: makeMethodFn("HEAD"),
605
+ interceptors,
606
+ options: makeMethodFn("OPTIONS"),
607
+ patch: makeMethodFn("PATCH"),
608
+ post: makeMethodFn("POST"),
609
+ put: makeMethodFn("PUT"),
610
+ request,
611
+ setConfig,
612
+ sse: {
613
+ connect: makeSseFn("CONNECT"),
614
+ delete: makeSseFn("DELETE"),
615
+ get: makeSseFn("GET"),
616
+ head: makeSseFn("HEAD"),
617
+ options: makeSseFn("OPTIONS"),
618
+ patch: makeSseFn("PATCH"),
619
+ post: makeSseFn("POST"),
620
+ put: makeSseFn("PUT"),
621
+ trace: makeSseFn("TRACE")
622
+ },
623
+ trace: makeMethodFn("TRACE")
624
+ };
625
+ };
626
+ //#endregion
627
+ //#region src/generated/sdk.gen.ts
628
+ /**
629
+ * Get all campaigns for an ad account
630
+ */
631
+ const listCampaignsMethod = (options) => options.client.get({
632
+ url: "/campaigns",
633
+ ...options
634
+ });
635
+ /**
636
+ * Create a campaign for an ad account
637
+ */
638
+ const createCampaignMethod = (options) => options.client.post({
639
+ url: "/campaigns",
640
+ ...options,
641
+ headers: {
642
+ "Content-Type": "application/json",
643
+ ...options.headers
644
+ }
645
+ });
646
+ /**
647
+ * Get a campaign
648
+ */
649
+ const getCampaignMethod = (options) => options.client.get({
650
+ url: "/campaigns/{campaign_id}",
651
+ ...options
652
+ });
653
+ /**
654
+ * Update a campaign
655
+ */
656
+ const updateCampaignMethod = (options) => options.client.post({
657
+ url: "/campaigns/{campaign_id}",
658
+ ...options,
659
+ headers: {
660
+ "Content-Type": "application/json",
661
+ ...options.headers
662
+ }
663
+ });
664
+ /**
665
+ * Activate a campaign
666
+ */
667
+ const activateCampaignMethod = (options) => options.client.post({
668
+ url: "/campaigns/{campaign_id}/activate",
669
+ ...options
670
+ });
671
+ /**
672
+ * Pause a campaign
673
+ */
674
+ const pauseCampaignMethod = (options) => options.client.post({
675
+ url: "/campaigns/{campaign_id}/pause",
676
+ ...options
677
+ });
678
+ /**
679
+ * Archive a campaign
680
+ */
681
+ const archiveCampaignMethod = (options) => options.client.post({
682
+ url: "/campaigns/{campaign_id}/archive",
683
+ ...options
684
+ });
685
+ /**
686
+ * List custom audiences for the authenticated ad account.
687
+ */
688
+ const listCustomAudiencesMethod = (options) => options.client.get({
689
+ url: "/custom_audiences",
690
+ ...options
691
+ });
692
+ /**
693
+ * Create a custom audience from an uploaded file, or without a file when small audiences are enabled for the account. Processing and publication are asynchronous.
694
+ */
695
+ const createCustomAudienceMethod = (options) => options.client.post({
696
+ url: "/custom_audiences",
697
+ ...options,
698
+ headers: {
699
+ "Content-Type": "application/json",
700
+ ...options.headers
701
+ }
702
+ });
703
+ /**
704
+ * Get a custom audience for the authenticated ad account.
705
+ */
706
+ const getCustomAudienceMethod = (options) => options.client.get({
707
+ url: "/custom_audiences/{custom_audience_id}",
708
+ ...options
709
+ });
710
+ /**
711
+ * Archive a custom audience for the authenticated ad account.
712
+ */
713
+ const archiveCustomAudienceMethod = (options) => options.client.post({
714
+ url: "/custom_audiences/{custom_audience_id}/archive",
715
+ ...options
716
+ });
717
+ /**
718
+ * Add uploaded or inline identifiers to an existing custom audience.
719
+ */
720
+ const addCustomAudienceMembersMethod = (options) => options.client.post({
721
+ url: "/custom_audiences/{custom_audience_id}/add",
722
+ ...options,
723
+ headers: {
724
+ "Content-Type": "application/json",
725
+ ...options.headers
726
+ }
727
+ });
728
+ /**
729
+ * Remove uploaded or inline identifiers from an existing custom audience.
730
+ */
731
+ const removeCustomAudienceMembersMethod = (options) => options.client.post({
732
+ url: "/custom_audiences/{custom_audience_id}/remove",
733
+ ...options,
734
+ headers: {
735
+ "Content-Type": "application/json",
736
+ ...options.headers
737
+ }
738
+ });
739
+ /**
740
+ * Replace an existing audience using an uploaded file and its current revision.
741
+ */
742
+ const replaceCustomAudienceMembersMethod = (options) => options.client.post({
743
+ url: "/custom_audiences/{custom_audience_id}/replace",
744
+ ...options,
745
+ headers: {
746
+ "Content-Type": "application/json",
747
+ ...options.headers
748
+ }
749
+ });
750
+ /**
751
+ * Create an independent custom audience containing all matched source members.
752
+ */
753
+ const mergeCustomAudiencesMethod = (options) => options.client.post({
754
+ url: "/custom_audiences/merge",
755
+ ...options,
756
+ headers: {
757
+ "Content-Type": "application/json",
758
+ ...options.headers
759
+ }
760
+ });
761
+ /**
762
+ * Retrieve the privacy-safe lifecycle state of a custom audience operation.
763
+ */
764
+ const getCustomAudienceOperationMethod = (options) => options.client.get({
765
+ url: "/custom_audiences/{custom_audience_id}/operations/{operation_id}",
766
+ ...options
767
+ });
768
+ /**
769
+ * List eligible Business Agent tools installed for the authenticated API project.
770
+ */
771
+ const listBusinessAgentToolsMethod = (options) => options.client.get({
772
+ url: "/business_agent_tools",
773
+ ...options
774
+ });
775
+ /**
776
+ * List Business Agents for the authenticated ad account.
777
+ */
778
+ const listBusinessAgentsMethod = (options) => options.client.get({
779
+ url: "/business_agents",
780
+ ...options
781
+ });
782
+ /**
783
+ * Create a draft Business Agent for the authenticated ad account.
784
+ */
785
+ const createBusinessAgentMethod = (options) => options.client.post({
786
+ url: "/business_agents",
787
+ ...options,
788
+ headers: {
789
+ "Content-Type": "application/json",
790
+ ...options.headers
791
+ }
792
+ });
793
+ /**
794
+ * List Lead Forms for the authenticated ad account.
795
+ */
796
+ const listLeadFormsMethod = (options) => options.client.get({
797
+ url: "/lead_forms",
798
+ ...options
799
+ });
800
+ /**
801
+ * Create a draft Lead Form for the authenticated ad account.
802
+ */
803
+ const createLeadFormMethod = (options) => options.client.post({
804
+ url: "/lead_forms",
805
+ ...options,
806
+ headers: {
807
+ "Content-Type": "application/json",
808
+ ...options.headers
809
+ }
810
+ });
811
+ /**
812
+ * Get a Lead Form for the authenticated ad account.
813
+ */
814
+ const getLeadFormMethod = (options) => options.client.get({
815
+ url: "/lead_forms/{lead_form_id}",
816
+ ...options
817
+ });
818
+ /**
819
+ * Save a new draft revision for a Lead Form.
820
+ */
821
+ const updateLeadFormMethod = (options) => options.client.post({
822
+ url: "/lead_forms/{lead_form_id}",
823
+ ...options,
824
+ headers: {
825
+ "Content-Type": "application/json",
826
+ ...options.headers
827
+ }
828
+ });
829
+ /**
830
+ * Publish the current Lead Form draft.
831
+ */
832
+ const publishLeadFormMethod = (options) => options.client.post({
833
+ url: "/lead_forms/{lead_form_id}/publish",
834
+ ...options,
835
+ headers: {
836
+ "Content-Type": "application/json",
837
+ ...options.headers
838
+ }
839
+ });
840
+ /**
841
+ * Archive a Lead Form that is not attached to a published Business Agent.
842
+ */
843
+ const archiveLeadFormMethod = (options) => options.client.post({
844
+ url: "/lead_forms/{lead_form_id}/archive",
845
+ ...options
846
+ });
847
+ /**
848
+ * Queue an explicitly synthetic, signed lead-sync webhook test delivery.
849
+ */
850
+ const createTestLeadSubmissionMethod = (options) => options.client.post({
851
+ url: "/lead_forms/{lead_form_id}/test_submissions",
852
+ ...options,
853
+ headers: {
854
+ "Content-Type": "application/json",
855
+ ...options.headers
856
+ }
857
+ });
858
+ /**
859
+ * Get a Business Agent for the authenticated ad account.
860
+ */
861
+ const getBusinessAgentMethod = (options) => options.client.get({
862
+ url: "/business_agents/{business_agent_id}",
863
+ ...options
864
+ });
865
+ /**
866
+ * Replace a Business Agent's name and configuration for the authenticated ad account and save it as a draft. Omitted optional configuration fields reset to their defaults, except lead_form preserves an existing selection when omitted; send null to unlink it.
867
+ */
868
+ const updateBusinessAgentMethod = (options) => options.client.post({
869
+ url: "/business_agents/{business_agent_id}",
870
+ ...options,
871
+ headers: {
872
+ "Content-Type": "application/json",
873
+ ...options.headers
874
+ }
875
+ });
876
+ /**
877
+ * Preview a response from a Business Agent for the authenticated ad account.
878
+ */
879
+ const previewBusinessAgentMethod = (options) => options.client.post({
880
+ url: "/business_agents/{business_agent_id}/preview",
881
+ ...options,
882
+ headers: {
883
+ "Content-Type": "application/json",
884
+ ...options.headers
885
+ }
886
+ });
887
+ /**
888
+ * Publish a Business Agent draft for the authenticated ad account.
889
+ */
890
+ const publishBusinessAgentMethod = (options) => options.client.post({
891
+ url: "/business_agents/{business_agent_id}/publish",
892
+ ...options
893
+ });
894
+ /**
895
+ * Create an API key scoped to the selected ad account.
896
+ */
897
+ const createApiKeyMethod = (options) => options.client.post({
898
+ url: "/api_keys",
899
+ ...options,
900
+ headers: {
901
+ "Content-Type": "application/json",
902
+ ...options.headers
903
+ }
904
+ });
905
+ /**
906
+ * Update ad account brand metadata.
907
+ */
908
+ const updateAdAccountMethod = (options) => options.client.post({
909
+ url: "/ad_account/brand",
910
+ ...options,
911
+ headers: {
912
+ "Content-Type": "application/json",
913
+ ...options.headers
914
+ }
915
+ });
916
+ /**
917
+ * Replace the account-level negative keywords used for ad eligibility.
918
+ */
919
+ const updateAdAccountNegativeKeywordsMethod = (options) => options.client.post({
920
+ url: "/ad_account/negative_keywords",
921
+ ...options,
922
+ headers: {
923
+ "Content-Type": "application/json",
924
+ ...options.headers
925
+ }
926
+ });
927
+ /**
928
+ * Activate the ad account.
929
+ */
930
+ const activateAdAccountMethod = (options) => options.client.post({
931
+ url: "/ad_account/activate",
932
+ ...options
933
+ });
934
+ /**
935
+ * Pause the ad account.
936
+ */
937
+ const pauseAdAccountMethod = (options) => options.client.post({
938
+ url: "/ad_account/pause",
939
+ ...options
940
+ });
941
+ /**
942
+ * List ad accounts accessible to the authenticated API key
943
+ */
944
+ const listAdAccountsMethod = (options) => options.client.get({
945
+ url: "/ad_accounts",
946
+ ...options
947
+ });
948
+ /**
949
+ * Start OpenAI-hosted Ads account creation for an authorized partner user.
950
+ */
951
+ const createAdAccountCreationSessionMethod = (options) => options.client.post({
952
+ url: "/ad_account_creation_sessions",
953
+ ...options,
954
+ headers: {
955
+ "Content-Type": "application/json",
956
+ ...options.headers
957
+ }
958
+ });
959
+ /**
960
+ * Return the authenticated user's stable application-scoped opaque identifier.
961
+ */
962
+ const getAdsOAuthMeMethod = (options) => options.client.get({
963
+ url: "/me",
964
+ ...options
965
+ });
966
+ /**
967
+ * Get metadata for the ad account
968
+ */
969
+ const getAdAccountMethod = (options) => options.client.get({
970
+ url: "/ad_account",
971
+ ...options
972
+ });
973
+ /**
974
+ * View spend limit windows with inclusive start dates and exclusive end dates, ordered by start time ascending.
975
+ */
976
+ const getAdAccountSpendLimitWindowsMethod = (options) => options.client.get({
977
+ url: "/ad_account/spend_limit_windows",
978
+ ...options
979
+ });
980
+ /**
981
+ * Create a spend limit window with an inclusive start date and exclusive end date.
982
+ */
983
+ const createAdAccountSpendLimitWindowMethod = (options) => options.client.post({
984
+ url: "/ad_account/spend_limit_windows",
985
+ ...options,
986
+ headers: {
987
+ "Content-Type": "application/json",
988
+ ...options.headers
989
+ }
990
+ });
991
+ /**
992
+ * Edit a spend limit window with an inclusive start date and exclusive end date.
993
+ */
994
+ const updateAdAccountSpendLimitWindowMethod = (options) => options.client.post({
995
+ url: "/ad_account/spend_limit_windows/{window_id}",
996
+ ...options,
997
+ headers: {
998
+ "Content-Type": "application/json",
999
+ ...options.headers
1000
+ }
1001
+ });
1002
+ /**
1003
+ * Delete an active or scheduled spend limit window before it ends.
1004
+ */
1005
+ const deleteAdAccountSpendLimitWindowMethod = (options) => options.client.post({
1006
+ url: "/ad_account/spend_limit_windows/{window_id}/delete",
1007
+ ...options
1008
+ });
1009
+ /**
1010
+ * Get ad account insights aggregated by time granularity. Attribution metrics for the current account-local day are preliminary and may change as conversions are processed.
1011
+ */
1012
+ const getAdAccountInsightsMethod = (options) => options.client.get({
1013
+ url: "/ad_account/insights",
1014
+ ...options
1015
+ });
1016
+ /**
1017
+ * Get campaign insights aggregated by time granularity. Attribution metrics for the current account-local day are preliminary and may change as conversions are processed.
1018
+ */
1019
+ const getCampaignInsightsMethod = (options) => options.client.get({
1020
+ url: "/campaigns/{campaign_id}/insights",
1021
+ ...options
1022
+ });
1023
+ /**
1024
+ * Get ad group insights aggregated by time granularity. Attribution metrics for the current account-local day are preliminary and may change as conversions are processed.
1025
+ */
1026
+ const getAdGroupInsightsMethod = (options) => options.client.get({
1027
+ url: "/ad_groups/{ad_group_id}/insights",
1028
+ ...options
1029
+ });
1030
+ /**
1031
+ * Get ad insights aggregated by time granularity. Attribution metrics for the current account-local day are preliminary and may change as conversions are processed.
1032
+ */
1033
+ const getAdInsightsMethod = (options) => options.client.get({
1034
+ url: "/ads/{ad_id}/insights",
1035
+ ...options
1036
+ });
1037
+ /**
1038
+ * Search DMA and standard region codes for advertiser geo targeting.
1039
+ */
1040
+ const getGeoLookupMethod = (options) => options.client.get({
1041
+ url: "/geo_lookup/search",
1042
+ ...options
1043
+ });
1044
+ /**
1045
+ * List the lead-sync subscription for an authorized Ad Account.
1046
+ */
1047
+ const listLeadSyncSubscriptionsMethod = (options) => options.client.get({
1048
+ url: "/lead_sync_subscriptions",
1049
+ ...options
1050
+ });
1051
+ /**
1052
+ * Provision lead delivery to a managed Webhooks endpoint.
1053
+ */
1054
+ const createLeadSyncSubscriptionMethod = (options) => options.client.post({
1055
+ url: "/lead_sync_subscriptions",
1056
+ ...options,
1057
+ headers: {
1058
+ "Content-Type": "application/json",
1059
+ ...options.headers
1060
+ }
1061
+ });
1062
+ /**
1063
+ * Delete a lead-sync subscription.
1064
+ */
1065
+ const deleteLeadSyncSubscriptionMethod = (options) => options.client.delete({
1066
+ url: "/lead_sync_subscriptions/{subscription_id}",
1067
+ ...options
1068
+ });
1069
+ /**
1070
+ * Get a lead-sync subscription.
1071
+ */
1072
+ const getLeadSyncSubscriptionMethod = (options) => options.client.get({
1073
+ url: "/lead_sync_subscriptions/{subscription_id}",
1074
+ ...options
1075
+ });
1076
+ /**
1077
+ * Create a Conversions API key for the currently authenticated ad account.
1078
+ */
1079
+ const createConversionApiKeyMethod = (options) => options.client.post({
1080
+ url: "/conversions/api_keys",
1081
+ ...options,
1082
+ headers: {
1083
+ "Content-Type": "application/json",
1084
+ ...options.headers
1085
+ }
1086
+ });
1087
+ /**
1088
+ * List conversion event settings for the currently authenticated ad account.
1089
+ */
1090
+ const listConversionEventSettingsMethod = (options) => options.client.get({
1091
+ url: "/conversions/event_settings",
1092
+ ...options
1093
+ });
1094
+ /**
1095
+ * Create a conversion event setting for the currently authenticated ad account.
1096
+ */
1097
+ const createConversionEventSettingMethod = (options) => options.client.post({
1098
+ url: "/conversions/event_settings",
1099
+ ...options,
1100
+ headers: {
1101
+ "Content-Type": "application/json",
1102
+ ...options.headers
1103
+ }
1104
+ });
1105
+ /**
1106
+ * List conversion pixels and connected pixel ids for the acting ad account.
1107
+ */
1108
+ const listConversionSourcesMethod = (options) => options.client.get({
1109
+ url: "/conversions/pixels",
1110
+ ...options
1111
+ });
1112
+ /**
1113
+ * Create a conversion pixel.
1114
+ */
1115
+ const createConversionSourceMethod = (options) => options.client.post({
1116
+ url: "/conversions/pixels",
1117
+ ...options,
1118
+ headers: {
1119
+ "Content-Type": "application/json",
1120
+ ...options.headers
1121
+ }
1122
+ });
1123
+ /**
1124
+ * List recent sampled conversion events for the acting ad account.
1125
+ */
1126
+ const listConversionEventsMethod = (options) => options.client.get({
1127
+ url: "/conversions/events",
1128
+ ...options
1129
+ });
1130
+ /**
1131
+ * Get attributed conversion totals or daily values for the authenticated ad account.
1132
+ */
1133
+ const postConversionInsightsMethod = (options) => options.client.post({
1134
+ url: "/conversions/insights",
1135
+ ...options,
1136
+ headers: {
1137
+ "Content-Type": "application/json",
1138
+ ...options.headers
1139
+ }
1140
+ });
1141
+ /**
1142
+ * Get ad groups for the ad account, optionally filtered by campaign
1143
+ */
1144
+ const listAdGroupsMethod = (options) => options.client.get({
1145
+ url: "/ad_groups",
1146
+ ...options
1147
+ });
1148
+ /**
1149
+ * Create an ad group for a campaign
1150
+ */
1151
+ const createAdGroupMethod = (options) => options.client.post({
1152
+ url: "/ad_groups",
1153
+ ...options,
1154
+ headers: {
1155
+ "Content-Type": "application/json",
1156
+ ...options.headers
1157
+ }
1158
+ });
1159
+ /**
1160
+ * Get an ad group
1161
+ */
1162
+ const getAdGroupMethod = (options) => options.client.get({
1163
+ url: "/ad_groups/{ad_group_id}",
1164
+ ...options
1165
+ });
1166
+ /**
1167
+ * Update an ad group
1168
+ */
1169
+ const updateAdGroupMethod = (options) => options.client.post({
1170
+ url: "/ad_groups/{ad_group_id}",
1171
+ ...options,
1172
+ headers: {
1173
+ "Content-Type": "application/json",
1174
+ ...options.headers
1175
+ }
1176
+ });
1177
+ /**
1178
+ * Activate an ad group
1179
+ */
1180
+ const activateAdGroupMethod = (options) => options.client.post({
1181
+ url: "/ad_groups/{ad_group_id}/activate",
1182
+ ...options
1183
+ });
1184
+ /**
1185
+ * Pause an ad group
1186
+ */
1187
+ const pauseAdGroupMethod = (options) => options.client.post({
1188
+ url: "/ad_groups/{ad_group_id}/pause",
1189
+ ...options
1190
+ });
1191
+ /**
1192
+ * Archive an ad group
1193
+ */
1194
+ const archiveAdGroupMethod = (options) => options.client.post({
1195
+ url: "/ad_groups/{ad_group_id}/archive",
1196
+ ...options
1197
+ });
1198
+ /**
1199
+ * Get ads for the ad account, optionally filtered by ad group
1200
+ */
1201
+ const listAdsMethod = (options) => options.client.get({
1202
+ url: "/ads",
1203
+ ...options
1204
+ });
1205
+ /**
1206
+ * Create an ad for an ad group
1207
+ */
1208
+ const createAdMethod = (options) => options.client.post({
1209
+ url: "/ads",
1210
+ ...options,
1211
+ headers: {
1212
+ "Content-Type": "application/json",
1213
+ ...options.headers
1214
+ }
1215
+ });
1216
+ /**
1217
+ * Get an ad
1218
+ */
1219
+ const getAdMethod = (options) => options.client.get({
1220
+ url: "/ads/{ad_id}",
1221
+ ...options
1222
+ });
1223
+ /**
1224
+ * Update an ad
1225
+ */
1226
+ const updateAdMethod = (options) => options.client.post({
1227
+ url: "/ads/{ad_id}",
1228
+ ...options,
1229
+ headers: {
1230
+ "Content-Type": "application/json",
1231
+ ...options.headers
1232
+ }
1233
+ });
1234
+ /**
1235
+ * Create a temporary iframe preview for an existing ad.
1236
+ */
1237
+ const createAdPreviewMethod = (options) => options.client.post({
1238
+ url: "/ads/{ad_id}/preview",
1239
+ ...options
1240
+ });
1241
+ /**
1242
+ * Activate an ad
1243
+ */
1244
+ const activateAdMethod = (options) => options.client.post({
1245
+ url: "/ads/{ad_id}/activate",
1246
+ ...options
1247
+ });
1248
+ /**
1249
+ * Pause an ad
1250
+ */
1251
+ const pauseAdMethod = (options) => options.client.post({
1252
+ url: "/ads/{ad_id}/pause",
1253
+ ...options
1254
+ });
1255
+ /**
1256
+ * Archive an ad
1257
+ */
1258
+ const archiveAdMethod = (options) => options.client.post({
1259
+ url: "/ads/{ad_id}/archive",
1260
+ ...options
1261
+ });
1262
+ /**
1263
+ * Upload a file and return a file id
1264
+ */
1265
+ const uploadBlobMethod = (options) => options.client.post({
1266
+ ...formDataBodySerializer,
1267
+ url: "/uploads",
1268
+ ...options,
1269
+ headers: {
1270
+ "Content-Type": null,
1271
+ ...options.headers
1272
+ }
1273
+ });
1274
+ /**
1275
+ * Upload an image URL or image file and return a file id
1276
+ */
1277
+ const uploadImageMethod = (options) => options.client.post({
1278
+ url: "/upload",
1279
+ ...options,
1280
+ headers: {
1281
+ "Content-Type": "application/json",
1282
+ ...options.headers
1283
+ }
1284
+ });
1285
+ /**
1286
+ * Archive a product feed for the authenticated ad account.
1287
+ */
1288
+ const archiveProductFeedMethod = (options) => options.client.post({
1289
+ url: "/feeds/{feed_id}/archive",
1290
+ ...options
1291
+ });
1292
+ /**
1293
+ * List product feeds for the authenticated ad account.
1294
+ */
1295
+ const listProductFeedsMethod = (options) => options.client.get({
1296
+ url: "/feeds",
1297
+ ...options
1298
+ });
1299
+ /**
1300
+ * Create a product feed for the authenticated ad account.
1301
+ */
1302
+ const createProductFeedMethod = (options) => options.client.post({
1303
+ url: "/feeds",
1304
+ ...options,
1305
+ headers: {
1306
+ "Content-Type": "application/json",
1307
+ ...options.headers
1308
+ }
1309
+ });
1310
+ /**
1311
+ * List recent product feed uploads for the authenticated ad account.
1312
+ */
1313
+ const listProductFeedUploadsMethod = (options) => options.client.get({
1314
+ url: "/feeds/uploads",
1315
+ ...options
1316
+ });
1317
+ /**
1318
+ * List products in a feed that match the supplied ad group product filters.
1319
+ */
1320
+ const queryProductFeedProductsMethod = (options) => options.client.post({
1321
+ url: "/feeds/{feed_id}/products/query",
1322
+ ...options,
1323
+ headers: {
1324
+ "Content-Type": "application/json",
1325
+ ...options.headers
1326
+ }
1327
+ });
1328
+ /**
1329
+ * Update product availability and prices for an authenticated ad account feed.
1330
+ */
1331
+ const patchProductFeedProductsMethod = (options) => options.client.patch({
1332
+ url: "/feeds/{feed_id}/products",
1333
+ ...options,
1334
+ headers: {
1335
+ "Content-Type": "application/json",
1336
+ ...options.headers
1337
+ }
1338
+ });
1339
+ /**
1340
+ * Get SFTP access details for an authenticated ad account product feed.
1341
+ */
1342
+ const getProductFeedSftpAccessMethod = (options) => options.client.get({
1343
+ url: "/feeds/{feed_id}/sftp_access",
1344
+ ...options
1345
+ });
1346
+ /**
1347
+ * Create or replace SFTP access credentials for an authenticated ad account product feed.
1348
+ */
1349
+ const postProductFeedSftpAccessMethod = (options) => options.client.post({
1350
+ url: "/feeds/{feed_id}/sftp_access",
1351
+ ...options,
1352
+ headers: {
1353
+ "Content-Type": "application/json",
1354
+ ...options.headers
1355
+ }
1356
+ });
1357
+ /**
1358
+ * Activate SFTP access for an authenticated ad account product feed.
1359
+ */
1360
+ const postProductFeedSftpAccessActivateMethod = (options) => options.client.post({
1361
+ url: "/feeds/{feed_id}/sftp_access/activate",
1362
+ ...options
1363
+ });
1364
+ /**
1365
+ * Pause SFTP access for an authenticated ad account product feed.
1366
+ */
1367
+ const postProductFeedSftpAccessPauseMethod = (options) => options.client.post({
1368
+ url: "/feeds/{feed_id}/sftp_access/pause",
1369
+ ...options
1370
+ });
1371
+ /**
1372
+ * Create an Ads partner-data upload.
1373
+ */
1374
+ const createPartnerDataUploadMethod = (options) => options.client.post({
1375
+ url: "/partner_data/uploads",
1376
+ ...options,
1377
+ headers: {
1378
+ "Content-Type": "application/json",
1379
+ ...options.headers
1380
+ }
1381
+ });
1382
+ /**
1383
+ * Get an Ads partner-data upload.
1384
+ */
1385
+ const getPartnerDataUploadMethod = (options) => options.client.get({
1386
+ url: "/partner_data/uploads/{upload_id}",
1387
+ ...options
1388
+ });
1389
+ //#endregion
1390
+ export { listBusinessAgentsMethod as $, deleteLeadSyncSubscriptionMethod as A, updateBusinessAgentMethod as At, getCampaignInsightsMethod as B, urlSearchParamsBodySerializer as Bt, createCustomAudienceMethod as C, removeCustomAudienceMembersMethod as Ct, createProductFeedMethod as D, updateAdAccountSpendLimitWindowMethod as Dt, createPartnerDataUploadMethod as E, updateAdAccountNegativeKeywordsMethod as Et, getAdGroupMethod as F, createClient as Ft, getLeadFormMethod as G, getCustomAudienceMethod as H, getAdInsightsMethod as I, createConfig as It, getProductFeedSftpAccessMethod as J, getLeadSyncSubscriptionMethod as K, getAdMethod as L, mergeHeaders as Lt, getAdAccountMethod as M, updateLeadFormMethod as Mt, getAdAccountSpendLimitWindowsMethod as N, uploadBlobMethod as Nt, createTestLeadSubmissionMethod as O, updateAdGroupMethod as Ot, getAdGroupInsightsMethod as P, uploadImageMethod as Pt, listBusinessAgentToolsMethod as Q, getAdsOAuthMeMethod as R, formDataBodySerializer as Rt, createConversionSourceMethod as S, queryProductFeedProductsMethod as St, createLeadSyncSubscriptionMethod as T, updateAdAccountMethod as Tt, getCustomAudienceOperationMethod as U, getCampaignMethod as V, getGeoLookupMethod as W, listAdGroupsMethod as X, listAdAccountsMethod as Y, listAdsMethod as Z, createApiKeyMethod as _, postProductFeedSftpAccessMethod as _t, addCustomAudienceMembersMethod as a, listLeadFormsMethod as at, createConversionApiKeyMethod as b, publishBusinessAgentMethod as bt, archiveCampaignMethod as c, listProductFeedsMethod as ct, archiveProductFeedMethod as d, pauseAdAccountMethod as dt, listCampaignsMethod as et, createAdAccountCreationSessionMethod as f, pauseAdGroupMethod as ft, createAdPreviewMethod as g, postProductFeedSftpAccessActivateMethod as gt, createAdMethod as h, postConversionInsightsMethod as ht, activateCampaignMethod as i, listCustomAudiencesMethod as it, getAdAccountInsightsMethod as j, updateCampaignMethod as jt, deleteAdAccountSpendLimitWindowMethod as k, updateAdMethod as kt, archiveCustomAudienceMethod as l, mergeCustomAudiencesMethod as lt, createAdGroupMethod as m, pauseCampaignMethod as mt, activateAdGroupMethod as n, listConversionEventsMethod as nt, archiveAdGroupMethod as o, listLeadSyncSubscriptionsMethod as ot, createAdAccountSpendLimitWindowMethod as p, pauseAdMethod as pt, getPartnerDataUploadMethod as q, activateAdMethod as r, listConversionSourcesMethod as rt, archiveAdMethod as s, listProductFeedUploadsMethod as st, activateAdAccountMethod as t, listConversionEventSettingsMethod as tt, archiveLeadFormMethod as u, patchProductFeedProductsMethod as ut, createBusinessAgentMethod as v, postProductFeedSftpAccessPauseMethod as vt, createLeadFormMethod as w, replaceCustomAudienceMembersMethod as wt, createConversionEventSettingMethod as x, publishLeadFormMethod as xt, createCampaignMethod as y, previewBusinessAgentMethod as yt, getBusinessAgentMethod as z, jsonBodySerializer as zt };
1391
+
1392
+ //# sourceMappingURL=sdk.gen-BZw2JSrr.mjs.map