@wix/auto_sdk_blog_posts 1.0.169 → 1.0.171

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 +15 -11
  2. package/build/cjs/index.js +50 -30
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/index.typings.d.ts +262 -189
  5. package/build/cjs/index.typings.js +40 -25
  6. package/build/cjs/index.typings.js.map +1 -1
  7. package/build/cjs/meta.d.ts +233 -172
  8. package/build/cjs/meta.js +34 -19
  9. package/build/cjs/meta.js.map +1 -1
  10. package/build/cjs/schemas.d.ts +86 -84
  11. package/build/cjs/schemas.js +156 -150
  12. package/build/cjs/schemas.js.map +1 -1
  13. package/build/es/index.d.mts +15 -11
  14. package/build/es/index.mjs +49 -30
  15. package/build/es/index.mjs.map +1 -1
  16. package/build/es/index.typings.d.mts +262 -189
  17. package/build/es/index.typings.mjs +39 -25
  18. package/build/es/index.typings.mjs.map +1 -1
  19. package/build/es/meta.d.mts +233 -172
  20. package/build/es/meta.mjs +33 -19
  21. package/build/es/meta.mjs.map +1 -1
  22. package/build/es/schemas.d.mts +86 -84
  23. package/build/es/schemas.mjs +156 -150
  24. package/build/es/schemas.mjs.map +1 -1
  25. package/build/internal/cjs/index.d.ts +15 -11
  26. package/build/internal/cjs/index.js +50 -30
  27. package/build/internal/cjs/index.js.map +1 -1
  28. package/build/internal/cjs/index.typings.d.ts +316 -243
  29. package/build/internal/cjs/index.typings.js +40 -25
  30. package/build/internal/cjs/index.typings.js.map +1 -1
  31. package/build/internal/cjs/meta.d.ts +287 -226
  32. package/build/internal/cjs/meta.js +34 -19
  33. package/build/internal/cjs/meta.js.map +1 -1
  34. package/build/internal/cjs/schemas.d.ts +86 -84
  35. package/build/internal/cjs/schemas.js +156 -150
  36. package/build/internal/cjs/schemas.js.map +1 -1
  37. package/build/internal/es/index.d.mts +15 -11
  38. package/build/internal/es/index.mjs +49 -30
  39. package/build/internal/es/index.mjs.map +1 -1
  40. package/build/internal/es/index.typings.d.mts +316 -243
  41. package/build/internal/es/index.typings.mjs +39 -25
  42. package/build/internal/es/index.typings.mjs.map +1 -1
  43. package/build/internal/es/meta.d.mts +287 -226
  44. package/build/internal/es/meta.mjs +33 -19
  45. package/build/internal/es/meta.mjs.map +1 -1
  46. package/build/internal/es/schemas.d.mts +86 -84
  47. package/build/internal/es/schemas.mjs +156 -150
  48. package/build/internal/es/schemas.mjs.map +1 -1
  49. package/package.json +2 -2
@@ -43,89 +43,91 @@ declare const GetPostRequest: z.ZodObject<{
43
43
  }, z.core.$strip>>;
44
44
  }, z.core.$strip>;
45
45
  declare const GetPostResponse: z.ZodObject<{
46
- _id: z.ZodOptional<z.ZodString>;
47
- title: z.ZodOptional<z.ZodString>;
48
- excerpt: z.ZodOptional<z.ZodString>;
49
- contentText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
50
- firstPublishedDate: z.ZodNullable<z.ZodOptional<z.ZodDate>>;
51
- lastPublishedDate: z.ZodNullable<z.ZodOptional<z.ZodDate>>;
52
- url: z.ZodOptional<z.ZodString>;
53
- slug: z.ZodOptional<z.ZodString>;
54
- featured: z.ZodOptional<z.ZodBoolean>;
55
- pinned: z.ZodOptional<z.ZodBoolean>;
56
- categoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
- memberId: z.ZodOptional<z.ZodString>;
58
- hashtags: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
- commentingEnabled: z.ZodOptional<z.ZodBoolean>;
60
- minutesToRead: z.ZodOptional<z.ZodNumber>;
61
- heroImage: z.ZodOptional<z.ZodString>;
62
- tagIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
63
- relatedPostIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
64
- pricingPlanIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
65
- translationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
66
- language: z.ZodNullable<z.ZodOptional<z.ZodString>>;
67
- seoData: z.ZodOptional<z.ZodObject<{
68
- tags: z.ZodOptional<z.ZodArray<z.ZodObject<{
69
- type: z.ZodOptional<z.ZodString>;
70
- props: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
71
- meta: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
72
- children: z.ZodOptional<z.ZodString>;
73
- custom: z.ZodOptional<z.ZodBoolean>;
74
- disabled: z.ZodOptional<z.ZodBoolean>;
75
- }, z.core.$strip>>>;
76
- settings: z.ZodOptional<z.ZodObject<{
77
- preventAutoRedirect: z.ZodOptional<z.ZodBoolean>;
78
- keywords: z.ZodOptional<z.ZodArray<z.ZodObject<{
79
- term: z.ZodOptional<z.ZodString>;
80
- isMain: z.ZodOptional<z.ZodBoolean>;
81
- origin: z.ZodNullable<z.ZodOptional<z.ZodString>>;
46
+ post: z.ZodOptional<z.ZodObject<{
47
+ _id: z.ZodOptional<z.ZodString>;
48
+ title: z.ZodOptional<z.ZodString>;
49
+ excerpt: z.ZodOptional<z.ZodString>;
50
+ contentText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
51
+ firstPublishedDate: z.ZodNullable<z.ZodOptional<z.ZodDate>>;
52
+ lastPublishedDate: z.ZodNullable<z.ZodOptional<z.ZodDate>>;
53
+ url: z.ZodOptional<z.ZodString>;
54
+ slug: z.ZodOptional<z.ZodString>;
55
+ featured: z.ZodOptional<z.ZodBoolean>;
56
+ pinned: z.ZodOptional<z.ZodBoolean>;
57
+ categoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
58
+ memberId: z.ZodOptional<z.ZodString>;
59
+ hashtags: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
+ commentingEnabled: z.ZodOptional<z.ZodBoolean>;
61
+ minutesToRead: z.ZodOptional<z.ZodNumber>;
62
+ heroImage: z.ZodOptional<z.ZodString>;
63
+ tagIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
64
+ relatedPostIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
65
+ pricingPlanIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
66
+ translationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
67
+ language: z.ZodNullable<z.ZodOptional<z.ZodString>>;
68
+ seoData: z.ZodOptional<z.ZodObject<{
69
+ tags: z.ZodOptional<z.ZodArray<z.ZodObject<{
70
+ type: z.ZodOptional<z.ZodString>;
71
+ props: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
72
+ meta: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
73
+ children: z.ZodOptional<z.ZodString>;
74
+ custom: z.ZodOptional<z.ZodBoolean>;
75
+ disabled: z.ZodOptional<z.ZodBoolean>;
82
76
  }, z.core.$strip>>>;
77
+ settings: z.ZodOptional<z.ZodObject<{
78
+ preventAutoRedirect: z.ZodOptional<z.ZodBoolean>;
79
+ keywords: z.ZodOptional<z.ZodArray<z.ZodObject<{
80
+ term: z.ZodOptional<z.ZodString>;
81
+ isMain: z.ZodOptional<z.ZodBoolean>;
82
+ origin: z.ZodNullable<z.ZodOptional<z.ZodString>>;
83
+ }, z.core.$strip>>>;
84
+ }, z.core.$strip>>;
83
85
  }, z.core.$strip>>;
86
+ contactId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
87
+ richContent: z.ZodOptional<z.ZodAny>;
88
+ preview: z.ZodOptional<z.ZodBoolean>;
89
+ moderationDetails: z.ZodOptional<z.ZodObject<{
90
+ submittedBy: z.ZodOptional<z.ZodString>;
91
+ submittedDate: z.ZodNullable<z.ZodOptional<z.ZodDate>>;
92
+ status: z.ZodOptional<z.ZodEnum<{
93
+ UNKNOWN: "UNKNOWN";
94
+ APPROVED: "APPROVED";
95
+ REJECTED: "REJECTED";
96
+ }>>;
97
+ moderatedBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
98
+ moderationDate: z.ZodNullable<z.ZodOptional<z.ZodDate>>;
99
+ }, z.core.$strip>>;
100
+ media: z.ZodOptional<z.ZodIntersection<z.ZodObject<{
101
+ displayed: z.ZodOptional<z.ZodBoolean>;
102
+ custom: z.ZodOptional<z.ZodBoolean>;
103
+ altText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
104
+ }, z.core.$strip>, z.ZodXor<readonly [z.ZodObject<{
105
+ wixMedia: z.ZodOptional<z.ZodNever>;
106
+ embedMedia: z.ZodOptional<z.ZodNever>;
107
+ }, z.core.$strip>, z.ZodObject<{
108
+ embedMedia: z.ZodOptional<z.ZodNever>;
109
+ wixMedia: z.ZodObject<{
110
+ image: z.ZodOptional<z.ZodString>;
111
+ videoV2: z.ZodOptional<z.ZodString>;
112
+ }, z.core.$strip>;
113
+ }, z.core.$strip>, z.ZodObject<{
114
+ wixMedia: z.ZodOptional<z.ZodNever>;
115
+ embedMedia: z.ZodObject<{
116
+ thumbnail: z.ZodOptional<z.ZodObject<{
117
+ url: z.ZodOptional<z.ZodString>;
118
+ width: z.ZodOptional<z.ZodNumber>;
119
+ height: z.ZodOptional<z.ZodNumber>;
120
+ }, z.core.$strip>>;
121
+ video: z.ZodOptional<z.ZodObject<{
122
+ url: z.ZodOptional<z.ZodString>;
123
+ width: z.ZodOptional<z.ZodNumber>;
124
+ height: z.ZodOptional<z.ZodNumber>;
125
+ }, z.core.$strip>>;
126
+ }, z.core.$strip>;
127
+ }, z.core.$strip>]>>>;
128
+ hasUnpublishedChanges: z.ZodOptional<z.ZodBoolean>;
129
+ referenceId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
84
130
  }, z.core.$strip>>;
85
- contactId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
86
- richContent: z.ZodOptional<z.ZodAny>;
87
- preview: z.ZodOptional<z.ZodBoolean>;
88
- moderationDetails: z.ZodOptional<z.ZodObject<{
89
- submittedBy: z.ZodOptional<z.ZodString>;
90
- submittedDate: z.ZodNullable<z.ZodOptional<z.ZodDate>>;
91
- status: z.ZodOptional<z.ZodEnum<{
92
- UNKNOWN: "UNKNOWN";
93
- APPROVED: "APPROVED";
94
- REJECTED: "REJECTED";
95
- }>>;
96
- moderatedBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
97
- moderationDate: z.ZodNullable<z.ZodOptional<z.ZodDate>>;
98
- }, z.core.$strip>>;
99
- media: z.ZodOptional<z.ZodIntersection<z.ZodObject<{
100
- displayed: z.ZodOptional<z.ZodBoolean>;
101
- custom: z.ZodOptional<z.ZodBoolean>;
102
- altText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
103
- }, z.core.$strip>, z.ZodXor<readonly [z.ZodObject<{
104
- wixMedia: z.ZodOptional<z.ZodNever>;
105
- embedMedia: z.ZodOptional<z.ZodNever>;
106
- }, z.core.$strip>, z.ZodObject<{
107
- embedMedia: z.ZodOptional<z.ZodNever>;
108
- wixMedia: z.ZodObject<{
109
- image: z.ZodOptional<z.ZodString>;
110
- videoV2: z.ZodOptional<z.ZodString>;
111
- }, z.core.$strip>;
112
- }, z.core.$strip>, z.ZodObject<{
113
- wixMedia: z.ZodOptional<z.ZodNever>;
114
- embedMedia: z.ZodObject<{
115
- thumbnail: z.ZodOptional<z.ZodObject<{
116
- url: z.ZodOptional<z.ZodString>;
117
- width: z.ZodOptional<z.ZodNumber>;
118
- height: z.ZodOptional<z.ZodNumber>;
119
- }, z.core.$strip>>;
120
- video: z.ZodOptional<z.ZodObject<{
121
- url: z.ZodOptional<z.ZodString>;
122
- width: z.ZodOptional<z.ZodNumber>;
123
- height: z.ZodOptional<z.ZodNumber>;
124
- }, z.core.$strip>>;
125
- }, z.core.$strip>;
126
- }, z.core.$strip>]>>>;
127
- hasUnpublishedChanges: z.ZodOptional<z.ZodBoolean>;
128
- referenceId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
129
131
  }, z.core.$strip>;
130
132
  declare const GetPostBySlugRequest: z.ZodObject<{
131
133
  slug: z.ZodString;
@@ -237,11 +239,11 @@ declare const ListPostsRequest: z.ZodObject<{
237
239
  categoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
238
240
  tagIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
239
241
  sort: z.ZodOptional<z.ZodEnum<{
240
- LIKE_COUNT: "LIKE_COUNT";
241
- VIEW_COUNT: "VIEW_COUNT";
242
242
  FEED: "FEED";
243
243
  PUBLISHED_DATE_ASC: "PUBLISHED_DATE_ASC";
244
244
  PUBLISHED_DATE_DESC: "PUBLISHED_DATE_DESC";
245
+ VIEW_COUNT: "VIEW_COUNT";
246
+ LIKE_COUNT: "LIKE_COUNT";
245
247
  TITLE_ASC: "TITLE_ASC";
246
248
  TITLE_DESC: "TITLE_DESC";
247
249
  }>>;
@@ -464,11 +466,11 @@ declare const QueryPostsRequest: z.ZodObject<{
464
466
  fieldName: z.ZodOptional<z.ZodEnum<{
465
467
  slug: "slug";
466
468
  title: "title";
469
+ firstPublishedDate: "firstPublishedDate";
470
+ lastPublishedDate: "lastPublishedDate";
467
471
  featured: "featured";
468
472
  pinned: "pinned";
469
473
  commentingEnabled: "commentingEnabled";
470
- firstPublishedDate: "firstPublishedDate";
471
- lastPublishedDate: "lastPublishedDate";
472
474
  }>>;
473
475
  order: z.ZodOptional<z.ZodEnum<{
474
476
  ASC: "ASC";
@@ -13,7 +13,7 @@ var QueryPostCountStatsRequest = z.object({
13
13
  timeZone: z.string().describe(
14
14
  "Time zone to use when calculating the start of the month.\n\n[UTC timezone offset](https://en.wikipedia.org/wiki/List_of_UTC_offsets) format. For example, New York time zone is `-05`."
15
15
  ).min(3).max(100).optional().nullable()
16
- }).optional()
16
+ }).describe("Options specifying time frame, sort, and filter. ").optional()
17
17
  });
18
18
  var QueryPostCountStatsResponse = z.object({
19
19
  stats: z.array(
@@ -30,7 +30,7 @@ var GetTotalPostsRequest = z.object({
30
30
  language: z.string().describe(
31
31
  "Language filter.\n\n2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\nPass a language to receive the total amount of posts in that specified language."
32
32
  ).optional().nullable()
33
- }).optional()
33
+ }).describe("Language Options.").optional()
34
34
  });
35
35
  var GetTotalPostsResponse = z.object({
36
36
  total: z.number().int().describe("Total amount of published posts.").min(0).optional()
@@ -50,161 +50,167 @@ var GetPostRequest = z.object({
50
50
  "REFERENCE_ID"
51
51
  ])
52
52
  ).max(20).optional()
53
- }).optional()
53
+ }).describe("Options specifying which fields to return.").optional()
54
54
  });
55
55
  var GetPostResponse = z.object({
56
- _id: z.string().describe("Post ID.").regex(
57
- /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
58
- "Must be a valid GUID"
59
- ).optional(),
60
- title: z.string().describe("Post title.").max(200).optional(),
61
- excerpt: z.string().describe(
62
- "Post excerpt.\nCan be selected by a site contributor. By default, it is extracted from the content text's first characters.\n\nMax: 500 characters"
63
- ).max(500).optional(),
64
- contentText: z.string().describe("The post's content in plain text.").max(4e5).optional().nullable(),
65
- firstPublishedDate: z.date().describe("Date the post was first published.").optional().nullable(),
66
- lastPublishedDate: z.date().describe("Date the post was last published.").optional().nullable(),
67
- url: z.string().describe("Post URL.").optional(),
68
- slug: z.string().describe("Post slug. For example, `'post-slug'`.").max(100).optional(),
69
- featured: z.boolean().describe("Whether the post is marked as featured.").optional(),
70
- pinned: z.boolean().describe(
71
- "Whether the post is pinned. If `true`, the post is placed at the top of the post list."
72
- ).optional(),
73
- categoryIds: z.array(z.string()).max(10).optional(),
74
- memberId: z.string().describe("Member ID of the post's owner.").regex(
75
- /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
76
- "Must be a valid GUID"
77
- ).optional(),
78
- hashtags: z.array(z.string()).max(100).optional(),
79
- commentingEnabled: z.boolean().describe("Whether commenting on the post is enabled.").optional(),
80
- minutesToRead: z.number().int().describe("Estimated reading time (calculated automatically).").optional(),
81
- heroImage: z.string().describe(
82
- "Image placed at the top of the blog page. Only displays on mobile devices."
83
- ).optional(),
84
- tagIds: z.array(z.string()).max(30).optional(),
85
- relatedPostIds: z.array(z.string()).max(3).optional(),
86
- pricingPlanIds: z.array(z.string()).max(100).optional(),
87
- translationId: z.string().describe(
88
- "ID of the translations of this post. All translations of a single post share the same `translationId`."
89
- ).regex(
90
- /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
91
- "Must be a valid GUID"
92
- ).optional().nullable(),
93
- language: z.string().describe(
94
- "Language the post is written in.\n\n2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format."
95
- ).optional().nullable(),
96
- seoData: z.object({
97
- tags: z.array(
98
- z.object({
99
- type: z.string().describe(
100
- "SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`."
101
- ).optional(),
102
- props: z.record(z.string(), z.any()).describe(
103
- 'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
104
- ).optional().nullable(),
105
- meta: z.record(z.string(), z.any()).describe(
106
- 'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
107
- ).optional().nullable(),
108
- children: z.string().describe(
109
- "SEO tag inner content. For example, `<title> inner content </title>`."
110
- ).optional(),
111
- custom: z.boolean().describe(
112
- "Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages)."
113
- ).optional(),
114
- disabled: z.boolean().describe(
115
- "Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
116
- ).optional()
117
- })
56
+ post: z.object({
57
+ _id: z.string().describe("Post ID.").regex(
58
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
59
+ "Must be a valid GUID"
118
60
  ).optional(),
119
- settings: z.object({
120
- preventAutoRedirect: z.boolean().describe(
121
- "Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
122
- ).optional(),
123
- keywords: z.array(
124
- z.object({
125
- term: z.string().describe("Keyword value.").optional(),
126
- isMain: z.boolean().describe("Whether the keyword is the main focus keyword.").optional(),
127
- origin: z.string().describe(
128
- "The source that added the keyword terms to the SEO settings."
129
- ).max(1e3).optional().nullable()
130
- })
131
- ).max(5).optional()
132
- }).describe("SEO general settings.").optional()
133
- }).describe("SEO data.").optional(),
134
- contactId: z.string().describe(
135
- "Contact ID of the post's owner. See the Contacts API for more info."
136
- ).regex(
137
- /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
138
- "Must be a valid GUID"
139
- ).optional().nullable(),
140
- richContent: z.any().describe(
141
- 'Post rich content\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="image.gallery.video.audio.divider.linkButton.html.giphy.codeBlock.file.hashtag.lineSpacing.indent.link.textColor.textHighlight.heading.verticalEmbed.table.collapsibleList.poll" exampleid="72c23a25-524f-4f70-a260-4a2777b6f5d5">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
142
- ).optional(),
143
- preview: z.boolean().describe(
144
- "Whether the returned content is a preview of premium content. Defaults to `false`.\nA preview displays a limited number of paragraphs of paid content to non-subscribed users."
145
- ).optional(),
146
- moderationDetails: z.object({
147
- submittedBy: z.string().describe(
148
- "Member ID of the person submitting the draft post for review."
149
- ).regex(
61
+ title: z.string().describe("Post title.").max(200).optional(),
62
+ excerpt: z.string().describe(
63
+ "Post excerpt.\nCan be selected by a site contributor. By default, it is extracted from the content text's first characters.\n\nMax: 500 characters"
64
+ ).max(500).optional(),
65
+ contentText: z.string().describe("The post's content in plain text.").max(4e5).optional().nullable(),
66
+ firstPublishedDate: z.date().describe("Date the post was first published.").optional().nullable(),
67
+ lastPublishedDate: z.date().describe("Date the post was last published.").optional().nullable(),
68
+ url: z.string().describe("Post URL.").optional(),
69
+ slug: z.string().describe("Post slug. For example, `'post-slug'`.").max(100).optional(),
70
+ featured: z.boolean().describe("Whether the post is marked as featured.").optional(),
71
+ pinned: z.boolean().describe(
72
+ "Whether the post is pinned. If `true`, the post is placed at the top of the post list."
73
+ ).optional(),
74
+ categoryIds: z.array(z.string()).max(10).optional(),
75
+ memberId: z.string().describe("Member ID of the post's owner.").regex(
150
76
  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
151
77
  "Must be a valid GUID"
152
78
  ).optional(),
153
- submittedDate: z.date().describe("Date the post was submitted for review.").optional().nullable(),
154
- status: z.enum(["UNKNOWN", "APPROVED", "REJECTED"]).describe(
155
- "Status indicating whether the submission was approved or rejected by the moderator."
79
+ hashtags: z.array(z.string()).max(100).optional(),
80
+ commentingEnabled: z.boolean().describe("Whether commenting on the post is enabled.").optional(),
81
+ minutesToRead: z.number().int().describe("Estimated reading time (calculated automatically).").optional(),
82
+ heroImage: z.string().describe(
83
+ "Image placed at the top of the blog page. Only displays on mobile devices."
156
84
  ).optional(),
157
- moderatedBy: z.string().describe("Member ID of the person who approved or rejected the post.").regex(
85
+ tagIds: z.array(z.string()).max(30).optional(),
86
+ relatedPostIds: z.array(z.string()).max(3).optional(),
87
+ pricingPlanIds: z.array(z.string()).max(100).optional(),
88
+ translationId: z.string().describe(
89
+ "ID of the translations of this post. All translations of a single post share the same `translationId`."
90
+ ).regex(
158
91
  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
159
92
  "Must be a valid GUID"
160
93
  ).optional().nullable(),
161
- moderationDate: z.date().describe("Date the post was approved or rejected.").optional().nullable()
162
- }).describe(
163
- "Post moderation details. Only relevant to posts submitted by [guest writers](https://support.wix.com/en/article/wix-blog-moderating-blog-posts-from-your-guest-writers).\n\nGuest writers have the ability to write posts but not publish them. These posts can be rejected or approved for publishing by a blog editor or Wix user."
164
- ).optional(),
165
- media: z.intersection(
166
- z.object({
167
- displayed: z.boolean().describe("Whether cover media is displayed.").optional(),
168
- custom: z.boolean().describe(
169
- "Whether custom cover media has been specified. If `false`, the first media item in the post's content serves as cover media."
94
+ language: z.string().describe(
95
+ "Language the post is written in.\n\n2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format."
96
+ ).optional().nullable(),
97
+ seoData: z.object({
98
+ tags: z.array(
99
+ z.object({
100
+ type: z.string().describe(
101
+ "SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`."
102
+ ).optional(),
103
+ props: z.record(z.string(), z.any()).describe(
104
+ 'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
105
+ ).optional().nullable(),
106
+ meta: z.record(z.string(), z.any()).describe(
107
+ 'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
108
+ ).optional().nullable(),
109
+ children: z.string().describe(
110
+ "SEO tag inner content. For example, `<title> inner content </title>`."
111
+ ).optional(),
112
+ custom: z.boolean().describe(
113
+ 'Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages).\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so custom tags saved on those pages are missing from the response entirely. For\nthose pages `false` therefore does not mean "not a custom tag" \u2014 it means this API could not tell.\nPass `seoData` explicitly to resolve against a known set of tags.'
114
+ ).optional(),
115
+ disabled: z.boolean().describe(
116
+ "Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
117
+ ).optional()
118
+ })
170
119
  ).optional(),
171
- altText: z.string().describe("Media alternative text.").min(1).max(1e3).optional().nullable()
172
- }),
173
- z.xor([
174
- z.object({
175
- wixMedia: z.never().optional(),
176
- embedMedia: z.never().optional()
177
- }),
120
+ settings: z.object({
121
+ preventAutoRedirect: z.boolean().describe(
122
+ "Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
123
+ ).optional(),
124
+ keywords: z.array(
125
+ z.object({
126
+ term: z.string().describe("Keyword value.").optional(),
127
+ isMain: z.boolean().describe(
128
+ "Whether the keyword is the main focus keyword."
129
+ ).optional(),
130
+ origin: z.string().describe(
131
+ "The source that added the keyword terms to the SEO settings."
132
+ ).max(1e3).optional().nullable()
133
+ })
134
+ ).max(5).optional()
135
+ }).describe("SEO general settings.").optional()
136
+ }).describe("SEO data.").optional(),
137
+ contactId: z.string().describe(
138
+ "Contact ID of the post's owner. See the Contacts API for more info."
139
+ ).regex(
140
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
141
+ "Must be a valid GUID"
142
+ ).optional().nullable(),
143
+ richContent: z.any().describe(
144
+ 'Post rich content\n\n<widget src="https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component" plugins="image.gallery.video.audio.divider.linkButton.html.giphy.codeBlock.file.hashtag.lineSpacing.indent.link.textColor.textHighlight.heading.verticalEmbed.table.collapsibleList.poll" exampleid="72c23a25-524f-4f70-a260-4a2777b6f5d5">\n<a href="https://dev.wix.com/docs/ricos/api-reference/ricos-document">See Ricos document reference</a>\n</widget>'
145
+ ).optional(),
146
+ preview: z.boolean().describe(
147
+ "Whether the returned content is a preview of premium content. Defaults to `false`.\nA preview displays a limited number of paragraphs of paid content to non-subscribed users."
148
+ ).optional(),
149
+ moderationDetails: z.object({
150
+ submittedBy: z.string().describe(
151
+ "Member ID of the person submitting the draft post for review."
152
+ ).regex(
153
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
154
+ "Must be a valid GUID"
155
+ ).optional(),
156
+ submittedDate: z.date().describe("Date the post was submitted for review.").optional().nullable(),
157
+ status: z.enum(["UNKNOWN", "APPROVED", "REJECTED"]).describe(
158
+ "Status indicating whether the submission was approved or rejected by the moderator."
159
+ ).optional(),
160
+ moderatedBy: z.string().describe(
161
+ "Member ID of the person who approved or rejected the post."
162
+ ).regex(
163
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
164
+ "Must be a valid GUID"
165
+ ).optional().nullable(),
166
+ moderationDate: z.date().describe("Date the post was approved or rejected.").optional().nullable()
167
+ }).describe(
168
+ "Post moderation details. Only relevant to posts submitted by [guest writers](https://support.wix.com/en/article/wix-blog-moderating-blog-posts-from-your-guest-writers).\n\nGuest writers have the ability to write posts but not publish them. These posts can be rejected or approved for publishing by a blog editor or Wix user."
169
+ ).optional(),
170
+ media: z.intersection(
178
171
  z.object({
179
- embedMedia: z.never().optional(),
180
- wixMedia: z.object({
181
- image: z.string().describe("Image details.").optional(),
182
- videoV2: z.string().describe("Video details.").optional()
183
- }).describe("Wix Media details.")
172
+ displayed: z.boolean().describe("Whether cover media is displayed.").optional(),
173
+ custom: z.boolean().describe(
174
+ "Whether custom cover media has been specified. If `false`, the first media item in the post's content serves as cover media."
175
+ ).optional(),
176
+ altText: z.string().describe("Media alternative text.").min(1).max(1e3).optional().nullable()
184
177
  }),
185
- z.object({
186
- wixMedia: z.never().optional(),
187
- embedMedia: z.object({
188
- thumbnail: z.object({
189
- url: z.string().describe("Thumbnail url.").max(2e3).optional(),
190
- width: z.number().int().describe("Thumbnail width.").min(0).optional(),
191
- height: z.number().int().describe("Thumbnail height.").min(0).optional()
192
- }).describe("Thumbnail details.").optional(),
193
- video: z.object({
194
- url: z.string().describe("Video url.").max(2e3).optional(),
195
- width: z.number().int().describe("Video width.").min(0).optional(),
196
- height: z.number().int().describe("Video height.").min(0).optional()
197
- }).describe("Video details.").optional()
198
- }).describe("Embed media details.")
199
- })
200
- ])
201
- ).describe("Post cover media.").optional(),
202
- hasUnpublishedChanges: z.boolean().describe(
203
- "Indicates if there is a draft post with changes that have not yet been published."
204
- ).optional(),
205
- referenceId: z.string().describe(
206
- "Post reference ID. You can reference the post from other entities, for example, comments."
207
- ).max(24).optional().nullable()
178
+ z.xor([
179
+ z.object({
180
+ wixMedia: z.never().optional(),
181
+ embedMedia: z.never().optional()
182
+ }),
183
+ z.object({
184
+ embedMedia: z.never().optional(),
185
+ wixMedia: z.object({
186
+ image: z.string().describe("Image details.").optional(),
187
+ videoV2: z.string().describe("Video details.").optional()
188
+ }).describe("Wix Media details.")
189
+ }),
190
+ z.object({
191
+ wixMedia: z.never().optional(),
192
+ embedMedia: z.object({
193
+ thumbnail: z.object({
194
+ url: z.string().describe("Thumbnail url.").max(2e3).optional(),
195
+ width: z.number().int().describe("Thumbnail width.").min(0).optional(),
196
+ height: z.number().int().describe("Thumbnail height.").min(0).optional()
197
+ }).describe("Thumbnail details.").optional(),
198
+ video: z.object({
199
+ url: z.string().describe("Video url.").max(2e3).optional(),
200
+ width: z.number().int().describe("Video width.").min(0).optional(),
201
+ height: z.number().int().describe("Video height.").min(0).optional()
202
+ }).describe("Video details.").optional()
203
+ }).describe("Embed media details.")
204
+ })
205
+ ])
206
+ ).describe("Post cover media.").optional(),
207
+ hasUnpublishedChanges: z.boolean().describe(
208
+ "Indicates if there is a draft post with changes that have not yet been published."
209
+ ).optional(),
210
+ referenceId: z.string().describe(
211
+ "Post reference ID. You can reference the post from other entities, for example, comments."
212
+ ).max(24).optional().nullable()
213
+ }).describe("Retrieved post info.").optional()
208
214
  });
209
215
  var GetPostBySlugRequest = z.object({
210
216
  slug: z.string().describe("Slug of the post to retrieve.").min(1).max(200),
@@ -222,7 +228,7 @@ var GetPostBySlugRequest = z.object({
222
228
  ])
223
229
  ).max(20).optional(),
224
230
  language: z.string().describe("Language of the post.").optional().nullable()
225
- }).optional()
231
+ }).describe("Options specifying which fields to return.").optional()
226
232
  });
227
233
  var GetPostBySlugResponse = z.object({
228
234
  post: z.object({
@@ -282,7 +288,7 @@ var GetPostBySlugResponse = z.object({
282
288
  "SEO tag inner content. For example, `<title> inner content </title>`."
283
289
  ).optional(),
284
290
  custom: z.boolean().describe(
285
- "Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages)."
291
+ 'Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages).\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so custom tags saved on those pages are missing from the response entirely. For\nthose pages `false` therefore does not mean "not a custom tag" \u2014 it means this API could not tell.\nPass `seoData` explicitly to resolve against a known set of tags.'
286
292
  ).optional(),
287
293
  disabled: z.boolean().describe(
288
294
  "Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
@@ -427,7 +433,7 @@ var ListPostsRequest = z.object({
427
433
  "REFERENCE_ID"
428
434
  ])
429
435
  ).max(20).optional()
430
- }).optional()
436
+ }).describe("Sort, filter, and paging options.").optional()
431
437
  });
432
438
  var ListPostsResponse = z.object({
433
439
  posts: z.array(
@@ -488,7 +494,7 @@ var ListPostsResponse = z.object({
488
494
  "SEO tag inner content. For example, `<title> inner content </title>`."
489
495
  ).optional(),
490
496
  custom: z.boolean().describe(
491
- "Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages)."
497
+ 'Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages).\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so custom tags saved on those pages are missing from the response entirely. For\nthose pages `false` therefore does not mean "not a custom tag" \u2014 it means this API could not tell.\nPass `seoData` explicitly to resolve against a known set of tags.'
492
498
  ).optional(),
493
499
  disabled: z.boolean().describe(
494
500
  "Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
@@ -718,7 +724,7 @@ var QueryPostsRequest = z.object({
718
724
  "REFERENCE_ID"
719
725
  ])
720
726
  ).max(20).optional()
721
- }).optional()
727
+ }).describe("Options specifying which fields to return.").optional()
722
728
  });
723
729
  var QueryPostsResponse = z.object({
724
730
  posts: z.array(
@@ -779,7 +785,7 @@ var QueryPostsResponse = z.object({
779
785
  "SEO tag inner content. For example, `<title> inner content </title>`."
780
786
  ).optional(),
781
787
  custom: z.boolean().describe(
782
- "Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages)."
788
+ 'Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages).\n\nLimitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\nonly from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\nor Wix Studio pages, so custom tags saved on those pages are missing from the response entirely. For\nthose pages `false` therefore does not mean "not a custom tag" \u2014 it means this API could not tell.\nPass `seoData` explicitly to resolve against a known set of tags.'
783
789
  ).optional(),
784
790
  disabled: z.boolean().describe(
785
791
  "Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."