@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.
- package/LICENSE +21 -0
- package/README.md +177 -0
- package/dist/index.cjs +1000 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +258 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +258 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +996 -0
- package/dist/index.mjs.map +1 -0
- package/dist/raw.cjs +160 -0
- package/dist/raw.cjs.map +1 -0
- package/dist/raw.d.cts +723 -0
- package/dist/raw.d.cts.map +1 -0
- package/dist/raw.d.mts +723 -0
- package/dist/raw.d.mts.map +1 -0
- package/dist/raw.mjs +65 -0
- package/dist/raw.mjs.map +1 -0
- package/dist/sdk.gen-BZw2JSrr.mjs +1392 -0
- package/dist/sdk.gen-BZw2JSrr.mjs.map +1 -0
- package/dist/sdk.gen-DZPUCME9.cjs +1955 -0
- package/dist/sdk.gen-DZPUCME9.cjs.map +1 -0
- package/dist/types.gen-C0tFuU7P.d.cts +3181 -0
- package/dist/types.gen-C0tFuU7P.d.cts.map +1 -0
- package/dist/types.gen-C0tFuU7P.d.mts +3181 -0
- package/dist/types.gen-C0tFuU7P.d.mts.map +1 -0
- package/package.json +88 -0
- package/schemas/advertiser-rest.openapi.json +7359 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["formDataBodySerializer","createClient"],"sources":["../src/errors.ts","../src/rest-operations.ts","../src/openai-ads.ts"],"sourcesContent":["export type OpenAIAdsRequestSummary = {\n method: string\n url: string\n}\n\nexport type OpenAIAdsApiErrorOptions = {\n code?: string\n message: string\n param?: string | null\n payload: unknown\n request: OpenAIAdsRequestSummary\n response: Response\n status: number\n statusText: string\n type?: string\n}\n\nexport class OpenAIAdsApiError extends Error {\n readonly code?: string\n readonly param?: string | null\n readonly payload: unknown\n readonly request: OpenAIAdsRequestSummary\n readonly response: Response\n readonly status: number\n readonly statusText: string\n readonly type?: string\n\n constructor(options: OpenAIAdsApiErrorOptions) {\n super(options.message)\n this.name = 'OpenAIAdsApiError'\n this.code = options.code\n this.param = options.param\n this.payload = options.payload\n this.request = options.request\n this.response = options.response\n this.status = options.status\n this.statusText = options.statusText\n this.type = options.type\n }\n}\n\nexport class OpenAIAdsTimeoutError extends Error {\n readonly request: OpenAIAdsRequestSummary\n readonly timeoutMs: number\n\n constructor(timeoutMs: number, request: OpenAIAdsRequestSummary) {\n super(`OpenAI Ads API request timed out after ${String(timeoutMs)} ms`)\n this.name = 'OpenAIAdsTimeoutError'\n this.request = request\n this.timeoutMs = timeoutMs\n }\n}\n\nexport class OpenAIAdsConfigurationError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'OpenAIAdsConfigurationError'\n }\n}\n","export type OpenAIAdsAuthRequirement = 'accessToken' | 'apiKey' | 'either'\nexport type OpenAIAdsIdempotency = 'none' | 'optional' | 'required'\n\nexport type OpenAIAdsRestOperation = {\n accountHeader: boolean\n auth: OpenAIAdsAuthRequirement\n idempotency: OpenAIAdsIdempotency\n method: 'DELETE' | 'GET' | 'PATCH' | 'POST'\n operationId: string\n path: string\n}\n\nexport const REST_OPERATIONS = {\n 'campaigns.list': rest('ListCampaignsMethod', 'GET', '/campaigns'),\n 'campaigns.create': rest('CreateCampaignMethod', 'POST', '/campaigns', {\n idempotency: 'optional',\n }),\n 'campaigns.get': rest('GetCampaignMethod', 'GET', '/campaigns/{campaign_id}'),\n 'campaigns.update': rest(\n 'UpdateCampaignMethod',\n 'POST',\n '/campaigns/{campaign_id}',\n ),\n 'campaigns.activate': rest(\n 'ActivateCampaignMethod',\n 'POST',\n '/campaigns/{campaign_id}/activate',\n ),\n 'campaigns.pause': rest(\n 'PauseCampaignMethod',\n 'POST',\n '/campaigns/{campaign_id}/pause',\n ),\n 'campaigns.archive': rest(\n 'ArchiveCampaignMethod',\n 'POST',\n '/campaigns/{campaign_id}/archive',\n ),\n 'customAudiences.list': rest(\n 'ListCustomAudiencesMethod',\n 'GET',\n '/custom_audiences',\n ),\n 'customAudiences.create': rest(\n 'CreateCustomAudienceMethod',\n 'POST',\n '/custom_audiences',\n ),\n 'customAudiences.get': rest(\n 'GetCustomAudienceMethod',\n 'GET',\n '/custom_audiences/{custom_audience_id}',\n ),\n 'customAudiences.archive': rest(\n 'ArchiveCustomAudienceMethod',\n 'POST',\n '/custom_audiences/{custom_audience_id}/archive',\n ),\n 'customAudiences.addMembers': rest(\n 'AddCustomAudienceMembersMethod',\n 'POST',\n '/custom_audiences/{custom_audience_id}/add',\n { idempotency: 'required' },\n ),\n 'customAudiences.removeMembers': rest(\n 'RemoveCustomAudienceMembersMethod',\n 'POST',\n '/custom_audiences/{custom_audience_id}/remove',\n { idempotency: 'required' },\n ),\n 'customAudiences.replaceMembers': rest(\n 'ReplaceCustomAudienceMembersMethod',\n 'POST',\n '/custom_audiences/{custom_audience_id}/replace',\n { idempotency: 'required' },\n ),\n 'customAudiences.merge': rest(\n 'MergeCustomAudiencesMethod',\n 'POST',\n '/custom_audiences/merge',\n { idempotency: 'required' },\n ),\n 'customAudiences.operations.get': rest(\n 'GetCustomAudienceOperationMethod',\n 'GET',\n '/custom_audiences/{custom_audience_id}/operations/{operation_id}',\n ),\n 'businessAgentTools.list': rest(\n 'ListBusinessAgentToolsMethod',\n 'GET',\n '/business_agent_tools',\n { accountHeader: false, auth: 'apiKey' },\n ),\n 'businessAgents.list': rest(\n 'ListBusinessAgentsMethod',\n 'GET',\n '/business_agents',\n ),\n 'businessAgents.create': rest(\n 'CreateBusinessAgentMethod',\n 'POST',\n '/business_agents',\n ),\n 'leadForms.list': rest('ListLeadFormsMethod', 'GET', '/lead_forms'),\n 'leadForms.create': rest('CreateLeadFormMethod', 'POST', '/lead_forms'),\n 'leadForms.get': rest(\n 'GetLeadFormMethod',\n 'GET',\n '/lead_forms/{lead_form_id}',\n ),\n 'leadForms.update': rest(\n 'UpdateLeadFormMethod',\n 'POST',\n '/lead_forms/{lead_form_id}',\n ),\n 'leadForms.publish': rest(\n 'PublishLeadFormMethod',\n 'POST',\n '/lead_forms/{lead_form_id}/publish',\n ),\n 'leadForms.archive': rest(\n 'ArchiveLeadFormMethod',\n 'POST',\n '/lead_forms/{lead_form_id}/archive',\n ),\n 'leadForms.testSubmissions.create': rest(\n 'CreateTestLeadSubmissionMethod',\n 'POST',\n '/lead_forms/{lead_form_id}/test_submissions',\n { idempotency: 'required' },\n ),\n 'businessAgents.get': rest(\n 'GetBusinessAgentMethod',\n 'GET',\n '/business_agents/{business_agent_id}',\n ),\n 'businessAgents.update': rest(\n 'UpdateBusinessAgentMethod',\n 'POST',\n '/business_agents/{business_agent_id}',\n ),\n 'businessAgents.preview': rest(\n 'PreviewBusinessAgentMethod',\n 'POST',\n '/business_agents/{business_agent_id}/preview',\n ),\n 'businessAgents.publish': rest(\n 'PublishBusinessAgentMethod',\n 'POST',\n '/business_agents/{business_agent_id}/publish',\n ),\n 'apiKeys.create': rest('CreateApiKeyMethod', 'POST', '/api_keys', {\n accountHeader: false,\n auth: 'apiKey',\n }),\n 'adAccount.updateBrand': rest(\n 'UpdateAdAccountMethod',\n 'POST',\n '/ad_account/brand',\n ),\n 'adAccount.updateNegativeKeywords': rest(\n 'UpdateAdAccountNegativeKeywordsMethod',\n 'POST',\n '/ad_account/negative_keywords',\n ),\n 'adAccount.activate': rest(\n 'ActivateAdAccountMethod',\n 'POST',\n '/ad_account/activate',\n ),\n 'adAccount.pause': rest('PauseAdAccountMethod', 'POST', '/ad_account/pause'),\n 'adAccounts.list': rest('ListAdAccountsMethod', 'GET', '/ad_accounts', {\n accountHeader: false,\n }),\n 'adAccountCreationSessions.create': rest(\n 'CreateAdAccountCreationSessionMethod',\n 'POST',\n '/ad_account_creation_sessions',\n {\n accountHeader: false,\n auth: 'accessToken',\n idempotency: 'required',\n },\n ),\n 'oauth.getMe': rest('GetAdsOAuthMeMethod', 'GET', '/me', {\n accountHeader: false,\n auth: 'accessToken',\n }),\n 'adAccount.get': rest('GetAdAccountMethod', 'GET', '/ad_account'),\n 'adAccount.spendLimitWindows.list': rest(\n 'GetAdAccountSpendLimitWindowsMethod',\n 'GET',\n '/ad_account/spend_limit_windows',\n ),\n 'adAccount.spendLimitWindows.create': rest(\n 'CreateAdAccountSpendLimitWindowMethod',\n 'POST',\n '/ad_account/spend_limit_windows',\n ),\n 'adAccount.spendLimitWindows.update': rest(\n 'UpdateAdAccountSpendLimitWindowMethod',\n 'POST',\n '/ad_account/spend_limit_windows/{window_id}',\n ),\n 'adAccount.spendLimitWindows.delete': rest(\n 'DeleteAdAccountSpendLimitWindowMethod',\n 'POST',\n '/ad_account/spend_limit_windows/{window_id}/delete',\n ),\n 'insights.adAccount': rest(\n 'GetAdAccountInsightsMethod',\n 'GET',\n '/ad_account/insights',\n ),\n 'insights.campaign': rest(\n 'GetCampaignInsightsMethod',\n 'GET',\n '/campaigns/{campaign_id}/insights',\n ),\n 'insights.adGroup': rest(\n 'GetAdGroupInsightsMethod',\n 'GET',\n '/ad_groups/{ad_group_id}/insights',\n ),\n 'insights.ad': rest('GetAdInsightsMethod', 'GET', '/ads/{ad_id}/insights'),\n 'geo.search': rest('GetGeoLookupMethod', 'GET', '/geo_lookup/search'),\n 'leadSync.subscriptions.create': rest(\n 'CreateLeadSyncSubscriptionMethod',\n 'POST',\n '/lead_sync_subscriptions',\n { idempotency: 'required' },\n ),\n 'leadSync.subscriptions.list': rest(\n 'ListLeadSyncSubscriptionsMethod',\n 'GET',\n '/lead_sync_subscriptions',\n ),\n 'leadSync.subscriptions.get': rest(\n 'GetLeadSyncSubscriptionMethod',\n 'GET',\n '/lead_sync_subscriptions/{subscription_id}',\n ),\n 'leadSync.subscriptions.delete': rest(\n 'DeleteLeadSyncSubscriptionMethod',\n 'DELETE',\n '/lead_sync_subscriptions/{subscription_id}',\n ),\n 'conversions.apiKeys.create': rest(\n 'CreateConversionApiKeyMethod',\n 'POST',\n '/conversions/api_keys',\n { accountHeader: false, auth: 'apiKey' },\n ),\n 'conversions.eventSettings.create': rest(\n 'CreateConversionEventSettingMethod',\n 'POST',\n '/conversions/event_settings',\n ),\n 'conversions.eventSettings.list': rest(\n 'ListConversionEventSettingsMethod',\n 'GET',\n '/conversions/event_settings',\n ),\n 'conversions.pixels.create': rest(\n 'CreateConversionSourceMethod',\n 'POST',\n '/conversions/pixels',\n ),\n 'conversions.pixels.list': rest(\n 'ListConversionSourcesMethod',\n 'GET',\n '/conversions/pixels',\n ),\n 'conversions.events.list': rest(\n 'ListConversionEventsMethod',\n 'GET',\n '/conversions/events',\n { accountHeader: false, auth: 'apiKey' },\n ),\n 'conversions.insights.query': rest(\n 'PostConversionInsightsMethod',\n 'POST',\n '/conversions/insights',\n ),\n 'adGroups.list': rest('ListAdGroupsMethod', 'GET', '/ad_groups'),\n 'adGroups.create': rest('CreateAdGroupMethod', 'POST', '/ad_groups', {\n idempotency: 'optional',\n }),\n 'adGroups.get': rest('GetAdGroupMethod', 'GET', '/ad_groups/{ad_group_id}'),\n 'adGroups.update': rest(\n 'UpdateAdGroupMethod',\n 'POST',\n '/ad_groups/{ad_group_id}',\n ),\n 'adGroups.activate': rest(\n 'ActivateAdGroupMethod',\n 'POST',\n '/ad_groups/{ad_group_id}/activate',\n ),\n 'adGroups.pause': rest(\n 'PauseAdGroupMethod',\n 'POST',\n '/ad_groups/{ad_group_id}/pause',\n ),\n 'adGroups.archive': rest(\n 'ArchiveAdGroupMethod',\n 'POST',\n '/ad_groups/{ad_group_id}/archive',\n ),\n 'ads.list': rest('ListAdsMethod', 'GET', '/ads'),\n 'ads.create': rest('CreateAdMethod', 'POST', '/ads', {\n idempotency: 'optional',\n }),\n 'ads.get': rest('GetAdMethod', 'GET', '/ads/{ad_id}'),\n 'ads.update': rest('UpdateAdMethod', 'POST', '/ads/{ad_id}'),\n 'ads.preview': rest('CreateAdPreviewMethod', 'POST', '/ads/{ad_id}/preview'),\n 'ads.activate': rest('ActivateAdMethod', 'POST', '/ads/{ad_id}/activate'),\n 'ads.pause': rest('PauseAdMethod', 'POST', '/ads/{ad_id}/pause'),\n 'ads.archive': rest('ArchiveAdMethod', 'POST', '/ads/{ad_id}/archive'),\n 'files.uploadBlob': rest('UploadBlobMethod', 'POST', '/uploads'),\n 'files.uploadImage': rest('UploadImageMethod', 'POST', '/upload'),\n 'productFeeds.archive': rest(\n 'ArchiveProductFeedMethod',\n 'POST',\n '/feeds/{feed_id}/archive',\n ),\n 'productFeeds.create': rest('CreateProductFeedMethod', 'POST', '/feeds'),\n 'productFeeds.list': rest('ListProductFeedsMethod', 'GET', '/feeds'),\n 'productFeeds.uploads.list': rest(\n 'ListProductFeedUploadsMethod',\n 'GET',\n '/feeds/uploads',\n ),\n 'productFeeds.products.query': rest(\n 'QueryProductFeedProductsMethod',\n 'POST',\n '/feeds/{feed_id}/products/query',\n ),\n 'productFeeds.products.patch': rest(\n 'PatchProductFeedProductsMethod',\n 'PATCH',\n '/feeds/{feed_id}/products',\n ),\n 'productFeeds.sftpAccess.get': rest(\n 'GetProductFeedSftpAccessMethod',\n 'GET',\n '/feeds/{feed_id}/sftp_access',\n ),\n 'productFeeds.sftpAccess.createOrReplace': rest(\n 'PostProductFeedSftpAccessMethod',\n 'POST',\n '/feeds/{feed_id}/sftp_access',\n ),\n 'productFeeds.sftpAccess.activate': rest(\n 'PostProductFeedSftpAccessActivateMethod',\n 'POST',\n '/feeds/{feed_id}/sftp_access/activate',\n ),\n 'productFeeds.sftpAccess.pause': rest(\n 'PostProductFeedSftpAccessPauseMethod',\n 'POST',\n '/feeds/{feed_id}/sftp_access/pause',\n ),\n 'partnerData.uploads.create': rest(\n 'CreatePartnerDataUploadMethod',\n 'POST',\n '/partner_data/uploads',\n { accountHeader: false, auth: 'apiKey' },\n ),\n 'partnerData.uploads.get': rest(\n 'GetPartnerDataUploadMethod',\n 'GET',\n '/partner_data/uploads/{upload_id}',\n { accountHeader: false, auth: 'apiKey' },\n ),\n} as const satisfies Record<string, OpenAIAdsRestOperation>\n\nexport type OpenAIAdsRestOperationName = keyof typeof REST_OPERATIONS\n\nfunction rest(\n operationId: string,\n method: OpenAIAdsRestOperation['method'],\n path: string,\n overrides: Partial<\n Pick<OpenAIAdsRestOperation, 'accountHeader' | 'auth' | 'idempotency'>\n > = {},\n): OpenAIAdsRestOperation {\n return {\n accountHeader: overrides.accountHeader ?? true,\n auth: overrides.auth ?? 'either',\n idempotency: overrides.idempotency ?? 'none',\n method,\n operationId,\n path,\n }\n}\n","import * as raw from './generated'\nimport { createClient, formDataBodySerializer } from './generated/client'\nimport type { Client } from './generated/client'\nimport {\n OpenAIAdsApiError,\n OpenAIAdsConfigurationError,\n OpenAIAdsTimeoutError,\n} from './errors'\nimport { REST_OPERATIONS } from './rest-operations'\nimport type {\n OpenAIAdsAuthRequirement,\n OpenAIAdsRestOperation,\n} from './rest-operations'\nimport type {\n OpenAIAdsAccountRequestOptions,\n OpenAIAdsCredential,\n OpenAIAdsOptionalIdempotencyOptions,\n OpenAIAdsOptions,\n OpenAIAdsRequestOptions,\n OpenAIAdsRequiredIdempotencyOptions,\n UploadBlobInput,\n UploadImageInput,\n} from './types'\n\ntype Body<T extends { body?: unknown }> = NonNullable<T['body']>\ntype Query<T extends { query?: unknown }> = NonNullable<T['query']>\ntype PathValues = Record<string, string>\ntype AccountHeaders = { 'OpenAI-Ad-Account'?: string }\ntype OptionalIdempotencyHeaders = AccountHeaders & {\n 'Idempotency-Key'?: string\n}\ntype RequiredIdempotencyHeaders = AccountHeaders & {\n 'Idempotency-Key': string\n}\ntype CredentialMode = 'accessToken' | 'apiKey'\n\nconst DEFAULT_BASE_URL = 'https://api.ads.openai.com/v1'\n\nexport class OpenAIAds {\n readonly campaigns = {\n list: (\n query: Query<raw.ListCampaignsMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['campaigns.list'], options, {}, (signal) =>\n raw\n .listCampaignsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n create: (\n body: Body<raw.CreateCampaignMethodData>,\n options: OpenAIAdsOptionalIdempotencyOptions = {},\n ) =>\n this.run(REST_OPERATIONS['campaigns.create'], options, {}, (signal) =>\n raw\n .createCampaignMethod({\n body,\n client: this.client,\n headers: this.optionalIdempotencyHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n get: (\n campaignId: string,\n query: Query<raw.GetCampaignMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['campaigns.get'],\n options,\n { campaign_id: campaignId },\n (signal) =>\n raw\n .getCampaignMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { campaign_id: campaignId },\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n update: (\n campaignId: string,\n body: Body<raw.UpdateCampaignMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['campaigns.update'],\n options,\n { campaign_id: campaignId },\n (signal) =>\n raw\n .updateCampaignMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { campaign_id: campaignId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n activate: (\n campaignId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['campaigns.activate'],\n options,\n { campaign_id: campaignId },\n (signal) =>\n raw\n .activateCampaignMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { campaign_id: campaignId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n pause: (campaignId: string, options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['campaigns.pause'],\n options,\n { campaign_id: campaignId },\n (signal) =>\n raw\n .pauseCampaignMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { campaign_id: campaignId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n archive: (\n campaignId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['campaigns.archive'],\n options,\n { campaign_id: campaignId },\n (signal) =>\n raw\n .archiveCampaignMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { campaign_id: campaignId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly customAudiences = {\n list: (\n query: Query<raw.ListCustomAudiencesMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['customAudiences.list'], options, {}, (signal) =>\n raw\n .listCustomAudiencesMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n create: (\n body: Body<raw.CreateCustomAudienceMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['customAudiences.create'],\n options,\n {},\n (signal) =>\n raw\n .createCustomAudienceMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n get: (\n customAudienceId: string,\n query: Query<raw.GetCustomAudienceMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['customAudiences.get'],\n options,\n { custom_audience_id: customAudienceId },\n (signal) =>\n raw\n .getCustomAudienceMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { custom_audience_id: customAudienceId },\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n archive: (\n customAudienceId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['customAudiences.archive'],\n options,\n { custom_audience_id: customAudienceId },\n (signal) =>\n raw\n .archiveCustomAudienceMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { custom_audience_id: customAudienceId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n addMembers: (\n customAudienceId: string,\n body: Body<raw.AddCustomAudienceMembersMethodData>,\n options: OpenAIAdsRequiredIdempotencyOptions,\n ) =>\n this.run(\n REST_OPERATIONS['customAudiences.addMembers'],\n options,\n { custom_audience_id: customAudienceId },\n (signal) =>\n raw\n .addCustomAudienceMembersMethod({\n body,\n client: this.client,\n headers: this.requiredIdempotencyHeaders(options),\n path: { custom_audience_id: customAudienceId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n removeMembers: (\n customAudienceId: string,\n body: Body<raw.RemoveCustomAudienceMembersMethodData>,\n options: OpenAIAdsRequiredIdempotencyOptions,\n ) =>\n this.run(\n REST_OPERATIONS['customAudiences.removeMembers'],\n options,\n { custom_audience_id: customAudienceId },\n (signal) =>\n raw\n .removeCustomAudienceMembersMethod({\n body,\n client: this.client,\n headers: this.requiredIdempotencyHeaders(options),\n path: { custom_audience_id: customAudienceId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n replaceMembers: (\n customAudienceId: string,\n body: Body<raw.ReplaceCustomAudienceMembersMethodData>,\n options: OpenAIAdsRequiredIdempotencyOptions,\n ) =>\n this.run(\n REST_OPERATIONS['customAudiences.replaceMembers'],\n options,\n { custom_audience_id: customAudienceId },\n (signal) =>\n raw\n .replaceCustomAudienceMembersMethod({\n body,\n client: this.client,\n headers: this.requiredIdempotencyHeaders(options),\n path: { custom_audience_id: customAudienceId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n merge: (\n body: Body<raw.MergeCustomAudiencesMethodData>,\n options: OpenAIAdsRequiredIdempotencyOptions,\n ) =>\n this.run(\n REST_OPERATIONS['customAudiences.merge'],\n options,\n {},\n (signal) =>\n raw\n .mergeCustomAudiencesMethod({\n body,\n client: this.client,\n headers: this.requiredIdempotencyHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n operations: {\n get: (\n customAudienceId: string,\n operationId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['customAudiences.operations.get'],\n options,\n {\n custom_audience_id: customAudienceId,\n operation_id: operationId,\n },\n (signal) =>\n raw\n .getCustomAudienceOperationMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: {\n custom_audience_id: customAudienceId,\n operation_id: operationId,\n },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n }\n\n readonly businessAgentTools = {\n list: (options: OpenAIAdsRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['businessAgentTools.list'],\n options,\n {},\n (signal) =>\n raw\n .listBusinessAgentToolsMethod({\n client: this.client,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly businessAgents = {\n list: (options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(REST_OPERATIONS['businessAgents.list'], options, {}, (signal) =>\n raw\n .listBusinessAgentsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n create: (\n body: Body<raw.CreateBusinessAgentMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['businessAgents.create'],\n options,\n {},\n (signal) =>\n raw\n .createBusinessAgentMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n get: (\n businessAgentId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['businessAgents.get'],\n options,\n { business_agent_id: businessAgentId },\n (signal) =>\n raw\n .getBusinessAgentMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { business_agent_id: businessAgentId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n update: (\n businessAgentId: string,\n body: Body<raw.UpdateBusinessAgentMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['businessAgents.update'],\n options,\n { business_agent_id: businessAgentId },\n (signal) =>\n raw\n .updateBusinessAgentMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { business_agent_id: businessAgentId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n preview: (\n businessAgentId: string,\n body: Body<raw.PreviewBusinessAgentMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['businessAgents.preview'],\n options,\n { business_agent_id: businessAgentId },\n (signal) =>\n raw\n .previewBusinessAgentMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { business_agent_id: businessAgentId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n publish: (\n businessAgentId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['businessAgents.publish'],\n options,\n { business_agent_id: businessAgentId },\n (signal) =>\n raw\n .publishBusinessAgentMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { business_agent_id: businessAgentId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly leadForms = {\n list: (options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(REST_OPERATIONS['leadForms.list'], options, {}, (signal) =>\n raw\n .listLeadFormsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n create: (\n body: Body<raw.CreateLeadFormMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['leadForms.create'], options, {}, (signal) =>\n raw\n .createLeadFormMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n get: (\n leadFormId: string,\n query: Query<raw.GetLeadFormMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['leadForms.get'],\n options,\n { lead_form_id: leadFormId },\n (signal) =>\n raw\n .getLeadFormMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { lead_form_id: leadFormId },\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n update: (\n leadFormId: string,\n body: Body<raw.UpdateLeadFormMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['leadForms.update'],\n options,\n { lead_form_id: leadFormId },\n (signal) =>\n raw\n .updateLeadFormMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { lead_form_id: leadFormId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n publish: (\n leadFormId: string,\n body: Body<raw.PublishLeadFormMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['leadForms.publish'],\n options,\n { lead_form_id: leadFormId },\n (signal) =>\n raw\n .publishLeadFormMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { lead_form_id: leadFormId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n archive: (\n leadFormId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['leadForms.archive'],\n options,\n { lead_form_id: leadFormId },\n (signal) =>\n raw\n .archiveLeadFormMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { lead_form_id: leadFormId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n testSubmissions: {\n create: (\n leadFormId: string,\n body: Body<raw.CreateTestLeadSubmissionMethodData>,\n options: OpenAIAdsRequiredIdempotencyOptions,\n ) =>\n this.run(\n REST_OPERATIONS['leadForms.testSubmissions.create'],\n options,\n { lead_form_id: leadFormId },\n (signal) =>\n raw\n .createTestLeadSubmissionMethod({\n body,\n client: this.client,\n headers: this.requiredIdempotencyHeaders(options),\n path: { lead_form_id: leadFormId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n }\n\n readonly apiKeys = {\n create: (\n body: Body<raw.CreateApiKeyMethodData>,\n options: OpenAIAdsRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['apiKeys.create'], options, {}, (signal) =>\n raw\n .createApiKeyMethod({\n body,\n client: this.client,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly adAccount = {\n updateBrand: (\n body: Body<raw.UpdateAdAccountMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['adAccount.updateBrand'],\n options,\n {},\n (signal) =>\n raw\n .updateAdAccountMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n updateNegativeKeywords: (\n body: Body<raw.UpdateAdAccountNegativeKeywordsMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['adAccount.updateNegativeKeywords'],\n options,\n {},\n (signal) =>\n raw\n .updateAdAccountNegativeKeywordsMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n activate: (options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(REST_OPERATIONS['adAccount.activate'], options, {}, (signal) =>\n raw\n .activateAdAccountMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n pause: (options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(REST_OPERATIONS['adAccount.pause'], options, {}, (signal) =>\n raw\n .pauseAdAccountMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n get: (options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(REST_OPERATIONS['adAccount.get'], options, {}, (signal) =>\n raw\n .getAdAccountMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n spendLimitWindows: {\n list: (options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['adAccount.spendLimitWindows.list'],\n options,\n {},\n (signal) =>\n raw\n .getAdAccountSpendLimitWindowsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n create: (\n body: Body<raw.CreateAdAccountSpendLimitWindowMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['adAccount.spendLimitWindows.create'],\n options,\n {},\n (signal) =>\n raw\n .createAdAccountSpendLimitWindowMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n update: (\n windowId: string,\n body: Body<raw.UpdateAdAccountSpendLimitWindowMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['adAccount.spendLimitWindows.update'],\n options,\n { window_id: windowId },\n (signal) =>\n raw\n .updateAdAccountSpendLimitWindowMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { window_id: windowId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n delete: (\n windowId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['adAccount.spendLimitWindows.delete'],\n options,\n { window_id: windowId },\n (signal) =>\n raw\n .deleteAdAccountSpendLimitWindowMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { window_id: windowId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n }\n\n readonly adAccounts = {\n list: (\n query: Query<raw.ListAdAccountsMethodData> = {},\n options: OpenAIAdsRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['adAccounts.list'], options, {}, (signal) =>\n raw\n .listAdAccountsMethod({\n client: this.client,\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly adAccountCreationSessions = {\n create: (\n body: Body<raw.CreateAdAccountCreationSessionMethodData>,\n options: Omit<OpenAIAdsRequiredIdempotencyOptions, 'adAccountId'>,\n ) =>\n this.run(\n REST_OPERATIONS['adAccountCreationSessions.create'],\n options,\n {},\n (signal) =>\n raw\n .createAdAccountCreationSessionMethod({\n body,\n client: this.client,\n headers: { 'Idempotency-Key': options.idempotencyKey },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly oauth = {\n getMe: (options: OpenAIAdsRequestOptions = {}) =>\n this.run(REST_OPERATIONS['oauth.getMe'], options, {}, (signal) =>\n raw\n .getAdsOAuthMeMethod({\n client: this.client,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly insights = {\n adAccount: (\n query: Query<raw.GetAdAccountInsightsMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['insights.adAccount'], options, {}, (signal) =>\n raw\n .getAdAccountInsightsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n campaign: (\n campaignId: string,\n query: Query<raw.GetCampaignInsightsMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['insights.campaign'],\n options,\n { campaign_id: campaignId },\n (signal) =>\n raw\n .getCampaignInsightsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { campaign_id: campaignId },\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n adGroup: (\n adGroupId: string,\n query: Query<raw.GetAdGroupInsightsMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['insights.adGroup'],\n options,\n { ad_group_id: adGroupId },\n (signal) =>\n raw\n .getAdGroupInsightsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_group_id: adGroupId },\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n ad: (\n adId: string,\n query: Query<raw.GetAdInsightsMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['insights.ad'],\n options,\n { ad_id: adId },\n (signal) =>\n raw\n .getAdInsightsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_id: adId },\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly geo = {\n search: (\n query: Query<raw.GetGeoLookupMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['geo.search'], options, {}, (signal) =>\n raw\n .getGeoLookupMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly leadSync = {\n subscriptions: {\n create: (\n body: Body<raw.CreateLeadSyncSubscriptionMethodData>,\n options: OpenAIAdsRequiredIdempotencyOptions,\n ) =>\n this.run(\n REST_OPERATIONS['leadSync.subscriptions.create'],\n options,\n {},\n (signal) =>\n raw\n .createLeadSyncSubscriptionMethod({\n body,\n client: this.client,\n headers: this.requiredIdempotencyHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n list: (\n query: Query<raw.ListLeadSyncSubscriptionsMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['leadSync.subscriptions.list'],\n options,\n {},\n (signal) =>\n raw\n .listLeadSyncSubscriptionsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n get: (\n subscriptionId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['leadSync.subscriptions.get'],\n options,\n { subscription_id: subscriptionId },\n (signal) =>\n raw\n .getLeadSyncSubscriptionMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { subscription_id: subscriptionId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n delete: (\n subscriptionId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['leadSync.subscriptions.delete'],\n options,\n { subscription_id: subscriptionId },\n (signal) =>\n raw\n .deleteLeadSyncSubscriptionMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { subscription_id: subscriptionId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n }\n\n readonly conversions = {\n apiKeys: {\n create: (\n body: Body<raw.CreateConversionApiKeyMethodData>,\n options: OpenAIAdsRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['conversions.apiKeys.create'],\n options,\n {},\n (signal) =>\n raw\n .createConversionApiKeyMethod({\n body,\n client: this.client,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n eventSettings: {\n create: (\n body: Body<raw.CreateConversionEventSettingMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['conversions.eventSettings.create'],\n options,\n {},\n (signal) =>\n raw\n .createConversionEventSettingMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n list: (\n query: Query<raw.ListConversionEventSettingsMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['conversions.eventSettings.list'],\n options,\n {},\n (signal) =>\n raw\n .listConversionEventSettingsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n pixels: {\n create: (\n body: Body<raw.CreateConversionSourceMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['conversions.pixels.create'],\n options,\n {},\n (signal) =>\n raw\n .createConversionSourceMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n list: (\n query: Query<raw.ListConversionSourcesMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['conversions.pixels.list'],\n options,\n {},\n (signal) =>\n raw\n .listConversionSourcesMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n events: {\n list: (\n query: Query<raw.ListConversionEventsMethodData>,\n options: OpenAIAdsRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['conversions.events.list'],\n options,\n {},\n (signal) =>\n raw\n .listConversionEventsMethod({\n client: this.client,\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n insights: {\n query: (\n body: Body<raw.PostConversionInsightsMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['conversions.insights.query'],\n options,\n {},\n (signal) =>\n raw\n .postConversionInsightsMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n }\n\n readonly adGroups = {\n list: (\n query: Query<raw.ListAdGroupsMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['adGroups.list'], options, {}, (signal) =>\n raw\n .listAdGroupsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n create: (\n body: Body<raw.CreateAdGroupMethodData>,\n options: OpenAIAdsOptionalIdempotencyOptions = {},\n ) =>\n this.run(REST_OPERATIONS['adGroups.create'], options, {}, (signal) =>\n raw\n .createAdGroupMethod({\n body,\n client: this.client,\n headers: this.optionalIdempotencyHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n get: (\n adGroupId: string,\n query: Query<raw.GetAdGroupMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['adGroups.get'],\n options,\n { ad_group_id: adGroupId },\n (signal) =>\n raw\n .getAdGroupMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_group_id: adGroupId },\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n update: (\n adGroupId: string,\n body: Body<raw.UpdateAdGroupMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['adGroups.update'],\n options,\n { ad_group_id: adGroupId },\n (signal) =>\n raw\n .updateAdGroupMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_group_id: adGroupId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n activate: (\n adGroupId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['adGroups.activate'],\n options,\n { ad_group_id: adGroupId },\n (signal) =>\n raw\n .activateAdGroupMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_group_id: adGroupId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n pause: (adGroupId: string, options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['adGroups.pause'],\n options,\n { ad_group_id: adGroupId },\n (signal) =>\n raw\n .pauseAdGroupMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_group_id: adGroupId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n archive: (\n adGroupId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['adGroups.archive'],\n options,\n { ad_group_id: adGroupId },\n (signal) =>\n raw\n .archiveAdGroupMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_group_id: adGroupId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly ads = {\n list: (\n query: Query<raw.ListAdsMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['ads.list'], options, {}, (signal) =>\n raw\n .listAdsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n create: (\n body: Body<raw.CreateAdMethodData>,\n options: OpenAIAdsOptionalIdempotencyOptions = {},\n ) =>\n this.run(REST_OPERATIONS['ads.create'], options, {}, (signal) =>\n raw\n .createAdMethod({\n body,\n client: this.client,\n headers: this.optionalIdempotencyHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n get: (\n adId: string,\n query: Query<raw.GetAdMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['ads.get'], options, { ad_id: adId }, (signal) =>\n raw\n .getAdMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_id: adId },\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n update: (\n adId: string,\n body: Body<raw.UpdateAdMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['ads.update'],\n options,\n { ad_id: adId },\n (signal) =>\n raw\n .updateAdMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_id: adId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n preview: (adId: string, options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['ads.preview'],\n options,\n { ad_id: adId },\n (signal) =>\n raw\n .createAdPreviewMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_id: adId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n activate: (adId: string, options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['ads.activate'],\n options,\n { ad_id: adId },\n (signal) =>\n raw\n .activateAdMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_id: adId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n pause: (adId: string, options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['ads.pause'],\n options,\n { ad_id: adId },\n (signal) =>\n raw\n .pauseAdMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_id: adId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n archive: (adId: string, options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['ads.archive'],\n options,\n { ad_id: adId },\n (signal) =>\n raw\n .archiveAdMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { ad_id: adId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n }\n\n readonly files = {\n uploadBlob: (\n body: UploadBlobInput,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['files.uploadBlob'], options, {}, (signal) =>\n raw\n .uploadBlobMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n uploadImage: (\n body: UploadImageInput,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['files.uploadImage'], options, {}, (signal) => {\n const multipart = 'file' in body\n const headers = this.accountHeaders(options) as Record<\n string,\n null | string | undefined\n >\n\n if (multipart) {\n headers['Content-Type'] = null\n }\n\n return raw\n .uploadImageMethod({\n ...(multipart ? formDataBodySerializer : {}),\n body,\n client: this.client,\n headers,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data)\n }),\n }\n\n readonly productFeeds = {\n archive: (feedId: string, options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['productFeeds.archive'],\n options,\n { feed_id: feedId },\n (signal) =>\n raw\n .archiveProductFeedMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { feed_id: feedId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n create: (\n body: Body<raw.CreateProductFeedMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['productFeeds.create'], options, {}, (signal) =>\n raw\n .createProductFeedMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n list: (\n query: Query<raw.ListProductFeedsMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(REST_OPERATIONS['productFeeds.list'], options, {}, (signal) =>\n raw\n .listProductFeedsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n uploads: {\n list: (\n query: Query<raw.ListProductFeedUploadsMethodData> = {},\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['productFeeds.uploads.list'],\n options,\n {},\n (signal) =>\n raw\n .listProductFeedUploadsMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n query,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n products: {\n query: (\n feedId: string,\n body: Body<raw.QueryProductFeedProductsMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['productFeeds.products.query'],\n options,\n { feed_id: feedId },\n (signal) =>\n raw\n .queryProductFeedProductsMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { feed_id: feedId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n patch: (\n feedId: string,\n body: Body<raw.PatchProductFeedProductsMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['productFeeds.products.patch'],\n options,\n { feed_id: feedId },\n (signal) =>\n raw\n .patchProductFeedProductsMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { feed_id: feedId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n sftpAccess: {\n get: (feedId: string, options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['productFeeds.sftpAccess.get'],\n options,\n { feed_id: feedId },\n (signal) =>\n raw\n .getProductFeedSftpAccessMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { feed_id: feedId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n createOrReplace: (\n feedId: string,\n body: Body<raw.PostProductFeedSftpAccessMethodData>,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['productFeeds.sftpAccess.createOrReplace'],\n options,\n { feed_id: feedId },\n (signal) =>\n raw\n .postProductFeedSftpAccessMethod({\n body,\n client: this.client,\n headers: this.accountHeaders(options),\n path: { feed_id: feedId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n activate: (\n feedId: string,\n options: OpenAIAdsAccountRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['productFeeds.sftpAccess.activate'],\n options,\n { feed_id: feedId },\n (signal) =>\n raw\n .postProductFeedSftpAccessActivateMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { feed_id: feedId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n pause: (feedId: string, options: OpenAIAdsAccountRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['productFeeds.sftpAccess.pause'],\n options,\n { feed_id: feedId },\n (signal) =>\n raw\n .postProductFeedSftpAccessPauseMethod({\n client: this.client,\n headers: this.accountHeaders(options),\n path: { feed_id: feedId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n }\n\n readonly partnerData = {\n uploads: {\n create: (\n body: Body<raw.CreatePartnerDataUploadMethodData>,\n options: OpenAIAdsRequestOptions = {},\n ) =>\n this.run(\n REST_OPERATIONS['partnerData.uploads.create'],\n options,\n {},\n (signal) =>\n raw\n .createPartnerDataUploadMethod({\n body,\n client: this.client,\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n get: (uploadId: string, options: OpenAIAdsRequestOptions = {}) =>\n this.run(\n REST_OPERATIONS['partnerData.uploads.get'],\n options,\n { upload_id: uploadId },\n (signal) =>\n raw\n .getPartnerDataUploadMethod({\n client: this.client,\n path: { upload_id: uploadId },\n signal,\n throwOnError: true,\n })\n .then(({ data }) => data),\n ),\n },\n }\n\n private readonly baseUrl: string\n private readonly client: Client\n private readonly credential: OpenAIAdsCredential\n private readonly credentialMode: CredentialMode\n private readonly defaultAdAccountId?: string\n private readonly defaultTimeoutMs?: number\n\n constructor(options: OpenAIAdsOptions) {\n this.baseUrl = normalizeBaseUrl(options.baseUrl ?? DEFAULT_BASE_URL)\n this.defaultAdAccountId = options.adAccountId\n this.defaultTimeoutMs = validateTimeout(options.timeoutMs)\n\n if (\n (options.apiKey === undefined) ===\n (options.accessToken === undefined)\n ) {\n throw new OpenAIAdsConfigurationError(\n 'Provide exactly one of apiKey or accessToken',\n )\n }\n\n if (options.apiKey !== undefined) {\n this.credential = options.apiKey\n this.credentialMode = 'apiKey'\n } else {\n this.credential = options.accessToken\n this.credentialMode = 'accessToken'\n }\n\n validateStaticCredential(this.credential)\n\n const baseFetch = options.fetch ?? globalThis.fetch\n if (typeof baseFetch !== 'function') {\n throw new OpenAIAdsConfigurationError(\n 'A Fetch API implementation is required',\n )\n }\n\n this.client = createClient({\n baseUrl: this.baseUrl,\n fetch: this.authenticatedFetch(baseFetch),\n responseStyle: 'fields',\n throwOnError: true,\n })\n }\n\n private accountHeaders(\n options: OpenAIAdsAccountRequestOptions,\n ): AccountHeaders {\n const adAccountId = options.adAccountId ?? this.defaultAdAccountId\n return adAccountId ? { 'OpenAI-Ad-Account': adAccountId } : {}\n }\n\n private optionalIdempotencyHeaders(\n options: OpenAIAdsOptionalIdempotencyOptions,\n ): OptionalIdempotencyHeaders {\n return {\n ...this.accountHeaders(options),\n ...(options.idempotencyKey\n ? { 'Idempotency-Key': options.idempotencyKey }\n : {}),\n }\n }\n\n private requiredIdempotencyHeaders(\n options: OpenAIAdsRequiredIdempotencyOptions,\n ): RequiredIdempotencyHeaders {\n return {\n ...this.accountHeaders(options),\n 'Idempotency-Key': options.idempotencyKey,\n }\n }\n\n private assertAuthentication(requirement: OpenAIAdsAuthRequirement): void {\n if (requirement !== 'either' && requirement !== this.credentialMode) {\n throw new OpenAIAdsConfigurationError(\n requirement === 'apiKey'\n ? 'This operation requires an Ads API key'\n : 'This operation requires an Ads OAuth access token',\n )\n }\n }\n\n private authenticatedFetch(baseFetch: typeof fetch): typeof fetch {\n return async (input, init) => {\n const request = new Request(input, init)\n const credential = await resolveCredential(this.credential)\n const headers = new Headers(request.headers)\n headers.set('Authorization', `Bearer ${credential}`)\n const authenticatedRequest = new Request(request, { headers })\n const response = await baseFetch(authenticatedRequest)\n\n if (!response.ok) {\n throw await createApiError(response, authenticatedRequest)\n }\n\n return response\n }\n }\n\n private async run<T>(\n operation: OpenAIAdsRestOperation,\n options: OpenAIAdsRequestOptions,\n pathValues: PathValues,\n request: (signal: AbortSignal | undefined) => Promise<T>,\n ): Promise<T> {\n this.assertAuthentication(operation.auth)\n\n const timeoutMs =\n options.timeoutMs === undefined\n ? this.defaultTimeoutMs\n : validateTimeout(options.timeoutMs)\n\n if (timeoutMs === undefined) {\n return request(options.signal)\n }\n\n const controller = new AbortController()\n const removeAbortForwarder = forwardAbort(options.signal, controller)\n const summary = {\n method: operation.method,\n url: this.operationUrl(operation, pathValues),\n }\n const timeoutError = new OpenAIAdsTimeoutError(timeoutMs, summary)\n let rejectTimeout!: (error: OpenAIAdsTimeoutError) => void\n const timeout = new Promise<never>((_resolve, reject) => {\n rejectTimeout = reject\n })\n const timer = setTimeout(() => {\n controller.abort(timeoutError)\n rejectTimeout(timeoutError)\n }, timeoutMs)\n\n try {\n return await Promise.race([request(controller.signal), timeout])\n } finally {\n clearTimeout(timer)\n removeAbortForwarder()\n }\n }\n\n private operationUrl(\n operation: OpenAIAdsRestOperation,\n pathValues: PathValues,\n ): string {\n const path = operation.path.replaceAll(\n /\\{([^}]+)\\}/g,\n (_match, key: string) => encodeURIComponent(String(pathValues[key])),\n )\n return `${this.baseUrl}${path}`\n }\n}\n\nfunction normalizeBaseUrl(baseUrl: string): string {\n const normalized = baseUrl.replace(/\\/+$/, '')\n if (!normalized) {\n throw new OpenAIAdsConfigurationError('baseUrl must not be empty')\n }\n return normalized\n}\n\nfunction validateStaticCredential(credential: OpenAIAdsCredential): void {\n if (typeof credential === 'string' && credential.trim().length === 0) {\n throw new OpenAIAdsConfigurationError('The credential must not be empty')\n }\n}\n\nasync function resolveCredential(\n credential: OpenAIAdsCredential,\n): Promise<string> {\n const value =\n typeof credential === 'function' ? await credential() : credential\n if (value.trim().length === 0) {\n throw new OpenAIAdsConfigurationError('The credential must not be empty')\n }\n return value\n}\n\nfunction validateTimeout(timeoutMs: number | undefined): number | undefined {\n if (timeoutMs === undefined) {\n return undefined\n }\n if (\n !Number.isFinite(timeoutMs) ||\n !Number.isInteger(timeoutMs) ||\n timeoutMs <= 0\n ) {\n throw new OpenAIAdsConfigurationError(\n 'timeoutMs must be a positive finite integer',\n )\n }\n return timeoutMs\n}\n\nfunction forwardAbort(\n signal: AbortSignal | undefined,\n controller: AbortController,\n): () => void {\n if (signal === undefined) {\n return () => {\n return undefined\n }\n }\n\n const abort = () => {\n controller.abort(signal.reason)\n }\n if (signal.aborted) {\n abort()\n return () => {\n return undefined\n }\n }\n\n signal.addEventListener('abort', abort, { once: true })\n return () => {\n signal.removeEventListener('abort', abort)\n }\n}\n\nasync function createApiError(\n response: Response,\n request: Request,\n): Promise<OpenAIAdsApiError> {\n const text = await response.clone().text()\n let payload: unknown = text\n\n if (text) {\n try {\n payload = JSON.parse(text)\n } catch {\n payload = text\n }\n }\n\n const envelope = isRecord(payload) ? payload['error'] : undefined\n const details = isRecord(envelope) ? envelope : undefined\n const message =\n typeof details?.['message'] === 'string'\n ? details['message']\n : `OpenAI Ads API request failed with status ${String(response.status)}`\n\n return new OpenAIAdsApiError({\n ...(typeof details?.['code'] === 'string' ? { code: details['code'] } : {}),\n message,\n ...(details?.['param'] === null || typeof details?.['param'] === 'string'\n ? { param: details['param'] }\n : {}),\n payload,\n request: { method: request.method, url: request.url },\n response,\n status: response.status,\n statusText: response.statusText,\n ...(typeof details?.['type'] === 'string' ? { type: details['type'] } : {}),\n })\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null\n}\n"],"mappings":";;;AAiBA,IAAa,oBAAb,cAAuC,MAAM;CAC3C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAY,SAAmC;EAC7C,MAAM,QAAQ,OAAO;EACrB,KAAK,OAAO;EACZ,KAAK,OAAO,QAAQ;EACpB,KAAK,QAAQ,QAAQ;EACrB,KAAK,UAAU,QAAQ;EACvB,KAAK,UAAU,QAAQ;EACvB,KAAK,WAAW,QAAQ;EACxB,KAAK,SAAS,QAAQ;EACtB,KAAK,aAAa,QAAQ;EAC1B,KAAK,OAAO,QAAQ;CACtB;AACF;AAEA,IAAa,wBAAb,cAA2C,MAAM;CAC/C;CACA;CAEA,YAAY,WAAmB,SAAkC;EAC/D,MAAM,0CAA0C,OAAO,SAAS,EAAE,IAAI;EACtE,KAAK,OAAO;EACZ,KAAK,UAAU;EACf,KAAK,YAAY;CACnB;AACF;AAEA,IAAa,8BAAb,cAAiD,MAAM;CACrD,YAAY,SAAiB;EAC3B,MAAM,OAAO;EACb,KAAK,OAAO;CACd;AACF;;;AC9CA,MAAa,kBAAkB;CAC7B,kBAAkB,KAAK,uBAAuB,OAAO,YAAY;CACjE,oBAAoB,KAAK,wBAAwB,QAAQ,cAAc,EACrE,aAAa,WACf,CAAC;CACD,iBAAiB,KAAK,qBAAqB,OAAO,0BAA0B;CAC5E,oBAAoB,KAClB,wBACA,QACA,0BACF;CACA,sBAAsB,KACpB,0BACA,QACA,mCACF;CACA,mBAAmB,KACjB,uBACA,QACA,gCACF;CACA,qBAAqB,KACnB,yBACA,QACA,kCACF;CACA,wBAAwB,KACtB,6BACA,OACA,mBACF;CACA,0BAA0B,KACxB,8BACA,QACA,mBACF;CACA,uBAAuB,KACrB,2BACA,OACA,wCACF;CACA,2BAA2B,KACzB,+BACA,QACA,gDACF;CACA,8BAA8B,KAC5B,kCACA,QACA,8CACA,EAAE,aAAa,WAAW,CAC5B;CACA,iCAAiC,KAC/B,qCACA,QACA,iDACA,EAAE,aAAa,WAAW,CAC5B;CACA,kCAAkC,KAChC,sCACA,QACA,kDACA,EAAE,aAAa,WAAW,CAC5B;CACA,yBAAyB,KACvB,8BACA,QACA,2BACA,EAAE,aAAa,WAAW,CAC5B;CACA,kCAAkC,KAChC,oCACA,OACA,kEACF;CACA,2BAA2B,KACzB,gCACA,OACA,yBACA;EAAE,eAAe;EAAO,MAAM;CAAS,CACzC;CACA,uBAAuB,KACrB,4BACA,OACA,kBACF;CACA,yBAAyB,KACvB,6BACA,QACA,kBACF;CACA,kBAAkB,KAAK,uBAAuB,OAAO,aAAa;CAClE,oBAAoB,KAAK,wBAAwB,QAAQ,aAAa;CACtE,iBAAiB,KACf,qBACA,OACA,4BACF;CACA,oBAAoB,KAClB,wBACA,QACA,4BACF;CACA,qBAAqB,KACnB,yBACA,QACA,oCACF;CACA,qBAAqB,KACnB,yBACA,QACA,oCACF;CACA,oCAAoC,KAClC,kCACA,QACA,+CACA,EAAE,aAAa,WAAW,CAC5B;CACA,sBAAsB,KACpB,0BACA,OACA,sCACF;CACA,yBAAyB,KACvB,6BACA,QACA,sCACF;CACA,0BAA0B,KACxB,8BACA,QACA,8CACF;CACA,0BAA0B,KACxB,8BACA,QACA,8CACF;CACA,kBAAkB,KAAK,sBAAsB,QAAQ,aAAa;EAChE,eAAe;EACf,MAAM;CACR,CAAC;CACD,yBAAyB,KACvB,yBACA,QACA,mBACF;CACA,oCAAoC,KAClC,yCACA,QACA,+BACF;CACA,sBAAsB,KACpB,2BACA,QACA,sBACF;CACA,mBAAmB,KAAK,wBAAwB,QAAQ,mBAAmB;CAC3E,mBAAmB,KAAK,wBAAwB,OAAO,gBAAgB,EACrE,eAAe,MACjB,CAAC;CACD,oCAAoC,KAClC,wCACA,QACA,iCACA;EACE,eAAe;EACf,MAAM;EACN,aAAa;CACf,CACF;CACA,eAAe,KAAK,uBAAuB,OAAO,OAAO;EACvD,eAAe;EACf,MAAM;CACR,CAAC;CACD,iBAAiB,KAAK,sBAAsB,OAAO,aAAa;CAChE,oCAAoC,KAClC,uCACA,OACA,iCACF;CACA,sCAAsC,KACpC,yCACA,QACA,iCACF;CACA,sCAAsC,KACpC,yCACA,QACA,6CACF;CACA,sCAAsC,KACpC,yCACA,QACA,oDACF;CACA,sBAAsB,KACpB,8BACA,OACA,sBACF;CACA,qBAAqB,KACn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"}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { $a as PatchProductFeedProductsMethodData, An as CreateConversionApiKeyMethodData, Bi as LeadFormListItemBody, Bo as ProductFeedSftpAccessResource, Bt as ConversionApiKeyResource, Ca as ListConversionSourcesMethodData, Dc as UploadImageResource, Ea as ListCustomAudiencesMethodData, Ec as UploadImagePurposeParam, En as CreateCampaignMethodData, F as AdPreviewResource, Fo as ProductFeedDeltaResource, Fr as GeoLookupSearchResource, Ft as CampaignsResource, Ga as ListProductFeedsResource, Gr as GetAdGroupInsightsMethodData, Ha as ListProductFeedsMethodData, Hi as LeadSyncSubscriptionResource, Hn as CreateCustomAudienceMethodData, Hs as UpdateAdAccountNegativeKeywordsMethodData, Ir as GetAdAccountInsightsMethodData, Is as TestLeadSubmissionResource, It as ClientDataSourceItemResource, Jr as GetAdGroupMethodData, Jt as ConversionSummaryRowsResource, Ks as UpdateAdAccountSpendLimitWindowMethodData, Kt as ConversionEventsResource, Li as InsightsResource, M as AdItemBody, Ma as ListLeadFormsResource, Na as ListLeadSyncSubscriptionsMethodData, Nr as DeletedLeadSyncSubscriptionResource, Ot as CampaignItemBody, Pn as CreateConversionEventSettingMethodData, Qi as ListAdGroupsMethodData, Qn as CreateLeadSyncSubscriptionMethodData, Qs as UpdateAdGroupMethodData, Ra as ListProductFeedUploadsMethodData, Rn as CreateConversionSourceMethodData, Ro as ProductFeedResource, Rs as UpdateAdAccountMethodData, Sn as CreateBusinessAgentMethodData, So as PostProductFeedSftpAccessMethodData, Tr as CustomAudiencesResource, U as AdsOAuthMeResource, Ui as LeadSyncSubscriptionsResource, Va as ListProductFeedUploadsResource, W as AdsResource, Wt as ConversionEventSettingItemResource, Yi as ListAdAccountsMethodData, Za as PartnerDataUploadResource, Zr as GetAdInsightsMethodData, Zt as CreateAdAccountCreationSessionMethodData, _ as AdAccountCreationSessionResource, _n as CreateApiKeyMethodData, ac as UpdateBusinessAgentMethodData, ar as CreatePartnerDataUploadResource, b as AdAccountSpendLimitWindowsListResource, ba as ListConversionEventsMethodData, bc as UploadBlobPurposeParam, bn as CreateApiKeyResource, bs as ReplaceCustomAudienceMembersMethodData, cs as PublishLeadFormMethodData, da as ListBusinessAgentsResource, dr as CreateTestLeadSubmissionMethodData, ei as GetAdMethodData, fa as ListCampaignsMethodData, fi as GetCampaignMethodData, fs as QueryProductFeedProductsMethodData, ga as ListConversionEventSettingsMethodData, gs as RemoveCustomAudienceMembersMethodData, ha as ListClientDataSourceItemsResource, hi as GetCustomAudienceMethodData, ho as PostConversionInsightsMethodData, hs as QueryProductFeedProductsResource, k as AdGroupsResource, ko as PreviewBusinessAgentMethodData, kr as DeleteAdAccountSpendLimitWindowResource, lc as UpdateCampaignMethodData, li as GetCampaignInsightsMethodData, mr as CreatedLeadSyncSubscriptionResource, nr as CreatePartnerDataUploadMethodData, pc as UpdateLeadFormMethodData, qa as MergeCustomAudiencesMethodData, qn as CreateLeadFormMethodData, sa as ListBusinessAgentToolsResource, sn as CreateAdGroupMethodData, sr as CreateProductFeedMethodData, ta as ListAdsMethodData, tc as UpdateAdMethodData, tn as CreateAdAccountSpendLimitWindowMethodData, un as CreateAdMethodData, ut as ArchivedProductFeedResource, v as AdAccountResource, w as AdGroupItemBody, wi as GetLeadFormMethodData, wr as CustomAudienceMembershipOperationBody, wt as BusinessAgentPreviewResource, x as AdAccountsResource, xc as UploadBlobResource, xi as GetGeoLookupMethodData, xr as CustomAudienceItemBody, xt as BusinessAgentListItemBody, y as AdAccountSpendLimitWindowBody, ya as ListConversionEventSettingsResource, z as AddCustomAudienceMembersMethodData, zo as ProductFeedSftpAccessCredentialsResource } from "./types.gen-C0tFuU7P.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/errors.d.ts
|
|
4
|
+
type OpenAIAdsRequestSummary = {
|
|
5
|
+
method: string;
|
|
6
|
+
url: string;
|
|
7
|
+
};
|
|
8
|
+
type OpenAIAdsApiErrorOptions = {
|
|
9
|
+
code?: string;
|
|
10
|
+
message: string;
|
|
11
|
+
param?: string | null;
|
|
12
|
+
payload: unknown;
|
|
13
|
+
request: OpenAIAdsRequestSummary;
|
|
14
|
+
response: Response;
|
|
15
|
+
status: number;
|
|
16
|
+
statusText: string;
|
|
17
|
+
type?: string;
|
|
18
|
+
};
|
|
19
|
+
declare class OpenAIAdsApiError extends Error {
|
|
20
|
+
readonly code?: string;
|
|
21
|
+
readonly param?: string | null;
|
|
22
|
+
readonly payload: unknown;
|
|
23
|
+
readonly request: OpenAIAdsRequestSummary;
|
|
24
|
+
readonly response: Response;
|
|
25
|
+
readonly status: number;
|
|
26
|
+
readonly statusText: string;
|
|
27
|
+
readonly type?: string;
|
|
28
|
+
constructor(options: OpenAIAdsApiErrorOptions);
|
|
29
|
+
}
|
|
30
|
+
declare class OpenAIAdsTimeoutError extends Error {
|
|
31
|
+
readonly request: OpenAIAdsRequestSummary;
|
|
32
|
+
readonly timeoutMs: number;
|
|
33
|
+
constructor(timeoutMs: number, request: OpenAIAdsRequestSummary);
|
|
34
|
+
}
|
|
35
|
+
declare class OpenAIAdsConfigurationError extends Error {
|
|
36
|
+
constructor(message: string);
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/types.d.ts
|
|
40
|
+
type OpenAIAdsCredential = string | (() => Promise<string> | string);
|
|
41
|
+
type OpenAIAdsSharedOptions = {
|
|
42
|
+
adAccountId?: string;
|
|
43
|
+
baseUrl?: string;
|
|
44
|
+
fetch?: typeof globalThis.fetch;
|
|
45
|
+
timeoutMs?: number;
|
|
46
|
+
};
|
|
47
|
+
type OpenAIAdsOptions = (OpenAIAdsSharedOptions & {
|
|
48
|
+
accessToken?: never;
|
|
49
|
+
apiKey: OpenAIAdsCredential;
|
|
50
|
+
}) | (OpenAIAdsSharedOptions & {
|
|
51
|
+
accessToken: OpenAIAdsCredential;
|
|
52
|
+
apiKey?: never;
|
|
53
|
+
});
|
|
54
|
+
type OpenAIAdsRequestOptions = {
|
|
55
|
+
signal?: AbortSignal;
|
|
56
|
+
timeoutMs?: number;
|
|
57
|
+
};
|
|
58
|
+
type OpenAIAdsAccountRequestOptions = OpenAIAdsRequestOptions & {
|
|
59
|
+
adAccountId?: string;
|
|
60
|
+
};
|
|
61
|
+
type OpenAIAdsOptionalIdempotencyOptions = OpenAIAdsAccountRequestOptions & {
|
|
62
|
+
idempotencyKey?: string;
|
|
63
|
+
};
|
|
64
|
+
type OpenAIAdsRequiredIdempotencyOptions = OpenAIAdsAccountRequestOptions & {
|
|
65
|
+
idempotencyKey: string;
|
|
66
|
+
};
|
|
67
|
+
type UploadBlobInput = {
|
|
68
|
+
file: Blob | File;
|
|
69
|
+
purpose?: UploadBlobPurposeParam;
|
|
70
|
+
};
|
|
71
|
+
type UploadImageInput = {
|
|
72
|
+
file?: never;
|
|
73
|
+
image_url: string;
|
|
74
|
+
purpose?: UploadImagePurposeParam;
|
|
75
|
+
} | {
|
|
76
|
+
file: Blob | File;
|
|
77
|
+
image_url?: never;
|
|
78
|
+
purpose?: UploadImagePurposeParam;
|
|
79
|
+
};
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region src/openai-ads.d.ts
|
|
82
|
+
type Body<T extends {
|
|
83
|
+
body?: unknown;
|
|
84
|
+
}> = NonNullable<T['body']>;
|
|
85
|
+
type Query<T extends {
|
|
86
|
+
query?: unknown;
|
|
87
|
+
}> = NonNullable<T['query']>;
|
|
88
|
+
declare class OpenAIAds {
|
|
89
|
+
readonly campaigns: {
|
|
90
|
+
list: (query?: Query<ListCampaignsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<CampaignsResource>;
|
|
91
|
+
create: (body: Body<CreateCampaignMethodData>, options?: OpenAIAdsOptionalIdempotencyOptions) => Promise<CampaignItemBody>;
|
|
92
|
+
get: (campaignId: string, query?: Query<GetCampaignMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<CampaignItemBody>;
|
|
93
|
+
update: (campaignId: string, body: Body<UpdateCampaignMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<CampaignItemBody>;
|
|
94
|
+
activate: (campaignId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<CampaignItemBody>;
|
|
95
|
+
pause: (campaignId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<CampaignItemBody>;
|
|
96
|
+
archive: (campaignId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<CampaignItemBody>;
|
|
97
|
+
};
|
|
98
|
+
readonly customAudiences: {
|
|
99
|
+
list: (query?: Query<ListCustomAudiencesMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<CustomAudiencesResource>;
|
|
100
|
+
create: (body: Body<CreateCustomAudienceMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<CustomAudienceItemBody>;
|
|
101
|
+
get: (customAudienceId: string, query?: Query<GetCustomAudienceMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<CustomAudienceItemBody>;
|
|
102
|
+
archive: (customAudienceId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<CustomAudienceItemBody>;
|
|
103
|
+
addMembers: (customAudienceId: string, body: Body<AddCustomAudienceMembersMethodData>, options: OpenAIAdsRequiredIdempotencyOptions) => Promise<CustomAudienceMembershipOperationBody>;
|
|
104
|
+
removeMembers: (customAudienceId: string, body: Body<RemoveCustomAudienceMembersMethodData>, options: OpenAIAdsRequiredIdempotencyOptions) => Promise<CustomAudienceMembershipOperationBody>;
|
|
105
|
+
replaceMembers: (customAudienceId: string, body: Body<ReplaceCustomAudienceMembersMethodData>, options: OpenAIAdsRequiredIdempotencyOptions) => Promise<CustomAudienceMembershipOperationBody>;
|
|
106
|
+
merge: (body: Body<MergeCustomAudiencesMethodData>, options: OpenAIAdsRequiredIdempotencyOptions) => Promise<CustomAudienceMembershipOperationBody>;
|
|
107
|
+
operations: {
|
|
108
|
+
get: (customAudienceId: string, operationId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<CustomAudienceMembershipOperationBody>;
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
readonly businessAgentTools: {
|
|
112
|
+
list: (options?: OpenAIAdsRequestOptions) => Promise<ListBusinessAgentToolsResource>;
|
|
113
|
+
};
|
|
114
|
+
readonly businessAgents: {
|
|
115
|
+
list: (options?: OpenAIAdsAccountRequestOptions) => Promise<ListBusinessAgentsResource>;
|
|
116
|
+
create: (body: Body<CreateBusinessAgentMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<BusinessAgentListItemBody>;
|
|
117
|
+
get: (businessAgentId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<BusinessAgentListItemBody>;
|
|
118
|
+
update: (businessAgentId: string, body: Body<UpdateBusinessAgentMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<BusinessAgentListItemBody>;
|
|
119
|
+
preview: (businessAgentId: string, body: Body<PreviewBusinessAgentMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<BusinessAgentPreviewResource>;
|
|
120
|
+
publish: (businessAgentId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<BusinessAgentListItemBody>;
|
|
121
|
+
};
|
|
122
|
+
readonly leadForms: {
|
|
123
|
+
list: (options?: OpenAIAdsAccountRequestOptions) => Promise<ListLeadFormsResource>;
|
|
124
|
+
create: (body: Body<CreateLeadFormMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<LeadFormListItemBody>;
|
|
125
|
+
get: (leadFormId: string, query?: Query<GetLeadFormMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<LeadFormListItemBody>;
|
|
126
|
+
update: (leadFormId: string, body: Body<UpdateLeadFormMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<LeadFormListItemBody>;
|
|
127
|
+
publish: (leadFormId: string, body: Body<PublishLeadFormMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<LeadFormListItemBody>;
|
|
128
|
+
archive: (leadFormId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<LeadFormListItemBody>;
|
|
129
|
+
testSubmissions: {
|
|
130
|
+
create: (leadFormId: string, body: Body<CreateTestLeadSubmissionMethodData>, options: OpenAIAdsRequiredIdempotencyOptions) => Promise<TestLeadSubmissionResource>;
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
readonly apiKeys: {
|
|
134
|
+
create: (body: Body<CreateApiKeyMethodData>, options?: OpenAIAdsRequestOptions) => Promise<CreateApiKeyResource>;
|
|
135
|
+
};
|
|
136
|
+
readonly adAccount: {
|
|
137
|
+
updateBrand: (body: Body<UpdateAdAccountMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<AdAccountResource>;
|
|
138
|
+
updateNegativeKeywords: (body: Body<UpdateAdAccountNegativeKeywordsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<AdAccountResource>;
|
|
139
|
+
activate: (options?: OpenAIAdsAccountRequestOptions) => Promise<AdAccountResource>;
|
|
140
|
+
pause: (options?: OpenAIAdsAccountRequestOptions) => Promise<AdAccountResource>;
|
|
141
|
+
get: (options?: OpenAIAdsAccountRequestOptions) => Promise<AdAccountResource>;
|
|
142
|
+
spendLimitWindows: {
|
|
143
|
+
list: (options?: OpenAIAdsAccountRequestOptions) => Promise<AdAccountSpendLimitWindowsListResource>;
|
|
144
|
+
create: (body: Body<CreateAdAccountSpendLimitWindowMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<AdAccountSpendLimitWindowBody>;
|
|
145
|
+
update: (windowId: string, body: Body<UpdateAdAccountSpendLimitWindowMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<AdAccountSpendLimitWindowBody>;
|
|
146
|
+
delete: (windowId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<DeleteAdAccountSpendLimitWindowResource>;
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
readonly adAccounts: {
|
|
150
|
+
list: (query?: Query<ListAdAccountsMethodData>, options?: OpenAIAdsRequestOptions) => Promise<AdAccountsResource>;
|
|
151
|
+
};
|
|
152
|
+
readonly adAccountCreationSessions: {
|
|
153
|
+
create: (body: Body<CreateAdAccountCreationSessionMethodData>, options: Omit<OpenAIAdsRequiredIdempotencyOptions, "adAccountId">) => Promise<AdAccountCreationSessionResource>;
|
|
154
|
+
};
|
|
155
|
+
readonly oauth: {
|
|
156
|
+
getMe: (options?: OpenAIAdsRequestOptions) => Promise<AdsOAuthMeResource>;
|
|
157
|
+
};
|
|
158
|
+
readonly insights: {
|
|
159
|
+
adAccount: (query?: Query<GetAdAccountInsightsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<InsightsResource>;
|
|
160
|
+
campaign: (campaignId: string, query?: Query<GetCampaignInsightsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<InsightsResource>;
|
|
161
|
+
adGroup: (adGroupId: string, query?: Query<GetAdGroupInsightsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<InsightsResource>;
|
|
162
|
+
ad: (adId: string, query?: Query<GetAdInsightsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<InsightsResource>;
|
|
163
|
+
};
|
|
164
|
+
readonly geo: {
|
|
165
|
+
search: (query: Query<GetGeoLookupMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<GeoLookupSearchResource>;
|
|
166
|
+
};
|
|
167
|
+
readonly leadSync: {
|
|
168
|
+
subscriptions: {
|
|
169
|
+
create: (body: Body<CreateLeadSyncSubscriptionMethodData>, options: OpenAIAdsRequiredIdempotencyOptions) => Promise<CreatedLeadSyncSubscriptionResource>;
|
|
170
|
+
list: (query: Query<ListLeadSyncSubscriptionsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<LeadSyncSubscriptionsResource>;
|
|
171
|
+
get: (subscriptionId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<LeadSyncSubscriptionResource>;
|
|
172
|
+
delete: (subscriptionId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<DeletedLeadSyncSubscriptionResource>;
|
|
173
|
+
};
|
|
174
|
+
};
|
|
175
|
+
readonly conversions: {
|
|
176
|
+
apiKeys: {
|
|
177
|
+
create: (body: Body<CreateConversionApiKeyMethodData>, options?: OpenAIAdsRequestOptions) => Promise<ConversionApiKeyResource>;
|
|
178
|
+
};
|
|
179
|
+
eventSettings: {
|
|
180
|
+
create: (body: Body<CreateConversionEventSettingMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<ConversionEventSettingItemResource>;
|
|
181
|
+
list: (query?: Query<ListConversionEventSettingsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<ListConversionEventSettingsResource>;
|
|
182
|
+
};
|
|
183
|
+
pixels: {
|
|
184
|
+
create: (body: Body<CreateConversionSourceMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<ClientDataSourceItemResource>;
|
|
185
|
+
list: (query?: Query<ListConversionSourcesMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<ListClientDataSourceItemsResource>;
|
|
186
|
+
};
|
|
187
|
+
events: {
|
|
188
|
+
list: (query: Query<ListConversionEventsMethodData>, options?: OpenAIAdsRequestOptions) => Promise<ConversionEventsResource>;
|
|
189
|
+
};
|
|
190
|
+
insights: {
|
|
191
|
+
query: (body: Body<PostConversionInsightsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<ConversionSummaryRowsResource>;
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
readonly adGroups: {
|
|
195
|
+
list: (query?: Query<ListAdGroupsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<AdGroupsResource>;
|
|
196
|
+
create: (body: Body<CreateAdGroupMethodData>, options?: OpenAIAdsOptionalIdempotencyOptions) => Promise<AdGroupItemBody>;
|
|
197
|
+
get: (adGroupId: string, query?: Query<GetAdGroupMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<AdGroupItemBody>;
|
|
198
|
+
update: (adGroupId: string, body: Body<UpdateAdGroupMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<AdGroupItemBody>;
|
|
199
|
+
activate: (adGroupId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<AdGroupItemBody>;
|
|
200
|
+
pause: (adGroupId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<AdGroupItemBody>;
|
|
201
|
+
archive: (adGroupId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<AdGroupItemBody>;
|
|
202
|
+
};
|
|
203
|
+
readonly ads: {
|
|
204
|
+
list: (query?: Query<ListAdsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<AdsResource>;
|
|
205
|
+
create: (body: Body<CreateAdMethodData>, options?: OpenAIAdsOptionalIdempotencyOptions) => Promise<AdItemBody>;
|
|
206
|
+
get: (adId: string, query?: Query<GetAdMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<AdItemBody>;
|
|
207
|
+
update: (adId: string, body: Body<UpdateAdMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<AdItemBody>;
|
|
208
|
+
preview: (adId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<AdPreviewResource>;
|
|
209
|
+
activate: (adId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<AdItemBody>;
|
|
210
|
+
pause: (adId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<AdItemBody>;
|
|
211
|
+
archive: (adId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<AdItemBody>;
|
|
212
|
+
};
|
|
213
|
+
readonly files: {
|
|
214
|
+
uploadBlob: (body: UploadBlobInput, options?: OpenAIAdsAccountRequestOptions) => Promise<UploadBlobResource>;
|
|
215
|
+
uploadImage: (body: UploadImageInput, options?: OpenAIAdsAccountRequestOptions) => Promise<UploadImageResource>;
|
|
216
|
+
};
|
|
217
|
+
readonly productFeeds: {
|
|
218
|
+
archive: (feedId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<ArchivedProductFeedResource>;
|
|
219
|
+
create: (body: Body<CreateProductFeedMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<ProductFeedResource>;
|
|
220
|
+
list: (query?: Query<ListProductFeedsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<ListProductFeedsResource>;
|
|
221
|
+
uploads: {
|
|
222
|
+
list: (query?: Query<ListProductFeedUploadsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<ListProductFeedUploadsResource>;
|
|
223
|
+
};
|
|
224
|
+
products: {
|
|
225
|
+
query: (feedId: string, body: Body<QueryProductFeedProductsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<QueryProductFeedProductsResource>;
|
|
226
|
+
patch: (feedId: string, body: Body<PatchProductFeedProductsMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<ProductFeedDeltaResource>;
|
|
227
|
+
};
|
|
228
|
+
sftpAccess: {
|
|
229
|
+
get: (feedId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<ProductFeedSftpAccessResource>;
|
|
230
|
+
createOrReplace: (feedId: string, body: Body<PostProductFeedSftpAccessMethodData>, options?: OpenAIAdsAccountRequestOptions) => Promise<ProductFeedSftpAccessCredentialsResource>;
|
|
231
|
+
activate: (feedId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<ProductFeedSftpAccessResource>;
|
|
232
|
+
pause: (feedId: string, options?: OpenAIAdsAccountRequestOptions) => Promise<ProductFeedSftpAccessResource>;
|
|
233
|
+
};
|
|
234
|
+
};
|
|
235
|
+
readonly partnerData: {
|
|
236
|
+
uploads: {
|
|
237
|
+
create: (body: Body<CreatePartnerDataUploadMethodData>, options?: OpenAIAdsRequestOptions) => Promise<CreatePartnerDataUploadResource>;
|
|
238
|
+
get: (uploadId: string, options?: OpenAIAdsRequestOptions) => Promise<PartnerDataUploadResource>;
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
private readonly baseUrl;
|
|
242
|
+
private readonly client;
|
|
243
|
+
private readonly credential;
|
|
244
|
+
private readonly credentialMode;
|
|
245
|
+
private readonly defaultAdAccountId?;
|
|
246
|
+
private readonly defaultTimeoutMs?;
|
|
247
|
+
constructor(options: OpenAIAdsOptions);
|
|
248
|
+
private accountHeaders;
|
|
249
|
+
private optionalIdempotencyHeaders;
|
|
250
|
+
private requiredIdempotencyHeaders;
|
|
251
|
+
private assertAuthentication;
|
|
252
|
+
private authenticatedFetch;
|
|
253
|
+
private run;
|
|
254
|
+
private operationUrl;
|
|
255
|
+
}
|
|
256
|
+
//#endregion
|
|
257
|
+
export { OpenAIAds, type OpenAIAdsAccountRequestOptions, OpenAIAdsApiError, type OpenAIAdsApiErrorOptions, OpenAIAdsConfigurationError, type OpenAIAdsCredential, type OpenAIAdsOptionalIdempotencyOptions, type OpenAIAdsOptions, type OpenAIAdsRequestOptions, type OpenAIAdsRequestSummary, type OpenAIAdsRequiredIdempotencyOptions, OpenAIAdsTimeoutError, type UploadBlobInput, type UploadImageInput };
|
|
258
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/errors.ts","../src/types.ts","../src/openai-ads.ts"],"mappings":"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"}
|