@wix/auto_sdk_promote-growth-tools-publisher_generated-content 1.0.2 → 1.0.3

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.
Files changed (49) hide show
  1. package/build/cjs/index.d.ts +27 -3
  2. package/build/cjs/index.js +133 -7
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/index.typings.d.ts +87 -12
  5. package/build/cjs/index.typings.js +113 -4
  6. package/build/cjs/index.typings.js.map +1 -1
  7. package/build/cjs/meta.d.ts +55 -13
  8. package/build/cjs/meta.js +95 -4
  9. package/build/cjs/meta.js.map +1 -1
  10. package/build/cjs/schemas.d.ts +26 -1
  11. package/build/cjs/schemas.js +35 -3
  12. package/build/cjs/schemas.js.map +1 -1
  13. package/build/es/index.d.mts +27 -3
  14. package/build/es/index.mjs +124 -1
  15. package/build/es/index.mjs.map +1 -1
  16. package/build/es/index.typings.d.mts +87 -12
  17. package/build/es/index.typings.mjs +107 -1
  18. package/build/es/index.typings.mjs.map +1 -1
  19. package/build/es/meta.d.mts +55 -13
  20. package/build/es/meta.mjs +89 -1
  21. package/build/es/meta.mjs.map +1 -1
  22. package/build/es/schemas.d.mts +26 -1
  23. package/build/es/schemas.mjs +30 -2
  24. package/build/es/schemas.mjs.map +1 -1
  25. package/build/internal/cjs/index.d.ts +27 -3
  26. package/build/internal/cjs/index.js +133 -7
  27. package/build/internal/cjs/index.js.map +1 -1
  28. package/build/internal/cjs/index.typings.d.ts +87 -12
  29. package/build/internal/cjs/index.typings.js +113 -4
  30. package/build/internal/cjs/index.typings.js.map +1 -1
  31. package/build/internal/cjs/meta.d.ts +55 -13
  32. package/build/internal/cjs/meta.js +95 -4
  33. package/build/internal/cjs/meta.js.map +1 -1
  34. package/build/internal/cjs/schemas.d.ts +26 -1
  35. package/build/internal/cjs/schemas.js +35 -3
  36. package/build/internal/cjs/schemas.js.map +1 -1
  37. package/build/internal/es/index.d.mts +27 -3
  38. package/build/internal/es/index.mjs +124 -1
  39. package/build/internal/es/index.mjs.map +1 -1
  40. package/build/internal/es/index.typings.d.mts +87 -12
  41. package/build/internal/es/index.typings.mjs +107 -1
  42. package/build/internal/es/index.typings.mjs.map +1 -1
  43. package/build/internal/es/meta.d.mts +55 -13
  44. package/build/internal/es/meta.mjs +89 -1
  45. package/build/internal/es/meta.mjs.map +1 -1
  46. package/build/internal/es/schemas.d.mts +26 -1
  47. package/build/internal/es/schemas.mjs +30 -2
  48. package/build/internal/es/schemas.mjs.map +1 -1
  49. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
2
- import { GenerateTextOptions, GenerateTextResponse, GeneratePostDataOptions, GeneratePostDataResponse } from './index.typings.js';
3
- export { AdditionalContent, ChannelName, ChannelNameWithLiterals, ChannelPostData, ChannelPostDataDataOneOf, FacebokActivity, FacebookImpressions, FacebookInsights, FacebookInteractions, FacebookPost, FacebookPostUrlOneOf, FacebookReactions, GbpInsights, GbpPost, GbpPostCallToAction, GbpPostCallToActionType, GbpPostCallToActionTypeWithLiterals, GenerateImageRequest, GenerateImageResponse, GenerateMediaStatus, GenerateMediaStatusWithLiterals, GeneratePostDataRequest, GenerateTextRequest, GenerateTextResult, GenerateVideoRequest, GenerateVideoResponse, GeneratedContent, InstagramInsights, InstagramPost, InstagramPostUrlOneOf, LinkMetadata, LinkedinPost, LinkedinPostInsights, LinkedinPostUrlOneOf, Media, MediaType, MediaTypeWithLiterals, MediaWrapper, PinterestInsights, PinterestPost, SiteAsset, TikTokInsights, TikTokPhoto, TikTokPrivacyLevel, TikTokPrivacyLevelWithLiterals, TwitterInsights, TwitterPost, TwitterPostUrlOneOf, Type, TypeWithLiterals } from './index.typings.js';
2
+ import { GenerateTextOptions, GenerateTextResponse, GenerateImageOptions, GenerateImageResponse, GetGeneratedImageResponse, GetGeneratedImageApplicationErrors, GeneratePostDataOptions, GeneratePostDataResponse } from './index.typings.js';
3
+ export { AdditionalContent, ChannelName, ChannelNameWithLiterals, ChannelPostData, ChannelPostDataDataOneOf, FacebokActivity, FacebookImpressions, FacebookInsights, FacebookInteractions, FacebookPost, FacebookPostUrlOneOf, FacebookReactions, GbpInsights, GbpPost, GbpPostCallToAction, GbpPostCallToActionType, GbpPostCallToActionTypeWithLiterals, GenerateImageRequest, GenerateMediaStatus, GenerateMediaStatusWithLiterals, GeneratePostDataRequest, GenerateTextRequest, GenerateTextResult, GenerateVideoRequest, GenerateVideoResponse, GeneratedContent, GetGeneratedImageRequest, InstagramInsights, InstagramPost, InstagramPostUrlOneOf, LinkMetadata, LinkedinPost, LinkedinPostInsights, LinkedinPostUrlOneOf, Media, MediaType, MediaTypeWithLiterals, MediaWrapper, PinterestInsights, PinterestPost, SiteAsset, Status, StatusWithLiterals, TikTokInsights, TikTokPhoto, TikTokPrivacyLevel, TikTokPrivacyLevelWithLiterals, TwitterInsights, TwitterPost, TwitterPostUrlOneOf, Type, TypeWithLiterals } from './index.typings.js';
4
4
 
5
5
  declare function generateText$1(httpClient: HttpClient): GenerateTextSignature;
6
6
  interface GenerateTextSignature {
@@ -12,6 +12,28 @@ interface GenerateTextSignature {
12
12
  */
13
13
  (userInput: string, options?: GenerateTextOptions): Promise<NonNullablePaths<GenerateTextResponse, `results`, 2>>;
14
14
  }
15
+ declare function generateImage$1(httpClient: HttpClient): GenerateImageSignature;
16
+ interface GenerateImageSignature {
17
+ /**
18
+ * Generates an image from a text prompt and a source image.
19
+ *
20
+ * Image generation runs asynchronously. This method starts the process and returns an `executionId`. Poll Get Generated Image with that `executionId` until the status is `READY` (the `imageUrl` and `fileId` are then populated) or `FAILED`. The generated image is also added to the "Social Marketing AI Media" folder in the site's Media Manager.
21
+ * @param - Text prompt describing the image to generate.
22
+ */
23
+ (userInput: string, options: NonNullablePaths<GenerateImageOptions, `imageUrl`, 2>): Promise<NonNullablePaths<GenerateImageResponse, `status`, 2>>;
24
+ }
25
+ declare function getGeneratedImage$1(httpClient: HttpClient): GetGeneratedImageSignature;
26
+ interface GetGeneratedImageSignature {
27
+ /**
28
+ * Retrieves the result of an asynchronous image-generation request.
29
+ *
30
+ * Poll this with the `executionId` returned by Generate Image until the status is `READY`, when the generated image's `imageUrl` and `fileId` are populated, or `FAILED`.
31
+ * @param - The image-generation process ID returned by Generate Image.
32
+ */
33
+ (executionId: string): Promise<NonNullablePaths<GetGeneratedImageResponse, `status`, 2> & {
34
+ __applicationErrorsType?: GetGeneratedImageApplicationErrors;
35
+ }>;
36
+ }
15
37
  declare function generatePostData$1(httpClient: HttpClient): GeneratePostDataSignature;
16
38
  interface GeneratePostDataSignature {
17
39
  /**
@@ -23,6 +45,8 @@ interface GeneratePostDataSignature {
23
45
  }
24
46
 
25
47
  declare const generateText: MaybeContext<BuildRESTFunction<typeof generateText$1> & typeof generateText$1>;
48
+ declare const generateImage: MaybeContext<BuildRESTFunction<typeof generateImage$1> & typeof generateImage$1>;
49
+ declare const getGeneratedImage: MaybeContext<BuildRESTFunction<typeof getGeneratedImage$1> & typeof getGeneratedImage$1>;
26
50
  declare const generatePostData: MaybeContext<BuildRESTFunction<typeof generatePostData$1> & typeof generatePostData$1>;
27
51
 
28
- export { GeneratePostDataOptions, GeneratePostDataResponse, GenerateTextOptions, GenerateTextResponse, generatePostData, generateText };
52
+ export { GenerateImageOptions, GenerateImageResponse, GeneratePostDataOptions, GeneratePostDataResponse, GenerateTextOptions, GenerateTextResponse, GetGeneratedImageApplicationErrors, GetGeneratedImageResponse, generateImage, generatePostData, generateText, getGeneratedImage };
@@ -24,10 +24,13 @@ __export(index_exports, {
24
24
  GbpPostCallToActionType: () => GbpPostCallToActionType,
25
25
  GenerateMediaStatus: () => GenerateMediaStatus,
26
26
  MediaType: () => MediaType,
27
+ Status: () => Status,
27
28
  TikTokPrivacyLevel: () => TikTokPrivacyLevel,
28
29
  Type: () => Type,
30
+ generateImage: () => generateImage4,
29
31
  generatePostData: () => generatePostData4,
30
- generateText: () => generateText4
32
+ generateText: () => generateText4,
33
+ getGeneratedImage: () => getGeneratedImage4
31
34
  });
32
35
  module.exports = __toCommonJS(index_exports);
33
36
 
@@ -36,10 +39,11 @@ var import_transform_error = require("@wix/sdk-runtime/transform-error");
36
39
  var import_rename_all_nested_keys = require("@wix/sdk-runtime/rename-all-nested-keys");
37
40
 
38
41
  // src/promote-publisher-v1-generated-content-generated-content.http.ts
42
+ var import_rest_modules = require("@wix/sdk-runtime/rest-modules");
39
43
  var import_float = require("@wix/sdk-runtime/transformations/float");
40
44
  var import_timestamp = require("@wix/sdk-runtime/transformations/timestamp");
41
45
  var import_transform_paths = require("@wix/sdk-runtime/transformations/transform-paths");
42
- var import_rest_modules = require("@wix/sdk-runtime/rest-modules");
46
+ var import_rest_modules2 = require("@wix/sdk-runtime/rest-modules");
43
47
  function resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl(opts) {
44
48
  const domainToMappings = {
45
49
  "bo._base_domain_": [
@@ -127,7 +131,7 @@ function resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl(opts) {
127
131
  }
128
132
  ]
129
133
  };
130
- return (0, import_rest_modules.resolveUrl)(Object.assign(opts, { domainToMappings }));
134
+ return (0, import_rest_modules2.resolveUrl)(Object.assign(opts, { domainToMappings }));
131
135
  }
132
136
  var PACKAGE_NAME = "@wix/auto_sdk_promote-growth-tools-publisher_generated-content";
133
137
  function generateText(payload) {
@@ -151,6 +155,48 @@ function generateText(payload) {
151
155
  }
152
156
  return __generateText;
153
157
  }
158
+ function generateImage(payload) {
159
+ function __generateImage({ host }) {
160
+ const metadata = {
161
+ entityFqdn: "wix.promote.publisher.v1.generated_content",
162
+ method: "POST",
163
+ methodFqn: "com.wixpress.promote.publisher.v1.GeneratedContentService.GenerateImage",
164
+ packageName: PACKAGE_NAME,
165
+ migrationOptions: {
166
+ optInTransformResponse: true
167
+ },
168
+ url: resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl({
169
+ protoPath: "/v1/generate-image",
170
+ data: payload,
171
+ host
172
+ }),
173
+ data: payload
174
+ };
175
+ return metadata;
176
+ }
177
+ return __generateImage;
178
+ }
179
+ function getGeneratedImage(payload) {
180
+ function __getGeneratedImage({ host }) {
181
+ const metadata = {
182
+ entityFqdn: "wix.promote.publisher.v1.generated_content",
183
+ method: "GET",
184
+ methodFqn: "com.wixpress.promote.publisher.v1.GeneratedContentService.GetGeneratedImage",
185
+ packageName: PACKAGE_NAME,
186
+ migrationOptions: {
187
+ optInTransformResponse: true
188
+ },
189
+ url: resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl({
190
+ protoPath: "/v1/generated-image/{executionId}",
191
+ data: payload,
192
+ host
193
+ }),
194
+ params: (0, import_rest_modules.toURLSearchParams)(payload)
195
+ };
196
+ return metadata;
197
+ }
198
+ return __getGeneratedImage;
199
+ }
154
200
  function generatePostData(payload) {
155
201
  function __generatePostData({ host }) {
156
202
  const metadata = {
@@ -207,6 +253,12 @@ var GenerateMediaStatus = /* @__PURE__ */ ((GenerateMediaStatus2) => {
207
253
  GenerateMediaStatus2["OK"] = "OK";
208
254
  return GenerateMediaStatus2;
209
255
  })(GenerateMediaStatus || {});
256
+ var Status = /* @__PURE__ */ ((Status2) => {
257
+ Status2["IN_PROGRESS"] = "IN_PROGRESS";
258
+ Status2["READY"] = "READY";
259
+ Status2["FAILED"] = "FAILED";
260
+ return Status2;
261
+ })(Status || {});
210
262
  var Type = /* @__PURE__ */ ((Type2) => {
211
263
  Type2["BLOG_POST"] = "BLOG_POST";
212
264
  Type2["EVENT"] = "EVENT";
@@ -271,6 +323,60 @@ async function generateText2(userInput, options) {
271
323
  throw transformedError;
272
324
  }
273
325
  }
326
+ async function generateImage2(userInput, options) {
327
+ const { httpClient, sideEffects } = arguments[2];
328
+ const payload = (0, import_rename_all_nested_keys.renameKeysFromSDKRequestToRESTRequest)({
329
+ userInput,
330
+ imageUrl: options?.imageUrl
331
+ });
332
+ const reqOpts = generateImage(payload);
333
+ sideEffects?.onSiteCall?.();
334
+ try {
335
+ const result = await httpClient.request(reqOpts);
336
+ sideEffects?.onSuccess?.(result);
337
+ return (0, import_rename_all_nested_keys.renameKeysFromRESTResponseToSDKResponse)(result.data);
338
+ } catch (err) {
339
+ const transformedError = (0, import_transform_error.transformError)(
340
+ err,
341
+ {
342
+ spreadPathsToArguments: {},
343
+ explicitPathsToArguments: {
344
+ userInput: "$[0]",
345
+ imageUrl: "$[1].imageUrl"
346
+ },
347
+ singleArgumentUnchanged: false
348
+ },
349
+ ["userInput", "options"]
350
+ );
351
+ sideEffects?.onError?.(err);
352
+ throw transformedError;
353
+ }
354
+ }
355
+ async function getGeneratedImage2(executionId) {
356
+ const { httpClient, sideEffects } = arguments[1];
357
+ const payload = (0, import_rename_all_nested_keys.renameKeysFromSDKRequestToRESTRequest)({
358
+ executionId
359
+ });
360
+ const reqOpts = getGeneratedImage(payload);
361
+ sideEffects?.onSiteCall?.();
362
+ try {
363
+ const result = await httpClient.request(reqOpts);
364
+ sideEffects?.onSuccess?.(result);
365
+ return (0, import_rename_all_nested_keys.renameKeysFromRESTResponseToSDKResponse)(result.data);
366
+ } catch (err) {
367
+ const transformedError = (0, import_transform_error.transformError)(
368
+ err,
369
+ {
370
+ spreadPathsToArguments: {},
371
+ explicitPathsToArguments: { executionId: "$[0]" },
372
+ singleArgumentUnchanged: false
373
+ },
374
+ ["executionId"]
375
+ );
376
+ sideEffects?.onError?.(err);
377
+ throw transformedError;
378
+ }
379
+ }
274
380
  async function generatePostData2(options) {
275
381
  const { httpClient, sideEffects } = arguments[1];
276
382
  const payload = (0, import_rename_all_nested_keys.renameKeysFromSDKRequestToRESTRequest)({
@@ -316,6 +422,21 @@ function generateText3(httpClient) {
316
422
  { httpClient }
317
423
  );
318
424
  }
425
+ function generateImage3(httpClient) {
426
+ return (userInput, options) => generateImage2(
427
+ userInput,
428
+ options,
429
+ // @ts-ignore
430
+ { httpClient }
431
+ );
432
+ }
433
+ function getGeneratedImage3(httpClient) {
434
+ return (executionId) => getGeneratedImage2(
435
+ executionId,
436
+ // @ts-ignore
437
+ { httpClient }
438
+ );
439
+ }
319
440
  function generatePostData3(httpClient) {
320
441
  return (options) => generatePostData2(
321
442
  options,
@@ -325,18 +446,23 @@ function generatePostData3(httpClient) {
325
446
  }
326
447
 
327
448
  // src/promote-publisher-v1-generated-content-generated-content.context.ts
328
- var import_rest_modules2 = require("@wix/sdk-runtime/rest-modules");
329
- var generateText4 = /* @__PURE__ */ (0, import_rest_modules2.createRESTModule)(generateText3);
330
- var generatePostData4 = /* @__PURE__ */ (0, import_rest_modules2.createRESTModule)(generatePostData3);
449
+ var import_rest_modules3 = require("@wix/sdk-runtime/rest-modules");
450
+ var generateText4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(generateText3);
451
+ var generateImage4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(generateImage3);
452
+ var getGeneratedImage4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(getGeneratedImage3);
453
+ var generatePostData4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(generatePostData3);
331
454
  // Annotate the CommonJS export names for ESM import in node:
332
455
  0 && (module.exports = {
333
456
  ChannelName,
334
457
  GbpPostCallToActionType,
335
458
  GenerateMediaStatus,
336
459
  MediaType,
460
+ Status,
337
461
  TikTokPrivacyLevel,
338
462
  Type,
463
+ generateImage,
339
464
  generatePostData,
340
- generateText
465
+ generateText,
466
+ getGeneratedImage
341
467
  });
342
468
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.ts","../../src/promote-publisher-v1-generated-content-generated-content.universal.ts","../../src/promote-publisher-v1-generated-content-generated-content.http.ts","../../src/promote-publisher-v1-generated-content-generated-content.public.ts","../../src/promote-publisher-v1-generated-content-generated-content.context.ts"],"sourcesContent":["export * from './src/promote-publisher-v1-generated-content-generated-content.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixPromotePublisherV1GeneratedContent from './promote-publisher-v1-generated-content-generated-content.http.js';\n\n/** Generated content is AI-created post material, such as captions, titles, and images, produced from a text prompt or a site's assets. Use generated content to build a post and then publish it as an item. */\nexport interface GeneratedContent {\n /**\n * Generated content ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n}\n\nexport interface GenerateTextRequest {\n /**\n * Text prompt describing the post to generate captions for.\n * @maxLength 3000\n */\n userInput: string | null;\n /** Social channel to tailor the captions for. */\n channelName?: ChannelNameWithLiterals;\n /**\n * Tone of voice for the captions. For example, `professional` or `playful`.\n * @maxLength 30\n */\n tone?: string | null;\n /**\n * 2-letter language code for the generated captions in ISO 639-1 alpha-2 format.\n * @maxLength 2\n */\n languageCode?: string | null;\n /** Additional content to incorporate into the captions. */\n additionalContent?: AdditionalContent;\n}\n\n/** Supported social channel. */\nexport enum ChannelName {\n INSTAGRAM = 'INSTAGRAM',\n FACEBOOK = 'FACEBOOK',\n YOUTUBE = 'YOUTUBE',\n LINKEDIN = 'LINKEDIN',\n /** Deprecated: No longer functional as of July 1, 2026. */\n TWITTER = 'TWITTER',\n PINTEREST = 'PINTEREST',\n /** Google Business Profile. */\n GBP = 'GBP',\n TIKTOK = 'TIKTOK',\n}\n\n/** @enumType */\nexport type ChannelNameWithLiterals =\n | ChannelName\n | 'INSTAGRAM'\n | 'FACEBOOK'\n | 'YOUTUBE'\n | 'LINKEDIN'\n | 'TWITTER'\n | 'PINTEREST'\n | 'GBP'\n | 'TIKTOK';\n\nexport interface AdditionalContent {\n /**\n * URL to reference in the captions, such as a link to promote.\n * @format WEB_URL\n */\n url?: string | null;\n /** Whether to include hashtags in the captions. */\n withHashtags?: boolean | null;\n /** Whether to add a \"link in bio\" reference to the captions. */\n addLinkInBio?: boolean | null;\n}\n\nexport interface GenerateTextResponse {\n /** Generated caption suggestions. */\n results?: GenerateTextResult[];\n}\n\nexport interface GenerateTextResult {\n /**\n * Generated caption.\n * @maxLength 1000\n */\n caption?: string | null;\n /**\n * Generated title.\n * @maxLength 1000\n */\n title?: string | null;\n}\n\nexport interface GenerateImageRequest {\n /**\n * Text prompt describing the image to generate.\n * @maxLength 3000\n */\n userInput?: string | null;\n /**\n * URL of the source image to generate from.\n * @format WEB_URL\n */\n imageUrl?: string | null;\n}\n\nexport interface GenerateImageResponse {\n /** Status of the generation request. */\n status?: GenerateMediaStatusWithLiterals;\n /**\n * Identifies the asynchronous image-generation process.\n * @maxLength 1000\n */\n executionId?: string | null;\n}\n\n/** Status of a media generation request. */\nexport enum GenerateMediaStatus {\n UNKNOWN_STATUS = 'UNKNOWN_STATUS',\n /** The generation request was accepted. */\n OK = 'OK',\n}\n\n/** @enumType */\nexport type GenerateMediaStatusWithLiterals =\n | GenerateMediaStatus\n | 'UNKNOWN_STATUS'\n | 'OK';\n\nexport interface GenerateVideoRequest {\n /** @maxLength 3000 */\n userInput?: string | null;\n /** @format WEB_URL */\n imageUrl?: string | null;\n}\n\nexport interface GenerateVideoResponse {\n status?: GenerateMediaStatusWithLiterals;\n /** @maxLength 1000 */\n executionId?: string | null;\n}\n\n/** Request for GeneratePostData. Provide at least one of `siteAssets` or `userInput`. */\nexport interface GeneratePostDataRequest {\n /**\n * Site assets the generated post is based on.\n * @maxSize 10\n */\n siteAssets?: SiteAsset[];\n /**\n * Free-form guidance for the generated post content.\n * @maxLength 5000\n */\n userInput?: string | null;\n /**\n * Candidate media for the generated post. Accepts images only. Each item carries a `type` (must be image), a `url`, and an optional Wix Media Manager `fileId` for media already in Wix.\n * @maxSize 10\n */\n media?: Media[];\n /** Additional context to incorporate into the generated content. */\n context?: Record<string, any> | null;\n /**\n * Channels to generate post content for. When empty, the response includes one entry for each supported channel: Instagram, Facebook, LinkedIn, Pinterest, Google Business Profile, and TikTok. A non-empty value narrows the response to the requested channels.\n * @maxSize 10\n */\n channels?: ChannelNameWithLiterals[];\n}\n\n/** A site asset, such as a product or a blog post, that post content can be generated from. */\nexport interface SiteAsset {\n /**\n * ID of the asset in the Wix app that owns it. For example, a product ID for a `STORES_PRODUCT` asset.\n * @maxLength 256\n */\n _id?: string | null;\n /** Type of asset. */\n type?: TypeWithLiterals;\n}\n\n/** Type of site asset. */\nexport enum Type {\n /** A Wix Blog post. */\n BLOG_POST = 'BLOG_POST',\n /** A Wix Events event. */\n EVENT = 'EVENT',\n /** A Wix Stores product. */\n STORES_PRODUCT = 'STORES_PRODUCT',\n /** A Wix Bookings service. */\n BOOKINGS_SERVICE = 'BOOKINGS_SERVICE',\n /** A Wix Stores coupon. */\n STORES_COUPON = 'STORES_COUPON',\n /** A Wix Stores category. */\n STORES_CATEGORY = 'STORES_CATEGORY',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n | Type\n | 'BLOG_POST'\n | 'EVENT'\n | 'STORES_PRODUCT'\n | 'BOOKINGS_SERVICE'\n | 'STORES_COUPON'\n | 'STORES_CATEGORY';\n\nexport interface Media {\n /** Media type. */\n type?: MediaTypeWithLiterals;\n /**\n * Media URL.\n * @format WEB_URL\n */\n url?: string | null;\n /**\n * Media Manager file ID backing the media. Available only when the media is stored in the Media Manager.\n * @maxLength 1000\n */\n fileId?: string | null;\n}\n\nexport enum MediaType {\n IMAGE = 'IMAGE',\n VIDEO = 'VIDEO',\n}\n\n/** @enumType */\nexport type MediaTypeWithLiterals = MediaType | 'IMAGE' | 'VIDEO';\n\nexport interface GeneratePostDataResponse {\n /** Generated post content, one entry per requested channel. */\n results?: ChannelPostData[];\n}\n\n/** Channel-specific post content. Use it to create a draft or publish an item. */\nexport interface ChannelPostData extends ChannelPostDataDataOneOf {\n instagramPost?: InstagramPost;\n facebookPost?: FacebookPost;\n linkedinPost?: LinkedinPost;\n /**\n * Deprecated: No longer functional as of July 1, 2026.\n * @deprecated Deprecated: No longer functional as of July 1, 2026.\n * @targetRemovalDate 2026-07-01\n */\n twitterPost?: TwitterPost;\n pinterestPost?: PinterestPost;\n gbpPost?: GbpPost;\n tiktokPhoto?: TikTokPhoto;\n /** Channel the content is generated for. */\n channelName?: ChannelNameWithLiterals;\n}\n\n/** @oneof */\nexport interface ChannelPostDataDataOneOf {\n instagramPost?: InstagramPost;\n facebookPost?: FacebookPost;\n linkedinPost?: LinkedinPost;\n /**\n * Deprecated: No longer functional as of July 1, 2026.\n * @deprecated Deprecated: No longer functional as of July 1, 2026.\n * @targetRemovalDate 2026-07-01\n */\n twitterPost?: TwitterPost;\n pinterestPost?: PinterestPost;\n gbpPost?: GbpPost;\n tiktokPhoto?: TikTokPhoto;\n}\n\nexport interface InstagramPost extends InstagramPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /**\n * Caption for the post. Can include hashtags (for example, `#crazywildebeest`) and mentions of Instagram users (for example, `@natgeo`). Mentioned users are notified when the post is published. Supports up to 30 hashtags and 20 mentions.\n * @maxLength 2200\n */\n caption?: string | null;\n /**\n * The post URL on Instagram.\n * @readonly\n */\n postUrl?: string | null;\n /** Insights from Instagram. */\n insights?: InstagramInsights;\n}\n\n/** @oneof */\nexport interface InstagramPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n}\n\nexport interface MediaWrapper {\n /** List of media items. */\n media?: Media[];\n}\n\nexport interface InstagramInsights {\n /** Number of likes. */\n likes?: number;\n /** Number of engagements. */\n engagement?: number;\n /** Number of impressions. */\n impressions?: number;\n /** Number of plays. */\n plays?: number;\n /** Number of accounts reached. */\n reach?: number;\n /** Number of comments. */\n comments?: number;\n /** Number of shares. */\n shares?: number;\n /** Number of saves. */\n saved?: number;\n /** Total number of interactions. */\n totalInteractions?: number;\n}\n\nexport interface FacebookPost extends FacebookPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** The page ID to publish the post to. */\n pageId?: string | null;\n /** Caption for the post. */\n caption?: string | null;\n /**\n * The post URL on Facebook.\n * @readonly\n */\n postUrl?: string | null;\n /** Link preview metadata. Available only when the post contains a link. */\n linkMetadata?: LinkMetadata;\n /** Insights from Facebook. */\n insights?: FacebookInsights;\n}\n\n/** @oneof */\nexport interface FacebookPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n}\n\nexport interface LinkMetadata {\n /** Thumbnail URL for the link preview. */\n thumbnailUrl?: string | null;\n /** Title for the link preview. */\n title?: string | null;\n /** Description for the link preview. */\n description?: string | null;\n}\n\nexport interface FacebookInsights {\n /** Impression counts. */\n impressions?: FacebookImpressions;\n /** Interaction counts. */\n interactions?: FacebookInteractions;\n /** Reaction counts. */\n reactions?: FacebookReactions;\n /** Activity counts. */\n activity?: FacebokActivity;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\nexport interface FacebookImpressions {\n /** Number of unique impressions. */\n unique?: number;\n /** Total number of impressions. */\n total?: number;\n}\n\nexport interface FacebookInteractions {\n /** Number of unique interactions. */\n unique?: number;\n /** Total number of interactions. */\n total?: number;\n}\n\nexport interface FacebookReactions {\n /** Number of \"like\" reactions. */\n like?: number;\n /** Number of \"love\" reactions. */\n love?: number;\n /** Number of \"wow\" reactions. */\n wow?: number;\n /** Number of \"haha\" reactions. */\n haha?: number;\n /** Number of \"sad\" reactions. */\n sad?: number;\n /** Number of \"angry\" reactions. */\n anger?: number;\n}\n\nexport interface FacebokActivity {\n /** Number of shares. */\n share?: number;\n /** Number of likes. */\n like?: number;\n /** Number of comments. */\n comment?: number;\n}\n\nexport interface LinkedinPost extends LinkedinPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** Author ID of the post. Can be an organization page or a personal feed. */\n authorId?: string | null;\n /** Caption for the post. */\n caption?: string | null;\n /** Link preview metadata. Available only when the post contains a link. */\n linkMetadata?: LinkMetadata;\n /** Insights from LinkedIn. */\n insights?: LinkedinPostInsights;\n}\n\n/** @oneof */\nexport interface LinkedinPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n}\n\nexport interface LinkedinPostInsights {\n /** Number of unique impressions. */\n uniqueImpressions?: number;\n /** Total number of impressions. */\n impression?: number;\n /** Number of shares. */\n shares?: number;\n /** Engagement rate. */\n engagement?: number;\n /** Number of clicks. */\n clicks?: number;\n /** Number of likes. */\n likes?: number;\n /** Number of comments. */\n comments?: number;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\n/** Deprecated: No longer functional as of July 1, 2026. */\nexport interface TwitterPost extends TwitterPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** Caption for the post. */\n caption?: string | null;\n /** Link preview metadata. Available only when the post contains a link. */\n linkMetadata?: LinkMetadata;\n /** Insights from X (Twitter). */\n insights?: TwitterInsights;\n}\n\n/** @oneof */\nexport interface TwitterPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n}\n\n/** Deprecated: No longer functional as of July 1, 2026. */\nexport interface TwitterInsights {\n /** Number of retweets. */\n retweets?: number;\n /** Number of replies. */\n replies?: number;\n /** Number of likes. */\n likes?: number;\n /** Number of quote posts. */\n quotes?: number;\n /** Number of bookmarks. */\n bookmarks?: number;\n /** Number of impressions. */\n impressions?: number;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\nexport interface PinterestPost {\n /**\n * The board ID to publish the post to.\n * @maxLength 128\n */\n boardId?: string | null;\n /**\n * The title of the post.\n * @maxLength 100\n */\n title?: string | null;\n /**\n * The description of the post.\n * @maxLength 800\n */\n description?: string | null;\n /**\n * The link to include in the post.\n * @maxLength 2048\n */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** Insights from Pinterest. */\n insights?: PinterestInsights;\n}\n\nexport interface PinterestInsights {\n /** Number of impressions. */\n impressions?: number;\n /** Number of clicks. */\n clicks?: number;\n /** Number of saves. */\n saves?: number;\n /** Number of comments. */\n comments?: number;\n /** Number of reactions. */\n reactions?: number;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\nexport interface GbpPost {\n /**\n * The location ID to publish the post to.\n * @maxLength 128\n */\n locationId?: string | null;\n /**\n * Account (group) ID of the location.\n * @maxLength 128\n */\n locationAccountId?: string | null;\n /**\n * The description of the post.\n * @maxLength 1500\n */\n description?: string | null;\n /** Call to action type and URL to include in the post. */\n callToAction?: GbpPostCallToAction;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** Insights from Google Business Profile. */\n insights?: GbpInsights;\n}\n\nexport interface GbpPostCallToAction {\n /** Type of the call to action. */\n actionType?: GbpPostCallToActionTypeWithLiterals;\n /**\n * URL of the call to action.\n * @maxLength 2048\n */\n url?: string | null;\n}\n\n/** Type of call to action button shown on the post. */\nexport enum GbpPostCallToActionType {\n BOOK = 'BOOK',\n ORDER = 'ORDER',\n SHOP = 'SHOP',\n LEARN_MORE = 'LEARN_MORE',\n SIGN_UP = 'SIGN_UP',\n}\n\n/** @enumType */\nexport type GbpPostCallToActionTypeWithLiterals =\n | GbpPostCallToActionType\n | 'BOOK'\n | 'ORDER'\n | 'SHOP'\n | 'LEARN_MORE'\n | 'SIGN_UP';\n\nexport interface GbpInsights {\n /** Number of shares. Google Business Profile post insights aren't currently available, so this returns `-1`. */\n shares?: number;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\nexport interface TikTokPhoto {\n /**\n * The account ID to publish the photo to.\n * @maxLength 128\n */\n accountId?: string | null;\n /** Privacy level for the photo. */\n privacyLevel?: TikTokPrivacyLevelWithLiterals;\n /**\n * A title for the photo.\n * @maxLength 90\n */\n title?: string | null;\n /**\n * A description for the photo.\n * @maxLength 4000\n */\n description?: string | null;\n /** Whether comments are disabled for the photo. */\n disableComment?: boolean;\n /** Whether to automatically add music to the photo. */\n autoAddMusic?: boolean;\n /** Whether the content is a paid partnership promoting a third-party business. */\n brandContentToggle?: boolean;\n /** Whether the content promotes the creator's own business. */\n brandOrganicToggle?: boolean;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** Insights from TikTok. */\n insights?: TikTokInsights;\n}\n\nexport enum TikTokPrivacyLevel {\n PUBLIC_TO_EVERYONE = 'PUBLIC_TO_EVERYONE',\n FOLLOWER_OF_CREATOR = 'FOLLOWER_OF_CREATOR',\n MUTUAL_FOLLOW_FRIENDS = 'MUTUAL_FOLLOW_FRIENDS',\n SELF_ONLY = 'SELF_ONLY',\n}\n\n/** @enumType */\nexport type TikTokPrivacyLevelWithLiterals =\n | TikTokPrivacyLevel\n | 'PUBLIC_TO_EVERYONE'\n | 'FOLLOWER_OF_CREATOR'\n | 'MUTUAL_FOLLOW_FRIENDS'\n | 'SELF_ONLY';\n\nexport interface TikTokInsights {\n /** Number of views. */\n views?: number;\n /** Number of likes. */\n likes?: number;\n /** Number of comments. */\n comments?: number;\n /** Number of shares. */\n shares?: number;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\n/**\n * Generates post captions from a text prompt.\n *\n * Returns suggested captions that you can add to an item's content.\n * @param userInput - Text prompt describing the post to generate captions for.\n * @public\n * @documentationMaturity preview\n * @requiredField userInput\n * @permissionId PROMOTE.PUBLISHER_ITEM_CREATE\n * @applicableIdentity APP\n * @fqn com.wixpress.promote.publisher.v1.GeneratedContentService.GenerateText\n */\nexport async function generateText(\n userInput: string,\n options?: GenerateTextOptions\n): Promise<NonNullablePaths<GenerateTextResponse, `results`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n userInput: userInput,\n channelName: options?.channelName,\n tone: options?.tone,\n languageCode: options?.languageCode,\n additionalContent: options?.additionalContent,\n });\n\n const reqOpts =\n ambassadorWixPromotePublisherV1GeneratedContent.generateText(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n userInput: '$[0]',\n channelName: '$[1].channelName',\n tone: '$[1].tone',\n languageCode: '$[1].languageCode',\n additionalContent: '$[1].additionalContent',\n },\n singleArgumentUnchanged: false,\n },\n ['userInput', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateTextOptions {\n /** Social channel to tailor the captions for. */\n channelName?: ChannelNameWithLiterals;\n /**\n * Tone of voice for the captions. For example, `professional` or `playful`.\n * @maxLength 30\n */\n tone?: string | null;\n /**\n * 2-letter language code for the generated captions in ISO 639-1 alpha-2 format.\n * @maxLength 2\n */\n languageCode?: string | null;\n /** Additional content to incorporate into the captions. */\n additionalContent?: AdditionalContent;\n}\n\n/**\n * Generates post content for one or more social channels.\n *\n * Returns per-channel post payloads matching an item's content, so you can use the result to create a draft or publish. Provide site assets, a text prompt, or both.\n * @public\n * @documentationMaturity preview\n * @permissionId promote:publisher:v1:generated_content:generate_post_data\n * @applicableIdentity APP\n * @fqn com.wixpress.promote.publisher.v1.GeneratedContentService.GeneratePostData\n */\nexport async function generatePostData(\n options?: GeneratePostDataOptions\n): Promise<\n NonNullablePaths<\n GeneratePostDataResponse,\n | `results`\n | `results.${number}.instagramPost.insights.likes`\n | `results.${number}.instagramPost.insights.engagement`\n | `results.${number}.instagramPost.insights.impressions`\n | `results.${number}.instagramPost.insights.plays`\n | `results.${number}.instagramPost.insights.reach`\n | `results.${number}.instagramPost.insights.comments`\n | `results.${number}.instagramPost.insights.shares`\n | `results.${number}.instagramPost.insights.saved`\n | `results.${number}.instagramPost.insights.totalInteractions`\n | `results.${number}.linkedinPost.insights.uniqueImpressions`\n | `results.${number}.linkedinPost.insights.impression`\n | `results.${number}.linkedinPost.insights.shares`\n | `results.${number}.linkedinPost.insights.engagement`\n | `results.${number}.linkedinPost.insights.clicks`\n | `results.${number}.linkedinPost.insights.likes`\n | `results.${number}.linkedinPost.insights.comments`\n | `results.${number}.twitterPost.insights.retweets`\n | `results.${number}.twitterPost.insights.replies`\n | `results.${number}.twitterPost.insights.likes`\n | `results.${number}.twitterPost.insights.quotes`\n | `results.${number}.twitterPost.insights.bookmarks`\n | `results.${number}.twitterPost.insights.impressions`\n | `results.${number}.pinterestPost.insights.impressions`\n | `results.${number}.pinterestPost.insights.clicks`\n | `results.${number}.pinterestPost.insights.saves`\n | `results.${number}.pinterestPost.insights.comments`\n | `results.${number}.pinterestPost.insights.reactions`\n | `results.${number}.gbpPost.callToAction.actionType`\n | `results.${number}.gbpPost.insights.shares`\n | `results.${number}.tiktokPhoto.privacyLevel`\n | `results.${number}.tiktokPhoto.disableComment`\n | `results.${number}.tiktokPhoto.autoAddMusic`\n | `results.${number}.tiktokPhoto.brandContentToggle`\n | `results.${number}.tiktokPhoto.brandOrganicToggle`\n | `results.${number}.tiktokPhoto.insights.views`\n | `results.${number}.tiktokPhoto.insights.likes`\n | `results.${number}.tiktokPhoto.insights.comments`\n | `results.${number}.tiktokPhoto.insights.shares`\n | `results.${number}.channelName`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n siteAssets: options?.siteAssets,\n userInput: options?.userInput,\n media: options?.media,\n context: options?.context,\n channels: options?.channels,\n });\n\n const reqOpts =\n ambassadorWixPromotePublisherV1GeneratedContent.generatePostData(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n siteAssets: '$[0].siteAssets',\n userInput: '$[0].userInput',\n media: '$[0].media',\n context: '$[0].context',\n channels: '$[0].channels',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GeneratePostDataOptions {\n /**\n * Site assets the generated post is based on.\n * @maxSize 10\n */\n siteAssets?: SiteAsset[];\n /**\n * Free-form guidance for the generated post content.\n * @maxLength 5000\n */\n userInput?: string | null;\n /**\n * Candidate media for the generated post. Accepts images only. Each item carries a `type` (must be image), a `url`, and an optional Wix Media Manager `fileId` for media already in Wix.\n * @maxSize 10\n */\n media?: Media[];\n /** Additional context to incorporate into the generated content. */\n context?: Record<string, any> | null;\n /**\n * Channels to generate post content for. When empty, the response includes one entry for each supported channel: Instagram, Facebook, LinkedIn, Pinterest, Google Business Profile, and TikTok. A non-empty value narrows the response to the requested channels.\n * @maxSize 10\n */\n channels?: ChannelNameWithLiterals[];\n}\n","import { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'bo._base_domain_': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n {\n srcPath: '/_mcp/social-publisher',\n destPath: '/mcp',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n {\n srcPath: '/_mcp/social-publisher',\n destPath: '/mcp',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n {\n srcPath: '/_mcp/social-publisher',\n destPath: '/mcp',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/social-publisher',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/social-publisher',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/social-publisher',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/social-publisher',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME =\n '@wix/auto_sdk_promote-growth-tools-publisher_generated-content';\n\n/**\n * Generates post captions from a text prompt.\n *\n * Returns suggested captions that you can add to an item's content.\n */\nexport function generateText(payload: object): RequestOptionsFactory<any> {\n function __generateText({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.promote.publisher.v1.generated_content',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.promote.publisher.v1.GeneratedContentService.GenerateText',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl({\n protoPath: '/v1/generate-text',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __generateText;\n}\n\n/**\n * Generates post content for one or more social channels.\n *\n * Returns per-channel post payloads matching an item's content, so you can use the result to create a draft or publish. Provide site assets, a text prompt, or both.\n */\nexport function generatePostData(payload: object): RequestOptionsFactory<any> {\n function __generatePostData({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.promote.publisher.v1.generated_content',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.promote.publisher.v1.GeneratedContentService.GeneratePostData',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl({\n protoPath: '/v1/generate-post-data',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.facebookPost.insights.updatedDate' },\n { path: 'results.linkedinPost.insights.updatedDate' },\n { path: 'results.twitterPost.insights.updatedDate' },\n { path: 'results.pinterestPost.insights.updatedDate' },\n { path: 'results.gbpPost.insights.updatedDate' },\n { path: 'results.tiktokPhoto.insights.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'results.linkedinPost.insights.engagement' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __generatePostData;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n GeneratePostDataOptions,\n GeneratePostDataResponse,\n GenerateTextOptions,\n GenerateTextResponse,\n generatePostData as universalGeneratePostData,\n generateText as universalGenerateText,\n} from './promote-publisher-v1-generated-content-generated-content.universal.js';\n\nexport const __metadata = {\n PACKAGE_NAME: '@wix/promote-growth-tools-publisher',\n};\n\nexport function generateText(httpClient: HttpClient): GenerateTextSignature {\n return (userInput: string, options?: GenerateTextOptions) =>\n universalGenerateText(\n userInput,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GenerateTextSignature {\n /**\n * Generates post captions from a text prompt.\n *\n * Returns suggested captions that you can add to an item's content.\n * @param - Text prompt describing the post to generate captions for.\n */\n (userInput: string, options?: GenerateTextOptions): Promise<\n NonNullablePaths<GenerateTextResponse, `results`, 2>\n >;\n}\n\nexport function generatePostData(\n httpClient: HttpClient\n): GeneratePostDataSignature {\n return (options?: GeneratePostDataOptions) =>\n universalGeneratePostData(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GeneratePostDataSignature {\n /**\n * Generates post content for one or more social channels.\n *\n * Returns per-channel post payloads matching an item's content, so you can use the result to create a draft or publish. Provide site assets, a text prompt, or both.\n */\n (options?: GeneratePostDataOptions): Promise<\n NonNullablePaths<\n GeneratePostDataResponse,\n | `results`\n | `results.${number}.instagramPost.insights.likes`\n | `results.${number}.instagramPost.insights.engagement`\n | `results.${number}.instagramPost.insights.impressions`\n | `results.${number}.instagramPost.insights.plays`\n | `results.${number}.instagramPost.insights.reach`\n | `results.${number}.instagramPost.insights.comments`\n | `results.${number}.instagramPost.insights.shares`\n | `results.${number}.instagramPost.insights.saved`\n | `results.${number}.instagramPost.insights.totalInteractions`\n | `results.${number}.linkedinPost.insights.uniqueImpressions`\n | `results.${number}.linkedinPost.insights.impression`\n | `results.${number}.linkedinPost.insights.shares`\n | `results.${number}.linkedinPost.insights.engagement`\n | `results.${number}.linkedinPost.insights.clicks`\n | `results.${number}.linkedinPost.insights.likes`\n | `results.${number}.linkedinPost.insights.comments`\n | `results.${number}.twitterPost.insights.retweets`\n | `results.${number}.twitterPost.insights.replies`\n | `results.${number}.twitterPost.insights.likes`\n | `results.${number}.twitterPost.insights.quotes`\n | `results.${number}.twitterPost.insights.bookmarks`\n | `results.${number}.twitterPost.insights.impressions`\n | `results.${number}.pinterestPost.insights.impressions`\n | `results.${number}.pinterestPost.insights.clicks`\n | `results.${number}.pinterestPost.insights.saves`\n | `results.${number}.pinterestPost.insights.comments`\n | `results.${number}.pinterestPost.insights.reactions`\n | `results.${number}.gbpPost.callToAction.actionType`\n | `results.${number}.gbpPost.insights.shares`\n | `results.${number}.tiktokPhoto.privacyLevel`\n | `results.${number}.tiktokPhoto.disableComment`\n | `results.${number}.tiktokPhoto.autoAddMusic`\n | `results.${number}.tiktokPhoto.brandContentToggle`\n | `results.${number}.tiktokPhoto.brandOrganicToggle`\n | `results.${number}.tiktokPhoto.insights.views`\n | `results.${number}.tiktokPhoto.insights.likes`\n | `results.${number}.tiktokPhoto.insights.comments`\n | `results.${number}.tiktokPhoto.insights.shares`\n | `results.${number}.channelName`,\n 6\n >\n >;\n}\n\nexport {\n AdditionalContent,\n ChannelName,\n ChannelPostData,\n ChannelPostDataDataOneOf,\n FacebokActivity,\n FacebookImpressions,\n FacebookInsights,\n FacebookInteractions,\n FacebookPost,\n FacebookPostUrlOneOf,\n FacebookReactions,\n GbpInsights,\n GbpPost,\n GbpPostCallToAction,\n GbpPostCallToActionType,\n GenerateImageRequest,\n GenerateImageResponse,\n GenerateMediaStatus,\n GeneratePostDataOptions,\n GeneratePostDataRequest,\n GeneratePostDataResponse,\n GenerateTextOptions,\n GenerateTextRequest,\n GenerateTextResponse,\n GenerateTextResult,\n GenerateVideoRequest,\n GenerateVideoResponse,\n GeneratedContent,\n InstagramInsights,\n InstagramPost,\n InstagramPostUrlOneOf,\n LinkMetadata,\n LinkedinPost,\n LinkedinPostInsights,\n LinkedinPostUrlOneOf,\n Media,\n MediaType,\n MediaWrapper,\n PinterestInsights,\n PinterestPost,\n SiteAsset,\n TikTokInsights,\n TikTokPhoto,\n TikTokPrivacyLevel,\n TwitterInsights,\n TwitterPost,\n TwitterPostUrlOneOf,\n Type,\n} from './promote-publisher-v1-generated-content-generated-content.universal.js';\n","import {\n generateText as publicGenerateText,\n generatePostData as publicGeneratePostData,\n} from './promote-publisher-v1-generated-content-generated-content.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const generateText: MaybeContext<\n BuildRESTFunction<typeof publicGenerateText> & typeof publicGenerateText\n> = /*#__PURE__*/ createRESTModule(publicGenerateText);\nexport const generatePostData: MaybeContext<\n BuildRESTFunction<typeof publicGeneratePostData> &\n typeof publicGeneratePostData\n> = /*#__PURE__*/ createRESTModule(publicGeneratePostData);\n\nexport {\n ChannelName,\n GenerateMediaStatus,\n Type,\n MediaType,\n GbpPostCallToActionType,\n TikTokPrivacyLevel,\n} from './promote-publisher-v1-generated-content-generated-content.universal.js';\nexport {\n GeneratedContent,\n GenerateTextRequest,\n AdditionalContent,\n GenerateTextResponse,\n GenerateTextResult,\n GenerateImageRequest,\n GenerateImageResponse,\n GenerateVideoRequest,\n GenerateVideoResponse,\n GeneratePostDataRequest,\n SiteAsset,\n Media,\n GeneratePostDataResponse,\n ChannelPostData,\n ChannelPostDataDataOneOf,\n InstagramPost,\n InstagramPostUrlOneOf,\n MediaWrapper,\n InstagramInsights,\n FacebookPost,\n FacebookPostUrlOneOf,\n LinkMetadata,\n FacebookInsights,\n FacebookImpressions,\n FacebookInteractions,\n FacebookReactions,\n FacebokActivity,\n LinkedinPost,\n LinkedinPostUrlOneOf,\n LinkedinPostInsights,\n TwitterPost,\n TwitterPostUrlOneOf,\n TwitterInsights,\n PinterestPost,\n PinterestInsights,\n GbpPost,\n GbpPostCallToAction,\n GbpInsights,\n TikTokPhoto,\n TikTokInsights,\n GenerateTextOptions,\n GeneratePostDataOptions,\n} from './promote-publisher-v1-generated-content-generated-content.universal.js';\nexport {\n ChannelNameWithLiterals,\n GenerateMediaStatusWithLiterals,\n TypeWithLiterals,\n MediaTypeWithLiterals,\n GbpPostCallToActionTypeWithLiterals,\n TikTokPrivacyLevelWithLiterals,\n} from './promote-publisher-v1-generated-content-generated-content.universal.js';\n"],"mappings":"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","names":["generatePostData","generateText","payload","ChannelName","GenerateMediaStatus","Type","MediaType","GbpPostCallToActionType","TikTokPrivacyLevel","generateText","sdkTransformError","generatePostData","generateText","generatePostData","import_rest_modules","generateText","generatePostData"]}
1
+ {"version":3,"sources":["../../index.ts","../../src/promote-publisher-v1-generated-content-generated-content.universal.ts","../../src/promote-publisher-v1-generated-content-generated-content.http.ts","../../src/promote-publisher-v1-generated-content-generated-content.public.ts","../../src/promote-publisher-v1-generated-content-generated-content.context.ts"],"sourcesContent":["export * from './src/promote-publisher-v1-generated-content-generated-content.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixPromotePublisherV1GeneratedContent from './promote-publisher-v1-generated-content-generated-content.http.js';\n\n/** Generated content is AI-created post material, such as captions, titles, and images, produced from a text prompt or a site's assets. Use generated content to build a post and then publish it as an item. */\nexport interface GeneratedContent {\n /**\n * Generated content ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n}\n\nexport interface GenerateTextRequest {\n /**\n * Text prompt describing the post to generate captions for.\n * @maxLength 3000\n */\n userInput: string | null;\n /** Social channel to tailor the captions for. */\n channelName?: ChannelNameWithLiterals;\n /**\n * Tone of voice for the captions. For example, `professional` or `playful`.\n * @maxLength 30\n */\n tone?: string | null;\n /**\n * 2-letter language code for the generated captions in ISO 639-1 alpha-2 format.\n * @maxLength 2\n */\n languageCode?: string | null;\n /** Additional content to incorporate into the captions. */\n additionalContent?: AdditionalContent;\n}\n\n/** Supported social channel. */\nexport enum ChannelName {\n INSTAGRAM = 'INSTAGRAM',\n FACEBOOK = 'FACEBOOK',\n YOUTUBE = 'YOUTUBE',\n LINKEDIN = 'LINKEDIN',\n /** Deprecated: No longer functional as of July 31, 2026. */\n TWITTER = 'TWITTER',\n PINTEREST = 'PINTEREST',\n /** Google Business Profile. */\n GBP = 'GBP',\n TIKTOK = 'TIKTOK',\n}\n\n/** @enumType */\nexport type ChannelNameWithLiterals =\n | ChannelName\n | 'INSTAGRAM'\n | 'FACEBOOK'\n | 'YOUTUBE'\n | 'LINKEDIN'\n | 'TWITTER'\n | 'PINTEREST'\n | 'GBP'\n | 'TIKTOK';\n\nexport interface AdditionalContent {\n /**\n * URL to reference in the captions, such as a link to promote.\n * @format WEB_URL\n */\n url?: string | null;\n /** Whether to include hashtags in the captions. */\n withHashtags?: boolean | null;\n /** Whether to add a \"link in bio\" reference to the captions. */\n addLinkInBio?: boolean | null;\n}\n\nexport interface GenerateTextResponse {\n /** Generated caption suggestions. */\n results?: GenerateTextResult[];\n}\n\nexport interface GenerateTextResult {\n /**\n * Generated caption.\n * @maxLength 1000\n */\n caption?: string | null;\n /**\n * Generated title.\n * @maxLength 1000\n */\n title?: string | null;\n}\n\nexport interface GenerateImageRequest {\n /**\n * Text prompt describing the image to generate.\n * @maxLength 3000\n */\n userInput: string | null;\n /**\n * URL of the source image to generate from.\n * @format WEB_URL\n */\n imageUrl: string | null;\n}\n\nexport interface GenerateImageResponse {\n /** Status of the generation request. */\n status?: GenerateMediaStatusWithLiterals;\n /**\n * Identifies the asynchronous image-generation process.\n * @maxLength 1000\n */\n executionId?: string | null;\n}\n\n/** Status of a media generation request. */\nexport enum GenerateMediaStatus {\n UNKNOWN_STATUS = 'UNKNOWN_STATUS',\n /** The generation request was accepted. */\n OK = 'OK',\n}\n\n/** @enumType */\nexport type GenerateMediaStatusWithLiterals =\n | GenerateMediaStatus\n | 'UNKNOWN_STATUS'\n | 'OK';\n\nexport interface GetGeneratedImageRequest {\n /**\n * The image-generation process ID returned by Generate Image.\n * @maxLength 1000\n */\n executionId: string | null;\n}\n\nexport interface GetGeneratedImageResponse {\n /** Status of the image generation. */\n status?: StatusWithLiterals;\n /**\n * URL of the generated image. Returned only when the status is `READY`.\n * @format WEB_URL\n */\n imageUrl?: string | null;\n /**\n * Media Manager file ID of the generated image. Returned only when the status is `READY`.\n * @maxLength 1000\n */\n fileId?: string | null;\n}\n\n/** Status of an image-generation request. */\nexport enum Status {\n /** Generation is still in progress. */\n IN_PROGRESS = 'IN_PROGRESS',\n /** Generation completed and the image is available. */\n READY = 'READY',\n /** Generation failed. */\n FAILED = 'FAILED',\n}\n\n/** @enumType */\nexport type StatusWithLiterals = Status | 'IN_PROGRESS' | 'READY' | 'FAILED';\n\nexport interface GenerateVideoRequest {\n /** @maxLength 3000 */\n userInput?: string | null;\n /** @format WEB_URL */\n imageUrl?: string | null;\n}\n\nexport interface GenerateVideoResponse {\n status?: GenerateMediaStatusWithLiterals;\n /** @maxLength 1000 */\n executionId?: string | null;\n}\n\n/** Request for GeneratePostData. Provide at least one of `siteAssets` or `userInput`. */\nexport interface GeneratePostDataRequest {\n /**\n * Site assets the generated post is based on.\n * @maxSize 10\n */\n siteAssets?: SiteAsset[];\n /**\n * Free-form guidance for the generated post content.\n * @maxLength 5000\n */\n userInput?: string | null;\n /**\n * Candidate media for the generated post. Accepts images only. Each item carries a `type` (must be image), a `url`, and an optional Wix Media Manager `fileId` for media already in Wix.\n * @maxSize 10\n */\n media?: Media[];\n /** Additional context to incorporate into the generated content. */\n context?: Record<string, any> | null;\n /**\n * Channels to generate post content for. When empty, the response includes one entry for each supported channel: Instagram, Facebook, LinkedIn, Pinterest, Google Business Profile, and TikTok. A non-empty value narrows the response to the requested channels.\n * @maxSize 10\n */\n channels?: ChannelNameWithLiterals[];\n}\n\n/** A site asset, such as a product or a blog post, that post content can be generated from. */\nexport interface SiteAsset {\n /**\n * ID of the asset in the Wix app that owns it. For example, a product ID for a `STORES_PRODUCT` asset.\n * @maxLength 256\n */\n _id?: string | null;\n /** Type of asset. */\n type?: TypeWithLiterals;\n}\n\n/** Type of site asset. */\nexport enum Type {\n /** A Wix Blog post. */\n BLOG_POST = 'BLOG_POST',\n /** A Wix Events event. */\n EVENT = 'EVENT',\n /** A Wix Stores product. */\n STORES_PRODUCT = 'STORES_PRODUCT',\n /** A Wix Bookings service. */\n BOOKINGS_SERVICE = 'BOOKINGS_SERVICE',\n /** A Wix Stores coupon. */\n STORES_COUPON = 'STORES_COUPON',\n /** A Wix Stores category. */\n STORES_CATEGORY = 'STORES_CATEGORY',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n | Type\n | 'BLOG_POST'\n | 'EVENT'\n | 'STORES_PRODUCT'\n | 'BOOKINGS_SERVICE'\n | 'STORES_COUPON'\n | 'STORES_CATEGORY';\n\nexport interface Media {\n /** Media type. */\n type?: MediaTypeWithLiterals;\n /**\n * Media URL.\n * @format WEB_URL\n */\n url?: string | null;\n /**\n * Media Manager file ID backing the media. Available only when the media is stored in the Media Manager.\n * @maxLength 1000\n */\n fileId?: string | null;\n}\n\nexport enum MediaType {\n IMAGE = 'IMAGE',\n VIDEO = 'VIDEO',\n}\n\n/** @enumType */\nexport type MediaTypeWithLiterals = MediaType | 'IMAGE' | 'VIDEO';\n\nexport interface GeneratePostDataResponse {\n /** Generated post content, one entry per requested channel. */\n results?: ChannelPostData[];\n}\n\n/** Channel-specific post content. Use it to create a draft or publish an item. */\nexport interface ChannelPostData extends ChannelPostDataDataOneOf {\n instagramPost?: InstagramPost;\n facebookPost?: FacebookPost;\n linkedinPost?: LinkedinPost;\n /**\n * Deprecated: No longer functional as of July 31, 2026.\n * @deprecated Deprecated: No longer functional as of July 31, 2026.\n * @targetRemovalDate 2026-07-31\n */\n twitterPost?: TwitterPost;\n pinterestPost?: PinterestPost;\n gbpPost?: GbpPost;\n tiktokPhoto?: TikTokPhoto;\n /** Channel the content is generated for. */\n channelName?: ChannelNameWithLiterals;\n}\n\n/** @oneof */\nexport interface ChannelPostDataDataOneOf {\n instagramPost?: InstagramPost;\n facebookPost?: FacebookPost;\n linkedinPost?: LinkedinPost;\n /**\n * Deprecated: No longer functional as of July 31, 2026.\n * @deprecated Deprecated: No longer functional as of July 31, 2026.\n * @targetRemovalDate 2026-07-31\n */\n twitterPost?: TwitterPost;\n pinterestPost?: PinterestPost;\n gbpPost?: GbpPost;\n tiktokPhoto?: TikTokPhoto;\n}\n\nexport interface InstagramPost extends InstagramPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /**\n * Caption for the post. Can include hashtags (for example, `#crazywildebeest`) and mentions of Instagram users (for example, `@natgeo`). Mentioned users are notified when the post is published. Supports up to 30 hashtags and 20 mentions.\n * @maxLength 2200\n */\n caption?: string | null;\n /**\n * The post URL on Instagram.\n * @readonly\n */\n postUrl?: string | null;\n /** Insights from Instagram. */\n insights?: InstagramInsights;\n}\n\n/** @oneof */\nexport interface InstagramPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n}\n\nexport interface MediaWrapper {\n /** List of media items. */\n media?: Media[];\n}\n\nexport interface InstagramInsights {\n /** Number of likes. */\n likes?: number;\n /** Number of engagements. */\n engagement?: number;\n /** Number of impressions. */\n impressions?: number;\n /** Number of plays. */\n plays?: number;\n /** Number of accounts reached. */\n reach?: number;\n /** Number of comments. */\n comments?: number;\n /** Number of shares. */\n shares?: number;\n /** Number of saves. */\n saved?: number;\n /** Total number of interactions. */\n totalInteractions?: number;\n}\n\nexport interface FacebookPost extends FacebookPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** The page ID to publish the post to. */\n pageId?: string | null;\n /** Caption for the post. */\n caption?: string | null;\n /**\n * The post URL on Facebook.\n * @readonly\n */\n postUrl?: string | null;\n /** Link preview metadata. Available only when the post contains a link. */\n linkMetadata?: LinkMetadata;\n /** Insights from Facebook. */\n insights?: FacebookInsights;\n}\n\n/** @oneof */\nexport interface FacebookPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n}\n\nexport interface LinkMetadata {\n /** Thumbnail URL for the link preview. */\n thumbnailUrl?: string | null;\n /** Title for the link preview. */\n title?: string | null;\n /** Description for the link preview. */\n description?: string | null;\n}\n\nexport interface FacebookInsights {\n /** Impression counts. */\n impressions?: FacebookImpressions;\n /** Interaction counts. */\n interactions?: FacebookInteractions;\n /** Reaction counts. */\n reactions?: FacebookReactions;\n /** Activity counts. */\n activity?: FacebokActivity;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\nexport interface FacebookImpressions {\n /** Number of unique impressions. */\n unique?: number;\n /** Total number of impressions. */\n total?: number;\n}\n\nexport interface FacebookInteractions {\n /** Number of unique interactions. */\n unique?: number;\n /** Total number of interactions. */\n total?: number;\n}\n\nexport interface FacebookReactions {\n /** Number of \"like\" reactions. */\n like?: number;\n /** Number of \"love\" reactions. */\n love?: number;\n /** Number of \"wow\" reactions. */\n wow?: number;\n /** Number of \"haha\" reactions. */\n haha?: number;\n /** Number of \"sad\" reactions. */\n sad?: number;\n /** Number of \"angry\" reactions. */\n anger?: number;\n}\n\nexport interface FacebokActivity {\n /** Number of shares. */\n share?: number;\n /** Number of likes. */\n like?: number;\n /** Number of comments. */\n comment?: number;\n}\n\nexport interface LinkedinPost extends LinkedinPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** Author ID of the post. Can be an organization page or a personal feed. */\n authorId?: string | null;\n /** Caption for the post. */\n caption?: string | null;\n /** Link preview metadata. Available only when the post contains a link. */\n linkMetadata?: LinkMetadata;\n /** Insights from LinkedIn. */\n insights?: LinkedinPostInsights;\n}\n\n/** @oneof */\nexport interface LinkedinPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n}\n\nexport interface LinkedinPostInsights {\n /** Number of unique impressions. */\n uniqueImpressions?: number;\n /** Total number of impressions. */\n impression?: number;\n /** Number of shares. */\n shares?: number;\n /** Engagement rate. */\n engagement?: number;\n /** Number of clicks. */\n clicks?: number;\n /** Number of likes. */\n likes?: number;\n /** Number of comments. */\n comments?: number;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\n/** Deprecated: No longer functional as of July 31, 2026. */\nexport interface TwitterPost extends TwitterPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** Caption for the post. */\n caption?: string | null;\n /** Link preview metadata. Available only when the post contains a link. */\n linkMetadata?: LinkMetadata;\n /** Insights from X (Twitter). */\n insights?: TwitterInsights;\n}\n\n/** @oneof */\nexport interface TwitterPostUrlOneOf {\n /** The image URL. */\n imageUrl?: string | null;\n /** The video URL. */\n videoUrl?: string | null;\n /** The link URL. */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n}\n\n/** Deprecated: No longer functional as of July 31, 2026. */\nexport interface TwitterInsights {\n /** Number of retweets. */\n retweets?: number;\n /** Number of replies. */\n replies?: number;\n /** Number of likes. */\n likes?: number;\n /** Number of quote posts. */\n quotes?: number;\n /** Number of bookmarks. */\n bookmarks?: number;\n /** Number of impressions. */\n impressions?: number;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\nexport interface PinterestPost {\n /**\n * The board ID to publish the post to.\n * @maxLength 128\n */\n boardId?: string | null;\n /**\n * The title of the post.\n * @maxLength 100\n */\n title?: string | null;\n /**\n * The description of the post.\n * @maxLength 800\n */\n description?: string | null;\n /**\n * The link to include in the post.\n * @maxLength 2048\n */\n link?: string | null;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** Insights from Pinterest. */\n insights?: PinterestInsights;\n}\n\nexport interface PinterestInsights {\n /** Number of impressions. */\n impressions?: number;\n /** Number of clicks. */\n clicks?: number;\n /** Number of saves. */\n saves?: number;\n /** Number of comments. */\n comments?: number;\n /** Number of reactions. */\n reactions?: number;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\nexport interface GbpPost {\n /**\n * The location ID to publish the post to.\n * @maxLength 128\n */\n locationId?: string | null;\n /**\n * Account (group) ID of the location.\n * @maxLength 128\n */\n locationAccountId?: string | null;\n /**\n * The description of the post.\n * @maxLength 1500\n */\n description?: string | null;\n /** Call to action type and URL to include in the post. */\n callToAction?: GbpPostCallToAction;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** Insights from Google Business Profile. */\n insights?: GbpInsights;\n}\n\nexport interface GbpPostCallToAction {\n /** Type of the call to action. */\n actionType?: GbpPostCallToActionTypeWithLiterals;\n /**\n * URL of the call to action.\n * @maxLength 2048\n */\n url?: string | null;\n}\n\n/** Type of call to action button shown on the post. */\nexport enum GbpPostCallToActionType {\n BOOK = 'BOOK',\n ORDER = 'ORDER',\n SHOP = 'SHOP',\n LEARN_MORE = 'LEARN_MORE',\n SIGN_UP = 'SIGN_UP',\n}\n\n/** @enumType */\nexport type GbpPostCallToActionTypeWithLiterals =\n | GbpPostCallToActionType\n | 'BOOK'\n | 'ORDER'\n | 'SHOP'\n | 'LEARN_MORE'\n | 'SIGN_UP';\n\nexport interface GbpInsights {\n /** Number of shares. Google Business Profile post insights aren't currently available, so this returns `-1`. */\n shares?: number;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\nexport interface TikTokPhoto {\n /**\n * The account ID to publish the photo to.\n * @maxLength 128\n */\n accountId?: string | null;\n /** Privacy level for the photo. */\n privacyLevel?: TikTokPrivacyLevelWithLiterals;\n /**\n * A title for the photo.\n * @maxLength 90\n */\n title?: string | null;\n /**\n * A description for the photo.\n * @maxLength 4000\n */\n description?: string | null;\n /** Whether comments are disabled for the photo. */\n disableComment?: boolean;\n /** Whether to automatically add music to the photo. */\n autoAddMusic?: boolean;\n /** Whether the content is a paid partnership promoting a third-party business. */\n brandContentToggle?: boolean;\n /** Whether the content promotes the creator's own business. */\n brandOrganicToggle?: boolean;\n /** The media list. */\n mediaWrapper?: MediaWrapper;\n /** Insights from TikTok. */\n insights?: TikTokInsights;\n}\n\nexport enum TikTokPrivacyLevel {\n PUBLIC_TO_EVERYONE = 'PUBLIC_TO_EVERYONE',\n FOLLOWER_OF_CREATOR = 'FOLLOWER_OF_CREATOR',\n MUTUAL_FOLLOW_FRIENDS = 'MUTUAL_FOLLOW_FRIENDS',\n SELF_ONLY = 'SELF_ONLY',\n}\n\n/** @enumType */\nexport type TikTokPrivacyLevelWithLiterals =\n | TikTokPrivacyLevel\n | 'PUBLIC_TO_EVERYONE'\n | 'FOLLOWER_OF_CREATOR'\n | 'MUTUAL_FOLLOW_FRIENDS'\n | 'SELF_ONLY';\n\nexport interface TikTokInsights {\n /** Number of views. */\n views?: number;\n /** Number of likes. */\n likes?: number;\n /** Number of comments. */\n comments?: number;\n /** Number of shares. */\n shares?: number;\n /** Date and time the insights were last updated. */\n _updatedDate?: Date | null;\n}\n\n/** @docsIgnore */\nexport type GetGeneratedImageApplicationErrors = {\n code?: 'GENERATED_IMAGE_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n};\n\n/**\n * Generates post captions from a text prompt.\n *\n * Returns suggested captions that you can add to an item's content.\n * @param userInput - Text prompt describing the post to generate captions for.\n * @public\n * @documentationMaturity preview\n * @requiredField userInput\n * @permissionId PROMOTE.PUBLISHER_ITEM_CREATE\n * @applicableIdentity APP\n * @fqn com.wixpress.promote.publisher.v1.GeneratedContentService.GenerateText\n */\nexport async function generateText(\n userInput: string,\n options?: GenerateTextOptions\n): Promise<NonNullablePaths<GenerateTextResponse, `results`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n userInput: userInput,\n channelName: options?.channelName,\n tone: options?.tone,\n languageCode: options?.languageCode,\n additionalContent: options?.additionalContent,\n });\n\n const reqOpts =\n ambassadorWixPromotePublisherV1GeneratedContent.generateText(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n userInput: '$[0]',\n channelName: '$[1].channelName',\n tone: '$[1].tone',\n languageCode: '$[1].languageCode',\n additionalContent: '$[1].additionalContent',\n },\n singleArgumentUnchanged: false,\n },\n ['userInput', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateTextOptions {\n /** Social channel to tailor the captions for. */\n channelName?: ChannelNameWithLiterals;\n /**\n * Tone of voice for the captions. For example, `professional` or `playful`.\n * @maxLength 30\n */\n tone?: string | null;\n /**\n * 2-letter language code for the generated captions in ISO 639-1 alpha-2 format.\n * @maxLength 2\n */\n languageCode?: string | null;\n /** Additional content to incorporate into the captions. */\n additionalContent?: AdditionalContent;\n}\n\n/**\n * Generates an image from a text prompt and a source image.\n *\n * Image generation runs asynchronously. This method starts the process and returns an `executionId`. Poll Get Generated Image with that `executionId` until the status is `READY` (the `imageUrl` and `fileId` are then populated) or `FAILED`. The generated image is also added to the \"Social Marketing AI Media\" folder in the site's Media Manager.\n * @param userInput - Text prompt describing the image to generate.\n * @public\n * @documentationMaturity preview\n * @requiredField options\n * @requiredField options.imageUrl\n * @requiredField userInput\n * @permissionId promote:publisher:v1:generated_content:generate_image\n * @applicableIdentity APP\n * @fqn com.wixpress.promote.publisher.v1.GeneratedContentService.GenerateImage\n */\nexport async function generateImage(\n userInput: string,\n options: NonNullablePaths<GenerateImageOptions, `imageUrl`, 2>\n): Promise<NonNullablePaths<GenerateImageResponse, `status`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n userInput: userInput,\n imageUrl: options?.imageUrl,\n });\n\n const reqOpts =\n ambassadorWixPromotePublisherV1GeneratedContent.generateImage(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n userInput: '$[0]',\n imageUrl: '$[1].imageUrl',\n },\n singleArgumentUnchanged: false,\n },\n ['userInput', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateImageOptions {\n /**\n * URL of the source image to generate from.\n * @format WEB_URL\n */\n imageUrl: string | null;\n}\n\n/**\n * Retrieves the result of an asynchronous image-generation request.\n *\n * Poll this with the `executionId` returned by Generate Image until the status is `READY`, when the generated image's `imageUrl` and `fileId` are populated, or `FAILED`.\n * @param executionId - The image-generation process ID returned by Generate Image.\n * @public\n * @documentationMaturity preview\n * @requiredField executionId\n * @permissionId promote:publisher:v1:generated_content:get_generated_image\n * @applicableIdentity APP\n * @fqn com.wixpress.promote.publisher.v1.GeneratedContentService.GetGeneratedImage\n */\nexport async function getGeneratedImage(executionId: string): Promise<\n NonNullablePaths<GetGeneratedImageResponse, `status`, 2> & {\n __applicationErrorsType?: GetGeneratedImageApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n executionId: executionId,\n });\n\n const reqOpts =\n ambassadorWixPromotePublisherV1GeneratedContent.getGeneratedImage(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { executionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['executionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Generates post content for one or more social channels.\n *\n * Returns per-channel post payloads matching an item's content, so you can use the result to create a draft or publish. Provide site assets, a text prompt, or both.\n * @public\n * @documentationMaturity preview\n * @permissionId promote:publisher:v1:generated_content:generate_post_data\n * @applicableIdentity APP\n * @fqn com.wixpress.promote.publisher.v1.GeneratedContentService.GeneratePostData\n */\nexport async function generatePostData(\n options?: GeneratePostDataOptions\n): Promise<\n NonNullablePaths<\n GeneratePostDataResponse,\n | `results`\n | `results.${number}.instagramPost.insights.likes`\n | `results.${number}.instagramPost.insights.engagement`\n | `results.${number}.instagramPost.insights.impressions`\n | `results.${number}.instagramPost.insights.plays`\n | `results.${number}.instagramPost.insights.reach`\n | `results.${number}.instagramPost.insights.comments`\n | `results.${number}.instagramPost.insights.shares`\n | `results.${number}.instagramPost.insights.saved`\n | `results.${number}.instagramPost.insights.totalInteractions`\n | `results.${number}.linkedinPost.insights.uniqueImpressions`\n | `results.${number}.linkedinPost.insights.impression`\n | `results.${number}.linkedinPost.insights.shares`\n | `results.${number}.linkedinPost.insights.engagement`\n | `results.${number}.linkedinPost.insights.clicks`\n | `results.${number}.linkedinPost.insights.likes`\n | `results.${number}.linkedinPost.insights.comments`\n | `results.${number}.twitterPost.insights.retweets`\n | `results.${number}.twitterPost.insights.replies`\n | `results.${number}.twitterPost.insights.likes`\n | `results.${number}.twitterPost.insights.quotes`\n | `results.${number}.twitterPost.insights.bookmarks`\n | `results.${number}.twitterPost.insights.impressions`\n | `results.${number}.pinterestPost.insights.impressions`\n | `results.${number}.pinterestPost.insights.clicks`\n | `results.${number}.pinterestPost.insights.saves`\n | `results.${number}.pinterestPost.insights.comments`\n | `results.${number}.pinterestPost.insights.reactions`\n | `results.${number}.gbpPost.callToAction.actionType`\n | `results.${number}.gbpPost.insights.shares`\n | `results.${number}.tiktokPhoto.privacyLevel`\n | `results.${number}.tiktokPhoto.disableComment`\n | `results.${number}.tiktokPhoto.autoAddMusic`\n | `results.${number}.tiktokPhoto.brandContentToggle`\n | `results.${number}.tiktokPhoto.brandOrganicToggle`\n | `results.${number}.tiktokPhoto.insights.views`\n | `results.${number}.tiktokPhoto.insights.likes`\n | `results.${number}.tiktokPhoto.insights.comments`\n | `results.${number}.tiktokPhoto.insights.shares`\n | `results.${number}.channelName`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n siteAssets: options?.siteAssets,\n userInput: options?.userInput,\n media: options?.media,\n context: options?.context,\n channels: options?.channels,\n });\n\n const reqOpts =\n ambassadorWixPromotePublisherV1GeneratedContent.generatePostData(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n siteAssets: '$[0].siteAssets',\n userInput: '$[0].userInput',\n media: '$[0].media',\n context: '$[0].context',\n channels: '$[0].channels',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GeneratePostDataOptions {\n /**\n * Site assets the generated post is based on.\n * @maxSize 10\n */\n siteAssets?: SiteAsset[];\n /**\n * Free-form guidance for the generated post content.\n * @maxLength 5000\n */\n userInput?: string | null;\n /**\n * Candidate media for the generated post. Accepts images only. Each item carries a `type` (must be image), a `url`, and an optional Wix Media Manager `fileId` for media already in Wix.\n * @maxSize 10\n */\n media?: Media[];\n /** Additional context to incorporate into the generated content. */\n context?: Record<string, any> | null;\n /**\n * Channels to generate post content for. When empty, the response includes one entry for each supported channel: Instagram, Facebook, LinkedIn, Pinterest, Google Business Profile, and TikTok. A non-empty value narrows the response to the requested channels.\n * @maxSize 10\n */\n channels?: ChannelNameWithLiterals[];\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'bo._base_domain_': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n {\n srcPath: '/_mcp/social-publisher',\n destPath: '/mcp',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n {\n srcPath: '/_mcp/social-publisher',\n destPath: '/mcp',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n {\n srcPath: '/_mcp/social-publisher',\n destPath: '/mcp',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_serverless/publisher',\n destPath: '',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/social-publisher',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/social-publisher',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/social-publisher',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/social-publisher',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME =\n '@wix/auto_sdk_promote-growth-tools-publisher_generated-content';\n\n/**\n * Generates post captions from a text prompt.\n *\n * Returns suggested captions that you can add to an item's content.\n */\nexport function generateText(payload: object): RequestOptionsFactory<any> {\n function __generateText({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.promote.publisher.v1.generated_content',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.promote.publisher.v1.GeneratedContentService.GenerateText',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl({\n protoPath: '/v1/generate-text',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __generateText;\n}\n\n/**\n * Generates an image from a text prompt and a source image.\n *\n * Image generation runs asynchronously. This method starts the process and returns an `executionId`. Poll Get Generated Image with that `executionId` until the status is `READY` (the `imageUrl` and `fileId` are then populated) or `FAILED`. The generated image is also added to the \"Social Marketing AI Media\" folder in the site's Media Manager.\n */\nexport function generateImage(payload: object): RequestOptionsFactory<any> {\n function __generateImage({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.promote.publisher.v1.generated_content',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.promote.publisher.v1.GeneratedContentService.GenerateImage',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl({\n protoPath: '/v1/generate-image',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __generateImage;\n}\n\n/**\n * Retrieves the result of an asynchronous image-generation request.\n *\n * Poll this with the `executionId` returned by Generate Image until the status is `READY`, when the generated image's `imageUrl` and `fileId` are populated, or `FAILED`.\n */\nexport function getGeneratedImage(payload: object): RequestOptionsFactory<any> {\n function __getGeneratedImage({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.promote.publisher.v1.generated_content',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.promote.publisher.v1.GeneratedContentService.GetGeneratedImage',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl({\n protoPath: '/v1/generated-image/{executionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getGeneratedImage;\n}\n\n/**\n * Generates post content for one or more social channels.\n *\n * Returns per-channel post payloads matching an item's content, so you can use the result to create a draft or publish. Provide site assets, a text prompt, or both.\n */\nexport function generatePostData(payload: object): RequestOptionsFactory<any> {\n function __generatePostData({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.promote.publisher.v1.generated_content',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.promote.publisher.v1.GeneratedContentService.GeneratePostData',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressPromotePublisherV1GeneratedContentServiceUrl({\n protoPath: '/v1/generate-post-data',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.facebookPost.insights.updatedDate' },\n { path: 'results.linkedinPost.insights.updatedDate' },\n { path: 'results.twitterPost.insights.updatedDate' },\n { path: 'results.pinterestPost.insights.updatedDate' },\n { path: 'results.gbpPost.insights.updatedDate' },\n { path: 'results.tiktokPhoto.insights.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'results.linkedinPost.insights.engagement' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __generatePostData;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n GenerateImageOptions,\n GenerateImageResponse,\n GeneratePostDataOptions,\n GeneratePostDataResponse,\n GenerateTextOptions,\n GenerateTextResponse,\n GetGeneratedImageApplicationErrors,\n GetGeneratedImageResponse,\n generateImage as universalGenerateImage,\n generatePostData as universalGeneratePostData,\n generateText as universalGenerateText,\n getGeneratedImage as universalGetGeneratedImage,\n} from './promote-publisher-v1-generated-content-generated-content.universal.js';\n\nexport const __metadata = {\n PACKAGE_NAME: '@wix/promote-growth-tools-publisher',\n};\n\nexport function generateText(httpClient: HttpClient): GenerateTextSignature {\n return (userInput: string, options?: GenerateTextOptions) =>\n universalGenerateText(\n userInput,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GenerateTextSignature {\n /**\n * Generates post captions from a text prompt.\n *\n * Returns suggested captions that you can add to an item's content.\n * @param - Text prompt describing the post to generate captions for.\n */\n (userInput: string, options?: GenerateTextOptions): Promise<\n NonNullablePaths<GenerateTextResponse, `results`, 2>\n >;\n}\n\nexport function generateImage(httpClient: HttpClient): GenerateImageSignature {\n return (\n userInput: string,\n options: NonNullablePaths<GenerateImageOptions, `imageUrl`, 2>\n ) =>\n universalGenerateImage(\n userInput,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GenerateImageSignature {\n /**\n * Generates an image from a text prompt and a source image.\n *\n * Image generation runs asynchronously. This method starts the process and returns an `executionId`. Poll Get Generated Image with that `executionId` until the status is `READY` (the `imageUrl` and `fileId` are then populated) or `FAILED`. The generated image is also added to the \"Social Marketing AI Media\" folder in the site's Media Manager.\n * @param - Text prompt describing the image to generate.\n */\n (\n userInput: string,\n options: NonNullablePaths<GenerateImageOptions, `imageUrl`, 2>\n ): Promise<NonNullablePaths<GenerateImageResponse, `status`, 2>>;\n}\n\nexport function getGeneratedImage(\n httpClient: HttpClient\n): GetGeneratedImageSignature {\n return (executionId: string) =>\n universalGetGeneratedImage(\n executionId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetGeneratedImageSignature {\n /**\n * Retrieves the result of an asynchronous image-generation request.\n *\n * Poll this with the `executionId` returned by Generate Image until the status is `READY`, when the generated image's `imageUrl` and `fileId` are populated, or `FAILED`.\n * @param - The image-generation process ID returned by Generate Image.\n */\n (executionId: string): Promise<\n NonNullablePaths<GetGeneratedImageResponse, `status`, 2> & {\n __applicationErrorsType?: GetGeneratedImageApplicationErrors;\n }\n >;\n}\n\nexport function generatePostData(\n httpClient: HttpClient\n): GeneratePostDataSignature {\n return (options?: GeneratePostDataOptions) =>\n universalGeneratePostData(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GeneratePostDataSignature {\n /**\n * Generates post content for one or more social channels.\n *\n * Returns per-channel post payloads matching an item's content, so you can use the result to create a draft or publish. Provide site assets, a text prompt, or both.\n */\n (options?: GeneratePostDataOptions): Promise<\n NonNullablePaths<\n GeneratePostDataResponse,\n | `results`\n | `results.${number}.instagramPost.insights.likes`\n | `results.${number}.instagramPost.insights.engagement`\n | `results.${number}.instagramPost.insights.impressions`\n | `results.${number}.instagramPost.insights.plays`\n | `results.${number}.instagramPost.insights.reach`\n | `results.${number}.instagramPost.insights.comments`\n | `results.${number}.instagramPost.insights.shares`\n | `results.${number}.instagramPost.insights.saved`\n | `results.${number}.instagramPost.insights.totalInteractions`\n | `results.${number}.linkedinPost.insights.uniqueImpressions`\n | `results.${number}.linkedinPost.insights.impression`\n | `results.${number}.linkedinPost.insights.shares`\n | `results.${number}.linkedinPost.insights.engagement`\n | `results.${number}.linkedinPost.insights.clicks`\n | `results.${number}.linkedinPost.insights.likes`\n | `results.${number}.linkedinPost.insights.comments`\n | `results.${number}.twitterPost.insights.retweets`\n | `results.${number}.twitterPost.insights.replies`\n | `results.${number}.twitterPost.insights.likes`\n | `results.${number}.twitterPost.insights.quotes`\n | `results.${number}.twitterPost.insights.bookmarks`\n | `results.${number}.twitterPost.insights.impressions`\n | `results.${number}.pinterestPost.insights.impressions`\n | `results.${number}.pinterestPost.insights.clicks`\n | `results.${number}.pinterestPost.insights.saves`\n | `results.${number}.pinterestPost.insights.comments`\n | `results.${number}.pinterestPost.insights.reactions`\n | `results.${number}.gbpPost.callToAction.actionType`\n | `results.${number}.gbpPost.insights.shares`\n | `results.${number}.tiktokPhoto.privacyLevel`\n | `results.${number}.tiktokPhoto.disableComment`\n | `results.${number}.tiktokPhoto.autoAddMusic`\n | `results.${number}.tiktokPhoto.brandContentToggle`\n | `results.${number}.tiktokPhoto.brandOrganicToggle`\n | `results.${number}.tiktokPhoto.insights.views`\n | `results.${number}.tiktokPhoto.insights.likes`\n | `results.${number}.tiktokPhoto.insights.comments`\n | `results.${number}.tiktokPhoto.insights.shares`\n | `results.${number}.channelName`,\n 6\n >\n >;\n}\n\nexport {\n AdditionalContent,\n ChannelName,\n ChannelPostData,\n ChannelPostDataDataOneOf,\n FacebokActivity,\n FacebookImpressions,\n FacebookInsights,\n FacebookInteractions,\n FacebookPost,\n FacebookPostUrlOneOf,\n FacebookReactions,\n GbpInsights,\n GbpPost,\n GbpPostCallToAction,\n GbpPostCallToActionType,\n GenerateImageOptions,\n GenerateImageRequest,\n GenerateImageResponse,\n GenerateMediaStatus,\n GeneratePostDataOptions,\n GeneratePostDataRequest,\n GeneratePostDataResponse,\n GenerateTextOptions,\n GenerateTextRequest,\n GenerateTextResponse,\n GenerateTextResult,\n GenerateVideoRequest,\n GenerateVideoResponse,\n GeneratedContent,\n GetGeneratedImageRequest,\n GetGeneratedImageResponse,\n InstagramInsights,\n InstagramPost,\n InstagramPostUrlOneOf,\n LinkMetadata,\n LinkedinPost,\n LinkedinPostInsights,\n LinkedinPostUrlOneOf,\n Media,\n MediaType,\n MediaWrapper,\n PinterestInsights,\n PinterestPost,\n SiteAsset,\n Status,\n TikTokInsights,\n TikTokPhoto,\n TikTokPrivacyLevel,\n TwitterInsights,\n TwitterPost,\n TwitterPostUrlOneOf,\n Type,\n} from './promote-publisher-v1-generated-content-generated-content.universal.js';\n","import {\n generateText as publicGenerateText,\n generateImage as publicGenerateImage,\n getGeneratedImage as publicGetGeneratedImage,\n generatePostData as publicGeneratePostData,\n} from './promote-publisher-v1-generated-content-generated-content.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const generateText: MaybeContext<\n BuildRESTFunction<typeof publicGenerateText> & typeof publicGenerateText\n> = /*#__PURE__*/ createRESTModule(publicGenerateText);\nexport const generateImage: MaybeContext<\n BuildRESTFunction<typeof publicGenerateImage> & typeof publicGenerateImage\n> = /*#__PURE__*/ createRESTModule(publicGenerateImage);\nexport const getGeneratedImage: MaybeContext<\n BuildRESTFunction<typeof publicGetGeneratedImage> &\n typeof publicGetGeneratedImage\n> = /*#__PURE__*/ createRESTModule(publicGetGeneratedImage);\nexport const generatePostData: MaybeContext<\n BuildRESTFunction<typeof publicGeneratePostData> &\n typeof publicGeneratePostData\n> = /*#__PURE__*/ createRESTModule(publicGeneratePostData);\n\nexport {\n ChannelName,\n GenerateMediaStatus,\n Status,\n Type,\n MediaType,\n GbpPostCallToActionType,\n TikTokPrivacyLevel,\n} from './promote-publisher-v1-generated-content-generated-content.universal.js';\nexport {\n GeneratedContent,\n GenerateTextRequest,\n AdditionalContent,\n GenerateTextResponse,\n GenerateTextResult,\n GenerateImageRequest,\n GenerateImageResponse,\n GetGeneratedImageRequest,\n GetGeneratedImageResponse,\n GenerateVideoRequest,\n GenerateVideoResponse,\n GeneratePostDataRequest,\n SiteAsset,\n Media,\n GeneratePostDataResponse,\n ChannelPostData,\n ChannelPostDataDataOneOf,\n InstagramPost,\n InstagramPostUrlOneOf,\n MediaWrapper,\n InstagramInsights,\n FacebookPost,\n FacebookPostUrlOneOf,\n LinkMetadata,\n FacebookInsights,\n FacebookImpressions,\n FacebookInteractions,\n FacebookReactions,\n FacebokActivity,\n LinkedinPost,\n LinkedinPostUrlOneOf,\n LinkedinPostInsights,\n TwitterPost,\n TwitterPostUrlOneOf,\n TwitterInsights,\n PinterestPost,\n PinterestInsights,\n GbpPost,\n GbpPostCallToAction,\n GbpInsights,\n TikTokPhoto,\n TikTokInsights,\n GenerateTextOptions,\n GenerateImageOptions,\n GeneratePostDataOptions,\n} from './promote-publisher-v1-generated-content-generated-content.universal.js';\nexport {\n ChannelNameWithLiterals,\n GenerateMediaStatusWithLiterals,\n StatusWithLiterals,\n TypeWithLiterals,\n MediaTypeWithLiterals,\n GbpPostCallToActionTypeWithLiterals,\n TikTokPrivacyLevelWithLiterals,\n GetGeneratedImageApplicationErrors,\n} from './promote-publisher-v1-generated-content-generated-content.universal.js';\n"],"mappings":"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","names":["generateImage","generatePostData","generateText","getGeneratedImage","import_rest_modules","payload","ChannelName","GenerateMediaStatus","Status","Type","MediaType","GbpPostCallToActionType","TikTokPrivacyLevel","generateText","sdkTransformError","generateImage","getGeneratedImage","generatePostData","generateText","generateImage","getGeneratedImage","generatePostData","import_rest_modules","generateText","generateImage","getGeneratedImage","generatePostData"]}