@rolino/contracts 0.5.0 → 0.7.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
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
+ AGENT_CAPABILITIES: () => AGENT_CAPABILITIES,
23
24
  API_VERSION: () => API_VERSION,
24
25
  ActorSchema: () => ActorSchema,
25
26
  AgentBlogApprovalExecuteRequestSchema: () => AgentBlogApprovalExecuteRequestSchema,
@@ -33,6 +34,7 @@ __export(index_exports, {
33
34
  AgentBlogArticleCreateRequestSchema: () => AgentBlogArticleCreateRequestSchema,
34
35
  AgentBlogArticleDetailSchema: () => AgentBlogArticleDetailSchema,
35
36
  AgentBlogArticleListResponseSchema: () => AgentBlogArticleListResponseSchema,
37
+ AgentBlogArticleQualitySummarySchema: () => AgentBlogArticleQualitySummarySchema,
36
38
  AgentBlogArticleQueuedResponseSchema: () => AgentBlogArticleQueuedResponseSchema,
37
39
  AgentBlogArticleResponseSchema: () => AgentBlogArticleResponseSchema,
38
40
  AgentBlogArticleSchema: () => AgentBlogArticleSchema,
@@ -62,12 +64,22 @@ __export(index_exports, {
62
64
  AgentBlogImageUploadPrepareRequestSchema: () => AgentBlogImageUploadPrepareRequestSchema,
63
65
  AgentBlogJobResponseSchema: () => AgentBlogJobResponseSchema,
64
66
  AgentBlogJobSchema: () => AgentBlogJobSchema,
67
+ AgentBlogMetricSourceSchema: () => AgentBlogMetricSourceSchema,
68
+ AgentBlogPerformanceObservationSchema: () => AgentBlogPerformanceObservationSchema,
69
+ AgentBlogPlanCadenceExecuteRequestSchema: () => AgentBlogPlanCadenceExecuteRequestSchema,
70
+ AgentBlogPlanCadenceExecuteResponseSchema: () => AgentBlogPlanCadenceExecuteResponseSchema,
71
+ AgentBlogPlanCadenceExecuteSchema: () => AgentBlogPlanCadenceExecuteSchema,
72
+ AgentBlogPlanCadencePreviewRequestSchema: () => AgentBlogPlanCadencePreviewRequestSchema,
73
+ AgentBlogPlanCadencePreviewResponseSchema: () => AgentBlogPlanCadencePreviewResponseSchema,
74
+ AgentBlogPlanCadencePreviewSchema: () => AgentBlogPlanCadencePreviewSchema,
65
75
  AgentBlogPlanCreateRequestSchema: () => AgentBlogPlanCreateRequestSchema,
76
+ AgentBlogPlanDateMoveSchema: () => AgentBlogPlanDateMoveSchema,
66
77
  AgentBlogPlanItemResponseSchema: () => AgentBlogPlanItemResponseSchema,
67
78
  AgentBlogPlanItemSchema: () => AgentBlogPlanItemSchema,
68
79
  AgentBlogPlanItemStateRequestSchema: () => AgentBlogPlanItemStateRequestSchema,
69
80
  AgentBlogPlanItemsResponseSchema: () => AgentBlogPlanItemsResponseSchema,
70
81
  AgentBlogPlanListResponseSchema: () => AgentBlogPlanListResponseSchema,
82
+ AgentBlogPlanLockedItemSchema: () => AgentBlogPlanLockedItemSchema,
71
83
  AgentBlogPlanQueuedResponseSchema: () => AgentBlogPlanQueuedResponseSchema,
72
84
  AgentBlogPlanRetryRequestSchema: () => AgentBlogPlanRetryRequestSchema,
73
85
  AgentBlogPlanSchema: () => AgentBlogPlanSchema,
@@ -97,17 +109,63 @@ __export(index_exports, {
97
109
  AgentBlogSchedulePreviewSchema: () => AgentBlogSchedulePreviewSchema,
98
110
  AgentBlogSetupStatusResponseSchema: () => AgentBlogSetupStatusResponseSchema,
99
111
  AgentBlogSetupStatusSchema: () => AgentBlogSetupStatusSchema,
112
+ AgentBlogWebhookDestinationChangeSchema: () => AgentBlogWebhookDestinationChangeSchema,
113
+ AgentBlogWebhookDestinationExecuteRequestSchema: () => AgentBlogWebhookDestinationExecuteRequestSchema,
114
+ AgentBlogWebhookDestinationExecuteResponseSchema: () => AgentBlogWebhookDestinationExecuteResponseSchema,
115
+ AgentBlogWebhookDestinationExecuteSchema: () => AgentBlogWebhookDestinationExecuteSchema,
116
+ AgentBlogWebhookDestinationPreviewRequestSchema: () => AgentBlogWebhookDestinationPreviewRequestSchema,
117
+ AgentBlogWebhookDestinationPreviewResponseSchema: () => AgentBlogWebhookDestinationPreviewResponseSchema,
118
+ AgentBlogWebhookDestinationPreviewSchema: () => AgentBlogWebhookDestinationPreviewSchema,
119
+ AgentBlogWebhookRotateExecuteRequestSchema: () => AgentBlogWebhookRotateExecuteRequestSchema,
120
+ AgentBlogWebhookRotateExecuteResponseSchema: () => AgentBlogWebhookRotateExecuteResponseSchema,
121
+ AgentBlogWebhookRotateExecuteSchema: () => AgentBlogWebhookRotateExecuteSchema,
122
+ AgentBlogWebhookRotatePreviewRequestSchema: () => AgentBlogWebhookRotatePreviewRequestSchema,
123
+ AgentBlogWebhookRotatePreviewResponseSchema: () => AgentBlogWebhookRotatePreviewResponseSchema,
124
+ AgentBlogWebhookRotatePreviewSchema: () => AgentBlogWebhookRotatePreviewSchema,
125
+ AgentBlogWebhookSemanticsSchema: () => AgentBlogWebhookSemanticsSchema,
126
+ AgentBlogWebhookTestRequestSchema: () => AgentBlogWebhookTestRequestSchema,
127
+ AgentBlogWebhookTestResponseSchema: () => AgentBlogWebhookTestResponseSchema,
128
+ AgentBlogWebhookTestSchema: () => AgentBlogWebhookTestSchema,
100
129
  ApiErrorCodeSchema: () => ApiErrorCodeSchema,
101
130
  ApiMetaResponseSchema: () => ApiMetaResponseSchema,
102
131
  ApiMetaSchema: () => ApiMetaSchema,
103
132
  ApiProblemSchema: () => ApiProblemSchema,
104
133
  AuthenticationKindSchema: () => AuthenticationKindSchema,
134
+ BacklinkContactListDataSchema: () => BacklinkContactListDataSchema,
135
+ BacklinkContactListQuerySchema: () => BacklinkContactListQuerySchema,
136
+ BacklinkContactListResponseSchema: () => BacklinkContactListResponseSchema,
137
+ BacklinkContactSchema: () => BacklinkContactSchema,
138
+ BacklinkContactStateSchema: () => BacklinkContactStateSchema,
139
+ BacklinkDiscoveryInputSchema: () => BacklinkDiscoveryInputSchema,
140
+ BacklinkDiscoveryRunResponseSchema: () => BacklinkDiscoveryRunResponseSchema,
141
+ BacklinkDiscoveryRunSchema: () => BacklinkDiscoveryRunSchema,
142
+ BacklinkNextActionSchema: () => BacklinkNextActionSchema,
143
+ BacklinkOpportunityTypeSchema: () => BacklinkOpportunityTypeSchema,
144
+ BacklinkOutreachDraftResponseSchema: () => BacklinkOutreachDraftResponseSchema,
145
+ BacklinkOutreachDraftSchema: () => BacklinkOutreachDraftSchema,
146
+ BacklinkOutreachUpdateInputSchema: () => BacklinkOutreachUpdateInputSchema,
147
+ BacklinkProspectListDataSchema: () => BacklinkProspectListDataSchema,
148
+ BacklinkProspectListQuerySchema: () => BacklinkProspectListQuerySchema,
149
+ BacklinkProspectListResponseSchema: () => BacklinkProspectListResponseSchema,
150
+ BacklinkProspectResponseSchema: () => BacklinkProspectResponseSchema,
151
+ BacklinkProspectSchema: () => BacklinkProspectSchema,
152
+ BacklinkProspectStageSchema: () => BacklinkProspectStageSchema,
153
+ BacklinkQueueResponseSchema: () => BacklinkQueueResponseSchema,
154
+ BacklinkScoreComponentsSchema: () => BacklinkScoreComponentsSchema,
155
+ BacklinkStageUpdateInputSchema: () => BacklinkStageUpdateInputSchema,
156
+ BacklinkTargetInputSchema: () => BacklinkTargetInputSchema,
157
+ BacklinkTargetListResponseSchema: () => BacklinkTargetListResponseSchema,
158
+ BacklinkTargetResponseSchema: () => BacklinkTargetResponseSchema,
159
+ BacklinkTargetSchema: () => BacklinkTargetSchema,
160
+ BacklinkVerificationInputSchema: () => BacklinkVerificationInputSchema,
161
+ BacklinkVerificationResponseSchema: () => BacklinkVerificationResponseSchema,
162
+ BacklinkVerificationSchema: () => BacklinkVerificationSchema,
163
+ BacklinkVerificationStateSchema: () => BacklinkVerificationStateSchema,
105
164
  BlogArticleListSchema: () => BlogArticleListSchema,
106
165
  BlogImageSchema: () => BlogImageSchema,
107
166
  BlogMetadataSchema: () => BlogMetadataSchema,
108
167
  BlogSitemapEntrySchema: () => BlogSitemapEntrySchema,
109
168
  BlogSlugRedirectSchema: () => BlogSlugRedirectSchema,
110
- CLI_BROWSER_AUTHORIZATION_TIMEOUT_MS: () => CLI_BROWSER_AUTHORIZATION_TIMEOUT_MS,
111
169
  CONTRACT_VERSION: () => CONTRACT_VERSION,
112
170
  CalendarEventSchema: () => CalendarEventSchema,
113
171
  CalendarListDataSchema: () => CalendarListDataSchema,
@@ -117,11 +175,6 @@ __export(index_exports, {
117
175
  CapabilitiesResponseSchema: () => CapabilitiesResponseSchema,
118
176
  CapabilityIdSchema: () => CapabilityIdSchema,
119
177
  CapabilitySchema: () => CapabilitySchema,
120
- CliAuthorizationCredentialSchema: () => CliAuthorizationCredentialSchema,
121
- CliAuthorizationExchangeRequestSchema: () => CliAuthorizationExchangeRequestSchema,
122
- CliAuthorizationExchangeResponseSchema: () => CliAuthorizationExchangeResponseSchema,
123
- CliAuthorizationRevokeDataSchema: () => CliAuthorizationRevokeDataSchema,
124
- CliAuthorizationRevokeResponseSchema: () => CliAuthorizationRevokeResponseSchema,
125
178
  DraftPostInputSchema: () => DraftPostInputSchema,
126
179
  DraftPostUpdateInputSchema: () => DraftPostUpdateInputSchema,
127
180
  IntegrationConnectionStatusSchema: () => IntegrationConnectionStatusSchema,
@@ -220,13 +273,14 @@ __export(index_exports, {
220
273
  module.exports = __toCommonJS(index_exports);
221
274
  var import_zod = require("zod");
222
275
  var API_VERSION = "v1";
223
- var CONTRACT_VERSION = "0.16.0";
276
+ var CONTRACT_VERSION = "0.18.0";
224
277
  var RequestMetadataSchema = import_zod.z.object({
225
278
  requestId: import_zod.z.string().min(1)
226
279
  });
227
280
  var ApiErrorCodeSchema = import_zod.z.enum([
228
281
  "AUTH_REQUIRED",
229
282
  "FORBIDDEN",
283
+ "METHOD_NOT_ALLOWED",
230
284
  "NOT_FOUND",
231
285
  "FEATURE_DISABLED",
232
286
  "BILLING_REQUIRED",
@@ -245,6 +299,9 @@ var ApiProblemSchema = import_zod.z.object({
245
299
  error: import_zod.z.object({
246
300
  code: ApiErrorCodeSchema,
247
301
  message: import_zod.z.string().min(1),
302
+ // Optional while clients can still communicate with older Rolino deployments.
303
+ // Current servers include this field on every API problem response.
304
+ resolution: import_zod.z.string().min(1).optional(),
248
305
  details: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional()
249
306
  }),
250
307
  meta: RequestMetadataSchema
@@ -310,20 +367,26 @@ var CapabilityIdSchema = import_zod.z.enum([
310
367
  "integrations:read",
311
368
  "calendar:read",
312
369
  "seo:read",
370
+ "backlinks:read",
371
+ "backlinks:write",
372
+ "backlinks:contacts",
313
373
  "blog:read",
314
374
  "blog:write",
315
375
  "blog:manage",
316
376
  "blog:approve",
317
377
  "blog:publish"
318
378
  ]);
379
+ var AGENT_CAPABILITIES = CapabilityIdSchema.options;
319
380
  var AgentBlogPlanSchema = import_zod.z.object({
320
381
  id: import_zod.z.string().min(1),
382
+ version: import_zod.z.number().int().positive(),
321
383
  state: import_zod.z.string().min(1),
322
384
  windowStart: import_zod.z.string().datetime(),
323
385
  windowEnd: import_zod.z.string().datetime(),
324
386
  cadence: import_zod.z.object({ weekdays: import_zod.z.array(import_zod.z.number().int().min(0).max(6)) }),
325
387
  activeRevisionId: import_zod.z.string().nullable(),
326
- itemCount: import_zod.z.number().int().nonnegative()
388
+ itemCount: import_zod.z.number().int().nonnegative(),
389
+ successorState: import_zod.z.enum(["NOT_STARTED", "GENERATING", "READY", "NEEDS_ATTENTION"]).optional()
327
390
  });
328
391
  var AgentBlogArticleSchema = import_zod.z.object({
329
392
  id: import_zod.z.string().min(1),
@@ -334,8 +397,34 @@ var AgentBlogArticleSchema = import_zod.z.object({
334
397
  approvedRevisionId: import_zod.z.string().nullable(),
335
398
  publishedRevisionId: import_zod.z.string().nullable(),
336
399
  scheduledPublishAt: import_zod.z.string().datetime().nullable(),
337
- updatedAt: import_zod.z.string().datetime()
400
+ updatedAt: import_zod.z.string().datetime(),
401
+ preparationState: import_zod.z.enum(["PREPARING", "READY_FOR_REVIEW", "SCHEDULED", "MEASURING", "NEEDS_ATTENTION"]).optional(),
402
+ nextAction: import_zod.z.enum(["WAIT", "REVIEW_ARTICLE", "OPEN_SCHEDULE", "VIEW_OBSERVATION", "RESOLVE_ISSUE"]).optional()
338
403
  });
404
+ var AgentBlogArticleQualitySummarySchema = import_zod.z.object({
405
+ version: import_zod.z.literal(2),
406
+ decision: import_zod.z.enum(["READY_FOR_REVIEW", "NEEDS_ATTENTION"]),
407
+ checks: import_zod.z.array(import_zod.z.object({ code: import_zod.z.enum(["SAFE_MARKDOWN", "REQUIRED_METADATA", "CANONICAL_PATH", "CATALOG_LINKS", "LIVE_LINK_TARGETS", "QUERY_OWNERSHIP", "CONTENT_OVERLAP", "BRAND_TERMS", "EVIDENCE_OWNERSHIP"]), status: import_zod.z.enum(["PASSED", "FAILED", "WARNING"]), message: import_zod.z.string().max(240) }).strict()).max(9)
408
+ }).strict();
409
+ var AgentBlogMetricSourceSchema = import_zod.z.object({
410
+ provider: import_zod.z.enum(["GOOGLE_SEARCH_CONSOLE", "GOOGLE_ANALYTICS"]),
411
+ observedAt: import_zod.z.string().datetime(),
412
+ periodStart: import_zod.z.string().datetime().nullable(),
413
+ periodEnd: import_zod.z.string().datetime().nullable(),
414
+ metrics: import_zod.z.record(import_zod.z.string().max(40), import_zod.z.number().finite()).refine((metrics) => Object.keys(metrics).length <= 20, { message: "Blog metric sources can contain at most 20 metrics." })
415
+ }).strict();
416
+ var AgentBlogPerformanceObservationSchema = import_zod.z.object({
417
+ state: import_zod.z.enum(["WAITING", "MATCHED", "MISSING_MATCH", "MEASURING", "OBSERVED", "PARTIAL", "UNAVAILABLE", "STALE"]),
418
+ latestCheckpoint: import_zod.z.enum(["BASELINE", "DAY_28", "DAY_56"]).nullable(),
419
+ nextCheckpoint: import_zod.z.enum(["BASELINE", "DAY_28", "DAY_56"]).nullable(),
420
+ checkpoints: import_zod.z.array(import_zod.z.object({
421
+ checkpoint: import_zod.z.enum(["BASELINE", "DAY_28", "DAY_56"]),
422
+ state: import_zod.z.enum(["WAITING", "MATCHED", "MISSING_MATCH", "MEASURING", "OBSERVED", "PARTIAL", "UNAVAILABLE", "STALE"]),
423
+ targetDataThrough: import_zod.z.string().date().nullable(),
424
+ sources: import_zod.z.array(AgentBlogMetricSourceSchema).max(2),
425
+ siteContext: import_zod.z.array(AgentBlogMetricSourceSchema).max(2)
426
+ }).strict()).max(3)
427
+ }).strict();
339
428
  var AgentBlogImageSchema = import_zod.z.object({
340
429
  id: import_zod.z.string().min(1),
341
430
  revisionId: import_zod.z.string().nullable(),
@@ -367,8 +456,9 @@ var AgentBlogArticleDetailSchema = AgentBlogArticleSchema.extend({
367
456
  callToAction: import_zod.z.unknown().nullable(),
368
457
  internalLinks: import_zod.z.unknown()
369
458
  }).nullable(),
370
- 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() })),
371
- images: import_zod.z.array(AgentBlogImageSchema)
459
+ 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(), quality: AgentBlogArticleQualitySummarySchema.nullable().optional() })),
460
+ images: import_zod.z.array(AgentBlogImageSchema),
461
+ measurement: AgentBlogPerformanceObservationSchema.nullable().optional()
372
462
  });
373
463
  var AgentBlogJobSchema = import_zod.z.object({
374
464
  id: import_zod.z.string().min(1),
@@ -514,7 +604,7 @@ var AgentBlogScheduleCancelExecuteSchema = AgentBlogScheduleCancelPreviewSchema.
514
604
  var AgentBlogPublishPreviewRequestSchema = import_zod.z.object({ revisionId: import_zod.z.string().min(1), destinationIds: AgentBlogDestinationSelectionSchema.optional() });
515
605
  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) });
516
606
  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();
517
- 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();
607
+ 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(), capabilities: import_zod.z.array(import_zod.z.string()), 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();
518
608
  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();
519
609
  var AgentBlogPublishPreviewSchema = import_zod.z.object({ articleId: import_zod.z.string(), revisionId: import_zod.z.string(), contentHash: import_zod.z.string(), approvalBundleHash: import_zod.z.string().regex(/^[a-f0-9]{64}$/), approvalSource: import_zod.z.enum(["USER", "AGENT"]).nullable(), 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() }) });
520
610
  var AgentBlogReadinessSchema = import_zod.z.enum([
@@ -564,6 +654,75 @@ var AgentBlogCadenceInputSchema = import_zod.z.object({
564
654
  var AgentBlogIdempotentRequestSchema = import_zod.z.object({
565
655
  idempotencyKey: import_zod.z.string().trim().min(8).max(200)
566
656
  }).strict();
657
+ var AgentBlogPublicationWeekdaysSchema = import_zod.z.array(import_zod.z.number().int().min(0).max(6)).min(1).max(7).superRefine((weekdays, context) => {
658
+ if (new Set(weekdays).size !== weekdays.length) {
659
+ context.addIssue({ code: "custom", message: "Weekdays must be unique." });
660
+ }
661
+ });
662
+ var AgentBlogEditorialDateSchema = import_zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/);
663
+ var AgentBlogPlanItemStateSchema = import_zod.z.enum([
664
+ "PLANNED",
665
+ "ACCEPTED",
666
+ "DISMISSED",
667
+ "DRAFTING",
668
+ "IN_REVIEW",
669
+ "APPROVED",
670
+ "SCHEDULED",
671
+ "PUBLISHED",
672
+ "NEEDS_ATTENTION"
673
+ ]);
674
+ var AgentBlogScheduleDigestSchema = import_zod.z.string().regex(/^[a-f0-9]{64}$/);
675
+ var AgentBlogPlanDateMoveSchema = import_zod.z.object({
676
+ itemId: import_zod.z.string().min(1),
677
+ title: import_zod.z.string().min(1).max(200),
678
+ oldDate: AgentBlogEditorialDateSchema,
679
+ newDate: AgentBlogEditorialDateSchema,
680
+ state: AgentBlogPlanItemStateSchema,
681
+ version: import_zod.z.number().int().positive()
682
+ }).strict();
683
+ var AgentBlogPlanLockedItemSchema = import_zod.z.object({
684
+ itemId: import_zod.z.string().min(1),
685
+ title: import_zod.z.string().min(1).max(200),
686
+ date: AgentBlogEditorialDateSchema,
687
+ state: import_zod.z.enum(["SCHEDULED", "PUBLISHED"]),
688
+ version: import_zod.z.number().int().positive()
689
+ }).strict();
690
+ var AgentBlogPlanCadencePreviewRequestSchema = import_zod.z.object({
691
+ weekdays: AgentBlogPublicationWeekdaysSchema,
692
+ expectedPlanVersion: import_zod.z.number().int().positive()
693
+ }).strict();
694
+ var AgentBlogPlanCadencePreviewSchema = import_zod.z.object({
695
+ planId: import_zod.z.string().min(1),
696
+ planTitle: import_zod.z.string().min(1).max(200),
697
+ planVersion: import_zod.z.number().int().positive(),
698
+ scheduleDigest: AgentBlogScheduleDigestSchema,
699
+ kind: import_zod.z.enum(["ready", "blocked", "noop"]),
700
+ canExecute: import_zod.z.boolean(),
701
+ oldWeekdays: AgentBlogPublicationWeekdaysSchema,
702
+ newWeekdays: AgentBlogPublicationWeekdaysSchema,
703
+ moves: import_zod.z.array(AgentBlogPlanDateMoveSchema).max(30),
704
+ lockedItems: import_zod.z.array(AgentBlogPlanLockedItemSchema).max(30),
705
+ warnings: import_zod.z.array(import_zod.z.string().min(1).max(500)).max(30),
706
+ reason: import_zod.z.string().min(1).max(500).nullable(),
707
+ confirmation: import_zod.z.object({ token: import_zod.z.string().min(1), expiresAt: import_zod.z.string().datetime() }).strict().nullable()
708
+ }).strict();
709
+ var AgentBlogPlanCadenceExecuteRequestSchema = import_zod.z.object({
710
+ weekdays: AgentBlogPublicationWeekdaysSchema,
711
+ expectedPlanVersion: import_zod.z.number().int().positive(),
712
+ expectedScheduleDigest: AgentBlogScheduleDigestSchema,
713
+ confirmationToken: import_zod.z.string().min(1),
714
+ idempotencyKey: import_zod.z.string().trim().min(8).max(200)
715
+ }).strict();
716
+ var AgentBlogPlanCadenceExecuteSchema = import_zod.z.object({
717
+ planId: import_zod.z.string().min(1),
718
+ planVersion: import_zod.z.number().int().positive(),
719
+ publicationWeekdays: AgentBlogPublicationWeekdaysSchema,
720
+ cadencePerWeek: import_zod.z.number().int().min(1).max(7),
721
+ expectedItemCount: import_zod.z.number().int().nonnegative().max(30),
722
+ moves: import_zod.z.array(AgentBlogPlanDateMoveSchema).max(30),
723
+ lockedItems: import_zod.z.array(AgentBlogPlanLockedItemSchema).max(30),
724
+ scheduleDigest: AgentBlogScheduleDigestSchema
725
+ }).strict();
567
726
  var AgentBlogPlanCreateRequestSchema = AgentBlogCadenceInputSchema.and(AgentBlogIdempotentRequestSchema);
568
727
  var AgentBlogPlanRetryRequestSchema = AgentBlogIdempotentRequestSchema;
569
728
  var AgentBlogPlanItemSchema = import_zod.z.object({
@@ -589,7 +748,9 @@ var AgentBlogPlanItemSchema = import_zod.z.object({
589
748
  existingArticleComparison: import_zod.z.string().nullable(),
590
749
  recommendedLinks: import_zod.z.unknown(),
591
750
  targetConversionPage: import_zod.z.string().nullable(),
592
- articleId: import_zod.z.string().min(1).nullable()
751
+ articleId: import_zod.z.string().min(1).nullable(),
752
+ preparationState: import_zod.z.enum(["PREPARING", "READY_FOR_REVIEW", "SCHEDULED", "MEASURING", "NEEDS_ATTENTION"]).optional(),
753
+ nextAction: import_zod.z.enum(["WAIT", "REVIEW_ARTICLE", "OPEN_SCHEDULE", "VIEW_OBSERVATION", "RESOLVE_ISSUE"]).optional()
593
754
  }).strict();
594
755
  var AgentBlogPlanItemStateRequestSchema = import_zod.z.object({
595
756
  state: import_zod.z.enum(["ACCEPTED", "DISMISSED"]),
@@ -647,6 +808,67 @@ var AgentBlogConnectionExecuteSchema = import_zod.z.object({
647
808
  webhookSecret: import_zod.z.string().min(1).optional(),
648
809
  message: import_zod.z.string().min(1)
649
810
  }).strict();
811
+ var AgentBlogWebhookSemanticsSchema = import_zod.z.enum(["DRAFT", "LIVE"]);
812
+ var AgentBlogWebhookDestinationChangeSchema = import_zod.z.object({
813
+ destinationId: import_zod.z.string().min(1).optional(),
814
+ siteId: import_zod.z.string().min(1),
815
+ name: import_zod.z.string().trim().min(1).max(160),
816
+ endpoint: import_zod.z.string().url(),
817
+ semantics: AgentBlogWebhookSemanticsSchema
818
+ }).strict();
819
+ var AgentBlogWebhookDestinationPreviewRequestSchema = AgentBlogWebhookDestinationChangeSchema;
820
+ var AgentBlogWebhookDestinationExecuteRequestSchema = AgentBlogWebhookDestinationChangeSchema.extend({
821
+ confirmationToken: import_zod.z.string().min(1).max(300),
822
+ idempotencyKey: import_zod.z.string().trim().min(8).max(200)
823
+ }).strict();
824
+ var AgentBlogWebhookDestinationPreviewSchema = AgentBlogWebhookDestinationChangeSchema.extend({
825
+ destinationId: import_zod.z.string().min(1).nullable(),
826
+ effect: import_zod.z.string().min(1),
827
+ confirmation: import_zod.z.object({ token: import_zod.z.string().min(1), expiresAt: import_zod.z.string().datetime() }).strict()
828
+ }).strict();
829
+ var AgentBlogWebhookDestinationExecuteSchema = import_zod.z.object({
830
+ projectId: import_zod.z.string().min(1),
831
+ siteId: import_zod.z.string().min(1),
832
+ destinationId: import_zod.z.string().min(1),
833
+ completed: import_zod.z.literal(true),
834
+ secretDelivered: import_zod.z.boolean(),
835
+ alreadyDelivered: import_zod.z.boolean(),
836
+ webhookSecret: import_zod.z.string().min(1).optional(),
837
+ message: import_zod.z.string().min(1)
838
+ }).strict();
839
+ var AgentBlogWebhookTestRequestSchema = import_zod.z.object({
840
+ siteId: import_zod.z.string().min(1),
841
+ destinationId: import_zod.z.string().min(1),
842
+ makePrimary: import_zod.z.boolean().optional()
843
+ }).strict();
844
+ var AgentBlogWebhookTestSchema = import_zod.z.object({
845
+ destinationId: import_zod.z.string().min(1),
846
+ status: import_zod.z.enum(["CONNECTED", "NEEDS_ATTENTION"]),
847
+ enabled: import_zod.z.boolean(),
848
+ testedAt: import_zod.z.string().datetime(),
849
+ errorCode: import_zod.z.string().nullable()
850
+ }).strict();
851
+ var AgentBlogWebhookRotatePreviewRequestSchema = import_zod.z.object({
852
+ siteId: import_zod.z.string().min(1),
853
+ destinationId: import_zod.z.string().min(1)
854
+ }).strict();
855
+ var AgentBlogWebhookRotateExecuteRequestSchema = AgentBlogWebhookRotatePreviewRequestSchema.extend({
856
+ confirmationToken: import_zod.z.string().min(1).max(300),
857
+ idempotencyKey: import_zod.z.string().trim().min(8).max(200)
858
+ }).strict();
859
+ var AgentBlogWebhookRotatePreviewSchema = AgentBlogWebhookRotatePreviewRequestSchema.extend({
860
+ destinationName: import_zod.z.string().min(1),
861
+ effect: import_zod.z.string().min(1),
862
+ confirmation: import_zod.z.object({ token: import_zod.z.string().min(1), expiresAt: import_zod.z.string().datetime() }).strict()
863
+ }).strict();
864
+ var AgentBlogWebhookRotateExecuteSchema = import_zod.z.object({
865
+ destinationId: import_zod.z.string().min(1),
866
+ completed: import_zod.z.literal(true),
867
+ secretDelivered: import_zod.z.boolean(),
868
+ alreadyDelivered: import_zod.z.boolean(),
869
+ webhookSecret: import_zod.z.string().min(1).optional(),
870
+ message: import_zod.z.string().min(1)
871
+ }).strict();
650
872
  var AgentBlogRevalidationTestRequestSchema = AgentBlogIdempotentRequestSchema;
651
873
  var AgentBlogRevalidationTestSchema = import_zod.z.object({
652
874
  status: import_zod.z.enum(["VERIFIED", "NEEDS_ATTENTION"]),
@@ -680,6 +902,8 @@ var AgentBlogDeliveryAttemptListResponseSchema = successEnvelopeSchema(import_zo
680
902
  var AgentBlogSetupStatusResponseSchema = successEnvelopeSchema(AgentBlogSetupStatusSchema);
681
903
  var AgentBlogPlanItemsResponseSchema = successEnvelopeSchema(import_zod.z.object({ items: import_zod.z.array(AgentBlogPlanItemSchema) }).strict());
682
904
  var AgentBlogPlanItemResponseSchema = successEnvelopeSchema(AgentBlogPlanItemSchema);
905
+ var AgentBlogPlanCadencePreviewResponseSchema = successEnvelopeSchema(AgentBlogPlanCadencePreviewSchema);
906
+ var AgentBlogPlanCadenceExecuteResponseSchema = successEnvelopeSchema(AgentBlogPlanCadenceExecuteSchema);
683
907
  var AgentBlogPlanQueuedResponseSchema = successEnvelopeSchema(import_zod.z.object({
684
908
  planId: import_zod.z.string().min(1),
685
909
  job: AgentBlogJobSchema
@@ -692,6 +916,11 @@ var AgentBlogConnectionStatusResponseSchema = successEnvelopeSchema(AgentBlogCon
692
916
  var AgentBlogConnectionPreviewResponseSchema = successEnvelopeSchema(AgentBlogConnectionPreviewSchema);
693
917
  var AgentBlogConnectionExecuteResponseSchema = successEnvelopeSchema(AgentBlogConnectionExecuteSchema);
694
918
  var AgentBlogRevalidationTestResponseSchema = successEnvelopeSchema(AgentBlogRevalidationTestSchema);
919
+ var AgentBlogWebhookDestinationPreviewResponseSchema = successEnvelopeSchema(AgentBlogWebhookDestinationPreviewSchema);
920
+ var AgentBlogWebhookDestinationExecuteResponseSchema = successEnvelopeSchema(AgentBlogWebhookDestinationExecuteSchema);
921
+ var AgentBlogWebhookTestResponseSchema = successEnvelopeSchema(AgentBlogWebhookTestSchema);
922
+ var AgentBlogWebhookRotatePreviewResponseSchema = successEnvelopeSchema(AgentBlogWebhookRotatePreviewSchema);
923
+ var AgentBlogWebhookRotateExecuteResponseSchema = successEnvelopeSchema(AgentBlogWebhookRotateExecuteSchema);
695
924
  var CapabilitySchema = import_zod.z.object({
696
925
  id: CapabilityIdSchema,
697
926
  available: import_zod.z.boolean(),
@@ -721,7 +950,7 @@ var ApiMetaSchema = import_zod.z.object({
721
950
  capabilities: import_zod.z.array(CapabilitySchema)
722
951
  });
723
952
  var ApiMetaResponseSchema = successEnvelopeSchema(ApiMetaSchema);
724
- var AuthenticationKindSchema = import_zod.z.enum(["session", "api_key"]);
953
+ var AuthenticationKindSchema = import_zod.z.enum(["session", "api_key", "oauth"]);
725
954
  var ActorSchema = import_zod.z.object({
726
955
  user: import_zod.z.object({
727
956
  id: import_zod.z.string().min(1),
@@ -740,31 +969,6 @@ var ActorSchema = import_zod.z.object({
740
969
  capabilities: import_zod.z.array(CapabilityIdSchema)
741
970
  });
742
971
  var WhoAmIResponseSchema = successEnvelopeSchema(ActorSchema);
743
- var Base64UrlSecretSchema = import_zod.z.string().min(43).max(128).regex(/^[A-Za-z0-9_-]+$/);
744
- var CLI_BROWSER_AUTHORIZATION_TIMEOUT_MS = 5 * 60 * 1e3;
745
- var CliAuthorizationExchangeRequestSchema = import_zod.z.object({
746
- code: Base64UrlSecretSchema,
747
- codeVerifier: Base64UrlSecretSchema
748
- });
749
- var CliAuthorizationCredentialSchema = import_zod.z.object({
750
- token: import_zod.z.string().min(1),
751
- tokenType: import_zod.z.literal("Bearer"),
752
- expiresAt: import_zod.z.string().datetime(),
753
- organization: import_zod.z.object({
754
- id: import_zod.z.string().min(1),
755
- name: import_zod.z.string().min(1)
756
- }),
757
- capabilities: import_zod.z.array(CapabilityIdSchema)
758
- });
759
- var CliAuthorizationExchangeResponseSchema = successEnvelopeSchema(
760
- CliAuthorizationCredentialSchema
761
- );
762
- var CliAuthorizationRevokeDataSchema = import_zod.z.object({
763
- revoked: import_zod.z.literal(true)
764
- });
765
- var CliAuthorizationRevokeResponseSchema = successEnvelopeSchema(
766
- CliAuthorizationRevokeDataSchema
767
- );
768
972
  var CapabilitiesDataSchema = import_zod.z.object({
769
973
  capabilities: import_zod.z.array(CapabilitySchema)
770
974
  });
@@ -901,7 +1105,8 @@ var PublishingProviderSchema = import_zod.z.enum([
901
1105
  "TIKTOK",
902
1106
  "YOUTUBE",
903
1107
  "BLUESKY",
904
- "LINKEDIN"
1108
+ "LINKEDIN",
1109
+ "GOOGLE_BUSINESS_PROFILE"
905
1110
  ]);
906
1111
  var PUBLISHING_PROVIDER_COUNT = PublishingProviderSchema.options.length;
907
1112
  var PostDeliveryModeSchema = import_zod.z.enum(["IMMEDIATE", "SCHEDULED"]);
@@ -1101,7 +1306,8 @@ var DraftCaptionOverridesObjectSchema = import_zod.z.object({
1101
1306
  TIKTOK: import_zod.z.string().max(2200).nullable().optional(),
1102
1307
  YOUTUBE: YouTubeDescriptionSchema.nullable().optional(),
1103
1308
  BLUESKY: BlueskyCaptionSchema.nullable().optional(),
1104
- LINKEDIN: import_zod.z.string().max(3e3).nullable().optional()
1309
+ LINKEDIN: import_zod.z.string().max(3e3).nullable().optional(),
1310
+ GOOGLE_BUSINESS_PROFILE: import_zod.z.string().max(1500).nullable().optional()
1105
1311
  }).strict();
1106
1312
  var DraftPlatformsSchema = import_zod.z.array(PublishingProviderSchema).max(PUBLISHING_PROVIDER_COUNT).refine(
1107
1313
  (providers) => new Set(providers).size === providers.length,
@@ -1778,8 +1984,98 @@ var SeoReportListResponseSchema = successEnvelopeSchema(
1778
1984
  SeoReportListDataSchema
1779
1985
  );
1780
1986
  var SeoReportResponseSchema = successEnvelopeSchema(SeoReportSchema);
1987
+ var BacklinkOpportunityTypeSchema = import_zod.z.enum(["TOOL_ROUNDUP", "COMPARISON", "RESOURCE_PAGE", "RELEVANT_ARTICLE"]);
1988
+ var BacklinkProspectStageSchema = import_zod.z.enum(["NEW", "APPROVED", "CONTACT_RESEARCHING", "REVIEW_OUTREACH", "READY_TO_CONTACT", "CONTACTED", "REPLIED", "LINK_WON", "REJECTED", "NO_CONTACT", "DECLINED"]);
1989
+ var BacklinkNextActionSchema = import_zod.z.enum(["REVIEW", "FIND_CONTACT", "VIEW_PROGRESS", "REVIEW_OUTREACH", "COPY_OUTREACH", "RETRY_CONTACT", "OPEN"]);
1990
+ var BacklinkContactStateSchema = import_zod.z.enum(["PUBLIC_CONFIRMED", "GENERIC_PUBLIC", "NOT_FOUND", "STALE"]);
1991
+ var BacklinkVerificationStateSchema = import_zod.z.enum(["QUEUED", "CHECKING", "VERIFIED", "MISSING", "BLOCKED", "FAILED"]);
1992
+ var BacklinkScoreReasonSchema = import_zod.z.object({ score: import_zod.z.number().int().min(0).max(100), reason: import_zod.z.string().min(1).max(500) }).strict();
1993
+ var BacklinkScoreComponentsSchema = import_zod.z.object({
1994
+ topicalRelevance: BacklinkScoreReasonSchema,
1995
+ editorialFit: BacklinkScoreReasonSchema,
1996
+ pageFreshness: BacklinkScoreReasonSchema,
1997
+ siteLegitimacy: BacklinkScoreReasonSchema,
1998
+ outreachFeasibility: BacklinkScoreReasonSchema.optional(),
1999
+ publisherType: import_zod.z.enum([
2000
+ "INDEPENDENT_PUBLISHER",
2001
+ "PROFESSIONAL_ORGANIZATION",
2002
+ "EDUCATIONAL_ORGANIZATION",
2003
+ "AGENCY_OR_ECOSYSTEM",
2004
+ "REVIEW_OR_DIRECTORY",
2005
+ "PRODUCT_VENDOR",
2006
+ "MARKETPLACE",
2007
+ "COMMUNITY",
2008
+ "OWNED",
2009
+ "UNKNOWN"
2010
+ ]).optional(),
2011
+ difficulty: import_zod.z.enum(["EASY", "MEDIUM", "HARD"]).optional(),
2012
+ productClaimsToVerify: import_zod.z.array(import_zod.z.string().min(1).max(300)).max(10).optional()
2013
+ }).strict();
2014
+ var BacklinkProspectSchema = import_zod.z.object({
2015
+ id: SeoEntityIdSchema,
2016
+ projectId: SeoEntityIdSchema,
2017
+ url: import_zod.z.string().url().max(2048),
2018
+ domain: import_zod.z.string().min(1).max(253),
2019
+ title: import_zod.z.string().min(1).max(300),
2020
+ opportunityType: BacklinkOpportunityTypeSchema,
2021
+ stage: BacklinkProspectStageSchema,
2022
+ version: import_zod.z.number().int().positive(),
2023
+ nextAction: BacklinkNextActionSchema,
2024
+ score: import_zod.z.number().int().min(0).max(100),
2025
+ scoreComponents: BacklinkScoreComponentsSchema,
2026
+ evidenceExcerpt: import_zod.z.string().min(1).max(2e3),
2027
+ evidenceSourceUrl: import_zod.z.string().url().max(2048),
2028
+ suggestedTargetUrl: import_zod.z.string().url().max(2048),
2029
+ placementAngle: import_zod.z.string().min(1).max(1e3),
2030
+ contactState: BacklinkContactStateSchema,
2031
+ lastCheckedAt: import_zod.z.string().datetime(),
2032
+ createdAt: import_zod.z.string().datetime(),
2033
+ updatedAt: import_zod.z.string().datetime()
2034
+ }).strict();
2035
+ var BacklinkProspectListQuerySchema = import_zod.z.object({
2036
+ limit: import_zod.z.coerce.number().int().min(1).max(50).default(20),
2037
+ cursor: SeoCursorSchema.optional(),
2038
+ stage: BacklinkProspectStageSchema.optional(),
2039
+ opportunityType: BacklinkOpportunityTypeSchema.optional()
2040
+ }).strict();
2041
+ var BacklinkProspectListDataSchema = import_zod.z.object({
2042
+ items: import_zod.z.array(BacklinkProspectSchema).max(50),
2043
+ page: import_zod.z.object({ limit: import_zod.z.number().int().min(1).max(50), nextCursor: SeoCursorSchema.nullable() }).strict()
2044
+ }).strict();
2045
+ var BacklinkProspectListResponseSchema = successEnvelopeSchema(BacklinkProspectListDataSchema);
2046
+ var BacklinkProspectResponseSchema = successEnvelopeSchema(BacklinkProspectSchema);
2047
+ var BacklinkTargetInputSchema = import_zod.z.object({ url: import_zod.z.string().url().max(2048), label: import_zod.z.string().trim().min(1).max(120), topicSummary: import_zod.z.string().trim().min(1).max(500).optional() }).strict();
2048
+ var BacklinkDiscoveryInputSchema = import_zod.z.object({ limit: import_zod.z.number().int().min(1).max(20).default(20) }).strict();
2049
+ var BacklinkStageUpdateInputSchema = import_zod.z.object({ stage: BacklinkProspectStageSchema, expectedVersion: import_zod.z.number().int().positive() }).strict();
2050
+ var BacklinkVerificationInputSchema = import_zod.z.object({ url: import_zod.z.string().url().max(2048), expectedVersion: import_zod.z.number().int().positive() }).strict();
2051
+ var BacklinkOutreachUpdateInputSchema = import_zod.z.object({ expectedVersion: import_zod.z.number().int().positive(), subject: import_zod.z.string().trim().min(1).max(200), body: import_zod.z.string().trim().min(1).max(3e3) }).strict();
2052
+ var BacklinkTargetSchema = import_zod.z.object({ id: SeoEntityIdSchema, projectId: SeoEntityIdSchema, normalizedUrl: import_zod.z.string().url().max(2048), label: import_zod.z.string().min(1).max(120), topicSummary: import_zod.z.string().max(500).nullable(), enabled: import_zod.z.boolean(), createdAt: import_zod.z.string().datetime(), updatedAt: import_zod.z.string().datetime() }).strict();
2053
+ var BacklinkTargetListResponseSchema = successEnvelopeSchema(import_zod.z.array(BacklinkTargetSchema).max(10));
2054
+ var BacklinkTargetResponseSchema = successEnvelopeSchema(BacklinkTargetSchema);
2055
+ var BacklinkDiscoveryRunSchema = import_zod.z.object({ id: SeoEntityIdSchema, projectId: SeoEntityIdSchema, status: import_zod.z.enum(["QUEUED", "RUNNING", "SUCCEEDED", "PARTIAL", "FAILED", "CANCELLED"]), promptVersion: import_zod.z.number().int().positive(), configurationVersion: import_zod.z.number().int().positive(), searchedCount: import_zod.z.number().int().nonnegative(), fetchedCount: import_zod.z.number().int().nonnegative(), savedCount: import_zod.z.number().int().nonnegative(), failedCount: import_zod.z.number().int().nonnegative(), safeErrorCode: import_zod.z.string().max(100).nullable(), createdAt: import_zod.z.string().datetime(), updatedAt: import_zod.z.string().datetime() }).strict();
2056
+ var BacklinkDiscoveryRunResponseSchema = successEnvelopeSchema(BacklinkDiscoveryRunSchema);
2057
+ var BacklinkQueueResponseSchema = successEnvelopeSchema(import_zod.z.object({ prospectId: SeoEntityIdSchema, status: import_zod.z.literal("QUEUED") }).strict());
2058
+ var BacklinkVerificationSchema = import_zod.z.object({ id: SeoEntityIdSchema, prospectId: SeoEntityIdSchema, state: BacklinkVerificationStateSchema, submittedUrl: import_zod.z.string().url(), expectedTargetUrl: import_zod.z.string().url() }).strict();
2059
+ var BacklinkVerificationResponseSchema = successEnvelopeSchema(BacklinkVerificationSchema);
2060
+ var BacklinkOutreachDraftSchema = import_zod.z.object({ id: SeoEntityIdSchema, prospectId: SeoEntityIdSchema, version: import_zod.z.number().int().positive(), subject: import_zod.z.string().max(200), body: import_zod.z.string().max(3e3) }).strict();
2061
+ var BacklinkOutreachDraftResponseSchema = successEnvelopeSchema(BacklinkOutreachDraftSchema);
2062
+ var BacklinkContactSchema = import_zod.z.object({
2063
+ prospectId: SeoEntityIdSchema,
2064
+ name: import_zod.z.string().max(160).nullable(),
2065
+ role: import_zod.z.string().max(120).nullable(),
2066
+ email: import_zod.z.string().email().max(320),
2067
+ evidenceState: BacklinkContactStateSchema.exclude(["NOT_FOUND"]),
2068
+ sourceUrl: import_zod.z.string().url().max(2048),
2069
+ evidenceExcerpt: import_zod.z.string().min(1).max(1e3),
2070
+ checkedAt: import_zod.z.string().datetime(),
2071
+ draft: import_zod.z.object({ version: import_zod.z.number().int().positive(), subject: import_zod.z.string().max(200), body: import_zod.z.string().max(3e3) }).strict().nullable()
2072
+ }).strict();
2073
+ var BacklinkContactListDataSchema = import_zod.z.object({ items: import_zod.z.array(BacklinkContactSchema).max(50), page: import_zod.z.object({ limit: import_zod.z.number().int().min(1).max(50), nextCursor: SeoCursorSchema.nullable() }).strict() }).strict();
2074
+ var BacklinkContactListQuerySchema = import_zod.z.object({ limit: import_zod.z.coerce.number().int().min(1).max(50).default(20), cursor: SeoCursorSchema.optional() }).strict();
2075
+ var BacklinkContactListResponseSchema = successEnvelopeSchema(BacklinkContactListDataSchema);
1781
2076
  // Annotate the CommonJS export names for ESM import in node:
1782
2077
  0 && (module.exports = {
2078
+ AGENT_CAPABILITIES,
1783
2079
  API_VERSION,
1784
2080
  ActorSchema,
1785
2081
  AgentBlogApprovalExecuteRequestSchema,
@@ -1793,6 +2089,7 @@ var SeoReportResponseSchema = successEnvelopeSchema(SeoReportSchema);
1793
2089
  AgentBlogArticleCreateRequestSchema,
1794
2090
  AgentBlogArticleDetailSchema,
1795
2091
  AgentBlogArticleListResponseSchema,
2092
+ AgentBlogArticleQualitySummarySchema,
1796
2093
  AgentBlogArticleQueuedResponseSchema,
1797
2094
  AgentBlogArticleResponseSchema,
1798
2095
  AgentBlogArticleSchema,
@@ -1822,12 +2119,22 @@ var SeoReportResponseSchema = successEnvelopeSchema(SeoReportSchema);
1822
2119
  AgentBlogImageUploadPrepareRequestSchema,
1823
2120
  AgentBlogJobResponseSchema,
1824
2121
  AgentBlogJobSchema,
2122
+ AgentBlogMetricSourceSchema,
2123
+ AgentBlogPerformanceObservationSchema,
2124
+ AgentBlogPlanCadenceExecuteRequestSchema,
2125
+ AgentBlogPlanCadenceExecuteResponseSchema,
2126
+ AgentBlogPlanCadenceExecuteSchema,
2127
+ AgentBlogPlanCadencePreviewRequestSchema,
2128
+ AgentBlogPlanCadencePreviewResponseSchema,
2129
+ AgentBlogPlanCadencePreviewSchema,
1825
2130
  AgentBlogPlanCreateRequestSchema,
2131
+ AgentBlogPlanDateMoveSchema,
1826
2132
  AgentBlogPlanItemResponseSchema,
1827
2133
  AgentBlogPlanItemSchema,
1828
2134
  AgentBlogPlanItemStateRequestSchema,
1829
2135
  AgentBlogPlanItemsResponseSchema,
1830
2136
  AgentBlogPlanListResponseSchema,
2137
+ AgentBlogPlanLockedItemSchema,
1831
2138
  AgentBlogPlanQueuedResponseSchema,
1832
2139
  AgentBlogPlanRetryRequestSchema,
1833
2140
  AgentBlogPlanSchema,
@@ -1857,17 +2164,63 @@ var SeoReportResponseSchema = successEnvelopeSchema(SeoReportSchema);
1857
2164
  AgentBlogSchedulePreviewSchema,
1858
2165
  AgentBlogSetupStatusResponseSchema,
1859
2166
  AgentBlogSetupStatusSchema,
2167
+ AgentBlogWebhookDestinationChangeSchema,
2168
+ AgentBlogWebhookDestinationExecuteRequestSchema,
2169
+ AgentBlogWebhookDestinationExecuteResponseSchema,
2170
+ AgentBlogWebhookDestinationExecuteSchema,
2171
+ AgentBlogWebhookDestinationPreviewRequestSchema,
2172
+ AgentBlogWebhookDestinationPreviewResponseSchema,
2173
+ AgentBlogWebhookDestinationPreviewSchema,
2174
+ AgentBlogWebhookRotateExecuteRequestSchema,
2175
+ AgentBlogWebhookRotateExecuteResponseSchema,
2176
+ AgentBlogWebhookRotateExecuteSchema,
2177
+ AgentBlogWebhookRotatePreviewRequestSchema,
2178
+ AgentBlogWebhookRotatePreviewResponseSchema,
2179
+ AgentBlogWebhookRotatePreviewSchema,
2180
+ AgentBlogWebhookSemanticsSchema,
2181
+ AgentBlogWebhookTestRequestSchema,
2182
+ AgentBlogWebhookTestResponseSchema,
2183
+ AgentBlogWebhookTestSchema,
1860
2184
  ApiErrorCodeSchema,
1861
2185
  ApiMetaResponseSchema,
1862
2186
  ApiMetaSchema,
1863
2187
  ApiProblemSchema,
1864
2188
  AuthenticationKindSchema,
2189
+ BacklinkContactListDataSchema,
2190
+ BacklinkContactListQuerySchema,
2191
+ BacklinkContactListResponseSchema,
2192
+ BacklinkContactSchema,
2193
+ BacklinkContactStateSchema,
2194
+ BacklinkDiscoveryInputSchema,
2195
+ BacklinkDiscoveryRunResponseSchema,
2196
+ BacklinkDiscoveryRunSchema,
2197
+ BacklinkNextActionSchema,
2198
+ BacklinkOpportunityTypeSchema,
2199
+ BacklinkOutreachDraftResponseSchema,
2200
+ BacklinkOutreachDraftSchema,
2201
+ BacklinkOutreachUpdateInputSchema,
2202
+ BacklinkProspectListDataSchema,
2203
+ BacklinkProspectListQuerySchema,
2204
+ BacklinkProspectListResponseSchema,
2205
+ BacklinkProspectResponseSchema,
2206
+ BacklinkProspectSchema,
2207
+ BacklinkProspectStageSchema,
2208
+ BacklinkQueueResponseSchema,
2209
+ BacklinkScoreComponentsSchema,
2210
+ BacklinkStageUpdateInputSchema,
2211
+ BacklinkTargetInputSchema,
2212
+ BacklinkTargetListResponseSchema,
2213
+ BacklinkTargetResponseSchema,
2214
+ BacklinkTargetSchema,
2215
+ BacklinkVerificationInputSchema,
2216
+ BacklinkVerificationResponseSchema,
2217
+ BacklinkVerificationSchema,
2218
+ BacklinkVerificationStateSchema,
1865
2219
  BlogArticleListSchema,
1866
2220
  BlogImageSchema,
1867
2221
  BlogMetadataSchema,
1868
2222
  BlogSitemapEntrySchema,
1869
2223
  BlogSlugRedirectSchema,
1870
- CLI_BROWSER_AUTHORIZATION_TIMEOUT_MS,
1871
2224
  CONTRACT_VERSION,
1872
2225
  CalendarEventSchema,
1873
2226
  CalendarListDataSchema,
@@ -1877,11 +2230,6 @@ var SeoReportResponseSchema = successEnvelopeSchema(SeoReportSchema);
1877
2230
  CapabilitiesResponseSchema,
1878
2231
  CapabilityIdSchema,
1879
2232
  CapabilitySchema,
1880
- CliAuthorizationCredentialSchema,
1881
- CliAuthorizationExchangeRequestSchema,
1882
- CliAuthorizationExchangeResponseSchema,
1883
- CliAuthorizationRevokeDataSchema,
1884
- CliAuthorizationRevokeResponseSchema,
1885
2233
  DraftPostInputSchema,
1886
2234
  DraftPostUpdateInputSchema,
1887
2235
  IntegrationConnectionStatusSchema,