@rolino/contracts 0.4.0 → 0.5.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.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { z } from \"zod\";\r\n\r\nexport const API_VERSION = \"v1\" as const;\r\nexport const CONTRACT_VERSION = \"0.14.0\" as const;\r\n\r\nexport const RequestMetadataSchema = z.object({\r\n requestId: z.string().min(1),\r\n});\r\n\r\nexport const ApiErrorCodeSchema = z.enum([\r\n \"AUTH_REQUIRED\",\r\n \"FORBIDDEN\",\r\n \"NOT_FOUND\",\r\n \"FEATURE_DISABLED\",\r\n \"BILLING_REQUIRED\",\r\n \"LIMIT_REACHED\",\r\n \"VALIDATION_ERROR\",\r\n \"CONFLICT\",\r\n \"RATE_LIMITED\",\r\n \"INTERNAL_ERROR\",\r\n]);\r\n\r\nexport type ApiErrorCode = z.infer<typeof ApiErrorCodeSchema>;\r\n\r\nexport const ApiProblemSchema = z.object({\r\n error: z.object({\r\n code: ApiErrorCodeSchema,\r\n message: z.string().min(1),\r\n details: z.record(z.string(), z.unknown()).optional(),\r\n }),\r\n meta: RequestMetadataSchema,\r\n});\r\n\r\nexport type ApiProblem = z.infer<typeof ApiProblemSchema>;\r\n\r\nexport function successEnvelopeSchema<TSchema extends z.ZodType>(data: TSchema) {\r\n return z.object({\r\n data,\r\n meta: RequestMetadataSchema,\r\n });\r\n}\r\n\r\nexport const CapabilityIdSchema = z.enum([\r\n \"identity:read\",\r\n \"projects:read\",\r\n \"projects:write\",\r\n \"posts:read\",\r\n \"posts:write\",\r\n \"posts:schedule\",\r\n \"posts:publish\",\r\n \"integrations:read\",\r\n \"calendar:read\",\r\n]);\r\n\r\nexport type CapabilityId = z.infer<typeof CapabilityIdSchema>;\r\n\r\nexport const CapabilitySchema = z.object({\r\n id: CapabilityIdSchema,\r\n available: z.boolean(),\r\n reason: z.enum([\r\n \"AVAILABLE\",\r\n \"AUTH_REQUIRED\",\r\n \"SCOPE_REQUIRED\",\r\n \"FEATURE_DISABLED\",\r\n ]),\r\n});\r\n\r\nexport type Capability = z.infer<typeof CapabilitySchema>;\r\n\r\nexport const ApiMetaSchema = z.object({\r\n name: z.literal(\"Rolino\"),\r\n serverVersion: z.string().min(1),\r\n apiVersion: z.literal(API_VERSION),\r\n contractVersion: z.literal(CONTRACT_VERSION),\r\n authentication: z.object({\r\n browserSession: z.boolean(),\r\n cliBrowserAuthorization: z.boolean(),\r\n apiKey: z.boolean(),\r\n remoteOAuth: z.boolean(),\r\n }),\r\n mcp: z.object({\r\n stdio: z.boolean(),\r\n streamableHttp: z.boolean(),\r\n remoteStatus: z.enum([\"AVAILABLE\", \"AUTH_GATE\"]),\r\n }),\r\n capabilities: z.array(CapabilitySchema),\r\n});\r\n\r\nexport type ApiMeta = z.infer<typeof ApiMetaSchema>;\r\nexport const ApiMetaResponseSchema = successEnvelopeSchema(ApiMetaSchema);\r\nexport type ApiMetaResponse = z.infer<typeof ApiMetaResponseSchema>;\r\n\r\nexport const AuthenticationKindSchema = z.enum([\"session\", \"api_key\"]);\r\nexport type AuthenticationKind = z.infer<typeof AuthenticationKindSchema>;\r\n\r\nexport const ActorSchema = z.object({\r\n user: z.object({\r\n id: z.string().min(1),\r\n name: z.string(),\r\n email: z.string().email(),\r\n }),\r\n organization: z.object({\r\n id: z.string().min(1),\r\n name: z.string().min(1),\r\n role: z.string().min(1),\r\n }),\r\n authentication: z.object({\r\n kind: AuthenticationKindSchema,\r\n credentialId: z.string().min(1).nullable(),\r\n }),\r\n capabilities: z.array(CapabilityIdSchema),\r\n});\r\n\r\nexport type Actor = z.infer<typeof ActorSchema>;\r\nexport const WhoAmIResponseSchema = successEnvelopeSchema(ActorSchema);\r\nexport type WhoAmIResponse = z.infer<typeof WhoAmIResponseSchema>;\r\n\r\nconst Base64UrlSecretSchema = z.string()\r\n .min(43)\r\n .max(128)\r\n .regex(/^[A-Za-z0-9_-]+$/);\r\n\r\nexport const CLI_BROWSER_AUTHORIZATION_TIMEOUT_MS = 5 * 60 * 1000;\r\n\r\nexport const CliAuthorizationExchangeRequestSchema = z.object({\r\n code: Base64UrlSecretSchema,\r\n codeVerifier: Base64UrlSecretSchema,\r\n});\r\nexport type CliAuthorizationExchangeRequest = z.infer<\r\n typeof CliAuthorizationExchangeRequestSchema\r\n>;\r\n\r\nexport const CliAuthorizationCredentialSchema = z.object({\r\n token: z.string().min(1),\r\n tokenType: z.literal(\"Bearer\"),\r\n expiresAt: z.string().datetime(),\r\n organization: z.object({\r\n id: z.string().min(1),\r\n name: z.string().min(1),\r\n }),\r\n capabilities: z.array(CapabilityIdSchema),\r\n});\r\nexport type CliAuthorizationCredential = z.infer<\r\n typeof CliAuthorizationCredentialSchema\r\n>;\r\nexport const CliAuthorizationExchangeResponseSchema = successEnvelopeSchema(\r\n CliAuthorizationCredentialSchema,\r\n);\r\nexport type CliAuthorizationExchangeResponse = z.infer<\r\n typeof CliAuthorizationExchangeResponseSchema\r\n>;\r\n\r\nexport const CliAuthorizationRevokeDataSchema = z.object({\r\n revoked: z.literal(true),\r\n});\r\nexport const CliAuthorizationRevokeResponseSchema = successEnvelopeSchema(\r\n CliAuthorizationRevokeDataSchema,\r\n);\r\nexport type CliAuthorizationRevokeResponse = z.infer<\r\n typeof CliAuthorizationRevokeResponseSchema\r\n>;\r\n\r\nexport const CapabilitiesDataSchema = z.object({\r\n capabilities: z.array(CapabilitySchema),\r\n});\r\nexport const CapabilitiesResponseSchema = successEnvelopeSchema(CapabilitiesDataSchema);\r\nexport type CapabilitiesResponse = z.infer<typeof CapabilitiesResponseSchema>;\r\n\r\nexport const ProjectTypeSchema = z.enum([\r\n \"PRODUCT\",\r\n \"LAUNCH\",\r\n \"EVENT\",\r\n \"CONTENT_SERIES\",\r\n \"CLIENT\",\r\n \"BRAND\",\r\n \"INTERNAL\",\r\n]);\r\nexport type ProjectType = z.infer<typeof ProjectTypeSchema>;\r\n\r\nconst ProjectWebsiteUrlSchema = z.string()\r\n .trim()\r\n .min(1)\r\n .max(2000)\r\n .url()\r\n .refine((value) => {\r\n try {\r\n const url = new URL(value);\r\n return (\r\n (url.protocol === \"http:\" || url.protocol === \"https:\")\r\n && !url.username\r\n && !url.password\r\n );\r\n } catch {\r\n return false;\r\n }\r\n }, \"websiteUrl must be an absolute http or https URL without credentials\");\r\n\r\nexport const ProjectCreateInputSchema = z.object({\r\n name: z.string().trim().min(1).max(100),\r\n type: ProjectTypeSchema.default(\"PRODUCT\"),\r\n websiteUrl: ProjectWebsiteUrlSchema.optional(),\r\n description: z.string().trim().min(1).max(2000).optional(),\r\n}).strict();\r\nexport type ProjectCreateInput = z.input<typeof ProjectCreateInputSchema>;\r\nexport type ProjectCreateData = z.infer<typeof ProjectCreateInputSchema>;\r\n\r\nexport const ProjectSchema = z.object({\r\n id: z.string().min(1),\r\n organizationId: z.string().min(1),\r\n name: z.string().min(1),\r\n slug: z.string().min(1),\r\n type: ProjectTypeSchema,\r\n status: z.enum([\"ACTIVE\", \"PAUSED\", \"ARCHIVED\"]),\r\n websiteUrl: z.string().url().nullable(),\r\n description: z.string().nullable(),\r\n createdAt: z.string().datetime(),\r\n updatedAt: z.string().datetime(),\r\n});\r\n\r\nexport type Project = z.infer<typeof ProjectSchema>;\r\n\r\nexport const ProjectListQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(100).default(50),\r\n cursor: z.string().min(1).optional(),\r\n});\r\n\r\nexport type ProjectListQuery = z.input<typeof ProjectListQuerySchema>;\r\n\r\nexport const ProjectListDataSchema = z.object({\r\n items: z.array(ProjectSchema),\r\n page: z.object({\r\n limit: z.number().int().min(1).max(100),\r\n nextCursor: z.string().min(1).nullable(),\r\n }),\r\n});\r\n\r\nexport type ProjectListData = z.infer<typeof ProjectListDataSchema>;\r\nexport const ProjectListResponseSchema = successEnvelopeSchema(ProjectListDataSchema);\r\nexport type ProjectListResponse = z.infer<typeof ProjectListResponseSchema>;\r\n\r\nexport const ProjectResponseSchema = successEnvelopeSchema(ProjectSchema);\r\nexport type ProjectResponse = z.infer<typeof ProjectResponseSchema>;\r\n\r\nexport const PostStatusSchema = z.enum([\r\n \"DRAFT\",\r\n \"SCHEDULED\",\r\n \"ACTION_REQUIRED\",\r\n \"PUBLISHING\",\r\n \"PUBLISHED\",\r\n \"PARTIALLY_PUBLISHED\",\r\n \"FAILED\",\r\n]);\r\nexport type PostStatus = z.infer<typeof PostStatusSchema>;\r\n\r\nexport const PlatformPostStatusSchema = z.enum([\r\n \"DRAFT\",\r\n \"SCHEDULED\",\r\n \"PREPARING\",\r\n \"ACTION_REQUIRED\",\r\n \"PUBLISHING\",\r\n \"PUBLISHED\",\r\n \"FAILED\",\r\n]);\r\n\r\nexport const PostMediaSchema = z.object({\r\n id: z.string().min(1),\r\n assetId: z.string().min(1).nullable().optional(),\r\n type: z.enum([\"IMAGE\", \"VIDEO\"]),\r\n url: z.string().url(),\r\n mimeType: z.string().min(1),\r\n sizeBytes: z.number().int().positive().nullable().optional(),\r\n width: z.number().int().positive().nullable(),\r\n height: z.number().int().positive().nullable(),\r\n durationMs: z.number().int().nonnegative().nullable(),\r\n thumbnailUrl: z.string().url().nullable(),\r\n altText: z.string().nullable(),\r\n position: z.number().int().nonnegative(),\r\n});\r\nexport type PostMedia = z.infer<typeof PostMediaSchema>;\r\n\r\nexport const MediaAssetSchema = z.object({\r\n id: z.string().min(1),\r\n type: z.enum([\"IMAGE\", \"VIDEO\"]),\r\n url: z.string().url(),\r\n thumbnailUrl: z.string().url().nullable(),\r\n originalFileName: z.string().nullable(),\r\n mimeType: z.string().min(1),\r\n sizeBytes: z.number().int().positive().nullable(),\r\n width: z.number().int().positive().nullable(),\r\n height: z.number().int().positive().nullable(),\r\n durationMs: z.number().int().nonnegative().nullable(),\r\n createdAt: z.string().datetime(),\r\n});\r\nexport type MediaAsset = z.infer<typeof MediaAssetSchema>;\r\n\r\nexport const MediaAssetListQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(100).default(50),\r\n cursor: z.string().min(1).optional(),\r\n type: z.enum([\"IMAGE\", \"VIDEO\"]).optional(),\r\n query: z.string().trim().min(1).max(100).optional(),\r\n});\r\nexport type MediaAssetListQuery = z.input<typeof MediaAssetListQuerySchema>;\r\n\r\nexport const MediaAssetListDataSchema = z.object({\r\n items: z.array(MediaAssetSchema),\r\n page: z.object({\r\n limit: z.number().int().min(1).max(100),\r\n nextCursor: z.string().min(1).nullable(),\r\n }),\r\n});\r\nexport type MediaAssetListData = z.infer<typeof MediaAssetListDataSchema>;\r\nexport const MediaAssetListResponseSchema = successEnvelopeSchema(MediaAssetListDataSchema);\r\n\r\nexport const MediaAssetUploadInputSchema = z.object({\r\n fileName: z.string().trim().min(1).max(255),\r\n contentType: z.string().trim().min(1).max(100),\r\n fileSize: z.number().int().positive(),\r\n}).strict();\r\nexport type MediaAssetUploadInput = z.infer<typeof MediaAssetUploadInputSchema>;\r\n\r\nexport const MediaAssetUploadPreparationSchema = z.object({\r\n uploadUrl: z.string().url(),\r\n storageKey: z.string().min(1),\r\n expiresAt: z.string().datetime(),\r\n headers: z.record(z.string(), z.string()),\r\n maxFileSize: z.number().int().positive(),\r\n});\r\nexport type MediaAssetUploadPreparation = z.infer<typeof MediaAssetUploadPreparationSchema>;\r\nexport const MediaAssetUploadPreparationResponseSchema = successEnvelopeSchema(MediaAssetUploadPreparationSchema);\r\n\r\nexport const MediaAssetUploadCompleteInputSchema = MediaAssetUploadInputSchema.extend({\r\n storageKey: z.string().min(1),\r\n width: z.number().int().positive().max(100_000).nullable().optional(),\r\n height: z.number().int().positive().max(100_000).nullable().optional(),\r\n durationMs: z.number().int().nonnegative().max(86_400_000).nullable().optional(),\r\n}).strict();\r\nexport type MediaAssetUploadCompleteInput = z.infer<typeof MediaAssetUploadCompleteInputSchema>;\r\nexport const MediaAssetResponseSchema = successEnvelopeSchema(MediaAssetSchema);\r\n\r\nexport const PublishingProviderSchema = z.enum([\r\n \"INSTAGRAM\",\r\n \"TIKTOK\",\r\n \"YOUTUBE\",\r\n \"BLUESKY\",\r\n \"LINKEDIN\",\r\n]);\r\nexport type PublishingProvider = z.infer<typeof PublishingProviderSchema>;\r\nexport const PUBLISHING_PROVIDER_COUNT = PublishingProviderSchema.options.length;\r\n\r\nexport const PostDestinationSchema = z.object({\r\n provider: PublishingProviderSchema,\r\n status: PlatformPostStatusSchema,\r\n captionOverride: z.string().nullable(),\r\n scheduledAt: z.string().datetime().nullable(),\r\n publishedAt: z.string().datetime().nullable(),\r\n remoteUrl: z.string().url().nullable(),\r\n attemptCount: z.number().int().nonnegative(),\r\n});\r\nexport type PostDestination = z.infer<typeof PostDestinationSchema>;\r\n\r\nexport const TikTokPostSettingsSchema = z.object({\r\n postMode: z.enum([\"DIRECT_POST\", \"MEDIA_UPLOAD\"]).default(\"DIRECT_POST\"),\r\n privacyLevel: z.string().trim().min(1).max(100).nullable().default(null),\r\n allowComment: z.boolean().default(false),\r\n allowDuet: z.boolean().default(false),\r\n allowStitch: z.boolean().default(false),\r\n commercialContentEnabled: z.boolean().default(false),\r\n promotesOwnBrand: z.boolean().default(false),\r\n promotesThirdParty: z.boolean().default(false),\r\n isAiGenerated: z.boolean().default(false),\r\n videoCoverTimestampMs: z.number().int().nonnegative().nullable().default(null),\r\n consentedAt: z.union([z.string().datetime(), z.literal(\"\")]).default(\"\"),\r\n}).strict();\r\nexport type TikTokPostSettings = z.infer<typeof TikTokPostSettingsSchema>;\r\n\r\nexport const TikTokDraftSettingsSchema = z.object({\r\n postMode: z.enum([\"DIRECT_POST\", \"MEDIA_UPLOAD\"]).optional(),\r\n privacyLevel: z.string().trim().min(1).max(100).nullable().optional(),\r\n allowComment: z.boolean().optional(),\r\n allowDuet: z.boolean().optional(),\r\n allowStitch: z.boolean().optional(),\r\n commercialContentEnabled: z.boolean().optional(),\r\n promotesOwnBrand: z.boolean().optional(),\r\n promotesThirdParty: z.boolean().optional(),\r\n isAiGenerated: z.boolean().optional(),\r\n videoCoverTimestampMs: z.number().int().nonnegative().nullable().optional(),\r\n reviewed: z.boolean().optional(),\r\n consentedAt: z.union([z.string().datetime(), z.literal(\"\")]).optional(),\r\n}).strict().superRefine((input, context) => {\r\n const requestsReview = input.reviewed === true || Boolean(input.consentedAt);\r\n if (input.postMode === \"MEDIA_UPLOAD\") {\r\n if (\r\n input.privacyLevel != null\r\n || input.allowComment === true\r\n || input.allowDuet === true\r\n || input.allowStitch === true\r\n || input.commercialContentEnabled === true\r\n || input.promotesOwnBrand === true\r\n || input.promotesThirdParty === true\r\n || input.isAiGenerated === true\r\n || input.videoCoverTimestampMs != null\r\n ) {\r\n context.addIssue({\r\n code: \"custom\",\r\n message: \"TikTok inbox drafts do not apply direct-post visibility, interaction, disclosure, AI, or cover settings.\",\r\n });\r\n }\r\n return;\r\n }\r\n if (!requestsReview) return;\r\n\r\n if (!input.postMode) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"postMode\"],\r\n message: \"Choose TikTok direct publishing or inbox draft delivery explicitly.\",\r\n });\r\n return;\r\n }\r\n\r\n const requiredBooleanFields = [\r\n \"allowComment\",\r\n \"allowDuet\",\r\n \"allowStitch\",\r\n \"commercialContentEnabled\",\r\n \"promotesOwnBrand\",\r\n \"promotesThirdParty\",\r\n \"isAiGenerated\",\r\n ] as const;\r\n if (!input.privacyLevel) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"privacyLevel\"],\r\n message: \"Choose TikTok visibility explicitly before reviewing the settings.\",\r\n });\r\n }\r\n for (const field of requiredBooleanFields) {\r\n if (input[field] === undefined) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [field],\r\n message: \"Choose yes or no explicitly before reviewing TikTok settings.\",\r\n });\r\n }\r\n }\r\n if (\r\n input.commercialContentEnabled === true\r\n && input.promotesOwnBrand !== true\r\n && input.promotesThirdParty !== true\r\n ) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"commercialContentEnabled\"],\r\n message: \"Commercial TikTok content must identify own-brand or third-party promotion.\",\r\n });\r\n }\r\n if (\r\n input.commercialContentEnabled === false\r\n && (input.promotesOwnBrand === true || input.promotesThirdParty === true)\r\n ) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"commercialContentEnabled\"],\r\n message: \"Promotion declarations require commercial content to be enabled.\",\r\n });\r\n }\r\n}).transform((input) => ({\r\n postMode: input.postMode ?? \"DIRECT_POST\" as const,\r\n privacyLevel: input.privacyLevel ?? null,\r\n allowComment: input.allowComment ?? false,\r\n allowDuet: input.allowDuet ?? false,\r\n allowStitch: input.allowStitch ?? false,\r\n commercialContentEnabled: input.commercialContentEnabled ?? false,\r\n promotesOwnBrand: input.promotesOwnBrand ?? false,\r\n promotesThirdParty: input.promotesThirdParty ?? false,\r\n isAiGenerated: input.isAiGenerated ?? false,\r\n videoCoverTimestampMs: input.videoCoverTimestampMs ?? null,\r\n reviewed: input.reviewed === true || Boolean(input.consentedAt),\r\n}));\r\nexport type TikTokDraftSettingsInput = z.input<typeof TikTokDraftSettingsSchema>;\r\nexport type TikTokDraftSettings = z.infer<typeof TikTokDraftSettingsSchema>;\r\n\r\nfunction youtubeTagLength(tags: readonly string[]) {\r\n return tags.reduce((total, tag, index) => (\r\n total + (index ? 1 : 0) + tag.length + (tag.includes(\" \") ? 2 : 0)\r\n ), 0);\r\n}\r\n\r\nexport const YouTubePostSettingsSchema = z.object({\r\n title: z.string().trim().min(1).max(100).refine(\r\n (value) => !/[<>]/.test(value),\r\n \"YouTube titles cannot contain angle brackets.\",\r\n ),\r\n categoryId: z.string().trim().regex(/^\\d+$/).max(20),\r\n privacyStatus: z.enum([\"PUBLIC\", \"UNLISTED\", \"PRIVATE\"]),\r\n madeForKids: z.boolean(),\r\n containsSyntheticMedia: z.boolean().default(false),\r\n notifySubscribers: z.boolean().default(true),\r\n tags: z.array(z.string().trim().min(1).max(500)).max(50).refine(\r\n (tags) => new Set(tags).size === tags.length,\r\n \"YouTube tags must be unique.\",\r\n ).refine(\r\n (tags) => youtubeTagLength(tags) <= 500,\r\n \"YouTube tags exceed the 500-character aggregate limit.\",\r\n ).default([]),\r\n}).strict();\r\nexport type YouTubePostSettings = z.infer<typeof YouTubePostSettingsSchema>;\r\n\r\nexport const PostProviderSettingsSchema = z.object({\r\n TIKTOK: TikTokPostSettingsSchema.nullable().optional(),\r\n YOUTUBE: YouTubePostSettingsSchema.nullable().optional(),\r\n}).strict().default({});\r\nexport type PostProviderSettings = z.infer<typeof PostProviderSettingsSchema>;\r\n\r\nexport const PostSchema = z.object({\r\n id: z.string().min(1),\r\n projectId: z.string().min(1),\r\n version: z.number().int().positive(),\r\n campaign: z.object({\r\n id: z.string().min(1),\r\n title: z.string().min(1),\r\n }).nullable(),\r\n caption: z.string(),\r\n status: PostStatusSchema,\r\n scheduledAt: z.string().datetime().nullable(),\r\n timezone: z.string().nullable(),\r\n publishedAt: z.string().datetime().nullable(),\r\n createdAt: z.string().datetime(),\r\n updatedAt: z.string().datetime(),\r\n media: z.array(PostMediaSchema),\r\n destinations: z.array(PostDestinationSchema),\r\n providerSettings: PostProviderSettingsSchema.optional(),\r\n});\r\nexport type Post = z.infer<typeof PostSchema>;\r\n\r\nexport const PostListQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(100).default(50),\r\n cursor: z.string().min(1).optional(),\r\n status: PostStatusSchema.optional(),\r\n});\r\nexport type PostListQuery = z.input<typeof PostListQuerySchema>;\r\n\r\nexport const PostListDataSchema = z.object({\r\n items: z.array(PostSchema),\r\n page: z.object({\r\n limit: z.number().int().min(1).max(100),\r\n nextCursor: z.string().min(1).nullable(),\r\n }),\r\n});\r\nexport type PostListData = z.infer<typeof PostListDataSchema>;\r\nexport const PostListResponseSchema = successEnvelopeSchema(PostListDataSchema);\r\nexport type PostListResponse = z.infer<typeof PostListResponseSchema>;\r\n\r\nexport const PostResponseSchema = successEnvelopeSchema(PostSchema);\r\nexport type PostResponse = z.infer<typeof PostResponseSchema>;\r\n\r\nconst blueskyGraphemeSegmenter = new Intl.Segmenter(\"en\", {\r\n granularity: \"grapheme\",\r\n});\r\n\r\nconst BlueskyCaptionSchema = z.string().max(3000).refine(\r\n (value) => Array.from(blueskyGraphemeSegmenter.segment(value)).length <= 300,\r\n \"Bluesky captions cannot exceed 300 graphemes.\",\r\n);\r\n\r\nconst utf8Encoder = new TextEncoder();\r\nconst YouTubeDescriptionSchema = z.string().max(5000).refine(\r\n (value) => utf8Encoder.encode(value).length <= 5000,\r\n \"YouTube descriptions cannot exceed 5,000 UTF-8 bytes.\",\r\n);\r\n\r\nconst DraftCaptionOverridesObjectSchema = z.object({\r\n INSTAGRAM: z.string().max(2200).nullable().optional(),\r\n TIKTOK: z.string().max(2200).nullable().optional(),\r\n YOUTUBE: YouTubeDescriptionSchema.nullable().optional(),\r\n BLUESKY: BlueskyCaptionSchema.nullable().optional(),\r\n LINKEDIN: z.string().max(3000).nullable().optional(),\r\n}).strict();\r\n\r\nconst DraftPlatformsSchema = z.array(PublishingProviderSchema).max(PUBLISHING_PROVIDER_COUNT).refine(\r\n (providers) => new Set(providers).size === providers.length,\r\n \"Publishing destinations must be unique.\",\r\n);\r\n\r\nconst DraftMediaAssetIdsSchema = z.array(z.string().trim().min(1).max(200)).max(10).refine(\r\n (ids) => new Set(ids).size === ids.length,\r\n \"Media asset IDs must be unique.\",\r\n);\r\n\r\nexport const DraftPostInputSchema = z.object({\r\n caption: z.string().max(3000).transform((value) => value.trim()).default(\"\"),\r\n platforms: DraftPlatformsSchema.default([]),\r\n mediaAssetIds: DraftMediaAssetIdsSchema.default([]),\r\n captionOverrides: DraftCaptionOverridesObjectSchema.default({}),\r\n tiktokSettings: TikTokDraftSettingsSchema.nullable().default(null),\r\n youtubeSettings: YouTubePostSettingsSchema.nullable().default(null),\r\n}).strict().superRefine((input, context) => {\r\n if (input.caption.length === 0 && input.mediaAssetIds.length === 0) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"caption\"],\r\n message: \"A draft requires a caption or at least one media asset.\",\r\n });\r\n }\r\n if (input.tiktokSettings && !input.platforms.includes(\"TIKTOK\")) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"tiktokSettings\"],\r\n message: \"TikTok settings require the TIKTOK destination.\",\r\n });\r\n }\r\n if (input.youtubeSettings && !input.platforms.includes(\"YOUTUBE\")) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"youtubeSettings\"],\r\n message: \"YouTube settings require the YOUTUBE destination.\",\r\n });\r\n }\r\n if (input.platforms.includes(\"YOUTUBE\") && !input.youtubeSettings) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"youtubeSettings\"],\r\n message: \"YouTube settings are required for the YOUTUBE destination.\",\r\n });\r\n }\r\n if (\r\n input.platforms.includes(\"YOUTUBE\")\r\n && input.captionOverrides.YOUTUBE == null\r\n && utf8Encoder.encode(input.caption).length > 5000\r\n ) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"caption\"],\r\n message: \"YouTube descriptions cannot exceed 5,000 UTF-8 bytes.\",\r\n });\r\n }\r\n if (\r\n input.platforms.includes(\"BLUESKY\")\r\n && input.captionOverrides.BLUESKY == null\r\n && Array.from(blueskyGraphemeSegmenter.segment(input.caption)).length > 300\r\n ) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"caption\"],\r\n message: \"Bluesky captions cannot exceed 300 graphemes.\",\r\n });\r\n }\r\n});\r\nexport type DraftPostInput = z.input<typeof DraftPostInputSchema>;\r\nexport type DraftPostData = z.infer<typeof DraftPostInputSchema>;\r\n\r\nexport const DraftPostUpdateInputSchema = z.object({\r\n caption: z.string().max(3000).transform((value) => value.trim()).optional(),\r\n platforms: DraftPlatformsSchema.optional(),\r\n mediaAssetIds: DraftMediaAssetIdsSchema.optional(),\r\n captionOverrides: DraftCaptionOverridesObjectSchema.optional(),\r\n tiktokSettings: TikTokDraftSettingsSchema.nullable().optional(),\r\n youtubeSettings: YouTubePostSettingsSchema.nullable().optional(),\r\n}).strict().superRefine((input, context) => {\r\n if (Object.values(input).every((value) => value === undefined)) {\r\n context.addIssue({ code: \"custom\", message: \"Provide at least one draft field to update.\" });\r\n }\r\n if (input.platforms && input.tiktokSettings && !input.platforms.includes(\"TIKTOK\")) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"tiktokSettings\"],\r\n message: \"TikTok settings require the TIKTOK destination.\",\r\n });\r\n }\r\n if (input.platforms && input.youtubeSettings && !input.platforms.includes(\"YOUTUBE\")) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"youtubeSettings\"],\r\n message: \"YouTube settings require the YOUTUBE destination.\",\r\n });\r\n }\r\n});\r\nexport type DraftPostUpdateInput = z.input<typeof DraftPostUpdateInputSchema>;\r\nexport type DraftPostUpdateData = z.infer<typeof DraftPostUpdateInputSchema>;\r\n\r\nexport const IntegrationConnectionStatusSchema = z.enum([\r\n \"PENDING\",\r\n \"CONNECTED\",\r\n \"ERROR\",\r\n \"EXPIRED\",\r\n \"DISCONNECTED\",\r\n]);\r\n\r\nexport const ProviderHealthStatusSchema = z.enum([\r\n \"pass\",\r\n \"blocking\",\r\n \"unknown\",\r\n]);\r\n\r\nexport const IntegrationHealthSchema = z.object({\r\n provider: PublishingProviderSchema,\r\n connectionStatus: IntegrationConnectionStatusSchema,\r\n connected: z.boolean(),\r\n account: z.object({\r\n username: z.string().nullable(),\r\n displayName: z.string().nullable(),\r\n avatarUrl: z.string().url().nullable(),\r\n }),\r\n grantedScopes: z.array(z.string()),\r\n expiresAt: z.string().datetime().nullable(),\r\n health: z.object({\r\n status: ProviderHealthStatusSchema,\r\n checkedAt: z.string().datetime().nullable(),\r\n code: z.string().min(1),\r\n message: z.string().min(1),\r\n isStale: z.boolean(),\r\n requiresAction: z.boolean(),\r\n refreshRecommended: z.boolean(),\r\n }),\r\n});\r\nexport type IntegrationHealth = z.infer<typeof IntegrationHealthSchema>;\r\n\r\nexport const IntegrationHealthListDataSchema = z.object({\r\n items: z.array(IntegrationHealthSchema)\r\n .max(PUBLISHING_PROVIDER_COUNT)\r\n .refine(\r\n (items) => new Set(items.map((item) => item.provider)).size === items.length,\r\n \"Provider health items must be unique.\",\r\n ),\r\n});\r\nexport type IntegrationHealthListData = z.infer<\r\n typeof IntegrationHealthListDataSchema\r\n>;\r\nexport const IntegrationHealthListResponseSchema = successEnvelopeSchema(\r\n IntegrationHealthListDataSchema,\r\n);\r\n\r\nexport const ProviderDeliveryOptionsProviderSchema = z.enum([\r\n \"TIKTOK\",\r\n \"LINKEDIN\",\r\n]);\r\nexport type ProviderDeliveryOptionsProvider = z.infer<\r\n typeof ProviderDeliveryOptionsProviderSchema\r\n>;\r\n\r\nexport const TikTokDeliveryOptionsSchema = z.object({\r\n provider: z.literal(\"TIKTOK\"),\r\n account: z.object({\r\n username: z.string().nullable(),\r\n displayName: z.string().nullable(),\r\n avatarUrl: z.string().url().nullable(),\r\n }),\r\n allowedPostModes: z.array(z.enum([\"DIRECT_POST\", \"MEDIA_UPLOAD\"]))\r\n .max(2)\r\n .refine(\r\n (items) => new Set(items).size === items.length,\r\n \"TikTok post modes must be unique.\",\r\n ),\r\n visibilityOptions: z.array(z.string().trim().min(1).max(100)).max(20)\r\n .refine(\r\n (items) => new Set(items).size === items.length,\r\n \"TikTok visibility options must be unique.\",\r\n ),\r\n interactions: z.object({\r\n comment: z.object({ available: z.boolean() }),\r\n duet: z.object({ available: z.boolean() }),\r\n stitch: z.object({ available: z.boolean() }),\r\n }),\r\n maxVideoDurationMs: z.number().int().positive().max(86_400_000).nullable(),\r\n health: z.object({\r\n status: ProviderHealthStatusSchema,\r\n code: z.string().min(1),\r\n message: z.string().min(1),\r\n }),\r\n checkedAt: z.string().datetime(),\r\n});\r\n\r\nexport const LinkedInDeliveryOptionsSchema = z.object({\r\n provider: z.literal(\"LINKEDIN\"),\r\n account: z.object({\r\n displayName: z.string().nullable(),\r\n avatarUrl: z.string().url().nullable(),\r\n }),\r\n supportedPostTypes: z.array(z.enum([\"TEXT\", \"SINGLE_IMAGE\", \"MULTI_IMAGE\", \"VIDEO\"])).length(4),\n image: z.object({\n maxItems: z.literal(10),\r\n mimeTypes: z.tuple([z.literal(\"image/jpeg\"), z.literal(\"image/png\")]),\r\n maxPixelsExclusive: z.literal(36_152_320),\r\n maxBytes: z.literal(26_214_400),\r\n }),\n video: z.object({\n maxItems: z.literal(1),\n mimeTypes: z.tuple([z.literal(\"video/mp4\")]),\n minBytes: z.literal(76_800),\n maxBytes: z.literal(524_288_000),\n minDurationMs: z.literal(3_000),\n maxDurationMs: z.literal(1_800_000),\n }),\n health: z.object({\r\n status: ProviderHealthStatusSchema,\r\n code: z.string().min(1),\r\n message: z.string().min(1),\r\n }),\r\n checkedAt: z.string().datetime(),\r\n});\r\n\r\n// Add one strict provider variant here as each future social network gains\r\n// creator-specific delivery choices. Callers can always discriminate by provider.\r\nexport const ProviderDeliveryOptionsSchema = z.discriminatedUnion(\"provider\", [\r\n TikTokDeliveryOptionsSchema,\r\n LinkedInDeliveryOptionsSchema,\r\n]);\r\nexport type ProviderDeliveryOptions = z.infer<typeof ProviderDeliveryOptionsSchema>;\r\nexport const ProviderDeliveryOptionsResponseSchema = successEnvelopeSchema(\r\n ProviderDeliveryOptionsSchema,\r\n);\r\n\r\nexport const ReadinessStatusSchema = z.enum([\r\n \"checking\",\r\n \"pass\",\r\n \"warning\",\r\n \"blocking\",\r\n \"unknown\",\r\n]);\r\n\r\nexport const ReadinessActionSchema = z.object({\r\n kind: z.enum([\r\n \"reconnect\",\n \"replace_media\",\n \"adjust_media\",\n \"review_settings\",\r\n \"edit_caption\",\r\n \"refresh_health\",\r\n ]),\r\n provider: PublishingProviderSchema.optional(),\n mediaId: z.string().min(1).optional(),\n});\n\r\nexport const PostReadinessCheckSchema = z.object({\r\n key: z.string().min(1),\r\n id: z.enum([\r\n \"connection\",\r\n \"permissions\",\r\n \"media\",\r\n \"caption\",\r\n \"tiktok_settings\",\r\n \"youtube_settings\",\r\n \"storage\",\r\n \"schedule_lead\",\r\n \"token_health\",\r\n \"media_duration\",\r\n \"provider_health\",\r\n ]),\r\n provider: PublishingProviderSchema.nullable(),\r\n mediaId: z.string().min(1).optional(),\r\n status: ReadinessStatusSchema,\r\n source: z.enum([\"local\", \"live\"]),\r\n checkedAt: z.string().datetime().nullable(),\r\n message: z.string().min(1),\r\n code: z.string().min(1),\r\n action: ReadinessActionSchema.nullable(),\r\n});\r\n\r\nexport const PostReadinessSchema = z.object({\r\n checks: z.array(PostReadinessCheckSchema),\r\n accounts: z.array(z.object({\r\n provider: PublishingProviderSchema,\r\n connected: z.boolean(),\r\n username: z.string().nullable(),\r\n avatarUrl: z.string().url().nullable(),\r\n requiresAction: z.boolean(),\r\n })),\r\n hasBlockingChecks: z.boolean(),\r\n requiresLiveRefresh: z.array(PublishingProviderSchema),\r\n liveHealthCheckedAt: z.string().datetime().nullable(),\r\n});\r\nexport type PostReadiness = z.infer<typeof PostReadinessSchema>;\r\nexport const PostReadinessResponseSchema = successEnvelopeSchema(\r\n PostReadinessSchema,\r\n);\r\n\r\nexport const PostScheduleInputSchema = z.object({\r\n scheduledAt: z.string().datetime({ offset: true }),\r\n timezone: z.string().trim().min(1).max(100).refine((timezone) => {\r\n try {\r\n new Intl.DateTimeFormat(\"en\", { timeZone: timezone }).format();\r\n return true;\r\n } catch {\r\n return false;\r\n }\r\n }, \"timezone must be a valid IANA timezone\"),\r\n}).strict();\r\nexport type PostScheduleInput = z.infer<typeof PostScheduleInputSchema>;\r\n\r\nexport const PostScheduleExecuteInputSchema = PostScheduleInputSchema.extend({\r\n confirmationToken: z.string().trim().min(1).max(200),\r\n}).strict();\r\nexport type PostScheduleExecuteInput = z.infer<\r\n typeof PostScheduleExecuteInputSchema\r\n>;\r\n\r\nexport const PostSchedulePreviewSchema = z.object({\r\n operation: z.literal(\"posts.schedule.execute\"),\r\n post: z.object({\r\n id: z.string().min(1),\r\n projectId: z.string().min(1),\r\n version: z.number().int().positive(),\r\n status: PostStatusSchema,\r\n }),\r\n schedule: PostScheduleInputSchema,\r\n destinations: z.array(PublishingProviderSchema).min(1).max(PUBLISHING_PROVIDER_COUNT),\r\n providerReconciliation: z.object({\r\n provider: z.literal(\"YOUTUBE\"),\r\n required: z.boolean(),\r\n message: z.string().min(1),\r\n }).nullable().optional(),\r\n readiness: PostReadinessSchema,\r\n confirmation: z.object({\r\n token: z.string().min(1),\r\n expiresAt: z.string().datetime(),\r\n }),\r\n});\r\nexport type PostSchedulePreview = z.infer<typeof PostSchedulePreviewSchema>;\r\nexport const PostSchedulePreviewResponseSchema = successEnvelopeSchema(\r\n PostSchedulePreviewSchema,\r\n);\r\n\r\nexport const PostSchedulePendingSchema = z.object({\r\n status: z.literal(\"PENDING\"),\r\n postId: z.string().min(1),\r\n provider: z.literal(\"YOUTUBE\"),\r\n mutationId: z.string().min(1),\r\n operation: z.enum([\"SCHEDULE\", \"CANCEL\"]),\r\n message: z.string().min(1),\r\n});\r\nexport type PostSchedulePending = z.infer<typeof PostSchedulePendingSchema>;\r\nexport const PostScheduleExecuteResultSchema = z.union([\r\n PostSchema,\r\n PostSchedulePendingSchema,\r\n]);\r\nexport type PostScheduleExecuteResult = z.infer<\r\n typeof PostScheduleExecuteResultSchema\r\n>;\r\nexport const PostScheduleExecuteResponseSchema = successEnvelopeSchema(\r\n PostScheduleExecuteResultSchema,\r\n);\r\n\r\nexport const PostPublishInputSchema = z.object({\r\n destinations: z.array(PublishingProviderSchema).min(1).max(PUBLISHING_PROVIDER_COUNT)\r\n .refine(\r\n (destinations) => new Set(destinations).size === destinations.length,\r\n \"destinations must not contain duplicates\",\r\n ),\r\n}).strict();\r\nexport type PostPublishInput = z.infer<typeof PostPublishInputSchema>;\r\n\r\nexport const PostPublishExecuteInputSchema = PostPublishInputSchema.extend({\r\n confirmationToken: z.string().trim().min(1).max(200),\r\n}).strict();\r\nexport type PostPublishExecuteInput = z.infer<\r\n typeof PostPublishExecuteInputSchema\r\n>;\r\n\r\nexport const PostPublishPreviewSchema = z.object({\r\n operation: z.literal(\"posts.publish.execute\"),\r\n post: z.object({\r\n id: z.string().min(1),\r\n projectId: z.string().min(1),\r\n version: z.number().int().positive(),\r\n status: PostStatusSchema,\r\n }),\r\n destinations: PostPublishInputSchema.shape.destinations,\r\n readiness: PostReadinessSchema,\r\n confirmation: z.object({\r\n token: z.string().min(1),\r\n expiresAt: z.string().datetime(),\r\n }),\r\n});\r\nexport type PostPublishPreview = z.infer<typeof PostPublishPreviewSchema>;\r\nexport const PostPublishPreviewResponseSchema = successEnvelopeSchema(\r\n PostPublishPreviewSchema,\r\n);\r\n\r\nexport const CalendarEventSchema = z.object({\r\n postId: z.string().min(1),\r\n projectId: z.string().min(1),\r\n title: z.string().min(1),\r\n caption: z.string(),\r\n status: PostStatusSchema.exclude([\"DRAFT\"]),\r\n scheduledAt: z.string().datetime(),\r\n timezone: z.string().nullable(),\r\n campaign: z.object({\r\n id: z.string().min(1),\r\n title: z.string().min(1),\r\n }).nullable(),\r\n thumbnailUrl: z.string().url().nullable(),\r\n destinations: z.array(z.object({\r\n provider: PublishingProviderSchema,\r\n status: PlatformPostStatusSchema,\r\n })),\r\n});\r\nexport type CalendarEvent = z.infer<typeof CalendarEventSchema>;\r\n\r\nexport const CalendarListQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(100).default(50),\r\n cursor: z.string().min(1).optional(),\r\n from: z.string().datetime().optional(),\r\n to: z.string().datetime().optional(),\r\n}).superRefine((value, context) => {\r\n if ((value.from === undefined) !== (value.to === undefined)) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: value.from === undefined ? [\"from\"] : [\"to\"],\r\n message: \"from and to must be provided together\",\r\n });\r\n }\r\n if (value.from && value.to) {\r\n const from = Date.parse(value.from);\r\n const to = Date.parse(value.to);\r\n if (from >= to) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"to\"],\r\n message: \"to must be later than from\",\r\n });\r\n } else if (to - from > 366 * 24 * 60 * 60 * 1000) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"to\"],\r\n message: \"calendar ranges cannot exceed 366 days\",\r\n });\r\n }\r\n }\r\n});\r\nexport type CalendarListQuery = z.input<typeof CalendarListQuerySchema>;\r\n\r\nexport const CalendarListDataSchema = z.object({\r\n items: z.array(CalendarEventSchema),\r\n page: z.object({\r\n limit: z.number().int().min(1).max(100),\r\n nextCursor: z.string().min(1).nullable(),\r\n }),\r\n window: z.object({\r\n from: z.string().datetime(),\r\n to: z.string().datetime(),\r\n }),\r\n});\r\nexport type CalendarListData = z.infer<typeof CalendarListDataSchema>;\r\nexport const CalendarListResponseSchema = successEnvelopeSchema(\r\n CalendarListDataSchema,\r\n);\r\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { z } from \"zod\";\r\n\r\nexport const API_VERSION = \"v1\" as const;\r\nexport const CONTRACT_VERSION = \"0.16.0\" as const;\r\n\r\nexport const RequestMetadataSchema = z.object({\r\n requestId: z.string().min(1),\r\n});\r\n\r\nexport const ApiErrorCodeSchema = z.enum([\r\n \"AUTH_REQUIRED\",\r\n \"FORBIDDEN\",\r\n \"NOT_FOUND\",\r\n \"FEATURE_DISABLED\",\r\n \"BILLING_REQUIRED\",\r\n \"LIMIT_REACHED\",\r\n \"VALIDATION_ERROR\",\r\n \"CONFLICT\",\r\n \"RATE_LIMITED\",\r\n \"DELIVERY_CREDENTIAL_INVALID\",\r\n \"DELIVERY_CREDENTIAL_REVOKED\",\r\n \"ARTICLE_NOT_PUBLISHED\",\r\n \"WEBHOOK_INVALID\",\r\n \"WEBHOOK_REPLAYED\",\r\n \"INTERNAL_ERROR\",\r\n]);\r\n\r\nexport type ApiErrorCode = z.infer<typeof ApiErrorCodeSchema>;\r\n\r\nexport const ApiProblemSchema = z.object({\r\n error: z.object({\r\n code: ApiErrorCodeSchema,\r\n message: z.string().min(1),\r\n details: z.record(z.string(), z.unknown()).optional(),\r\n }),\r\n meta: RequestMetadataSchema,\r\n});\r\n\r\nexport type ApiProblem = z.infer<typeof ApiProblemSchema>;\r\n\r\nexport const BlogImageSchema = z.object({\r\n url: z.string().url(),\r\n altText: z.string().min(1),\r\n width: z.number().int().positive(),\r\n height: z.number().int().positive(),\r\n purpose: z.enum([\"FEATURED\", \"SECTION\", \"SOCIAL_PREVIEW\"]),\r\n});\r\n\r\nexport const PublishedBlogArticleSchema = z.object({\r\n id: z.string().min(1),\r\n revisionId: z.string().min(1),\r\n revisionNumber: z.number().int().positive(),\r\n slug: z.string().min(1),\r\n title: z.string().min(1),\r\n description: z.string().nullable(),\r\n excerpt: z.string().nullable(),\r\n tags: z.array(z.string()),\r\n author: z.string().min(1),\r\n language: z.string().min(1),\r\n markdown: z.string(),\r\n contentBlocks: z.array(z.unknown()),\r\n canonicalPath: z.string().startsWith(\"/\"),\r\n publicUrl: z.string().url(),\r\n publishedAt: z.string().datetime(),\r\n updatedAt: z.string().datetime(),\r\n images: z.array(BlogImageSchema),\r\n});\r\n\r\nexport type PublishedBlogArticle = z.infer<typeof PublishedBlogArticleSchema>;\r\n\r\nexport const BlogArticleListSchema = z.object({\r\n articles: z.array(PublishedBlogArticleSchema.omit({ markdown: true, contentBlocks: true })),\r\n});\r\n\r\nexport const BlogMetadataSchema = z.object({\r\n siteId: z.string().min(1),\r\n name: z.string().min(1),\r\n origin: z.string().url(),\r\n blogBasePath: z.string().startsWith(\"/\"),\r\n language: z.string().min(1),\r\n updatedAt: z.string().datetime().nullable(),\r\n});\r\n\r\nexport const BlogSitemapEntrySchema = z.object({\r\n url: z.string().url(),\r\n lastModified: z.string().datetime(),\r\n});\r\n\r\nexport const BlogSlugRedirectSchema = z.object({\r\n redirect: z.object({ from: z.string().min(1), to: z.string().min(1), permanent: z.literal(true) }),\r\n});\r\n\r\nexport function successEnvelopeSchema<TSchema extends z.ZodType>(data: TSchema) {\r\n return z.object({\r\n data,\r\n meta: RequestMetadataSchema,\r\n });\r\n}\r\n\r\nexport const CapabilityIdSchema = z.enum([\r\n \"identity:read\",\r\n \"projects:read\",\r\n \"projects:write\",\r\n \"posts:read\",\r\n \"posts:write\",\r\n \"posts:schedule\",\r\n \"posts:publish\",\r\n \"integrations:read\",\r\n \"calendar:read\",\r\n \"seo:read\",\r\n \"blog:read\",\r\n \"blog:write\",\r\n \"blog:manage\",\r\n \"blog:approve\",\r\n \"blog:publish\",\r\n]);\r\n\r\nexport type CapabilityId = z.infer<typeof CapabilityIdSchema>;\r\n\r\nexport const AgentBlogPlanSchema = z.object({\r\n id: z.string().min(1),\r\n state: z.string().min(1),\r\n windowStart: z.string().datetime(),\r\n windowEnd: z.string().datetime(),\r\n cadence: z.object({ weekdays: z.array(z.number().int().min(0).max(6)) }),\r\n activeRevisionId: z.string().nullable(),\r\n itemCount: z.number().int().nonnegative(),\r\n});\r\n\r\nexport const AgentBlogArticleSchema = z.object({\r\n id: z.string().min(1),\r\n state: z.string().min(1),\r\n title: z.string().min(1),\r\n slug: z.string().min(1),\r\n currentDraftId: z.string().nullable(),\r\n approvedRevisionId: z.string().nullable(),\r\n publishedRevisionId: z.string().nullable(),\r\n scheduledPublishAt: z.string().datetime().nullable(),\r\n updatedAt: z.string().datetime(),\r\n});\r\n\r\nexport const AgentBlogImageSchema = z.object({\r\n id: z.string().min(1),\r\n revisionId: z.string().nullable(),\r\n version: z.number().int().positive(),\r\n purpose: z.enum([\"FEATURED\", \"SECTION\", \"SOCIAL_PREVIEW\"]),\r\n source: z.enum([\"GENERATED\", \"AGENT_UPLOAD\"]),\r\n state: z.enum([\"QUEUED\", \"GENERATING\", \"READY_FOR_REVIEW\", \"APPROVED\", \"REJECTED\", \"FAILED\"]),\r\n publicUrl: z.string().url().nullable(),\r\n mimeType: z.enum([\"image/jpeg\", \"image/png\", \"image/webp\"]).nullable(),\r\n width: z.number().int().positive().nullable(),\r\n height: z.number().int().positive().nullable(),\r\n altText: z.string().nullable(),\r\n caption: z.string().nullable(),\r\n createdAt: z.string().datetime(),\r\n}).strict();\r\n\r\nexport const AgentBlogArticleDetailSchema = AgentBlogArticleSchema.extend({\r\n draft: z.object({\r\n id: z.string().min(1), version: z.number().int().positive(), title: z.string(), slug: z.string(),\r\n description: z.string().nullable(), excerpt: z.string().nullable(), canonicalPath: z.string(), tags: z.array(z.string()),\r\n author: z.string(), language: z.string(), markdown: z.string(), callToAction: z.unknown().nullable(), internalLinks: z.unknown(),\r\n }).nullable(),\r\n revisions: z.array(z.object({ id: z.string().min(1), revisionNumber: z.number().int().positive(), contentHash: z.string().min(1), approvedAt: z.string().datetime().nullable(), createdAt: z.string().datetime() })),\r\n images: z.array(AgentBlogImageSchema),\r\n});\r\n\r\nexport const AgentBlogJobSchema = z.object({\r\n id: z.string().min(1), type: z.string().min(1), state: z.string().min(1), attemptCount: z.number().int().nonnegative(),\r\n availableAt: z.string().datetime(), startedAt: z.string().datetime().nullable(), completedAt: z.string().datetime().nullable(),\r\n lastErrorCode: z.string().nullable(), lastErrorMessage: z.string().nullable(),\r\n});\r\n\r\nexport const AgentBlogDraftUpdateSchema = z.object({\r\n version: z.number().int().positive(), title: z.string().trim().min(1).max(200), slug: z.string().trim().min(1).max(160),\r\n description: z.string().trim().max(320).nullable(), excerpt: z.string().trim().max(500).nullable(), canonicalPath: z.string().startsWith(\"/\"),\r\n tags: z.array(z.string().trim().min(1).max(80)).max(30), author: z.string().trim().min(1).max(160), language: z.string().trim().min(2).max(20),\r\n markdown: z.string().max(200000),\r\n callToAction: z.object({ label: z.string().trim().min(1).max(160), pageId: z.string().min(1).nullable() }).strict().nullable(),\r\n internalLinks: z.array(z.object({ pageId: z.string().min(1), anchorText: z.string().trim().min(1).max(200) }).strict()).max(20),\r\n scheduledPublishAt: z.string().datetime().nullable().optional(),\r\n});\r\n\r\nexport const AgentBlogGenerateRequestSchema = z.object({ idempotencyKey: z.string().trim().min(8).max(200) });\r\nexport const AgentBlogImageGenerateRequestSchema = z.object({\r\n revisionId: z.string().min(1),\r\n idempotencyKey: z.string().trim().min(8).max(200),\r\n editorialBrief: z.string().trim().max(500).optional(),\r\n}).strict();\r\nexport const AgentBlogImageUploadPrepareRequestSchema = z.object({\r\n revisionId: z.string().min(1),\r\n fileName: z.string().trim().min(1).max(255),\r\n contentType: z.enum([\"image/jpeg\", \"image/png\", \"image/webp\"]),\r\n fileSize: z.number().int().positive().max(25 * 1024 * 1024),\r\n}).strict();\r\nexport const AgentBlogImageUploadCompleteRequestSchema = AgentBlogImageUploadPrepareRequestSchema.extend({\r\n storageKey: z.string().min(1).max(1_024),\r\n altText: z.string().trim().min(1).max(300),\r\n}).strict();\r\nexport const AgentBlogImageReviewRequestSchema = z.object({\r\n expectedVersion: z.number().int().positive(),\r\n decision: z.enum([\"APPROVED\", \"REJECTED\"]),\r\n altText: z.string().max(300),\r\n idempotencyKey: z.string().trim().min(8).max(200),\r\n}).strict();\r\nexport const AgentBlogApprovalPreviewRequestSchema = z.object({ revisionId: z.string().min(1) }).strict();\r\nexport const AgentBlogApprovalExecuteRequestSchema = AgentBlogApprovalPreviewRequestSchema.extend({\r\n confirmationToken: z.string().min(1),\r\n idempotencyKey: z.string().trim().min(8).max(200),\r\n}).strict();\r\nexport const AgentBlogApprovalImageSummarySchema = z.object({\r\n id: z.string(),\r\n purpose: z.enum([\"FEATURED\", \"SECTION\", \"SOCIAL_PREVIEW\"]),\r\n contentPosition: z.string().nullable(),\r\n width: z.number().int().positive(),\r\n height: z.number().int().positive(),\r\n mimeType: z.enum([\"image/jpeg\", \"image/png\", \"image/webp\"]),\r\n altText: z.string().min(1),\r\n caption: z.string().nullable(),\r\n version: z.number().int().positive(),\r\n}).strict();\r\nexport const AgentBlogApprovalLinkSummarySchema = z.object({\r\n pageId: z.string(),\r\n liveState: z.enum([\"LIVE\", \"REDIRECT\"]),\r\n}).strict();\r\nexport const AgentBlogApprovalPreviewSchema = z.object({\r\n articleId: z.string(),\r\n revisionId: z.string(),\r\n title: z.string(),\r\n slug: z.string(),\r\n revisionNumber: z.number().int().positive(),\r\n contentHash: z.string(),\r\n images: z.array(AgentBlogApprovalImageSummarySchema),\r\n links: z.array(AgentBlogApprovalLinkSummarySchema),\r\n warnings: z.array(z.string()),\r\n bundleHash: z.string().regex(/^[a-f0-9]{64}$/),\r\n confirmation: z.object({ token: z.string(), expiresAt: z.string().datetime() }).strict(),\r\n}).strict();\r\nexport const AgentBlogApprovalExecuteSchema = AgentBlogApprovalPreviewSchema.omit({ confirmation: true }).extend({\r\n approvalSource: z.literal(\"AGENT\"),\r\n approvedAt: z.string().datetime(),\r\n}).strict();\r\nexport const AgentBlogDestinationSelectionSchema = z.array(z.string().min(1)).min(1).max(20);\r\nconst AgentBlogIanaTimeZoneSchema = z.string().trim().min(1).max(100).refine((timeZone) => {\r\n try {\r\n new Intl.DateTimeFormat(\"en\", { timeZone }).format();\r\n return true;\r\n } catch {\r\n return false;\r\n }\r\n}, \"timezone must be a valid IANA timezone\");\r\nexport const AgentBlogSchedulePreviewRequestSchema = z.object({\r\n revisionId: z.string().min(1),\r\n destinationIds: AgentBlogDestinationSelectionSchema.optional(),\r\n scheduledAt: z.string().datetime({ offset: true }),\r\n timezone: AgentBlogIanaTimeZoneSchema,\r\n}).strict();\r\nexport const AgentBlogScheduleExecuteRequestSchema = AgentBlogSchedulePreviewRequestSchema.extend({\r\n confirmationToken: z.string().min(1),\r\n idempotencyKey: z.string().trim().min(8).max(200),\r\n}).strict();\r\nexport const AgentBlogScheduleCancelPreviewRequestSchema = z.object({}).strict();\r\nexport const AgentBlogScheduleCancelExecuteRequestSchema = z.object({\r\n confirmationToken: z.string().min(1),\r\n idempotencyKey: z.string().trim().min(8).max(200),\r\n}).strict();\r\nexport const AgentBlogSchedulePreviewSchema = z.object({\r\n articleId: z.string(), revisionId: z.string(), contentHash: z.string(),\r\n approvalBundleHash: z.string().regex(/^[a-f0-9]{64}$/),\r\n approvalSource: z.enum([\"USER\", \"AGENT\"]).nullable(),\r\n destinationIds: AgentBlogDestinationSelectionSchema,\r\n scheduledAt: z.string().datetime(), timezone: AgentBlogIanaTimeZoneSchema,\r\n currentScheduleVersion: z.string().datetime(), previousScheduledAt: z.string().datetime().nullable(),\r\n confirmation: z.object({ token: z.string(), expiresAt: z.string().datetime() }).strict(),\r\n}).strict();\r\nexport const AgentBlogScheduleExecuteSchema = AgentBlogSchedulePreviewSchema.omit({ confirmation: true }).extend({\r\n jobId: z.string(), scheduleVersion: z.string().datetime(), state: z.literal(\"SCHEDULED\"),\r\n}).strict();\r\nexport const AgentBlogScheduleCancelPreviewSchema = z.object({\r\n articleId: z.string(), revisionId: z.string(), approvalBundleHash: z.string().regex(/^[a-f0-9]{64}$/),\r\n destinationIds: AgentBlogDestinationSelectionSchema, scheduledAt: z.string().datetime(),\r\n timezone: AgentBlogIanaTimeZoneSchema, scheduleVersion: z.string().datetime(),\r\n confirmation: z.object({ token: z.string(), expiresAt: z.string().datetime() }).strict(),\r\n}).strict();\r\nexport const AgentBlogScheduleCancelExecuteSchema = AgentBlogScheduleCancelPreviewSchema.omit({ confirmation: true }).extend({\r\n state: z.literal(\"APPROVED\"), canceledAt: z.string().datetime(),\r\n}).strict();\r\nexport const AgentBlogPublishPreviewRequestSchema = z.object({ revisionId: z.string().min(1), destinationIds: AgentBlogDestinationSelectionSchema.optional() });\r\nexport const AgentBlogPublishExecuteRequestSchema = z.object({ revisionId: z.string().min(1), destinationIds: AgentBlogDestinationSelectionSchema.optional(), confirmationToken: z.string().min(1), idempotencyKey: z.string().trim().min(8).max(200) });\r\nexport const AgentBlogPublishingProviderSchema = z.object({ key: z.string(), name: z.string(), description: z.string(), mode: z.string(), rollout: z.enum([\"PREVIEW\", \"VISIBLE\"]), capabilities: z.array(z.string()), authorizationStrategy: z.string(), requiresResourceDiscovery: z.boolean(), requiresFieldMapping: z.boolean(), officialDocumentationUrl: z.string().url() }).strict();\r\nexport const AgentBlogPublishingDestinationSchema = z.object({ id: z.string(), name: z.string(), providerKey: z.string(), mode: z.string(), status: z.string(), isPrimary: z.boolean(), enabled: z.boolean(), externalSiteName: z.string().nullable(), externalSiteUrl: z.string().url().nullable(), lastTestedAt: z.string().datetime().nullable(), lastSucceededAt: z.string().datetime().nullable(), lastErrorCode: z.string().nullable() }).strict();\r\nexport const AgentBlogDeliveryAttemptSchema = z.object({ id: z.string(), articleId: z.string().nullable(), revisionId: z.string().nullable(), destinationId: z.string().nullable(), destinationName: z.string().nullable(), operation: z.string().nullable(), state: z.string(), attemptCount: z.number().int().nonnegative(), errorCode: z.string().nullable(), retryAt: z.string().datetime().nullable(), remoteUrl: z.string().url().nullable(), createdAt: z.string().datetime(), deliveredAt: z.string().datetime().nullable() }).strict();\r\nexport const AgentBlogPublishPreviewSchema = z.object({ articleId: z.string(), revisionId: z.string(), contentHash: z.string(), approvalBundleHash: z.string().regex(/^[a-f0-9]{64}$/), approvalSource: z.enum([\"USER\", \"AGENT\"]).nullable(), title: z.string(), slug: z.string(), publicUrl: z.string().url(), destinations: z.array(AgentBlogPublishingDestinationSchema), confirmation: z.object({ token: z.string(), expiresAt: z.string().datetime() }) });\r\n\r\nconst AgentBlogReadinessSchema = z.enum([\r\n \"MISSING\",\r\n \"NOT_STARTED\",\r\n \"QUEUED\",\r\n \"RUNNING\",\r\n \"READY\",\r\n \"USED\",\r\n \"CONFIGURED\",\r\n \"VERIFIED\",\r\n \"NEEDS_ATTENTION\",\r\n]);\r\n\r\nexport const AgentBlogSetupStatusSchema = z.object({\r\n projectId: z.string().min(1),\r\n brandName: z.string().min(1),\r\n brandWebsite: z.enum([\"MISSING\", \"READY\"]),\r\n websiteOrigin: z.string().url().nullable(),\r\n siteId: z.string().min(1).nullable(),\r\n blogBasePath: z.string().startsWith(\"/\").nullable(),\r\n siteImport: AgentBlogReadinessSchema,\r\n activeJobId: z.string().min(1).nullable(),\r\n plan: AgentBlogReadinessSchema,\r\n activePlanId: z.string().min(1).nullable(),\r\n deliveryCredential: AgentBlogReadinessSchema,\r\n revalidation: AgentBlogReadinessSchema,\r\n nextAction: z.enum([\r\n \"ADD_WEBSITE\",\r\n \"IMPORT_SITE\",\r\n \"WAIT_FOR_JOB\",\r\n \"CREATE_PLAN\",\r\n \"REVIEW_PLAN\",\r\n \"CONFIGURE_DELIVERY\",\r\n \"TEST_CONNECTION\",\r\n \"READY\",\r\n ]),\r\n}).strict();\r\n\r\nexport const AgentBlogCadenceInputSchema = z.object({\r\n startsOn: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\r\n weekdays: z.array(z.number().int().min(0).max(6)).min(1).max(7),\r\n timeZone: z.string().trim().min(1).max(100),\r\n}).strict().superRefine(({ weekdays }, context) => {\r\n if (new Set(weekdays).size !== weekdays.length) {\r\n context.addIssue({ code: \"custom\", path: [\"weekdays\"], message: \"Weekdays must be unique.\" });\r\n }\r\n});\r\n\r\nexport const AgentBlogIdempotentRequestSchema = z.object({\r\n idempotencyKey: z.string().trim().min(8).max(200),\r\n}).strict();\r\n\r\nexport const AgentBlogPlanCreateRequestSchema = AgentBlogCadenceInputSchema.and(AgentBlogIdempotentRequestSchema);\r\nexport const AgentBlogPlanRetryRequestSchema = AgentBlogIdempotentRequestSchema;\r\n\r\nexport const AgentBlogPlanItemSchema = z.object({\r\n id: z.string().min(1),\r\n planId: z.string().min(1),\r\n planRevisionId: z.string().min(1),\r\n version: z.number().int().positive(),\r\n scheduledLocalDate: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\r\n title: z.string().min(1),\r\n recommendedSlug: z.string().min(1),\r\n state: z.string().min(1),\r\n workType: z.string().min(1),\r\n format: z.string().min(1),\r\n primaryQuery: z.string().nullable(),\r\n searchIntent: z.string().nullable(),\r\n summary: z.string(),\r\n outline: z.unknown(),\r\n selectionReason: z.string().min(1),\r\n evidenceClassification: z.enum([\"OBSERVED\", \"MIXED\", \"HYPOTHESIS\"]),\r\n evidence: z.unknown(),\r\n displayMetrics: z.unknown(),\r\n overlapExplanation: z.string().nullable(),\r\n existingArticleComparison: z.string().nullable(),\r\n recommendedLinks: z.unknown(),\r\n targetConversionPage: z.string().nullable(),\r\n articleId: z.string().min(1).nullable(),\r\n}).strict();\r\n\r\nexport const AgentBlogPlanItemStateRequestSchema = z.object({\r\n state: z.enum([\"ACCEPTED\", \"DISMISSED\"]),\r\n expectedState: z.string().min(1),\r\n expectedVersion: z.number().int().positive(),\r\n idempotencyKey: z.string().trim().min(8).max(200),\r\n}).strict();\r\n\r\nexport const AgentBlogArticleCreateRequestSchema = z.object({\r\n expectedState: z.literal(\"ACCEPTED\"),\r\n expectedVersion: z.number().int().positive(),\r\n idempotencyKey: z.string().trim().min(8).max(200),\r\n}).strict();\r\n\r\nexport const AgentBlogConnectionStatusSchema = z.object({\r\n projectId: z.string().min(1),\r\n siteId: z.string().min(1),\r\n origin: z.string().url(),\r\n endpoint: z.string().url().nullable(),\r\n deliveryCredential: z.enum([\"MISSING\", \"READY\", \"USED\"]),\r\n activeCredentialId: z.string().min(1).nullable(),\r\n credentialLastUsedAt: z.string().datetime().nullable(),\r\n revalidation: z.enum([\"MISSING\", \"CONFIGURED\", \"VERIFIED\", \"NEEDS_ATTENTION\"]),\r\n revalidationLastTestedAt: z.string().datetime().nullable(),\r\n revalidationLastSucceededAt: z.string().datetime().nullable(),\r\n revalidationLastErrorCode: z.string().nullable(),\r\n}).strict();\r\n\r\nexport const AgentBlogConnectionRequestSchema = z.object({\r\n endpoint: z.string().url().nullable(),\r\n credentialAction: z.enum([\"KEEP\", \"CREATE\", \"ROTATE\", \"REVOKE\"]),\r\n credentialId: z.string().min(1).nullable(),\r\n secretAction: z.enum([\"KEEP\", \"CREATE\", \"ROTATE\"]),\r\n}).strict();\r\n\r\nexport const AgentBlogConnectionPreviewRequestSchema = AgentBlogConnectionRequestSchema;\r\nexport const AgentBlogConnectionExecuteRequestSchema = AgentBlogConnectionRequestSchema.extend({\r\n confirmationToken: z.string().min(1).max(300),\r\n idempotencyKey: z.string().trim().min(8).max(200),\r\n}).strict();\r\n\r\nexport const AgentBlogConnectionPreviewSchema = z.object({\r\n projectId: z.string().min(1),\r\n siteId: z.string().min(1),\r\n siteName: z.string().min(1),\r\n origin: z.string().url(),\r\n endpoint: z.string().url().nullable(),\r\n credentialAction: z.enum([\"KEEP\", \"CREATE\", \"ROTATE\", \"REVOKE\"]),\r\n secretAction: z.enum([\"KEEP\", \"CREATE\", \"ROTATE\"]),\r\n effect: z.string().min(1),\r\n confirmation: z.object({ token: z.string().min(1), expiresAt: z.string().datetime() }).strict(),\r\n}).strict();\r\n\r\nexport const AgentBlogConnectionExecuteSchema = z.object({\r\n projectId: z.string().min(1),\r\n siteId: z.string().min(1),\r\n completed: z.literal(true),\r\n secretDelivered: z.boolean(),\r\n alreadyDelivered: z.boolean(),\r\n deliveryToken: z.string().min(1).optional(),\r\n webhookSecret: z.string().min(1).optional(),\r\n message: z.string().min(1),\r\n}).strict();\r\n\r\nexport const AgentBlogRevalidationTestRequestSchema = AgentBlogIdempotentRequestSchema;\r\nexport const AgentBlogRevalidationTestSchema = z.object({\r\n status: z.enum([\"VERIFIED\", \"NEEDS_ATTENTION\"]),\r\n testedAt: z.string().datetime(),\r\n errorCode: z.string().nullable(),\r\n}).strict();\r\n\r\nexport const AgentBlogPlanListResponseSchema = successEnvelopeSchema(z.object({ plans: z.array(AgentBlogPlanSchema) }));\r\nexport const AgentBlogArticleListResponseSchema = successEnvelopeSchema(z.object({ articles: z.array(AgentBlogArticleSchema) }));\r\nexport const AgentBlogArticleResponseSchema = successEnvelopeSchema(AgentBlogArticleDetailSchema);\r\nexport const AgentBlogJobResponseSchema = successEnvelopeSchema(AgentBlogJobSchema);\r\nexport const AgentBlogImageGenerationResponseSchema = successEnvelopeSchema(z.object({ image: AgentBlogImageSchema, job: AgentBlogJobSchema }).strict());\r\nexport const AgentBlogImageUploadPreparationResponseSchema = successEnvelopeSchema(z.object({\r\n uploadUrl: z.string().url(), storageKey: z.string(), expiresAt: z.string().datetime(),\r\n headers: z.object({ \"Content-Type\": z.enum([\"image/jpeg\", \"image/png\", \"image/webp\"]) }).strict(),\r\n maxFileSize: z.number().int().positive(),\r\n}).strict());\r\nexport const AgentBlogImageResponseSchema = successEnvelopeSchema(AgentBlogImageSchema);\r\nexport const AgentBlogApprovalPreviewResponseSchema = successEnvelopeSchema(AgentBlogApprovalPreviewSchema);\r\nexport const AgentBlogApprovalExecuteResponseSchema = successEnvelopeSchema(AgentBlogApprovalExecuteSchema);\r\nexport const AgentBlogSchedulePreviewResponseSchema = successEnvelopeSchema(AgentBlogSchedulePreviewSchema);\r\nexport const AgentBlogScheduleExecuteResponseSchema = successEnvelopeSchema(AgentBlogScheduleExecuteSchema);\r\nexport const AgentBlogScheduleCancelPreviewResponseSchema = successEnvelopeSchema(AgentBlogScheduleCancelPreviewSchema);\r\nexport const AgentBlogScheduleCancelExecuteResponseSchema = successEnvelopeSchema(AgentBlogScheduleCancelExecuteSchema);\r\nexport const AgentBlogPublishPreviewResponseSchema = successEnvelopeSchema(AgentBlogPublishPreviewSchema);\r\nexport const AgentBlogPublishExecuteResponseSchema = successEnvelopeSchema(z.object({ publicationId: z.string(), articleId: z.string(), revisionId: z.string(), approvalBundleHash: z.string().regex(/^[a-f0-9]{64}$/), approvalSource: z.enum([\"USER\", \"AGENT\"]).nullable(), publicUrl: z.string().url(), publishedAt: z.string().datetime() }));\r\nexport const AgentBlogPublishingProviderListResponseSchema = successEnvelopeSchema(z.object({ providers: z.array(AgentBlogPublishingProviderSchema) }).strict());\r\nexport const AgentBlogPublishingDestinationListResponseSchema = successEnvelopeSchema(z.object({ destinations: z.array(AgentBlogPublishingDestinationSchema) }).strict());\r\nexport const AgentBlogDeliveryAttemptListResponseSchema = successEnvelopeSchema(z.object({ deliveries: z.array(AgentBlogDeliveryAttemptSchema) }).strict());\r\nexport const AgentBlogSetupStatusResponseSchema = successEnvelopeSchema(AgentBlogSetupStatusSchema);\r\nexport const AgentBlogPlanItemsResponseSchema = successEnvelopeSchema(z.object({ items: z.array(AgentBlogPlanItemSchema) }).strict());\r\nexport const AgentBlogPlanItemResponseSchema = successEnvelopeSchema(AgentBlogPlanItemSchema);\r\nexport const AgentBlogPlanQueuedResponseSchema = successEnvelopeSchema(z.object({\r\n planId: z.string().min(1),\r\n job: AgentBlogJobSchema,\r\n}).strict());\r\nexport const AgentBlogArticleQueuedResponseSchema = successEnvelopeSchema(z.object({\r\n articleId: z.string().min(1),\r\n job: AgentBlogJobSchema.nullable(),\r\n}).strict());\r\nexport const AgentBlogConnectionStatusResponseSchema = successEnvelopeSchema(AgentBlogConnectionStatusSchema);\r\nexport const AgentBlogConnectionPreviewResponseSchema = successEnvelopeSchema(AgentBlogConnectionPreviewSchema);\r\nexport const AgentBlogConnectionExecuteResponseSchema = successEnvelopeSchema(AgentBlogConnectionExecuteSchema);\r\nexport const AgentBlogRevalidationTestResponseSchema = successEnvelopeSchema(AgentBlogRevalidationTestSchema);\r\nexport type AgentBlogPlan = z.infer<typeof AgentBlogPlanSchema>;\r\nexport type AgentBlogArticle = z.infer<typeof AgentBlogArticleSchema>;\r\nexport type AgentBlogArticleDetail = z.infer<typeof AgentBlogArticleDetailSchema>;\r\nexport type AgentBlogJob = z.infer<typeof AgentBlogJobSchema>;\r\nexport type AgentBlogDraftUpdate = z.infer<typeof AgentBlogDraftUpdateSchema>;\r\nexport type AgentBlogPublishPreview = z.infer<typeof AgentBlogPublishPreviewSchema>;\r\nexport type AgentBlogPublishingProvider = z.infer<typeof AgentBlogPublishingProviderSchema>;\r\nexport type AgentBlogPublishingDestination = z.infer<typeof AgentBlogPublishingDestinationSchema>;\r\nexport type AgentBlogDeliveryAttempt = z.infer<typeof AgentBlogDeliveryAttemptSchema>;\r\nexport type AgentBlogSetupStatus = z.infer<typeof AgentBlogSetupStatusSchema>;\r\nexport type AgentBlogCadenceInput = z.infer<typeof AgentBlogCadenceInputSchema>;\r\nexport type AgentBlogPlanItem = z.infer<typeof AgentBlogPlanItemSchema>;\r\nexport type AgentBlogConnectionStatus = z.infer<typeof AgentBlogConnectionStatusSchema>;\r\nexport type AgentBlogConnectionRequest = z.infer<typeof AgentBlogConnectionRequestSchema>;\r\nexport type AgentBlogConnectionExecute = z.infer<typeof AgentBlogConnectionExecuteSchema>;\r\n\r\nexport const CapabilitySchema = z.object({\r\n id: CapabilityIdSchema,\r\n available: z.boolean(),\r\n reason: z.enum([\r\n \"AVAILABLE\",\r\n \"AUTH_REQUIRED\",\r\n \"SCOPE_REQUIRED\",\r\n \"FEATURE_DISABLED\",\r\n ]),\r\n});\r\n\r\nexport type Capability = z.infer<typeof CapabilitySchema>;\r\n\r\nexport const ApiMetaSchema = z.object({\r\n name: z.literal(\"Rolino\"),\r\n serverVersion: z.string().min(1),\r\n apiVersion: z.literal(API_VERSION),\r\n contractVersion: z.literal(CONTRACT_VERSION),\r\n authentication: z.object({\r\n browserSession: z.boolean(),\r\n cliBrowserAuthorization: z.boolean(),\r\n apiKey: z.boolean(),\r\n remoteOAuth: z.boolean(),\r\n }),\r\n mcp: z.object({\r\n stdio: z.boolean(),\r\n streamableHttp: z.boolean(),\r\n remoteStatus: z.enum([\"AVAILABLE\", \"AUTH_GATE\"]),\r\n }),\r\n capabilities: z.array(CapabilitySchema),\r\n});\r\n\r\nexport type ApiMeta = z.infer<typeof ApiMetaSchema>;\r\nexport const ApiMetaResponseSchema = successEnvelopeSchema(ApiMetaSchema);\r\nexport type ApiMetaResponse = z.infer<typeof ApiMetaResponseSchema>;\r\n\r\nexport const AuthenticationKindSchema = z.enum([\"session\", \"api_key\"]);\r\nexport type AuthenticationKind = z.infer<typeof AuthenticationKindSchema>;\r\n\r\nexport const ActorSchema = z.object({\r\n user: z.object({\r\n id: z.string().min(1),\r\n name: z.string(),\r\n email: z.string().email(),\r\n }),\r\n organization: z.object({\r\n id: z.string().min(1),\r\n name: z.string().min(1),\r\n role: z.string().min(1),\r\n }),\r\n authentication: z.object({\r\n kind: AuthenticationKindSchema,\r\n credentialId: z.string().min(1).nullable(),\r\n }),\r\n capabilities: z.array(CapabilityIdSchema),\r\n});\r\n\r\nexport type Actor = z.infer<typeof ActorSchema>;\r\nexport const WhoAmIResponseSchema = successEnvelopeSchema(ActorSchema);\r\nexport type WhoAmIResponse = z.infer<typeof WhoAmIResponseSchema>;\r\n\r\nconst Base64UrlSecretSchema = z.string()\r\n .min(43)\r\n .max(128)\r\n .regex(/^[A-Za-z0-9_-]+$/);\r\n\r\nexport const CLI_BROWSER_AUTHORIZATION_TIMEOUT_MS = 5 * 60 * 1000;\r\n\r\nexport const CliAuthorizationExchangeRequestSchema = z.object({\r\n code: Base64UrlSecretSchema,\r\n codeVerifier: Base64UrlSecretSchema,\r\n});\r\nexport type CliAuthorizationExchangeRequest = z.infer<\r\n typeof CliAuthorizationExchangeRequestSchema\r\n>;\r\n\r\nexport const CliAuthorizationCredentialSchema = z.object({\r\n token: z.string().min(1),\r\n tokenType: z.literal(\"Bearer\"),\r\n expiresAt: z.string().datetime(),\r\n organization: z.object({\r\n id: z.string().min(1),\r\n name: z.string().min(1),\r\n }),\r\n capabilities: z.array(CapabilityIdSchema),\r\n});\r\nexport type CliAuthorizationCredential = z.infer<\r\n typeof CliAuthorizationCredentialSchema\r\n>;\r\nexport const CliAuthorizationExchangeResponseSchema = successEnvelopeSchema(\r\n CliAuthorizationCredentialSchema,\r\n);\r\nexport type CliAuthorizationExchangeResponse = z.infer<\r\n typeof CliAuthorizationExchangeResponseSchema\r\n>;\r\n\r\nexport const CliAuthorizationRevokeDataSchema = z.object({\r\n revoked: z.literal(true),\r\n});\r\nexport const CliAuthorizationRevokeResponseSchema = successEnvelopeSchema(\r\n CliAuthorizationRevokeDataSchema,\r\n);\r\nexport type CliAuthorizationRevokeResponse = z.infer<\r\n typeof CliAuthorizationRevokeResponseSchema\r\n>;\r\n\r\nexport const CapabilitiesDataSchema = z.object({\r\n capabilities: z.array(CapabilitySchema),\r\n});\r\nexport const CapabilitiesResponseSchema = successEnvelopeSchema(CapabilitiesDataSchema);\r\nexport type CapabilitiesResponse = z.infer<typeof CapabilitiesResponseSchema>;\r\n\r\nexport const ProjectTypeSchema = z.enum([\r\n \"PRODUCT\",\r\n \"LAUNCH\",\r\n \"EVENT\",\r\n \"CONTENT_SERIES\",\r\n \"CLIENT\",\r\n \"BRAND\",\r\n \"INTERNAL\",\r\n]);\r\nexport type ProjectType = z.infer<typeof ProjectTypeSchema>;\r\n\r\nconst ProjectWebsiteUrlSchema = z.string()\r\n .trim()\r\n .min(1)\r\n .max(2000)\r\n .url()\r\n .refine((value) => {\r\n try {\r\n const url = new URL(value);\r\n return (\r\n (url.protocol === \"http:\" || url.protocol === \"https:\")\r\n && !url.username\r\n && !url.password\r\n );\r\n } catch {\r\n return false;\r\n }\r\n }, \"websiteUrl must be an absolute http or https URL without credentials\");\r\n\r\nexport const ProjectCreateInputSchema = z.object({\r\n name: z.string().trim().min(1).max(100),\r\n type: ProjectTypeSchema.default(\"PRODUCT\"),\r\n websiteUrl: ProjectWebsiteUrlSchema.optional(),\r\n description: z.string().trim().min(1).max(2000).optional(),\r\n}).strict();\r\nexport type ProjectCreateInput = z.input<typeof ProjectCreateInputSchema>;\r\nexport type ProjectCreateData = z.infer<typeof ProjectCreateInputSchema>;\r\n\r\nexport const ProjectSchema = z.object({\r\n id: z.string().min(1),\r\n organizationId: z.string().min(1),\r\n name: z.string().min(1),\r\n slug: z.string().min(1),\r\n type: ProjectTypeSchema,\r\n status: z.enum([\"ACTIVE\", \"PAUSED\", \"ARCHIVED\"]),\r\n websiteUrl: z.string().url().nullable(),\r\n description: z.string().nullable(),\r\n createdAt: z.string().datetime(),\r\n updatedAt: z.string().datetime(),\r\n});\r\n\r\nexport type Project = z.infer<typeof ProjectSchema>;\r\n\r\nexport const ProjectListQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(100).default(50),\r\n cursor: z.string().min(1).optional(),\r\n});\r\n\r\nexport type ProjectListQuery = z.input<typeof ProjectListQuerySchema>;\r\n\r\nexport const ProjectListDataSchema = z.object({\r\n items: z.array(ProjectSchema),\r\n page: z.object({\r\n limit: z.number().int().min(1).max(100),\r\n nextCursor: z.string().min(1).nullable(),\r\n }),\r\n});\r\n\r\nexport type ProjectListData = z.infer<typeof ProjectListDataSchema>;\r\nexport const ProjectListResponseSchema = successEnvelopeSchema(ProjectListDataSchema);\r\nexport type ProjectListResponse = z.infer<typeof ProjectListResponseSchema>;\r\n\r\nexport const ProjectResponseSchema = successEnvelopeSchema(ProjectSchema);\r\nexport type ProjectResponse = z.infer<typeof ProjectResponseSchema>;\r\n\r\nexport const PostStatusSchema = z.enum([\r\n \"DRAFT\",\r\n \"SCHEDULED\",\r\n \"ACTION_REQUIRED\",\r\n \"PUBLISHING\",\r\n \"PUBLISHED\",\r\n \"PARTIALLY_PUBLISHED\",\r\n \"FAILED\",\r\n]);\r\nexport type PostStatus = z.infer<typeof PostStatusSchema>;\r\n\r\nexport const PlatformPostStatusSchema = z.enum([\r\n \"DRAFT\",\r\n \"SCHEDULED\",\r\n \"PREPARING\",\r\n \"ACTION_REQUIRED\",\r\n \"PUBLISHING\",\r\n \"PUBLISHED\",\r\n \"FAILED\",\r\n]);\r\n\r\nexport const PostMediaSchema = z.object({\r\n id: z.string().min(1),\r\n assetId: z.string().min(1).nullable().optional(),\r\n type: z.enum([\"IMAGE\", \"VIDEO\"]),\r\n url: z.string().url(),\r\n mimeType: z.string().min(1),\r\n sizeBytes: z.number().int().positive().nullable().optional(),\r\n width: z.number().int().positive().nullable(),\r\n height: z.number().int().positive().nullable(),\r\n durationMs: z.number().int().nonnegative().nullable(),\r\n thumbnailUrl: z.string().url().nullable(),\r\n altText: z.string().nullable(),\r\n position: z.number().int().nonnegative(),\r\n});\r\nexport type PostMedia = z.infer<typeof PostMediaSchema>;\r\n\r\nexport const MediaAssetSchema = z.object({\r\n id: z.string().min(1),\r\n type: z.enum([\"IMAGE\", \"VIDEO\"]),\r\n url: z.string().url(),\r\n thumbnailUrl: z.string().url().nullable(),\r\n originalFileName: z.string().nullable(),\r\n mimeType: z.string().min(1),\r\n sizeBytes: z.number().int().positive().nullable(),\r\n width: z.number().int().positive().nullable(),\r\n height: z.number().int().positive().nullable(),\r\n durationMs: z.number().int().nonnegative().nullable(),\r\n createdAt: z.string().datetime(),\r\n});\r\nexport type MediaAsset = z.infer<typeof MediaAssetSchema>;\r\n\r\nexport const MediaAssetListQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(100).default(50),\r\n cursor: z.string().min(1).optional(),\r\n type: z.enum([\"IMAGE\", \"VIDEO\"]).optional(),\r\n query: z.string().trim().min(1).max(100).optional(),\r\n});\r\nexport type MediaAssetListQuery = z.input<typeof MediaAssetListQuerySchema>;\r\n\r\nexport const MediaAssetListDataSchema = z.object({\r\n items: z.array(MediaAssetSchema),\r\n page: z.object({\r\n limit: z.number().int().min(1).max(100),\r\n nextCursor: z.string().min(1).nullable(),\r\n }),\r\n});\r\nexport type MediaAssetListData = z.infer<typeof MediaAssetListDataSchema>;\r\nexport const MediaAssetListResponseSchema = successEnvelopeSchema(MediaAssetListDataSchema);\r\n\r\nexport const MediaAssetUploadInputSchema = z.object({\r\n fileName: z.string().trim().min(1).max(255),\r\n contentType: z.string().trim().min(1).max(100),\r\n fileSize: z.number().int().positive(),\r\n}).strict();\r\nexport type MediaAssetUploadInput = z.infer<typeof MediaAssetUploadInputSchema>;\r\n\r\nexport const MediaAssetUploadPreparationSchema = z.object({\r\n uploadUrl: z.string().url(),\r\n storageKey: z.string().min(1),\r\n expiresAt: z.string().datetime(),\r\n headers: z.record(z.string(), z.string()),\r\n maxFileSize: z.number().int().positive(),\r\n});\r\nexport type MediaAssetUploadPreparation = z.infer<typeof MediaAssetUploadPreparationSchema>;\r\nexport const MediaAssetUploadPreparationResponseSchema = successEnvelopeSchema(MediaAssetUploadPreparationSchema);\r\n\r\nexport const MediaAssetUploadCompleteInputSchema = MediaAssetUploadInputSchema.extend({\r\n storageKey: z.string().min(1),\r\n width: z.number().int().positive().max(100_000).nullable().optional(),\r\n height: z.number().int().positive().max(100_000).nullable().optional(),\r\n durationMs: z.number().int().nonnegative().max(86_400_000).nullable().optional(),\r\n}).strict();\r\nexport type MediaAssetUploadCompleteInput = z.infer<typeof MediaAssetUploadCompleteInputSchema>;\r\nexport const MediaAssetResponseSchema = successEnvelopeSchema(MediaAssetSchema);\r\n\r\nexport const PublishingProviderSchema = z.enum([\r\n \"INSTAGRAM\",\r\n \"TIKTOK\",\r\n \"YOUTUBE\",\r\n \"BLUESKY\",\r\n \"LINKEDIN\",\r\n]);\r\nexport type PublishingProvider = z.infer<typeof PublishingProviderSchema>;\r\nexport const PUBLISHING_PROVIDER_COUNT = PublishingProviderSchema.options.length;\r\n\r\nexport const PostDeliveryModeSchema = z.enum([\"IMMEDIATE\", \"SCHEDULED\"]);\r\nexport type PostDeliveryMode = z.infer<typeof PostDeliveryModeSchema>;\r\n\r\nexport const PostDestinationStageSchema = z.enum([\r\n \"DRAFT\",\r\n \"QUEUED\",\r\n \"UPLOADING\",\r\n \"PROCESSING\",\r\n \"CONFIRMING_SCHEDULE\",\r\n \"SCHEDULED\",\r\n \"PUBLISHING\",\r\n \"PUBLISHED\",\r\n \"ACTION_REQUIRED\",\r\n \"FAILED\",\r\n]);\r\nexport type PostDestinationStage = z.infer<typeof PostDestinationStageSchema>;\r\n\r\nexport const PostDestinationSchema = z.object({\r\n provider: PublishingProviderSchema,\r\n status: PlatformPostStatusSchema,\r\n deliveryMode: PostDeliveryModeSchema,\r\n stage: PostDestinationStageSchema,\r\n captionOverride: z.string().nullable(),\r\n scheduledAt: z.string().datetime().nullable(),\r\n publishedAt: z.string().datetime().nullable(),\r\n remoteUrl: z.string().url().nullable(),\r\n attemptCount: z.number().int().nonnegative(),\r\n});\r\nexport type PostDestination = z.infer<typeof PostDestinationSchema>;\r\n\r\nexport const TikTokPostSettingsSchema = z.object({\r\n postMode: z.enum([\"DIRECT_POST\", \"MEDIA_UPLOAD\"]).default(\"DIRECT_POST\"),\r\n privacyLevel: z.string().trim().min(1).max(100).nullable().default(null),\r\n allowComment: z.boolean().default(false),\r\n allowDuet: z.boolean().default(false),\r\n allowStitch: z.boolean().default(false),\r\n commercialContentEnabled: z.boolean().default(false),\r\n promotesOwnBrand: z.boolean().default(false),\r\n promotesThirdParty: z.boolean().default(false),\r\n isAiGenerated: z.boolean().default(false),\r\n videoCoverTimestampMs: z.number().int().nonnegative().nullable().default(null),\r\n consentedAt: z.union([z.string().datetime(), z.literal(\"\")]).default(\"\"),\r\n}).strict();\r\nexport type TikTokPostSettings = z.infer<typeof TikTokPostSettingsSchema>;\r\n\r\nexport const TikTokDraftSettingsSchema = z.object({\r\n postMode: z.enum([\"DIRECT_POST\", \"MEDIA_UPLOAD\"]).optional(),\r\n privacyLevel: z.string().trim().min(1).max(100).nullable().optional(),\r\n allowComment: z.boolean().optional(),\r\n allowDuet: z.boolean().optional(),\r\n allowStitch: z.boolean().optional(),\r\n commercialContentEnabled: z.boolean().optional(),\r\n promotesOwnBrand: z.boolean().optional(),\r\n promotesThirdParty: z.boolean().optional(),\r\n isAiGenerated: z.boolean().optional(),\r\n videoCoverTimestampMs: z.number().int().nonnegative().nullable().optional(),\r\n reviewed: z.boolean().optional(),\r\n consentedAt: z.union([z.string().datetime(), z.literal(\"\")]).optional(),\r\n}).strict().superRefine((input, context) => {\r\n const requestsReview = input.reviewed === true || Boolean(input.consentedAt);\r\n if (input.postMode === \"MEDIA_UPLOAD\") {\r\n if (\r\n input.privacyLevel != null\r\n || input.allowComment === true\r\n || input.allowDuet === true\r\n || input.allowStitch === true\r\n || input.commercialContentEnabled === true\r\n || input.promotesOwnBrand === true\r\n || input.promotesThirdParty === true\r\n || input.isAiGenerated === true\r\n || input.videoCoverTimestampMs != null\r\n ) {\r\n context.addIssue({\r\n code: \"custom\",\r\n message: \"TikTok inbox drafts do not apply direct-post visibility, interaction, disclosure, AI, or cover settings.\",\r\n });\r\n }\r\n return;\r\n }\r\n if (!requestsReview) return;\r\n\r\n if (!input.postMode) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"postMode\"],\r\n message: \"Choose TikTok direct publishing or inbox draft delivery explicitly.\",\r\n });\r\n return;\r\n }\r\n\r\n const requiredBooleanFields = [\r\n \"allowComment\",\r\n \"allowDuet\",\r\n \"allowStitch\",\r\n \"commercialContentEnabled\",\r\n \"promotesOwnBrand\",\r\n \"promotesThirdParty\",\r\n \"isAiGenerated\",\r\n ] as const;\r\n if (!input.privacyLevel) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"privacyLevel\"],\r\n message: \"Choose TikTok visibility explicitly before reviewing the settings.\",\r\n });\r\n }\r\n for (const field of requiredBooleanFields) {\r\n if (input[field] === undefined) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [field],\r\n message: \"Choose yes or no explicitly before reviewing TikTok settings.\",\r\n });\r\n }\r\n }\r\n if (\r\n input.commercialContentEnabled === true\r\n && input.promotesOwnBrand !== true\r\n && input.promotesThirdParty !== true\r\n ) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"commercialContentEnabled\"],\r\n message: \"Commercial TikTok content must identify own-brand or third-party promotion.\",\r\n });\r\n }\r\n if (\r\n input.commercialContentEnabled === false\r\n && (input.promotesOwnBrand === true || input.promotesThirdParty === true)\r\n ) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"commercialContentEnabled\"],\r\n message: \"Promotion declarations require commercial content to be enabled.\",\r\n });\r\n }\r\n}).transform((input) => ({\r\n postMode: input.postMode ?? \"DIRECT_POST\" as const,\r\n privacyLevel: input.privacyLevel ?? null,\r\n allowComment: input.allowComment ?? false,\r\n allowDuet: input.allowDuet ?? false,\r\n allowStitch: input.allowStitch ?? false,\r\n commercialContentEnabled: input.commercialContentEnabled ?? false,\r\n promotesOwnBrand: input.promotesOwnBrand ?? false,\r\n promotesThirdParty: input.promotesThirdParty ?? false,\r\n isAiGenerated: input.isAiGenerated ?? false,\r\n videoCoverTimestampMs: input.videoCoverTimestampMs ?? null,\r\n reviewed: input.reviewed === true || Boolean(input.consentedAt),\r\n}));\r\nexport type TikTokDraftSettingsInput = z.input<typeof TikTokDraftSettingsSchema>;\r\nexport type TikTokDraftSettings = z.infer<typeof TikTokDraftSettingsSchema>;\r\n\r\nfunction youtubeTagLength(tags: readonly string[]) {\r\n return tags.reduce((total, tag, index) => (\r\n total + (index ? 1 : 0) + tag.length + (tag.includes(\" \") ? 2 : 0)\r\n ), 0);\r\n}\r\n\r\nexport const YouTubePostSettingsSchema = z.object({\r\n title: z.string().trim().min(1).max(100).refine(\r\n (value) => !/[<>]/.test(value),\r\n \"YouTube titles cannot contain angle brackets.\",\r\n ),\r\n categoryId: z.string().trim().regex(/^\\d+$/).max(20),\r\n privacyStatus: z.enum([\"PUBLIC\", \"UNLISTED\", \"PRIVATE\"]),\r\n madeForKids: z.boolean(),\r\n containsSyntheticMedia: z.boolean().default(false),\r\n notifySubscribers: z.boolean().default(true),\r\n tags: z.array(z.string().trim().min(1).max(500)).max(50).refine(\r\n (tags) => new Set(tags).size === tags.length,\r\n \"YouTube tags must be unique.\",\r\n ).refine(\r\n (tags) => youtubeTagLength(tags) <= 500,\r\n \"YouTube tags exceed the 500-character aggregate limit.\",\r\n ).default([]),\r\n}).strict();\r\nexport type YouTubePostSettings = z.infer<typeof YouTubePostSettingsSchema>;\r\n\r\nexport const PostProviderSettingsSchema = z.object({\r\n TIKTOK: TikTokPostSettingsSchema.nullable().optional(),\r\n YOUTUBE: YouTubePostSettingsSchema.nullable().optional(),\r\n}).strict().default({});\r\nexport type PostProviderSettings = z.infer<typeof PostProviderSettingsSchema>;\r\n\r\nexport const PostSchema = z.object({\r\n id: z.string().min(1),\r\n projectId: z.string().min(1),\r\n version: z.number().int().positive(),\r\n campaign: z.object({\r\n id: z.string().min(1),\r\n title: z.string().min(1),\r\n }).nullable(),\r\n caption: z.string(),\r\n status: PostStatusSchema,\r\n scheduledAt: z.string().datetime().nullable(),\r\n timezone: z.string().nullable(),\r\n publishedAt: z.string().datetime().nullable(),\r\n createdAt: z.string().datetime(),\r\n updatedAt: z.string().datetime(),\r\n media: z.array(PostMediaSchema),\r\n destinations: z.array(PostDestinationSchema),\r\n providerSettings: PostProviderSettingsSchema.optional(),\r\n});\r\nexport type Post = z.infer<typeof PostSchema>;\r\n\r\nexport const PostListQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(100).default(50),\r\n cursor: z.string().min(1).optional(),\r\n status: PostStatusSchema.optional(),\r\n});\r\nexport type PostListQuery = z.input<typeof PostListQuerySchema>;\r\n\r\nexport const PostListDataSchema = z.object({\r\n items: z.array(PostSchema),\r\n page: z.object({\r\n limit: z.number().int().min(1).max(100),\r\n nextCursor: z.string().min(1).nullable(),\r\n }),\r\n});\r\nexport type PostListData = z.infer<typeof PostListDataSchema>;\r\nexport const PostListResponseSchema = successEnvelopeSchema(PostListDataSchema);\r\nexport type PostListResponse = z.infer<typeof PostListResponseSchema>;\r\n\r\nexport const PostResponseSchema = successEnvelopeSchema(PostSchema);\r\nexport type PostResponse = z.infer<typeof PostResponseSchema>;\r\n\r\nconst blueskyGraphemeSegmenter = new Intl.Segmenter(\"en\", {\r\n granularity: \"grapheme\",\r\n});\r\n\r\nconst BlueskyCaptionSchema = z.string().max(3000).refine(\r\n (value) => Array.from(blueskyGraphemeSegmenter.segment(value)).length <= 300,\r\n \"Bluesky captions cannot exceed 300 graphemes.\",\r\n);\r\n\r\nconst utf8Encoder = new TextEncoder();\r\nconst YouTubeDescriptionSchema = z.string().max(5000).refine(\r\n (value) => utf8Encoder.encode(value).length <= 5000,\r\n \"YouTube descriptions cannot exceed 5,000 UTF-8 bytes.\",\r\n);\r\n\r\nconst DraftCaptionOverridesObjectSchema = z.object({\r\n INSTAGRAM: z.string().max(2200).nullable().optional(),\r\n TIKTOK: z.string().max(2200).nullable().optional(),\r\n YOUTUBE: YouTubeDescriptionSchema.nullable().optional(),\r\n BLUESKY: BlueskyCaptionSchema.nullable().optional(),\r\n LINKEDIN: z.string().max(3000).nullable().optional(),\r\n}).strict();\r\n\r\nconst DraftPlatformsSchema = z.array(PublishingProviderSchema).max(PUBLISHING_PROVIDER_COUNT).refine(\r\n (providers) => new Set(providers).size === providers.length,\r\n \"Publishing destinations must be unique.\",\r\n);\r\n\r\nconst DraftMediaAssetIdsSchema = z.array(z.string().trim().min(1).max(200)).max(10).refine(\r\n (ids) => new Set(ids).size === ids.length,\r\n \"Media asset IDs must be unique.\",\r\n);\r\n\r\nexport const DraftPostInputSchema = z.object({\r\n caption: z.string().max(3000).transform((value) => value.trim()).default(\"\"),\r\n platforms: DraftPlatformsSchema.default([]),\r\n mediaAssetIds: DraftMediaAssetIdsSchema.default([]),\r\n captionOverrides: DraftCaptionOverridesObjectSchema.default({}),\r\n tiktokSettings: TikTokDraftSettingsSchema.nullable().default(null),\r\n youtubeSettings: YouTubePostSettingsSchema.nullable().default(null),\r\n}).strict().superRefine((input, context) => {\r\n if (input.caption.length === 0 && input.mediaAssetIds.length === 0) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"caption\"],\r\n message: \"A draft requires a caption or at least one media asset.\",\r\n });\r\n }\r\n if (input.tiktokSettings && !input.platforms.includes(\"TIKTOK\")) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"tiktokSettings\"],\r\n message: \"TikTok settings require the TIKTOK destination.\",\r\n });\r\n }\r\n if (input.youtubeSettings && !input.platforms.includes(\"YOUTUBE\")) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"youtubeSettings\"],\r\n message: \"YouTube settings require the YOUTUBE destination.\",\r\n });\r\n }\r\n if (input.platforms.includes(\"YOUTUBE\") && !input.youtubeSettings) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"youtubeSettings\"],\r\n message: \"YouTube settings are required for the YOUTUBE destination.\",\r\n });\r\n }\r\n if (\r\n input.platforms.includes(\"YOUTUBE\")\r\n && input.captionOverrides.YOUTUBE == null\r\n && utf8Encoder.encode(input.caption).length > 5000\r\n ) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"caption\"],\r\n message: \"YouTube descriptions cannot exceed 5,000 UTF-8 bytes.\",\r\n });\r\n }\r\n if (\r\n input.platforms.includes(\"BLUESKY\")\r\n && input.captionOverrides.BLUESKY == null\r\n && Array.from(blueskyGraphemeSegmenter.segment(input.caption)).length > 300\r\n ) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"caption\"],\r\n message: \"Bluesky captions cannot exceed 300 graphemes.\",\r\n });\r\n }\r\n});\r\nexport type DraftPostInput = z.input<typeof DraftPostInputSchema>;\r\nexport type DraftPostData = z.infer<typeof DraftPostInputSchema>;\r\n\r\nexport const DraftPostUpdateInputSchema = z.object({\r\n caption: z.string().max(3000).transform((value) => value.trim()).optional(),\r\n platforms: DraftPlatformsSchema.optional(),\r\n mediaAssetIds: DraftMediaAssetIdsSchema.optional(),\r\n captionOverrides: DraftCaptionOverridesObjectSchema.optional(),\r\n tiktokSettings: TikTokDraftSettingsSchema.nullable().optional(),\r\n youtubeSettings: YouTubePostSettingsSchema.nullable().optional(),\r\n}).strict().superRefine((input, context) => {\r\n if (Object.values(input).every((value) => value === undefined)) {\r\n context.addIssue({ code: \"custom\", message: \"Provide at least one draft field to update.\" });\r\n }\r\n if (input.platforms && input.tiktokSettings && !input.platforms.includes(\"TIKTOK\")) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"tiktokSettings\"],\r\n message: \"TikTok settings require the TIKTOK destination.\",\r\n });\r\n }\r\n if (input.platforms && input.youtubeSettings && !input.platforms.includes(\"YOUTUBE\")) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"youtubeSettings\"],\r\n message: \"YouTube settings require the YOUTUBE destination.\",\r\n });\r\n }\r\n});\r\nexport type DraftPostUpdateInput = z.input<typeof DraftPostUpdateInputSchema>;\r\nexport type DraftPostUpdateData = z.infer<typeof DraftPostUpdateInputSchema>;\r\n\r\nexport const IntegrationConnectionStatusSchema = z.enum([\r\n \"PENDING\",\r\n \"CONNECTED\",\r\n \"ERROR\",\r\n \"EXPIRED\",\r\n \"DISCONNECTED\",\r\n]);\r\n\r\nexport const ProviderHealthStatusSchema = z.enum([\r\n \"pass\",\r\n \"blocking\",\r\n \"unknown\",\r\n]);\r\n\r\nexport const IntegrationHealthSchema = z.object({\r\n provider: PublishingProviderSchema,\r\n connectionStatus: IntegrationConnectionStatusSchema,\r\n connected: z.boolean(),\r\n account: z.object({\r\n username: z.string().nullable(),\r\n displayName: z.string().nullable(),\r\n avatarUrl: z.string().url().nullable(),\r\n }),\r\n grantedScopes: z.array(z.string()),\r\n expiresAt: z.string().datetime().nullable(),\r\n health: z.object({\r\n status: ProviderHealthStatusSchema,\r\n checkedAt: z.string().datetime().nullable(),\r\n code: z.string().min(1),\r\n message: z.string().min(1),\r\n isStale: z.boolean(),\r\n requiresAction: z.boolean(),\r\n refreshRecommended: z.boolean(),\r\n }),\r\n});\r\nexport type IntegrationHealth = z.infer<typeof IntegrationHealthSchema>;\r\n\r\nexport const IntegrationHealthListDataSchema = z.object({\r\n items: z.array(IntegrationHealthSchema)\r\n .max(PUBLISHING_PROVIDER_COUNT)\r\n .refine(\r\n (items) => new Set(items.map((item) => item.provider)).size === items.length,\r\n \"Provider health items must be unique.\",\r\n ),\r\n});\r\nexport type IntegrationHealthListData = z.infer<\r\n typeof IntegrationHealthListDataSchema\r\n>;\r\nexport const IntegrationHealthListResponseSchema = successEnvelopeSchema(\r\n IntegrationHealthListDataSchema,\r\n);\r\n\r\nexport const ProviderDeliveryOptionsProviderSchema = z.enum([\r\n \"TIKTOK\",\r\n \"LINKEDIN\",\r\n]);\r\nexport type ProviderDeliveryOptionsProvider = z.infer<\r\n typeof ProviderDeliveryOptionsProviderSchema\r\n>;\r\n\r\nexport const TikTokDeliveryOptionsSchema = z.object({\r\n provider: z.literal(\"TIKTOK\"),\r\n account: z.object({\r\n username: z.string().nullable(),\r\n displayName: z.string().nullable(),\r\n avatarUrl: z.string().url().nullable(),\r\n }),\r\n allowedPostModes: z.array(z.enum([\"DIRECT_POST\", \"MEDIA_UPLOAD\"]))\r\n .max(2)\r\n .refine(\r\n (items) => new Set(items).size === items.length,\r\n \"TikTok post modes must be unique.\",\r\n ),\r\n visibilityOptions: z.array(z.string().trim().min(1).max(100)).max(20)\r\n .refine(\r\n (items) => new Set(items).size === items.length,\r\n \"TikTok visibility options must be unique.\",\r\n ),\r\n interactions: z.object({\r\n comment: z.object({ available: z.boolean() }),\r\n duet: z.object({ available: z.boolean() }),\r\n stitch: z.object({ available: z.boolean() }),\r\n }),\r\n maxVideoDurationMs: z.number().int().positive().max(86_400_000).nullable(),\r\n health: z.object({\r\n status: ProviderHealthStatusSchema,\r\n code: z.string().min(1),\r\n message: z.string().min(1),\r\n }),\r\n checkedAt: z.string().datetime(),\r\n});\r\n\r\nexport const LinkedInDeliveryOptionsSchema = z.object({\r\n provider: z.literal(\"LINKEDIN\"),\r\n account: z.object({\r\n displayName: z.string().nullable(),\r\n avatarUrl: z.string().url().nullable(),\r\n }),\r\n supportedPostTypes: z.array(z.enum([\"TEXT\", \"SINGLE_IMAGE\", \"MULTI_IMAGE\", \"VIDEO\"])).length(4),\r\n image: z.object({\r\n maxItems: z.literal(10),\r\n mimeTypes: z.tuple([z.literal(\"image/jpeg\"), z.literal(\"image/png\")]),\r\n maxPixelsExclusive: z.literal(36_152_320),\r\n maxBytes: z.literal(26_214_400),\r\n }),\r\n video: z.object({\r\n maxItems: z.literal(1),\r\n mimeTypes: z.tuple([z.literal(\"video/mp4\")]),\r\n minBytes: z.literal(76_800),\r\n maxBytes: z.literal(524_288_000),\r\n minDurationMs: z.literal(3_000),\r\n maxDurationMs: z.literal(1_800_000),\r\n }),\r\n health: z.object({\r\n status: ProviderHealthStatusSchema,\r\n code: z.string().min(1),\r\n message: z.string().min(1),\r\n }),\r\n checkedAt: z.string().datetime(),\r\n});\r\n\r\n// Add one strict provider variant here as each future social network gains\r\n// creator-specific delivery choices. Callers can always discriminate by provider.\r\nexport const ProviderDeliveryOptionsSchema = z.discriminatedUnion(\"provider\", [\r\n TikTokDeliveryOptionsSchema,\r\n LinkedInDeliveryOptionsSchema,\r\n]);\r\nexport type ProviderDeliveryOptions = z.infer<typeof ProviderDeliveryOptionsSchema>;\r\nexport const ProviderDeliveryOptionsResponseSchema = successEnvelopeSchema(\r\n ProviderDeliveryOptionsSchema,\r\n);\r\n\r\nexport const ReadinessStatusSchema = z.enum([\r\n \"checking\",\r\n \"pass\",\r\n \"warning\",\r\n \"blocking\",\r\n \"unknown\",\r\n]);\r\n\r\nexport const ReadinessActionSchema = z.object({\r\n kind: z.enum([\r\n \"reconnect\",\r\n \"replace_media\",\r\n \"adjust_media\",\r\n \"review_settings\",\r\n \"edit_caption\",\r\n \"refresh_health\",\r\n ]),\r\n provider: PublishingProviderSchema.optional(),\r\n mediaId: z.string().min(1).optional(),\r\n});\r\n\r\nexport const PostReadinessCheckSchema = z.object({\r\n key: z.string().min(1),\r\n id: z.enum([\r\n \"connection\",\r\n \"permissions\",\r\n \"media\",\r\n \"caption\",\r\n \"tiktok_settings\",\r\n \"youtube_settings\",\r\n \"storage\",\r\n \"schedule_lead\",\r\n \"token_health\",\r\n \"media_duration\",\r\n \"provider_health\",\r\n ]),\r\n provider: PublishingProviderSchema.nullable(),\r\n mediaId: z.string().min(1).optional(),\r\n status: ReadinessStatusSchema,\r\n source: z.enum([\"local\", \"live\"]),\r\n checkedAt: z.string().datetime().nullable(),\r\n message: z.string().min(1),\r\n code: z.string().min(1),\r\n action: ReadinessActionSchema.nullable(),\r\n});\r\n\r\nexport const PostReadinessSchema = z.object({\r\n checks: z.array(PostReadinessCheckSchema),\r\n accounts: z.array(z.object({\r\n provider: PublishingProviderSchema,\r\n connected: z.boolean(),\r\n username: z.string().nullable(),\r\n avatarUrl: z.string().url().nullable(),\r\n requiresAction: z.boolean(),\r\n })),\r\n hasBlockingChecks: z.boolean(),\r\n requiresLiveRefresh: z.array(PublishingProviderSchema),\r\n liveHealthCheckedAt: z.string().datetime().nullable(),\r\n});\r\nexport type PostReadiness = z.infer<typeof PostReadinessSchema>;\r\nexport const PostReadinessResponseSchema = successEnvelopeSchema(\r\n PostReadinessSchema,\r\n);\r\n\r\nexport const PostScheduleInputSchema = z.object({\r\n scheduledAt: z.string().datetime({ offset: true }),\r\n timezone: z.string().trim().min(1).max(100).refine((timezone) => {\r\n try {\r\n new Intl.DateTimeFormat(\"en\", { timeZone: timezone }).format();\r\n return true;\r\n } catch {\r\n return false;\r\n }\r\n }, \"timezone must be a valid IANA timezone\"),\r\n}).strict();\r\nexport type PostScheduleInput = z.infer<typeof PostScheduleInputSchema>;\r\n\r\nexport const PostScheduleExecuteInputSchema = PostScheduleInputSchema.extend({\r\n confirmationToken: z.string().trim().min(1).max(200),\r\n}).strict();\r\nexport type PostScheduleExecuteInput = z.infer<\r\n typeof PostScheduleExecuteInputSchema\r\n>;\r\n\r\nexport const PostSchedulePreviewSchema = z.object({\r\n operation: z.literal(\"posts.schedule.execute\"),\r\n deliveryMode: z.literal(\"SCHEDULED\"),\r\n post: z.object({\r\n id: z.string().min(1),\r\n projectId: z.string().min(1),\r\n version: z.number().int().positive(),\r\n status: PostStatusSchema,\r\n }),\r\n schedule: PostScheduleInputSchema,\r\n destinations: z.array(PublishingProviderSchema).min(1).max(PUBLISHING_PROVIDER_COUNT),\r\n youtube: z.object({\r\n uploadVisibility: z.literal(\"PRIVATE\"),\r\n publishVisibility: z.literal(\"PUBLIC\"),\r\n preparationStartsImmediately: z.literal(true),\r\n confirmationMeaning: z.string().min(1),\r\n }).nullable().optional(),\r\n providerReconciliation: z.object({\r\n provider: z.literal(\"YOUTUBE\"),\r\n required: z.boolean(),\r\n message: z.string().min(1),\r\n }).nullable().optional(),\r\n readiness: PostReadinessSchema,\r\n confirmation: z.object({\r\n token: z.string().min(1),\r\n expiresAt: z.string().datetime(),\r\n }),\r\n});\r\nexport type PostSchedulePreview = z.infer<typeof PostSchedulePreviewSchema>;\r\nexport const PostSchedulePreviewResponseSchema = successEnvelopeSchema(\r\n PostSchedulePreviewSchema,\r\n);\r\n\r\nexport const PostSchedulePendingSchema = z.object({\r\n status: z.literal(\"PENDING\"),\r\n postId: z.string().min(1),\r\n provider: z.literal(\"YOUTUBE\"),\r\n mutationId: z.string().min(1),\r\n operation: z.enum([\"SCHEDULE\", \"CANCEL\"]),\r\n phase: z.literal(\"REMOTE_SCHEDULE_CONFIRMATION\"),\r\n videoUploaded: z.literal(true),\r\n message: z.string().min(1),\r\n});\r\nexport type PostSchedulePending = z.infer<typeof PostSchedulePendingSchema>;\r\nexport const PostScheduleExecuteResultSchema = z.union([\r\n PostSchema,\r\n PostSchedulePendingSchema,\r\n]);\r\nexport type PostScheduleExecuteResult = z.infer<\r\n typeof PostScheduleExecuteResultSchema\r\n>;\r\nexport const PostScheduleExecuteResponseSchema = successEnvelopeSchema(\r\n PostScheduleExecuteResultSchema,\r\n);\r\n\r\nexport const PostPublishInputSchema = z.object({\r\n destinations: z.array(PublishingProviderSchema).min(1).max(PUBLISHING_PROVIDER_COUNT)\r\n .refine(\r\n (destinations) => new Set(destinations).size === destinations.length,\r\n \"destinations must not contain duplicates\",\r\n ),\r\n}).strict();\r\nexport type PostPublishInput = z.infer<typeof PostPublishInputSchema>;\r\n\r\nexport const PostPublishExecuteInputSchema = PostPublishInputSchema.extend({\r\n confirmationToken: z.string().trim().min(1).max(200),\r\n}).strict();\r\nexport type PostPublishExecuteInput = z.infer<\r\n typeof PostPublishExecuteInputSchema\r\n>;\r\n\r\nexport const PostPublishPreviewSchema = z.object({\r\n operation: z.literal(\"posts.publish.execute\"),\r\n deliveryMode: z.literal(\"IMMEDIATE\"),\r\n post: z.object({\r\n id: z.string().min(1),\r\n projectId: z.string().min(1),\r\n version: z.number().int().positive(),\r\n status: PostStatusSchema,\r\n }),\r\n destinations: PostPublishInputSchema.shape.destinations,\r\n youtube: z.object({\r\n visibility: YouTubePostSettingsSchema.shape.privacyStatus,\r\n preparationStartsImmediately: z.literal(true),\r\n createsSchedule: z.literal(false),\r\n }).nullable().optional(),\r\n readiness: PostReadinessSchema,\r\n confirmation: z.object({\r\n token: z.string().min(1),\r\n expiresAt: z.string().datetime(),\r\n }),\r\n});\r\nexport type PostPublishPreview = z.infer<typeof PostPublishPreviewSchema>;\r\nexport const PostPublishPreviewResponseSchema = successEnvelopeSchema(\r\n PostPublishPreviewSchema,\r\n);\r\n\r\nexport const CalendarEventSchema = z.object({\r\n postId: z.string().min(1),\r\n projectId: z.string().min(1),\r\n title: z.string().min(1),\r\n caption: z.string(),\r\n status: PostStatusSchema.exclude([\"DRAFT\"]),\r\n scheduledAt: z.string().datetime(),\r\n timezone: z.string().nullable(),\r\n campaign: z.object({\r\n id: z.string().min(1),\r\n title: z.string().min(1),\r\n }).nullable(),\r\n thumbnailUrl: z.string().url().nullable(),\r\n destinations: z.array(z.object({\r\n provider: PublishingProviderSchema,\r\n status: PlatformPostStatusSchema,\r\n })),\r\n});\r\nexport type CalendarEvent = z.infer<typeof CalendarEventSchema>;\r\n\r\nexport const CalendarListQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(100).default(50),\r\n cursor: z.string().min(1).optional(),\r\n from: z.string().datetime().optional(),\r\n to: z.string().datetime().optional(),\r\n}).superRefine((value, context) => {\r\n if ((value.from === undefined) !== (value.to === undefined)) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: value.from === undefined ? [\"from\"] : [\"to\"],\r\n message: \"from and to must be provided together\",\r\n });\r\n }\r\n if (value.from && value.to) {\r\n const from = Date.parse(value.from);\r\n const to = Date.parse(value.to);\r\n if (from >= to) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"to\"],\r\n message: \"to must be later than from\",\r\n });\r\n } else if (to - from > 366 * 24 * 60 * 60 * 1000) {\r\n context.addIssue({\r\n code: \"custom\",\r\n path: [\"to\"],\r\n message: \"calendar ranges cannot exceed 366 days\",\r\n });\r\n }\r\n }\r\n});\r\nexport type CalendarListQuery = z.input<typeof CalendarListQuerySchema>;\r\n\r\nexport const CalendarListDataSchema = z.object({\r\n items: z.array(CalendarEventSchema),\r\n page: z.object({\r\n limit: z.number().int().min(1).max(100),\r\n nextCursor: z.string().min(1).nullable(),\r\n }),\r\n window: z.object({\r\n from: z.string().datetime(),\r\n to: z.string().datetime(),\r\n }),\r\n});\r\nexport type CalendarListData = z.infer<typeof CalendarListDataSchema>;\r\nexport const CalendarListResponseSchema = successEnvelopeSchema(\r\n CalendarListDataSchema,\r\n);\r\n\r\n// SEO Intelligence is a closed, read-only contract. These schemas deliberately\r\n// exclude provider and integration metadata and bound every collection.\r\nexport const SeoEntityIdSchema = z.string()\r\n .min(1)\r\n .max(128)\r\n .regex(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/);\r\n\r\nexport const SeoCursorSchema = z.string()\r\n .min(1)\r\n .max(512)\r\n .regex(/^[A-Za-z0-9_-]+$/);\r\n\r\nexport const SeoOpportunityKindSchema = z.enum([\r\n \"SEARCH_TOPIC_CTR\",\r\n \"SEARCH_TOPIC_REFRESH\",\r\n \"SEARCH_TOPIC_NEW_ARTICLE\",\r\n \"SEARCH_TOPIC_CONSOLIDATE\",\r\n \"SEARCH_TOPIC_CLUSTER\",\r\n \"COMPETITOR_KEYWORD_GAP\",\r\n \"COMPETITOR_RANK_GAIN\",\r\n \"COMPETITOR_RANK_DROP\",\r\n \"COMPETITOR_SHARED_GAP\",\r\n \"SEO_VALIDATED_COMPETITOR_GAP\",\r\n]);\r\nexport type SeoOpportunityKind = z.infer<typeof SeoOpportunityKindSchema>;\r\n\r\nexport const SeoExpectedImpactSchema = z.enum([\"HIGH\", \"MEDIUM\", \"LOW\"]);\r\nexport type SeoExpectedImpact = z.infer<typeof SeoExpectedImpactSchema>;\r\n\r\nexport const SeoEvidenceProvenanceSchema = z.enum([\r\n \"CUSTOMER_SEARCH_DATA\",\r\n \"MARKET_ESTIMATE\",\r\n \"ROLINO_ANALYSIS\",\r\n]);\r\nexport type SeoEvidenceProvenance = z.infer<typeof SeoEvidenceProvenanceSchema>;\r\n\r\nexport const SeoEvidenceSchema = z.object({\r\n title: z.string().min(1).max(180),\r\n summary: z.string().min(1).max(500),\r\n sourceUrl: z.string().url().max(2048).nullable(),\r\n provenance: SeoEvidenceProvenanceSchema,\r\n observedAt: z.string().datetime(),\r\n periodStart: z.string().datetime().nullable(),\r\n periodEnd: z.string().datetime().nullable(),\r\n metrics: z.record(\r\n z.string().regex(/^[A-Za-z][A-Za-z0-9]{0,39}$/),\r\n z.number().finite(),\r\n ).refine((metrics) => Object.keys(metrics).length <= 20, {\r\n message: \"SEO evidence can contain at most 20 metrics.\",\r\n }),\r\n estimated: z.boolean(),\r\n topRowsOnly: z.boolean(),\r\n coverageNote: z.string().max(500).nullable(),\r\n}).strict();\r\nexport type SeoEvidence = z.infer<typeof SeoEvidenceSchema>;\r\n\r\nexport const SeoActionDecisionSchema = z.enum([\"READY\", \"NEEDS_REVIEW\", \"REJECTED\"]);\r\nexport type SeoActionDecision = z.infer<typeof SeoActionDecisionSchema>;\r\nexport const SeoSearchIntentSchema = z.enum([\"INFORMATIONAL\", \"COMMERCIAL\", \"NAVIGATIONAL\", \"BRANDED\", \"SUSPICIOUS\"]);\r\nexport const SeoContentTypeSchema = z.enum([\"GUIDE\", \"TUTORIAL\", \"COMPARISON_PAGE\", \"LANDING_PAGE\", \"CONTENT_REFRESH\"]);\r\n\r\nexport const SeoActionPlanSchema = z.object({\r\n version: z.number().int().positive(),\r\n decision: SeoActionDecisionSchema,\r\n decisionReason: z.string().min(1).max(500),\r\n searchIntent: SeoSearchIntentSchema,\r\n primaryKeyword: z.string().min(1).max(300),\r\n supportingKeywords: z.array(z.string().min(1).max(300)).max(12),\r\n questions: z.array(z.string().min(1).max(300)).max(8),\r\n contentType: SeoContentTypeSchema,\r\n suggestedTitle: z.string().min(1).max(180),\r\n angle: z.string().max(500),\r\n targetReader: z.string().min(1).max(500),\r\n pageGoal: z.string().max(500),\r\n outline: z.array(z.object({\r\n heading: z.string().min(1).max(180),\r\n purpose: z.string().min(1).max(500),\r\n }).strict()).max(10),\r\n rolinoConnection: z.string().max(600),\r\n cta: z.string().max(300),\r\n competitorPages: z.array(z.object({\r\n domain: z.string().min(1).max(253),\r\n url: z.string().url().nullable(),\r\n keyword: z.string().min(1).max(300),\r\n rank: z.number().min(1).max(1000).nullable(),\r\n }).strict()).max(8),\r\n existingPage: z.object({\r\n title: z.string().min(1).max(180),\r\n url: z.string().url(),\r\n }).strict().nullable(),\r\n warnings: z.array(z.string().min(1).max(500)).max(8),\r\n researchTasks: z.array(z.string().min(1).max(500)).max(8),\r\n cluster: z.object({\r\n competitorDomains: z.array(z.string().min(1).max(253)).max(3),\r\n bestRank: z.number().min(1).max(1000).nullable(),\r\n estimatedDemand: z.number().min(0).nullable(),\r\n firstPartyValidated: z.boolean(),\r\n relevanceScore: z.number().min(0).max(1),\r\n coverage: z.string().max(500),\r\n }).strict(),\r\n}).strict();\r\nexport type SeoActionPlan = z.infer<typeof SeoActionPlanSchema>;\r\n\r\nexport const SeoTaskDecisionSchema = z.enum([\"READY\", \"NEEDS_REVIEW\", \"REJECTED\"]);\r\nexport type SeoTaskDecision = z.infer<typeof SeoTaskDecisionSchema>;\r\nexport const SeoTaskFormatSchema = z.enum([\r\n \"BLOG_ARTICLE\",\r\n \"PRODUCT_LANDING_PAGE\",\r\n \"COMPARISON_PAGE\",\r\n \"EXISTING_PAGE_REFRESH\",\r\n \"YOUTUBE_PRODUCTION_PACKAGE\",\r\n \"SOCIAL_CAMPAIGN\",\r\n \"LINK_OUTREACH_TASK\",\r\n \"RESEARCH_TASK\",\r\n]);\r\nexport type SeoTaskFormat = z.infer<typeof SeoTaskFormatSchema>;\r\n\r\nexport const SeoConfidenceValueSchema = z.object({\r\n score: z.number().int().min(0).max(100).nullable(),\r\n level: z.enum([\"HIGH\", \"MEDIUM\", \"LOW\", \"UNCONFIRMED\"]),\r\n label: z.string().min(1).max(120),\r\n explanation: z.string().min(1).max(500),\r\n}).strict();\r\nexport const SeoDecisionConfidenceSchema = z.object({\r\n topicRelevance: SeoConfidenceValueSchema,\r\n actionReadiness: SeoConfidenceValueSchema,\r\n}).strict();\r\nexport type SeoDecisionConfidence = z.infer<typeof SeoDecisionConfidenceSchema>;\r\n\r\nconst SeoTaskEvidenceSummarySchema = z.object({\r\n title: z.string().min(1).max(180),\r\n summary: z.string().min(1).max(500),\r\n provenance: SeoEvidenceProvenanceSchema,\r\n observedAt: z.string().datetime(),\r\n sourceUrl: z.string().url().max(2048).nullable(),\r\n}).strict();\r\n\r\nexport const SeoAgentTaskSchema = z.object({\r\n schemaVersion: z.number().int().positive(),\r\n projectId: SeoEntityIdSchema.nullable(),\r\n opportunityId: SeoEntityIdSchema.nullable(),\r\n legacy: z.boolean(),\r\n legacyLabel: z.string().max(500).nullable(),\r\n decision: SeoTaskDecisionSchema,\r\n decisionReason: z.string().min(1).max(700),\r\n objective: z.string().min(1).max(700),\r\n primaryFormat: SeoTaskFormatSchema,\r\n supportingFormats: z.array(SeoTaskFormatSchema).max(4),\r\n formatOptions: z.array(SeoTaskFormatSchema.exclude([\"RESEARCH_TASK\"])).max(7),\r\n confidence: SeoDecisionConfidenceSchema,\r\n target: z.object({\r\n primaryKeyword: z.string().min(1).max(300),\r\n supportingKeywords: z.array(z.string().min(1).max(300)).max(12),\r\n searchIntent: SeoSearchIntentSchema,\r\n audience: z.string().min(1).max(500),\r\n angle: z.string().max(600),\r\n }).strict(),\r\n suggestedTitles: z.array(z.string().min(1).max(180)).max(3),\r\n outline: z.array(z.object({\r\n heading: z.string().min(1).max(180),\r\n purpose: z.string().min(1).max(600),\r\n }).strict()).max(12),\r\n researchTasks: z.array(z.string().min(1).max(600)).max(10),\r\n competitorPagesToInspect: z.array(z.object({\r\n domain: z.string().min(1).max(253),\r\n url: z.string().url().max(2048).nullable(),\r\n keyword: z.string().min(1).max(300),\r\n rank: z.number().int().min(1).max(1000).nullable(),\r\n }).strict()).max(8),\r\n productFactsToVerify: z.array(z.string().min(1).max(600)).max(8),\r\n claimsNotToInvent: z.array(z.string().min(1).max(600)).max(8),\r\n deliverables: z.array(z.object({\r\n name: z.string().min(1).max(180),\r\n requirements: z.array(z.string().min(1).max(600)).min(1).max(8),\r\n }).strict()).min(1).max(12),\r\n callToAction: z.string().max(400),\r\n destination: z.string().min(1).max(700),\r\n successMetric: z.object({\r\n name: z.string().min(1).max(180),\r\n target: z.string().min(1).max(600),\r\n measurementWindow: z.string().min(1).max(300),\r\n }).strict(),\r\n evidenceSummary: z.array(SeoTaskEvidenceSummarySchema).max(5),\r\n limitations: z.array(z.string().min(1).max(600)).max(10),\r\n nextStep: z.string().min(1).max(700),\r\n youtubePackageRequirements: z.object({\r\n subject: z.string().min(1).max(300),\r\n targetViewer: z.string().min(1).max(500),\r\n objective: z.string().min(1).max(700),\r\n titleOptions: z.number().int().min(1).max(10),\r\n hook: z.string().min(1).max(600),\r\n draftScript: z.string().min(1).max(600),\r\n sceneList: z.string().min(1).max(600),\r\n onScreenText: z.string().min(1).max(600),\r\n thumbnailConcept: z.string().min(1).max(600),\r\n thumbnailText: z.string().min(1).max(300),\r\n description: z.string().min(1).max(600),\r\n chapters: z.string().min(1).max(600),\r\n callToAction: z.string().max(400),\r\n supportingSocialPosts: z.number().int().min(0).max(10),\r\n }).strict().nullable(),\r\n imageBriefs: z.array(z.object({\r\n concept: z.string().min(1).max(600),\r\n brief: z.string().min(1).max(800),\r\n altText: z.string().min(1).max(500),\r\n prompt: z.string().min(1).max(1000),\r\n }).strict()).max(4),\r\n}).strict();\r\nexport type SeoAgentTask = z.infer<typeof SeoAgentTaskSchema>;\r\n\r\nexport const SeoOpportunityBriefSchema = z.object({\r\n kind: SeoOpportunityKindSchema,\r\n title: z.string().min(1).max(180),\r\n summary: z.string().min(1).max(600),\r\n score: z.number().int().min(0).max(100),\r\n confidence: SeoDecisionConfidenceSchema,\r\n expectedImpact: SeoExpectedImpactSchema,\r\n recommendedAction: z.string().min(1).max(300),\r\n actionPlan: SeoActionPlanSchema,\r\n task: SeoAgentTaskSchema,\r\n evidence: z.array(SeoEvidenceSchema).max(5),\r\n brief: z.string().min(1).max(12000),\r\n}).strict();\r\nexport type SeoOpportunityBrief = z.infer<typeof SeoOpportunityBriefSchema>;\r\n\r\nexport const SeoOpportunitySchema = SeoOpportunityBriefSchema.extend({\r\n id: SeoEntityIdSchema,\r\n projectId: SeoEntityIdSchema,\r\n lastDetectedAt: z.string().datetime(),\r\n stale: z.boolean(),\r\n}).strict();\r\nexport type SeoOpportunity = z.infer<typeof SeoOpportunitySchema>;\r\n\r\nexport const SeoOpportunityListQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(50).default(20),\r\n cursor: SeoCursorSchema.optional(),\r\n kind: SeoOpportunityKindSchema.optional(),\r\n expectedImpact: SeoExpectedImpactSchema.optional(),\r\n}).strict();\r\nexport type SeoOpportunityListQuery = z.input<typeof SeoOpportunityListQuerySchema>;\r\n\r\nconst SeoPageSchema = z.object({\r\n limit: z.number().int().min(1).max(50),\r\n nextCursor: SeoCursorSchema.nullable(),\r\n}).strict();\r\n\r\nexport const SeoOpportunityListDataSchema = z.object({\r\n items: z.array(SeoOpportunitySchema).max(50),\r\n page: SeoPageSchema,\r\n}).strict();\r\nexport type SeoOpportunityListData = z.infer<typeof SeoOpportunityListDataSchema>;\r\nexport const SeoOpportunityListResponseSchema = successEnvelopeSchema(\r\n SeoOpportunityListDataSchema,\r\n);\r\nexport const SeoOpportunityResponseSchema = successEnvelopeSchema(\r\n SeoOpportunitySchema,\r\n);\r\n\r\nexport const SeoReportCompletenessSchema = z.enum([\"COMPLETE\", \"PARTIAL\"]);\r\nexport type SeoReportCompleteness = z.infer<typeof SeoReportCompletenessSchema>;\r\nexport const SeoReportTriggerSchema = z.enum([\"SCHEDULED\", \"MANUAL\"]);\r\n\r\nexport const SeoReportSummarySchema = z.object({\r\n id: SeoEntityIdSchema,\r\n projectId: SeoEntityIdSchema,\r\n periodStart: z.string().datetime(),\r\n periodEnd: z.string().datetime(),\r\n timeZone: z.string().min(1).max(100),\r\n deliveryDay: z.number().int().min(1).max(7),\r\n completeness: SeoReportCompletenessSchema,\r\n trigger: SeoReportTriggerSchema,\r\n createdAt: z.string().datetime(),\r\n opportunityCount: z.number().int().min(0).max(5),\r\n readyTaskCount: z.number().int().min(0).max(5),\r\n researchTaskCount: z.number().int().min(0).max(5),\r\n rejectedFindingCount: z.number().int().min(0).max(20),\r\n legacy: z.boolean(),\r\n}).strict();\r\nexport type SeoReportSummary = z.infer<typeof SeoReportSummarySchema>;\r\n\r\nexport const SeoReportSchema = SeoReportSummarySchema.extend({\r\n generatedAt: z.string().datetime(),\r\n partialLabel: z.string().max(500).nullable(),\r\n freshThrough: z.string().datetime().nullable(),\r\n opportunities: z.array(SeoOpportunityBriefSchema).max(5),\r\n rejectedFindings: z.array(z.object({\r\n decision: z.literal(\"REJECTED\"),\r\n query: z.string().min(1).max(300),\r\n reason: z.string().min(1).max(700),\r\n observedAt: z.string().datetime(),\r\n }).strict()).max(20),\r\n}).strict();\r\nexport type SeoReport = z.infer<typeof SeoReportSchema>;\r\n\r\nexport const SeoReportListQuerySchema = z.object({\r\n limit: z.coerce.number().int().min(1).max(26).default(10),\r\n cursor: SeoCursorSchema.optional(),\r\n completeness: SeoReportCompletenessSchema.optional(),\r\n}).strict();\r\nexport type SeoReportListQuery = z.input<typeof SeoReportListQuerySchema>;\r\n\r\nexport const SeoReportListDataSchema = z.object({\r\n items: z.array(SeoReportSummarySchema).max(26),\r\n page: SeoPageSchema.extend({\r\n limit: z.number().int().min(1).max(26),\r\n }).strict(),\r\n}).strict();\r\nexport type SeoReportListData = z.infer<typeof SeoReportListDataSchema>;\r\nexport const SeoReportListResponseSchema = successEnvelopeSchema(\r\n SeoReportListDataSchema,\r\n);\r\nexport const SeoReportResponseSchema = successEnvelopeSchema(SeoReportSchema);\r\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolino/contracts",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Versioned public API contracts for Rolino",
5
5
  "type": "module",
6
6
  "license": "MIT",