@rolino/contracts 0.4.0 → 0.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -22,11 +22,63 @@ var index_exports = {};
22
22
  __export(index_exports, {
23
23
  API_VERSION: () => API_VERSION,
24
24
  ActorSchema: () => ActorSchema,
25
+ AgentBlogArticleCreateRequestSchema: () => AgentBlogArticleCreateRequestSchema,
26
+ AgentBlogArticleDetailSchema: () => AgentBlogArticleDetailSchema,
27
+ AgentBlogArticleListResponseSchema: () => AgentBlogArticleListResponseSchema,
28
+ AgentBlogArticleQueuedResponseSchema: () => AgentBlogArticleQueuedResponseSchema,
29
+ AgentBlogArticleResponseSchema: () => AgentBlogArticleResponseSchema,
30
+ AgentBlogArticleSchema: () => AgentBlogArticleSchema,
31
+ AgentBlogCadenceInputSchema: () => AgentBlogCadenceInputSchema,
32
+ AgentBlogConnectionExecuteRequestSchema: () => AgentBlogConnectionExecuteRequestSchema,
33
+ AgentBlogConnectionExecuteResponseSchema: () => AgentBlogConnectionExecuteResponseSchema,
34
+ AgentBlogConnectionExecuteSchema: () => AgentBlogConnectionExecuteSchema,
35
+ AgentBlogConnectionPreviewRequestSchema: () => AgentBlogConnectionPreviewRequestSchema,
36
+ AgentBlogConnectionPreviewResponseSchema: () => AgentBlogConnectionPreviewResponseSchema,
37
+ AgentBlogConnectionPreviewSchema: () => AgentBlogConnectionPreviewSchema,
38
+ AgentBlogConnectionRequestSchema: () => AgentBlogConnectionRequestSchema,
39
+ AgentBlogConnectionStatusResponseSchema: () => AgentBlogConnectionStatusResponseSchema,
40
+ AgentBlogConnectionStatusSchema: () => AgentBlogConnectionStatusSchema,
41
+ AgentBlogDeliveryAttemptListResponseSchema: () => AgentBlogDeliveryAttemptListResponseSchema,
42
+ AgentBlogDeliveryAttemptSchema: () => AgentBlogDeliveryAttemptSchema,
43
+ AgentBlogDestinationSelectionSchema: () => AgentBlogDestinationSelectionSchema,
44
+ AgentBlogDraftUpdateSchema: () => AgentBlogDraftUpdateSchema,
45
+ AgentBlogGenerateRequestSchema: () => AgentBlogGenerateRequestSchema,
46
+ AgentBlogIdempotentRequestSchema: () => AgentBlogIdempotentRequestSchema,
47
+ AgentBlogJobResponseSchema: () => AgentBlogJobResponseSchema,
48
+ AgentBlogJobSchema: () => AgentBlogJobSchema,
49
+ AgentBlogPlanCreateRequestSchema: () => AgentBlogPlanCreateRequestSchema,
50
+ AgentBlogPlanItemResponseSchema: () => AgentBlogPlanItemResponseSchema,
51
+ AgentBlogPlanItemSchema: () => AgentBlogPlanItemSchema,
52
+ AgentBlogPlanItemStateRequestSchema: () => AgentBlogPlanItemStateRequestSchema,
53
+ AgentBlogPlanItemsResponseSchema: () => AgentBlogPlanItemsResponseSchema,
54
+ AgentBlogPlanListResponseSchema: () => AgentBlogPlanListResponseSchema,
55
+ AgentBlogPlanQueuedResponseSchema: () => AgentBlogPlanQueuedResponseSchema,
56
+ AgentBlogPlanRetryRequestSchema: () => AgentBlogPlanRetryRequestSchema,
57
+ AgentBlogPlanSchema: () => AgentBlogPlanSchema,
58
+ AgentBlogPublishExecuteRequestSchema: () => AgentBlogPublishExecuteRequestSchema,
59
+ AgentBlogPublishExecuteResponseSchema: () => AgentBlogPublishExecuteResponseSchema,
60
+ AgentBlogPublishPreviewRequestSchema: () => AgentBlogPublishPreviewRequestSchema,
61
+ AgentBlogPublishPreviewResponseSchema: () => AgentBlogPublishPreviewResponseSchema,
62
+ AgentBlogPublishPreviewSchema: () => AgentBlogPublishPreviewSchema,
63
+ AgentBlogPublishingDestinationListResponseSchema: () => AgentBlogPublishingDestinationListResponseSchema,
64
+ AgentBlogPublishingDestinationSchema: () => AgentBlogPublishingDestinationSchema,
65
+ AgentBlogPublishingProviderListResponseSchema: () => AgentBlogPublishingProviderListResponseSchema,
66
+ AgentBlogPublishingProviderSchema: () => AgentBlogPublishingProviderSchema,
67
+ AgentBlogRevalidationTestRequestSchema: () => AgentBlogRevalidationTestRequestSchema,
68
+ AgentBlogRevalidationTestResponseSchema: () => AgentBlogRevalidationTestResponseSchema,
69
+ AgentBlogRevalidationTestSchema: () => AgentBlogRevalidationTestSchema,
70
+ AgentBlogSetupStatusResponseSchema: () => AgentBlogSetupStatusResponseSchema,
71
+ AgentBlogSetupStatusSchema: () => AgentBlogSetupStatusSchema,
25
72
  ApiErrorCodeSchema: () => ApiErrorCodeSchema,
26
73
  ApiMetaResponseSchema: () => ApiMetaResponseSchema,
27
74
  ApiMetaSchema: () => ApiMetaSchema,
28
75
  ApiProblemSchema: () => ApiProblemSchema,
29
76
  AuthenticationKindSchema: () => AuthenticationKindSchema,
77
+ BlogArticleListSchema: () => BlogArticleListSchema,
78
+ BlogImageSchema: () => BlogImageSchema,
79
+ BlogMetadataSchema: () => BlogMetadataSchema,
80
+ BlogSitemapEntrySchema: () => BlogSitemapEntrySchema,
81
+ BlogSlugRedirectSchema: () => BlogSlugRedirectSchema,
30
82
  CLI_BROWSER_AUTHORIZATION_TIMEOUT_MS: () => CLI_BROWSER_AUTHORIZATION_TIMEOUT_MS,
31
83
  CONTRACT_VERSION: () => CONTRACT_VERSION,
32
84
  CalendarEventSchema: () => CalendarEventSchema,
@@ -60,7 +112,9 @@ __export(index_exports, {
60
112
  MediaAssetUploadPreparationSchema: () => MediaAssetUploadPreparationSchema,
61
113
  PUBLISHING_PROVIDER_COUNT: () => PUBLISHING_PROVIDER_COUNT,
62
114
  PlatformPostStatusSchema: () => PlatformPostStatusSchema,
115
+ PostDeliveryModeSchema: () => PostDeliveryModeSchema,
63
116
  PostDestinationSchema: () => PostDestinationSchema,
117
+ PostDestinationStageSchema: () => PostDestinationStageSchema,
64
118
  PostListDataSchema: () => PostListDataSchema,
65
119
  PostListQuerySchema: () => PostListQuerySchema,
66
120
  PostListResponseSchema: () => PostListResponseSchema,
@@ -94,10 +148,40 @@ __export(index_exports, {
94
148
  ProviderDeliveryOptionsResponseSchema: () => ProviderDeliveryOptionsResponseSchema,
95
149
  ProviderDeliveryOptionsSchema: () => ProviderDeliveryOptionsSchema,
96
150
  ProviderHealthStatusSchema: () => ProviderHealthStatusSchema,
151
+ PublishedBlogArticleSchema: () => PublishedBlogArticleSchema,
97
152
  PublishingProviderSchema: () => PublishingProviderSchema,
98
153
  ReadinessActionSchema: () => ReadinessActionSchema,
99
154
  ReadinessStatusSchema: () => ReadinessStatusSchema,
100
155
  RequestMetadataSchema: () => RequestMetadataSchema,
156
+ SeoActionDecisionSchema: () => SeoActionDecisionSchema,
157
+ SeoActionPlanSchema: () => SeoActionPlanSchema,
158
+ SeoAgentTaskSchema: () => SeoAgentTaskSchema,
159
+ SeoConfidenceValueSchema: () => SeoConfidenceValueSchema,
160
+ SeoContentTypeSchema: () => SeoContentTypeSchema,
161
+ SeoCursorSchema: () => SeoCursorSchema,
162
+ SeoDecisionConfidenceSchema: () => SeoDecisionConfidenceSchema,
163
+ SeoEntityIdSchema: () => SeoEntityIdSchema,
164
+ SeoEvidenceProvenanceSchema: () => SeoEvidenceProvenanceSchema,
165
+ SeoEvidenceSchema: () => SeoEvidenceSchema,
166
+ SeoExpectedImpactSchema: () => SeoExpectedImpactSchema,
167
+ SeoOpportunityBriefSchema: () => SeoOpportunityBriefSchema,
168
+ SeoOpportunityKindSchema: () => SeoOpportunityKindSchema,
169
+ SeoOpportunityListDataSchema: () => SeoOpportunityListDataSchema,
170
+ SeoOpportunityListQuerySchema: () => SeoOpportunityListQuerySchema,
171
+ SeoOpportunityListResponseSchema: () => SeoOpportunityListResponseSchema,
172
+ SeoOpportunityResponseSchema: () => SeoOpportunityResponseSchema,
173
+ SeoOpportunitySchema: () => SeoOpportunitySchema,
174
+ SeoReportCompletenessSchema: () => SeoReportCompletenessSchema,
175
+ SeoReportListDataSchema: () => SeoReportListDataSchema,
176
+ SeoReportListQuerySchema: () => SeoReportListQuerySchema,
177
+ SeoReportListResponseSchema: () => SeoReportListResponseSchema,
178
+ SeoReportResponseSchema: () => SeoReportResponseSchema,
179
+ SeoReportSchema: () => SeoReportSchema,
180
+ SeoReportSummarySchema: () => SeoReportSummarySchema,
181
+ SeoReportTriggerSchema: () => SeoReportTriggerSchema,
182
+ SeoSearchIntentSchema: () => SeoSearchIntentSchema,
183
+ SeoTaskDecisionSchema: () => SeoTaskDecisionSchema,
184
+ SeoTaskFormatSchema: () => SeoTaskFormatSchema,
101
185
  TikTokDeliveryOptionsSchema: () => TikTokDeliveryOptionsSchema,
102
186
  TikTokDraftSettingsSchema: () => TikTokDraftSettingsSchema,
103
187
  TikTokPostSettingsSchema: () => TikTokPostSettingsSchema,
@@ -108,7 +192,7 @@ __export(index_exports, {
108
192
  module.exports = __toCommonJS(index_exports);
109
193
  var import_zod = require("zod");
110
194
  var API_VERSION = "v1";
111
- var CONTRACT_VERSION = "0.14.0";
195
+ var CONTRACT_VERSION = "0.16.0";
112
196
  var RequestMetadataSchema = import_zod.z.object({
113
197
  requestId: import_zod.z.string().min(1)
114
198
  });
@@ -122,6 +206,11 @@ var ApiErrorCodeSchema = import_zod.z.enum([
122
206
  "VALIDATION_ERROR",
123
207
  "CONFLICT",
124
208
  "RATE_LIMITED",
209
+ "DELIVERY_CREDENTIAL_INVALID",
210
+ "DELIVERY_CREDENTIAL_REVOKED",
211
+ "ARTICLE_NOT_PUBLISHED",
212
+ "WEBHOOK_INVALID",
213
+ "WEBHOOK_REPLAYED",
125
214
  "INTERNAL_ERROR"
126
215
  ]);
127
216
  var ApiProblemSchema = import_zod.z.object({
@@ -132,6 +221,50 @@ var ApiProblemSchema = import_zod.z.object({
132
221
  }),
133
222
  meta: RequestMetadataSchema
134
223
  });
224
+ var BlogImageSchema = import_zod.z.object({
225
+ url: import_zod.z.string().url(),
226
+ altText: import_zod.z.string().min(1),
227
+ width: import_zod.z.number().int().positive(),
228
+ height: import_zod.z.number().int().positive(),
229
+ purpose: import_zod.z.enum(["FEATURED", "SECTION", "SOCIAL_PREVIEW"])
230
+ });
231
+ var PublishedBlogArticleSchema = import_zod.z.object({
232
+ id: import_zod.z.string().min(1),
233
+ revisionId: import_zod.z.string().min(1),
234
+ revisionNumber: import_zod.z.number().int().positive(),
235
+ slug: import_zod.z.string().min(1),
236
+ title: import_zod.z.string().min(1),
237
+ description: import_zod.z.string().nullable(),
238
+ excerpt: import_zod.z.string().nullable(),
239
+ tags: import_zod.z.array(import_zod.z.string()),
240
+ author: import_zod.z.string().min(1),
241
+ language: import_zod.z.string().min(1),
242
+ markdown: import_zod.z.string(),
243
+ contentBlocks: import_zod.z.array(import_zod.z.unknown()),
244
+ canonicalPath: import_zod.z.string().startsWith("/"),
245
+ publicUrl: import_zod.z.string().url(),
246
+ publishedAt: import_zod.z.string().datetime(),
247
+ updatedAt: import_zod.z.string().datetime(),
248
+ images: import_zod.z.array(BlogImageSchema)
249
+ });
250
+ var BlogArticleListSchema = import_zod.z.object({
251
+ articles: import_zod.z.array(PublishedBlogArticleSchema.omit({ markdown: true, contentBlocks: true }))
252
+ });
253
+ var BlogMetadataSchema = import_zod.z.object({
254
+ siteId: import_zod.z.string().min(1),
255
+ name: import_zod.z.string().min(1),
256
+ origin: import_zod.z.string().url(),
257
+ blogBasePath: import_zod.z.string().startsWith("/"),
258
+ language: import_zod.z.string().min(1),
259
+ updatedAt: import_zod.z.string().datetime().nullable()
260
+ });
261
+ var BlogSitemapEntrySchema = import_zod.z.object({
262
+ url: import_zod.z.string().url(),
263
+ lastModified: import_zod.z.string().datetime()
264
+ });
265
+ var BlogSlugRedirectSchema = import_zod.z.object({
266
+ redirect: import_zod.z.object({ from: import_zod.z.string().min(1), to: import_zod.z.string().min(1), permanent: import_zod.z.literal(true) })
267
+ });
135
268
  function successEnvelopeSchema(data) {
136
269
  return import_zod.z.object({
137
270
  data,
@@ -147,8 +280,245 @@ var CapabilityIdSchema = import_zod.z.enum([
147
280
  "posts:schedule",
148
281
  "posts:publish",
149
282
  "integrations:read",
150
- "calendar:read"
283
+ "calendar:read",
284
+ "seo:read",
285
+ "blog:read",
286
+ "blog:write",
287
+ "blog:manage",
288
+ "blog:publish"
151
289
  ]);
290
+ var AgentBlogPlanSchema = import_zod.z.object({
291
+ id: import_zod.z.string().min(1),
292
+ state: import_zod.z.string().min(1),
293
+ windowStart: import_zod.z.string().datetime(),
294
+ windowEnd: import_zod.z.string().datetime(),
295
+ cadence: import_zod.z.object({ weekdays: import_zod.z.array(import_zod.z.number().int().min(0).max(6)) }),
296
+ activeRevisionId: import_zod.z.string().nullable(),
297
+ itemCount: import_zod.z.number().int().nonnegative()
298
+ });
299
+ var AgentBlogArticleSchema = import_zod.z.object({
300
+ id: import_zod.z.string().min(1),
301
+ state: import_zod.z.string().min(1),
302
+ title: import_zod.z.string().min(1),
303
+ slug: import_zod.z.string().min(1),
304
+ currentDraftId: import_zod.z.string().nullable(),
305
+ approvedRevisionId: import_zod.z.string().nullable(),
306
+ publishedRevisionId: import_zod.z.string().nullable(),
307
+ scheduledPublishAt: import_zod.z.string().datetime().nullable(),
308
+ updatedAt: import_zod.z.string().datetime()
309
+ });
310
+ var AgentBlogArticleDetailSchema = AgentBlogArticleSchema.extend({
311
+ draft: import_zod.z.object({
312
+ id: import_zod.z.string().min(1),
313
+ version: import_zod.z.number().int().positive(),
314
+ title: import_zod.z.string(),
315
+ slug: import_zod.z.string(),
316
+ description: import_zod.z.string().nullable(),
317
+ excerpt: import_zod.z.string().nullable(),
318
+ canonicalPath: import_zod.z.string(),
319
+ tags: import_zod.z.array(import_zod.z.string()),
320
+ author: import_zod.z.string(),
321
+ language: import_zod.z.string(),
322
+ markdown: import_zod.z.string(),
323
+ callToAction: import_zod.z.unknown().nullable(),
324
+ internalLinks: import_zod.z.unknown()
325
+ }).nullable(),
326
+ revisions: import_zod.z.array(import_zod.z.object({ id: import_zod.z.string().min(1), revisionNumber: import_zod.z.number().int().positive(), contentHash: import_zod.z.string().min(1), approvedAt: import_zod.z.string().datetime().nullable(), createdAt: import_zod.z.string().datetime() }))
327
+ });
328
+ var AgentBlogJobSchema = import_zod.z.object({
329
+ id: import_zod.z.string().min(1),
330
+ type: import_zod.z.string().min(1),
331
+ state: import_zod.z.string().min(1),
332
+ attemptCount: import_zod.z.number().int().nonnegative(),
333
+ availableAt: import_zod.z.string().datetime(),
334
+ startedAt: import_zod.z.string().datetime().nullable(),
335
+ completedAt: import_zod.z.string().datetime().nullable(),
336
+ lastErrorCode: import_zod.z.string().nullable(),
337
+ lastErrorMessage: import_zod.z.string().nullable()
338
+ });
339
+ var AgentBlogDraftUpdateSchema = import_zod.z.object({
340
+ version: import_zod.z.number().int().positive(),
341
+ title: import_zod.z.string().trim().min(1).max(200),
342
+ slug: import_zod.z.string().trim().min(1).max(160),
343
+ description: import_zod.z.string().trim().max(320).nullable(),
344
+ excerpt: import_zod.z.string().trim().max(500).nullable(),
345
+ canonicalPath: import_zod.z.string().startsWith("/"),
346
+ tags: import_zod.z.array(import_zod.z.string().trim().min(1).max(80)).max(30),
347
+ author: import_zod.z.string().trim().min(1).max(160),
348
+ language: import_zod.z.string().trim().min(2).max(20),
349
+ markdown: import_zod.z.string().max(2e5),
350
+ callToAction: import_zod.z.object({ label: import_zod.z.string().trim().min(1).max(160), pageId: import_zod.z.string().min(1).nullable() }).strict().nullable(),
351
+ internalLinks: import_zod.z.array(import_zod.z.object({ pageId: import_zod.z.string().min(1), anchorText: import_zod.z.string().trim().min(1).max(200) }).strict()).max(20),
352
+ scheduledPublishAt: import_zod.z.string().datetime().nullable().optional()
353
+ });
354
+ var AgentBlogGenerateRequestSchema = import_zod.z.object({ idempotencyKey: import_zod.z.string().trim().min(8).max(200) });
355
+ var AgentBlogDestinationSelectionSchema = import_zod.z.array(import_zod.z.string().min(1)).min(1).max(20);
356
+ var AgentBlogPublishPreviewRequestSchema = import_zod.z.object({ revisionId: import_zod.z.string().min(1), destinationIds: AgentBlogDestinationSelectionSchema.optional() });
357
+ var AgentBlogPublishExecuteRequestSchema = import_zod.z.object({ revisionId: import_zod.z.string().min(1), destinationIds: AgentBlogDestinationSelectionSchema.optional(), confirmationToken: import_zod.z.string().min(1), idempotencyKey: import_zod.z.string().trim().min(8).max(200) });
358
+ var AgentBlogPublishingProviderSchema = import_zod.z.object({ key: import_zod.z.string(), name: import_zod.z.string(), description: import_zod.z.string(), mode: import_zod.z.string(), rollout: import_zod.z.enum(["PREVIEW", "VISIBLE"]), capabilities: import_zod.z.array(import_zod.z.string()), authorizationStrategy: import_zod.z.string(), requiresResourceDiscovery: import_zod.z.boolean(), requiresFieldMapping: import_zod.z.boolean(), officialDocumentationUrl: import_zod.z.string().url() }).strict();
359
+ var AgentBlogPublishingDestinationSchema = import_zod.z.object({ id: import_zod.z.string(), name: import_zod.z.string(), providerKey: import_zod.z.string(), mode: import_zod.z.string(), status: import_zod.z.string(), isPrimary: import_zod.z.boolean(), enabled: import_zod.z.boolean(), externalSiteName: import_zod.z.string().nullable(), externalSiteUrl: import_zod.z.string().url().nullable(), lastTestedAt: import_zod.z.string().datetime().nullable(), lastSucceededAt: import_zod.z.string().datetime().nullable(), lastErrorCode: import_zod.z.string().nullable() }).strict();
360
+ var AgentBlogDeliveryAttemptSchema = import_zod.z.object({ id: import_zod.z.string(), articleId: import_zod.z.string().nullable(), revisionId: import_zod.z.string().nullable(), destinationId: import_zod.z.string().nullable(), destinationName: import_zod.z.string().nullable(), operation: import_zod.z.string().nullable(), state: import_zod.z.string(), attemptCount: import_zod.z.number().int().nonnegative(), errorCode: import_zod.z.string().nullable(), retryAt: import_zod.z.string().datetime().nullable(), remoteUrl: import_zod.z.string().url().nullable(), createdAt: import_zod.z.string().datetime(), deliveredAt: import_zod.z.string().datetime().nullable() }).strict();
361
+ var AgentBlogPublishPreviewSchema = import_zod.z.object({ articleId: import_zod.z.string(), revisionId: import_zod.z.string(), contentHash: import_zod.z.string(), title: import_zod.z.string(), slug: import_zod.z.string(), publicUrl: import_zod.z.string().url(), destinations: import_zod.z.array(AgentBlogPublishingDestinationSchema), confirmation: import_zod.z.object({ token: import_zod.z.string(), expiresAt: import_zod.z.string().datetime() }) });
362
+ var AgentBlogReadinessSchema = import_zod.z.enum([
363
+ "MISSING",
364
+ "NOT_STARTED",
365
+ "QUEUED",
366
+ "RUNNING",
367
+ "READY",
368
+ "USED",
369
+ "CONFIGURED",
370
+ "VERIFIED",
371
+ "NEEDS_ATTENTION"
372
+ ]);
373
+ var AgentBlogSetupStatusSchema = import_zod.z.object({
374
+ projectId: import_zod.z.string().min(1),
375
+ brandName: import_zod.z.string().min(1),
376
+ brandWebsite: import_zod.z.enum(["MISSING", "READY"]),
377
+ websiteOrigin: import_zod.z.string().url().nullable(),
378
+ siteId: import_zod.z.string().min(1).nullable(),
379
+ blogBasePath: import_zod.z.string().startsWith("/").nullable(),
380
+ siteImport: AgentBlogReadinessSchema,
381
+ activeJobId: import_zod.z.string().min(1).nullable(),
382
+ plan: AgentBlogReadinessSchema,
383
+ activePlanId: import_zod.z.string().min(1).nullable(),
384
+ deliveryCredential: AgentBlogReadinessSchema,
385
+ revalidation: AgentBlogReadinessSchema,
386
+ nextAction: import_zod.z.enum([
387
+ "ADD_WEBSITE",
388
+ "IMPORT_SITE",
389
+ "WAIT_FOR_JOB",
390
+ "CREATE_PLAN",
391
+ "REVIEW_PLAN",
392
+ "CONFIGURE_DELIVERY",
393
+ "TEST_CONNECTION",
394
+ "READY"
395
+ ])
396
+ }).strict();
397
+ var AgentBlogCadenceInputSchema = import_zod.z.object({
398
+ startsOn: import_zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
399
+ weekdays: import_zod.z.array(import_zod.z.number().int().min(0).max(6)).min(1).max(7),
400
+ timeZone: import_zod.z.string().trim().min(1).max(100)
401
+ }).strict().superRefine(({ weekdays }, context) => {
402
+ if (new Set(weekdays).size !== weekdays.length) {
403
+ context.addIssue({ code: "custom", path: ["weekdays"], message: "Weekdays must be unique." });
404
+ }
405
+ });
406
+ var AgentBlogIdempotentRequestSchema = import_zod.z.object({
407
+ idempotencyKey: import_zod.z.string().trim().min(8).max(200)
408
+ }).strict();
409
+ var AgentBlogPlanCreateRequestSchema = AgentBlogCadenceInputSchema.and(AgentBlogIdempotentRequestSchema);
410
+ var AgentBlogPlanRetryRequestSchema = AgentBlogIdempotentRequestSchema;
411
+ var AgentBlogPlanItemSchema = import_zod.z.object({
412
+ id: import_zod.z.string().min(1),
413
+ planId: import_zod.z.string().min(1),
414
+ planRevisionId: import_zod.z.string().min(1),
415
+ version: import_zod.z.number().int().positive(),
416
+ scheduledLocalDate: import_zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
417
+ title: import_zod.z.string().min(1),
418
+ recommendedSlug: import_zod.z.string().min(1),
419
+ state: import_zod.z.string().min(1),
420
+ workType: import_zod.z.string().min(1),
421
+ format: import_zod.z.string().min(1),
422
+ primaryQuery: import_zod.z.string().nullable(),
423
+ searchIntent: import_zod.z.string().nullable(),
424
+ summary: import_zod.z.string(),
425
+ outline: import_zod.z.unknown(),
426
+ selectionReason: import_zod.z.string().min(1),
427
+ evidenceClassification: import_zod.z.enum(["OBSERVED", "MIXED", "HYPOTHESIS"]),
428
+ evidence: import_zod.z.unknown(),
429
+ displayMetrics: import_zod.z.unknown(),
430
+ overlapExplanation: import_zod.z.string().nullable(),
431
+ existingArticleComparison: import_zod.z.string().nullable(),
432
+ recommendedLinks: import_zod.z.unknown(),
433
+ targetConversionPage: import_zod.z.string().nullable(),
434
+ articleId: import_zod.z.string().min(1).nullable()
435
+ }).strict();
436
+ var AgentBlogPlanItemStateRequestSchema = import_zod.z.object({
437
+ state: import_zod.z.enum(["ACCEPTED", "DISMISSED"]),
438
+ expectedState: import_zod.z.string().min(1),
439
+ expectedVersion: import_zod.z.number().int().positive(),
440
+ idempotencyKey: import_zod.z.string().trim().min(8).max(200)
441
+ }).strict();
442
+ var AgentBlogArticleCreateRequestSchema = import_zod.z.object({
443
+ expectedState: import_zod.z.literal("ACCEPTED"),
444
+ expectedVersion: import_zod.z.number().int().positive(),
445
+ idempotencyKey: import_zod.z.string().trim().min(8).max(200)
446
+ }).strict();
447
+ var AgentBlogConnectionStatusSchema = import_zod.z.object({
448
+ projectId: import_zod.z.string().min(1),
449
+ siteId: import_zod.z.string().min(1),
450
+ origin: import_zod.z.string().url(),
451
+ endpoint: import_zod.z.string().url().nullable(),
452
+ deliveryCredential: import_zod.z.enum(["MISSING", "READY", "USED"]),
453
+ activeCredentialId: import_zod.z.string().min(1).nullable(),
454
+ credentialLastUsedAt: import_zod.z.string().datetime().nullable(),
455
+ revalidation: import_zod.z.enum(["MISSING", "CONFIGURED", "VERIFIED", "NEEDS_ATTENTION"]),
456
+ revalidationLastTestedAt: import_zod.z.string().datetime().nullable(),
457
+ revalidationLastSucceededAt: import_zod.z.string().datetime().nullable(),
458
+ revalidationLastErrorCode: import_zod.z.string().nullable()
459
+ }).strict();
460
+ var AgentBlogConnectionRequestSchema = import_zod.z.object({
461
+ endpoint: import_zod.z.string().url().nullable(),
462
+ credentialAction: import_zod.z.enum(["KEEP", "CREATE", "ROTATE", "REVOKE"]),
463
+ credentialId: import_zod.z.string().min(1).nullable(),
464
+ secretAction: import_zod.z.enum(["KEEP", "CREATE", "ROTATE"])
465
+ }).strict();
466
+ var AgentBlogConnectionPreviewRequestSchema = AgentBlogConnectionRequestSchema;
467
+ var AgentBlogConnectionExecuteRequestSchema = AgentBlogConnectionRequestSchema.extend({
468
+ confirmationToken: import_zod.z.string().min(1).max(300),
469
+ idempotencyKey: import_zod.z.string().trim().min(8).max(200)
470
+ }).strict();
471
+ var AgentBlogConnectionPreviewSchema = import_zod.z.object({
472
+ projectId: import_zod.z.string().min(1),
473
+ siteId: import_zod.z.string().min(1),
474
+ siteName: import_zod.z.string().min(1),
475
+ origin: import_zod.z.string().url(),
476
+ endpoint: import_zod.z.string().url().nullable(),
477
+ credentialAction: import_zod.z.enum(["KEEP", "CREATE", "ROTATE", "REVOKE"]),
478
+ secretAction: import_zod.z.enum(["KEEP", "CREATE", "ROTATE"]),
479
+ effect: import_zod.z.string().min(1),
480
+ confirmation: import_zod.z.object({ token: import_zod.z.string().min(1), expiresAt: import_zod.z.string().datetime() }).strict()
481
+ }).strict();
482
+ var AgentBlogConnectionExecuteSchema = import_zod.z.object({
483
+ projectId: import_zod.z.string().min(1),
484
+ siteId: import_zod.z.string().min(1),
485
+ completed: import_zod.z.literal(true),
486
+ secretDelivered: import_zod.z.boolean(),
487
+ alreadyDelivered: import_zod.z.boolean(),
488
+ deliveryToken: import_zod.z.string().min(1).optional(),
489
+ webhookSecret: import_zod.z.string().min(1).optional(),
490
+ message: import_zod.z.string().min(1)
491
+ }).strict();
492
+ var AgentBlogRevalidationTestRequestSchema = AgentBlogIdempotentRequestSchema;
493
+ var AgentBlogRevalidationTestSchema = import_zod.z.object({
494
+ status: import_zod.z.enum(["VERIFIED", "NEEDS_ATTENTION"]),
495
+ testedAt: import_zod.z.string().datetime(),
496
+ errorCode: import_zod.z.string().nullable()
497
+ }).strict();
498
+ var AgentBlogPlanListResponseSchema = successEnvelopeSchema(import_zod.z.object({ plans: import_zod.z.array(AgentBlogPlanSchema) }));
499
+ var AgentBlogArticleListResponseSchema = successEnvelopeSchema(import_zod.z.object({ articles: import_zod.z.array(AgentBlogArticleSchema) }));
500
+ var AgentBlogArticleResponseSchema = successEnvelopeSchema(AgentBlogArticleDetailSchema);
501
+ var AgentBlogJobResponseSchema = successEnvelopeSchema(AgentBlogJobSchema);
502
+ var AgentBlogPublishPreviewResponseSchema = successEnvelopeSchema(AgentBlogPublishPreviewSchema);
503
+ var AgentBlogPublishExecuteResponseSchema = successEnvelopeSchema(import_zod.z.object({ publicationId: import_zod.z.string(), articleId: import_zod.z.string(), revisionId: import_zod.z.string(), publicUrl: import_zod.z.string().url(), publishedAt: import_zod.z.string().datetime() }));
504
+ var AgentBlogPublishingProviderListResponseSchema = successEnvelopeSchema(import_zod.z.object({ providers: import_zod.z.array(AgentBlogPublishingProviderSchema) }).strict());
505
+ var AgentBlogPublishingDestinationListResponseSchema = successEnvelopeSchema(import_zod.z.object({ destinations: import_zod.z.array(AgentBlogPublishingDestinationSchema) }).strict());
506
+ var AgentBlogDeliveryAttemptListResponseSchema = successEnvelopeSchema(import_zod.z.object({ deliveries: import_zod.z.array(AgentBlogDeliveryAttemptSchema) }).strict());
507
+ var AgentBlogSetupStatusResponseSchema = successEnvelopeSchema(AgentBlogSetupStatusSchema);
508
+ var AgentBlogPlanItemsResponseSchema = successEnvelopeSchema(import_zod.z.object({ items: import_zod.z.array(AgentBlogPlanItemSchema) }).strict());
509
+ var AgentBlogPlanItemResponseSchema = successEnvelopeSchema(AgentBlogPlanItemSchema);
510
+ var AgentBlogPlanQueuedResponseSchema = successEnvelopeSchema(import_zod.z.object({
511
+ planId: import_zod.z.string().min(1),
512
+ job: AgentBlogJobSchema
513
+ }).strict());
514
+ var AgentBlogArticleQueuedResponseSchema = successEnvelopeSchema(import_zod.z.object({
515
+ articleId: import_zod.z.string().min(1),
516
+ job: AgentBlogJobSchema.nullable()
517
+ }).strict());
518
+ var AgentBlogConnectionStatusResponseSchema = successEnvelopeSchema(AgentBlogConnectionStatusSchema);
519
+ var AgentBlogConnectionPreviewResponseSchema = successEnvelopeSchema(AgentBlogConnectionPreviewSchema);
520
+ var AgentBlogConnectionExecuteResponseSchema = successEnvelopeSchema(AgentBlogConnectionExecuteSchema);
521
+ var AgentBlogRevalidationTestResponseSchema = successEnvelopeSchema(AgentBlogRevalidationTestSchema);
152
522
  var CapabilitySchema = import_zod.z.object({
153
523
  id: CapabilityIdSchema,
154
524
  available: import_zod.z.boolean(),
@@ -361,9 +731,24 @@ var PublishingProviderSchema = import_zod.z.enum([
361
731
  "LINKEDIN"
362
732
  ]);
363
733
  var PUBLISHING_PROVIDER_COUNT = PublishingProviderSchema.options.length;
734
+ var PostDeliveryModeSchema = import_zod.z.enum(["IMMEDIATE", "SCHEDULED"]);
735
+ var PostDestinationStageSchema = import_zod.z.enum([
736
+ "DRAFT",
737
+ "QUEUED",
738
+ "UPLOADING",
739
+ "PROCESSING",
740
+ "CONFIRMING_SCHEDULE",
741
+ "SCHEDULED",
742
+ "PUBLISHING",
743
+ "PUBLISHED",
744
+ "ACTION_REQUIRED",
745
+ "FAILED"
746
+ ]);
364
747
  var PostDestinationSchema = import_zod.z.object({
365
748
  provider: PublishingProviderSchema,
366
749
  status: PlatformPostStatusSchema,
750
+ deliveryMode: PostDeliveryModeSchema,
751
+ stage: PostDestinationStageSchema,
367
752
  captionOverride: import_zod.z.string().nullable(),
368
753
  scheduledAt: import_zod.z.string().datetime().nullable(),
369
754
  publishedAt: import_zod.z.string().datetime().nullable(),
@@ -814,6 +1199,7 @@ var PostScheduleExecuteInputSchema = PostScheduleInputSchema.extend({
814
1199
  }).strict();
815
1200
  var PostSchedulePreviewSchema = import_zod.z.object({
816
1201
  operation: import_zod.z.literal("posts.schedule.execute"),
1202
+ deliveryMode: import_zod.z.literal("SCHEDULED"),
817
1203
  post: import_zod.z.object({
818
1204
  id: import_zod.z.string().min(1),
819
1205
  projectId: import_zod.z.string().min(1),
@@ -822,6 +1208,12 @@ var PostSchedulePreviewSchema = import_zod.z.object({
822
1208
  }),
823
1209
  schedule: PostScheduleInputSchema,
824
1210
  destinations: import_zod.z.array(PublishingProviderSchema).min(1).max(PUBLISHING_PROVIDER_COUNT),
1211
+ youtube: import_zod.z.object({
1212
+ uploadVisibility: import_zod.z.literal("PRIVATE"),
1213
+ publishVisibility: import_zod.z.literal("PUBLIC"),
1214
+ preparationStartsImmediately: import_zod.z.literal(true),
1215
+ confirmationMeaning: import_zod.z.string().min(1)
1216
+ }).nullable().optional(),
825
1217
  providerReconciliation: import_zod.z.object({
826
1218
  provider: import_zod.z.literal("YOUTUBE"),
827
1219
  required: import_zod.z.boolean(),
@@ -842,6 +1234,8 @@ var PostSchedulePendingSchema = import_zod.z.object({
842
1234
  provider: import_zod.z.literal("YOUTUBE"),
843
1235
  mutationId: import_zod.z.string().min(1),
844
1236
  operation: import_zod.z.enum(["SCHEDULE", "CANCEL"]),
1237
+ phase: import_zod.z.literal("REMOTE_SCHEDULE_CONFIRMATION"),
1238
+ videoUploaded: import_zod.z.literal(true),
845
1239
  message: import_zod.z.string().min(1)
846
1240
  });
847
1241
  var PostScheduleExecuteResultSchema = import_zod.z.union([
@@ -862,6 +1256,7 @@ var PostPublishExecuteInputSchema = PostPublishInputSchema.extend({
862
1256
  }).strict();
863
1257
  var PostPublishPreviewSchema = import_zod.z.object({
864
1258
  operation: import_zod.z.literal("posts.publish.execute"),
1259
+ deliveryMode: import_zod.z.literal("IMMEDIATE"),
865
1260
  post: import_zod.z.object({
866
1261
  id: import_zod.z.string().min(1),
867
1262
  projectId: import_zod.z.string().min(1),
@@ -869,6 +1264,11 @@ var PostPublishPreviewSchema = import_zod.z.object({
869
1264
  status: PostStatusSchema
870
1265
  }),
871
1266
  destinations: PostPublishInputSchema.shape.destinations,
1267
+ youtube: import_zod.z.object({
1268
+ visibility: YouTubePostSettingsSchema.shape.privacyStatus,
1269
+ preparationStartsImmediately: import_zod.z.literal(true),
1270
+ createsSchedule: import_zod.z.literal(false)
1271
+ }).nullable().optional(),
872
1272
  readiness: PostReadinessSchema,
873
1273
  confirmation: import_zod.z.object({
874
1274
  token: import_zod.z.string().min(1),
@@ -941,15 +1341,331 @@ var CalendarListDataSchema = import_zod.z.object({
941
1341
  var CalendarListResponseSchema = successEnvelopeSchema(
942
1342
  CalendarListDataSchema
943
1343
  );
1344
+ var SeoEntityIdSchema = import_zod.z.string().min(1).max(128).regex(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/);
1345
+ var SeoCursorSchema = import_zod.z.string().min(1).max(512).regex(/^[A-Za-z0-9_-]+$/);
1346
+ var SeoOpportunityKindSchema = import_zod.z.enum([
1347
+ "SEARCH_TOPIC_CTR",
1348
+ "SEARCH_TOPIC_REFRESH",
1349
+ "SEARCH_TOPIC_NEW_ARTICLE",
1350
+ "SEARCH_TOPIC_CONSOLIDATE",
1351
+ "SEARCH_TOPIC_CLUSTER",
1352
+ "COMPETITOR_KEYWORD_GAP",
1353
+ "COMPETITOR_RANK_GAIN",
1354
+ "COMPETITOR_RANK_DROP",
1355
+ "COMPETITOR_SHARED_GAP",
1356
+ "SEO_VALIDATED_COMPETITOR_GAP"
1357
+ ]);
1358
+ var SeoExpectedImpactSchema = import_zod.z.enum(["HIGH", "MEDIUM", "LOW"]);
1359
+ var SeoEvidenceProvenanceSchema = import_zod.z.enum([
1360
+ "CUSTOMER_SEARCH_DATA",
1361
+ "MARKET_ESTIMATE",
1362
+ "ROLINO_ANALYSIS"
1363
+ ]);
1364
+ var SeoEvidenceSchema = import_zod.z.object({
1365
+ title: import_zod.z.string().min(1).max(180),
1366
+ summary: import_zod.z.string().min(1).max(500),
1367
+ sourceUrl: import_zod.z.string().url().max(2048).nullable(),
1368
+ provenance: SeoEvidenceProvenanceSchema,
1369
+ observedAt: import_zod.z.string().datetime(),
1370
+ periodStart: import_zod.z.string().datetime().nullable(),
1371
+ periodEnd: import_zod.z.string().datetime().nullable(),
1372
+ metrics: import_zod.z.record(
1373
+ import_zod.z.string().regex(/^[A-Za-z][A-Za-z0-9]{0,39}$/),
1374
+ import_zod.z.number().finite()
1375
+ ).refine((metrics) => Object.keys(metrics).length <= 20, {
1376
+ message: "SEO evidence can contain at most 20 metrics."
1377
+ }),
1378
+ estimated: import_zod.z.boolean(),
1379
+ topRowsOnly: import_zod.z.boolean(),
1380
+ coverageNote: import_zod.z.string().max(500).nullable()
1381
+ }).strict();
1382
+ var SeoActionDecisionSchema = import_zod.z.enum(["READY", "NEEDS_REVIEW", "REJECTED"]);
1383
+ var SeoSearchIntentSchema = import_zod.z.enum(["INFORMATIONAL", "COMMERCIAL", "NAVIGATIONAL", "BRANDED", "SUSPICIOUS"]);
1384
+ var SeoContentTypeSchema = import_zod.z.enum(["GUIDE", "TUTORIAL", "COMPARISON_PAGE", "LANDING_PAGE", "CONTENT_REFRESH"]);
1385
+ var SeoActionPlanSchema = import_zod.z.object({
1386
+ version: import_zod.z.number().int().positive(),
1387
+ decision: SeoActionDecisionSchema,
1388
+ decisionReason: import_zod.z.string().min(1).max(500),
1389
+ searchIntent: SeoSearchIntentSchema,
1390
+ primaryKeyword: import_zod.z.string().min(1).max(300),
1391
+ supportingKeywords: import_zod.z.array(import_zod.z.string().min(1).max(300)).max(12),
1392
+ questions: import_zod.z.array(import_zod.z.string().min(1).max(300)).max(8),
1393
+ contentType: SeoContentTypeSchema,
1394
+ suggestedTitle: import_zod.z.string().min(1).max(180),
1395
+ angle: import_zod.z.string().max(500),
1396
+ targetReader: import_zod.z.string().min(1).max(500),
1397
+ pageGoal: import_zod.z.string().max(500),
1398
+ outline: import_zod.z.array(import_zod.z.object({
1399
+ heading: import_zod.z.string().min(1).max(180),
1400
+ purpose: import_zod.z.string().min(1).max(500)
1401
+ }).strict()).max(10),
1402
+ rolinoConnection: import_zod.z.string().max(600),
1403
+ cta: import_zod.z.string().max(300),
1404
+ competitorPages: import_zod.z.array(import_zod.z.object({
1405
+ domain: import_zod.z.string().min(1).max(253),
1406
+ url: import_zod.z.string().url().nullable(),
1407
+ keyword: import_zod.z.string().min(1).max(300),
1408
+ rank: import_zod.z.number().min(1).max(1e3).nullable()
1409
+ }).strict()).max(8),
1410
+ existingPage: import_zod.z.object({
1411
+ title: import_zod.z.string().min(1).max(180),
1412
+ url: import_zod.z.string().url()
1413
+ }).strict().nullable(),
1414
+ warnings: import_zod.z.array(import_zod.z.string().min(1).max(500)).max(8),
1415
+ researchTasks: import_zod.z.array(import_zod.z.string().min(1).max(500)).max(8),
1416
+ cluster: import_zod.z.object({
1417
+ competitorDomains: import_zod.z.array(import_zod.z.string().min(1).max(253)).max(3),
1418
+ bestRank: import_zod.z.number().min(1).max(1e3).nullable(),
1419
+ estimatedDemand: import_zod.z.number().min(0).nullable(),
1420
+ firstPartyValidated: import_zod.z.boolean(),
1421
+ relevanceScore: import_zod.z.number().min(0).max(1),
1422
+ coverage: import_zod.z.string().max(500)
1423
+ }).strict()
1424
+ }).strict();
1425
+ var SeoTaskDecisionSchema = import_zod.z.enum(["READY", "NEEDS_REVIEW", "REJECTED"]);
1426
+ var SeoTaskFormatSchema = import_zod.z.enum([
1427
+ "BLOG_ARTICLE",
1428
+ "PRODUCT_LANDING_PAGE",
1429
+ "COMPARISON_PAGE",
1430
+ "EXISTING_PAGE_REFRESH",
1431
+ "YOUTUBE_PRODUCTION_PACKAGE",
1432
+ "SOCIAL_CAMPAIGN",
1433
+ "LINK_OUTREACH_TASK",
1434
+ "RESEARCH_TASK"
1435
+ ]);
1436
+ var SeoConfidenceValueSchema = import_zod.z.object({
1437
+ score: import_zod.z.number().int().min(0).max(100).nullable(),
1438
+ level: import_zod.z.enum(["HIGH", "MEDIUM", "LOW", "UNCONFIRMED"]),
1439
+ label: import_zod.z.string().min(1).max(120),
1440
+ explanation: import_zod.z.string().min(1).max(500)
1441
+ }).strict();
1442
+ var SeoDecisionConfidenceSchema = import_zod.z.object({
1443
+ topicRelevance: SeoConfidenceValueSchema,
1444
+ actionReadiness: SeoConfidenceValueSchema
1445
+ }).strict();
1446
+ var SeoTaskEvidenceSummarySchema = import_zod.z.object({
1447
+ title: import_zod.z.string().min(1).max(180),
1448
+ summary: import_zod.z.string().min(1).max(500),
1449
+ provenance: SeoEvidenceProvenanceSchema,
1450
+ observedAt: import_zod.z.string().datetime(),
1451
+ sourceUrl: import_zod.z.string().url().max(2048).nullable()
1452
+ }).strict();
1453
+ var SeoAgentTaskSchema = import_zod.z.object({
1454
+ schemaVersion: import_zod.z.number().int().positive(),
1455
+ projectId: SeoEntityIdSchema.nullable(),
1456
+ opportunityId: SeoEntityIdSchema.nullable(),
1457
+ legacy: import_zod.z.boolean(),
1458
+ legacyLabel: import_zod.z.string().max(500).nullable(),
1459
+ decision: SeoTaskDecisionSchema,
1460
+ decisionReason: import_zod.z.string().min(1).max(700),
1461
+ objective: import_zod.z.string().min(1).max(700),
1462
+ primaryFormat: SeoTaskFormatSchema,
1463
+ supportingFormats: import_zod.z.array(SeoTaskFormatSchema).max(4),
1464
+ formatOptions: import_zod.z.array(SeoTaskFormatSchema.exclude(["RESEARCH_TASK"])).max(7),
1465
+ confidence: SeoDecisionConfidenceSchema,
1466
+ target: import_zod.z.object({
1467
+ primaryKeyword: import_zod.z.string().min(1).max(300),
1468
+ supportingKeywords: import_zod.z.array(import_zod.z.string().min(1).max(300)).max(12),
1469
+ searchIntent: SeoSearchIntentSchema,
1470
+ audience: import_zod.z.string().min(1).max(500),
1471
+ angle: import_zod.z.string().max(600)
1472
+ }).strict(),
1473
+ suggestedTitles: import_zod.z.array(import_zod.z.string().min(1).max(180)).max(3),
1474
+ outline: import_zod.z.array(import_zod.z.object({
1475
+ heading: import_zod.z.string().min(1).max(180),
1476
+ purpose: import_zod.z.string().min(1).max(600)
1477
+ }).strict()).max(12),
1478
+ researchTasks: import_zod.z.array(import_zod.z.string().min(1).max(600)).max(10),
1479
+ competitorPagesToInspect: import_zod.z.array(import_zod.z.object({
1480
+ domain: import_zod.z.string().min(1).max(253),
1481
+ url: import_zod.z.string().url().max(2048).nullable(),
1482
+ keyword: import_zod.z.string().min(1).max(300),
1483
+ rank: import_zod.z.number().int().min(1).max(1e3).nullable()
1484
+ }).strict()).max(8),
1485
+ productFactsToVerify: import_zod.z.array(import_zod.z.string().min(1).max(600)).max(8),
1486
+ claimsNotToInvent: import_zod.z.array(import_zod.z.string().min(1).max(600)).max(8),
1487
+ deliverables: import_zod.z.array(import_zod.z.object({
1488
+ name: import_zod.z.string().min(1).max(180),
1489
+ requirements: import_zod.z.array(import_zod.z.string().min(1).max(600)).min(1).max(8)
1490
+ }).strict()).min(1).max(12),
1491
+ callToAction: import_zod.z.string().max(400),
1492
+ destination: import_zod.z.string().min(1).max(700),
1493
+ successMetric: import_zod.z.object({
1494
+ name: import_zod.z.string().min(1).max(180),
1495
+ target: import_zod.z.string().min(1).max(600),
1496
+ measurementWindow: import_zod.z.string().min(1).max(300)
1497
+ }).strict(),
1498
+ evidenceSummary: import_zod.z.array(SeoTaskEvidenceSummarySchema).max(5),
1499
+ limitations: import_zod.z.array(import_zod.z.string().min(1).max(600)).max(10),
1500
+ nextStep: import_zod.z.string().min(1).max(700),
1501
+ youtubePackageRequirements: import_zod.z.object({
1502
+ subject: import_zod.z.string().min(1).max(300),
1503
+ targetViewer: import_zod.z.string().min(1).max(500),
1504
+ objective: import_zod.z.string().min(1).max(700),
1505
+ titleOptions: import_zod.z.number().int().min(1).max(10),
1506
+ hook: import_zod.z.string().min(1).max(600),
1507
+ draftScript: import_zod.z.string().min(1).max(600),
1508
+ sceneList: import_zod.z.string().min(1).max(600),
1509
+ onScreenText: import_zod.z.string().min(1).max(600),
1510
+ thumbnailConcept: import_zod.z.string().min(1).max(600),
1511
+ thumbnailText: import_zod.z.string().min(1).max(300),
1512
+ description: import_zod.z.string().min(1).max(600),
1513
+ chapters: import_zod.z.string().min(1).max(600),
1514
+ callToAction: import_zod.z.string().max(400),
1515
+ supportingSocialPosts: import_zod.z.number().int().min(0).max(10)
1516
+ }).strict().nullable(),
1517
+ imageBriefs: import_zod.z.array(import_zod.z.object({
1518
+ concept: import_zod.z.string().min(1).max(600),
1519
+ brief: import_zod.z.string().min(1).max(800),
1520
+ altText: import_zod.z.string().min(1).max(500),
1521
+ prompt: import_zod.z.string().min(1).max(1e3)
1522
+ }).strict()).max(4)
1523
+ }).strict();
1524
+ var SeoOpportunityBriefSchema = import_zod.z.object({
1525
+ kind: SeoOpportunityKindSchema,
1526
+ title: import_zod.z.string().min(1).max(180),
1527
+ summary: import_zod.z.string().min(1).max(600),
1528
+ score: import_zod.z.number().int().min(0).max(100),
1529
+ confidence: SeoDecisionConfidenceSchema,
1530
+ expectedImpact: SeoExpectedImpactSchema,
1531
+ recommendedAction: import_zod.z.string().min(1).max(300),
1532
+ actionPlan: SeoActionPlanSchema,
1533
+ task: SeoAgentTaskSchema,
1534
+ evidence: import_zod.z.array(SeoEvidenceSchema).max(5),
1535
+ brief: import_zod.z.string().min(1).max(12e3)
1536
+ }).strict();
1537
+ var SeoOpportunitySchema = SeoOpportunityBriefSchema.extend({
1538
+ id: SeoEntityIdSchema,
1539
+ projectId: SeoEntityIdSchema,
1540
+ lastDetectedAt: import_zod.z.string().datetime(),
1541
+ stale: import_zod.z.boolean()
1542
+ }).strict();
1543
+ var SeoOpportunityListQuerySchema = import_zod.z.object({
1544
+ limit: import_zod.z.coerce.number().int().min(1).max(50).default(20),
1545
+ cursor: SeoCursorSchema.optional(),
1546
+ kind: SeoOpportunityKindSchema.optional(),
1547
+ expectedImpact: SeoExpectedImpactSchema.optional()
1548
+ }).strict();
1549
+ var SeoPageSchema = import_zod.z.object({
1550
+ limit: import_zod.z.number().int().min(1).max(50),
1551
+ nextCursor: SeoCursorSchema.nullable()
1552
+ }).strict();
1553
+ var SeoOpportunityListDataSchema = import_zod.z.object({
1554
+ items: import_zod.z.array(SeoOpportunitySchema).max(50),
1555
+ page: SeoPageSchema
1556
+ }).strict();
1557
+ var SeoOpportunityListResponseSchema = successEnvelopeSchema(
1558
+ SeoOpportunityListDataSchema
1559
+ );
1560
+ var SeoOpportunityResponseSchema = successEnvelopeSchema(
1561
+ SeoOpportunitySchema
1562
+ );
1563
+ var SeoReportCompletenessSchema = import_zod.z.enum(["COMPLETE", "PARTIAL"]);
1564
+ var SeoReportTriggerSchema = import_zod.z.enum(["SCHEDULED", "MANUAL"]);
1565
+ var SeoReportSummarySchema = import_zod.z.object({
1566
+ id: SeoEntityIdSchema,
1567
+ projectId: SeoEntityIdSchema,
1568
+ periodStart: import_zod.z.string().datetime(),
1569
+ periodEnd: import_zod.z.string().datetime(),
1570
+ timeZone: import_zod.z.string().min(1).max(100),
1571
+ deliveryDay: import_zod.z.number().int().min(1).max(7),
1572
+ completeness: SeoReportCompletenessSchema,
1573
+ trigger: SeoReportTriggerSchema,
1574
+ createdAt: import_zod.z.string().datetime(),
1575
+ opportunityCount: import_zod.z.number().int().min(0).max(5),
1576
+ readyTaskCount: import_zod.z.number().int().min(0).max(5),
1577
+ researchTaskCount: import_zod.z.number().int().min(0).max(5),
1578
+ rejectedFindingCount: import_zod.z.number().int().min(0).max(20),
1579
+ legacy: import_zod.z.boolean()
1580
+ }).strict();
1581
+ var SeoReportSchema = SeoReportSummarySchema.extend({
1582
+ generatedAt: import_zod.z.string().datetime(),
1583
+ partialLabel: import_zod.z.string().max(500).nullable(),
1584
+ freshThrough: import_zod.z.string().datetime().nullable(),
1585
+ opportunities: import_zod.z.array(SeoOpportunityBriefSchema).max(5),
1586
+ rejectedFindings: import_zod.z.array(import_zod.z.object({
1587
+ decision: import_zod.z.literal("REJECTED"),
1588
+ query: import_zod.z.string().min(1).max(300),
1589
+ reason: import_zod.z.string().min(1).max(700),
1590
+ observedAt: import_zod.z.string().datetime()
1591
+ }).strict()).max(20)
1592
+ }).strict();
1593
+ var SeoReportListQuerySchema = import_zod.z.object({
1594
+ limit: import_zod.z.coerce.number().int().min(1).max(26).default(10),
1595
+ cursor: SeoCursorSchema.optional(),
1596
+ completeness: SeoReportCompletenessSchema.optional()
1597
+ }).strict();
1598
+ var SeoReportListDataSchema = import_zod.z.object({
1599
+ items: import_zod.z.array(SeoReportSummarySchema).max(26),
1600
+ page: SeoPageSchema.extend({
1601
+ limit: import_zod.z.number().int().min(1).max(26)
1602
+ }).strict()
1603
+ }).strict();
1604
+ var SeoReportListResponseSchema = successEnvelopeSchema(
1605
+ SeoReportListDataSchema
1606
+ );
1607
+ var SeoReportResponseSchema = successEnvelopeSchema(SeoReportSchema);
944
1608
  // Annotate the CommonJS export names for ESM import in node:
945
1609
  0 && (module.exports = {
946
1610
  API_VERSION,
947
1611
  ActorSchema,
1612
+ AgentBlogArticleCreateRequestSchema,
1613
+ AgentBlogArticleDetailSchema,
1614
+ AgentBlogArticleListResponseSchema,
1615
+ AgentBlogArticleQueuedResponseSchema,
1616
+ AgentBlogArticleResponseSchema,
1617
+ AgentBlogArticleSchema,
1618
+ AgentBlogCadenceInputSchema,
1619
+ AgentBlogConnectionExecuteRequestSchema,
1620
+ AgentBlogConnectionExecuteResponseSchema,
1621
+ AgentBlogConnectionExecuteSchema,
1622
+ AgentBlogConnectionPreviewRequestSchema,
1623
+ AgentBlogConnectionPreviewResponseSchema,
1624
+ AgentBlogConnectionPreviewSchema,
1625
+ AgentBlogConnectionRequestSchema,
1626
+ AgentBlogConnectionStatusResponseSchema,
1627
+ AgentBlogConnectionStatusSchema,
1628
+ AgentBlogDeliveryAttemptListResponseSchema,
1629
+ AgentBlogDeliveryAttemptSchema,
1630
+ AgentBlogDestinationSelectionSchema,
1631
+ AgentBlogDraftUpdateSchema,
1632
+ AgentBlogGenerateRequestSchema,
1633
+ AgentBlogIdempotentRequestSchema,
1634
+ AgentBlogJobResponseSchema,
1635
+ AgentBlogJobSchema,
1636
+ AgentBlogPlanCreateRequestSchema,
1637
+ AgentBlogPlanItemResponseSchema,
1638
+ AgentBlogPlanItemSchema,
1639
+ AgentBlogPlanItemStateRequestSchema,
1640
+ AgentBlogPlanItemsResponseSchema,
1641
+ AgentBlogPlanListResponseSchema,
1642
+ AgentBlogPlanQueuedResponseSchema,
1643
+ AgentBlogPlanRetryRequestSchema,
1644
+ AgentBlogPlanSchema,
1645
+ AgentBlogPublishExecuteRequestSchema,
1646
+ AgentBlogPublishExecuteResponseSchema,
1647
+ AgentBlogPublishPreviewRequestSchema,
1648
+ AgentBlogPublishPreviewResponseSchema,
1649
+ AgentBlogPublishPreviewSchema,
1650
+ AgentBlogPublishingDestinationListResponseSchema,
1651
+ AgentBlogPublishingDestinationSchema,
1652
+ AgentBlogPublishingProviderListResponseSchema,
1653
+ AgentBlogPublishingProviderSchema,
1654
+ AgentBlogRevalidationTestRequestSchema,
1655
+ AgentBlogRevalidationTestResponseSchema,
1656
+ AgentBlogRevalidationTestSchema,
1657
+ AgentBlogSetupStatusResponseSchema,
1658
+ AgentBlogSetupStatusSchema,
948
1659
  ApiErrorCodeSchema,
949
1660
  ApiMetaResponseSchema,
950
1661
  ApiMetaSchema,
951
1662
  ApiProblemSchema,
952
1663
  AuthenticationKindSchema,
1664
+ BlogArticleListSchema,
1665
+ BlogImageSchema,
1666
+ BlogMetadataSchema,
1667
+ BlogSitemapEntrySchema,
1668
+ BlogSlugRedirectSchema,
953
1669
  CLI_BROWSER_AUTHORIZATION_TIMEOUT_MS,
954
1670
  CONTRACT_VERSION,
955
1671
  CalendarEventSchema,
@@ -983,7 +1699,9 @@ var CalendarListResponseSchema = successEnvelopeSchema(
983
1699
  MediaAssetUploadPreparationSchema,
984
1700
  PUBLISHING_PROVIDER_COUNT,
985
1701
  PlatformPostStatusSchema,
1702
+ PostDeliveryModeSchema,
986
1703
  PostDestinationSchema,
1704
+ PostDestinationStageSchema,
987
1705
  PostListDataSchema,
988
1706
  PostListQuerySchema,
989
1707
  PostListResponseSchema,
@@ -1017,10 +1735,40 @@ var CalendarListResponseSchema = successEnvelopeSchema(
1017
1735
  ProviderDeliveryOptionsResponseSchema,
1018
1736
  ProviderDeliveryOptionsSchema,
1019
1737
  ProviderHealthStatusSchema,
1738
+ PublishedBlogArticleSchema,
1020
1739
  PublishingProviderSchema,
1021
1740
  ReadinessActionSchema,
1022
1741
  ReadinessStatusSchema,
1023
1742
  RequestMetadataSchema,
1743
+ SeoActionDecisionSchema,
1744
+ SeoActionPlanSchema,
1745
+ SeoAgentTaskSchema,
1746
+ SeoConfidenceValueSchema,
1747
+ SeoContentTypeSchema,
1748
+ SeoCursorSchema,
1749
+ SeoDecisionConfidenceSchema,
1750
+ SeoEntityIdSchema,
1751
+ SeoEvidenceProvenanceSchema,
1752
+ SeoEvidenceSchema,
1753
+ SeoExpectedImpactSchema,
1754
+ SeoOpportunityBriefSchema,
1755
+ SeoOpportunityKindSchema,
1756
+ SeoOpportunityListDataSchema,
1757
+ SeoOpportunityListQuerySchema,
1758
+ SeoOpportunityListResponseSchema,
1759
+ SeoOpportunityResponseSchema,
1760
+ SeoOpportunitySchema,
1761
+ SeoReportCompletenessSchema,
1762
+ SeoReportListDataSchema,
1763
+ SeoReportListQuerySchema,
1764
+ SeoReportListResponseSchema,
1765
+ SeoReportResponseSchema,
1766
+ SeoReportSchema,
1767
+ SeoReportSummarySchema,
1768
+ SeoReportTriggerSchema,
1769
+ SeoSearchIntentSchema,
1770
+ SeoTaskDecisionSchema,
1771
+ SeoTaskFormatSchema,
1024
1772
  TikTokDeliveryOptionsSchema,
1025
1773
  TikTokDraftSettingsSchema,
1026
1774
  TikTokPostSettingsSchema,