@rolino/contracts 0.9.0 → 0.10.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/CHANGELOG.md +10 -0
- package/dist/index.cjs +172 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1072 -13
- package/dist/index.d.ts +1072 -13
- package/dist/index.js +154 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @rolino/contracts
|
|
2
2
|
|
|
3
|
+
## 0.10.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 601eda2: Add Bluesky account and media policy discovery, confirmed future local schedule cancellation, and hosted MCP media upload preparation and verification. Keep OAuth approval with the account owner and reject cancellation when delivery may have started.
|
|
8
|
+
|
|
9
|
+
Add image alt text, confirmed untouched draft deletion, and confirmed Bluesky account disconnection with independent optional permissions. Preserve original media and prevent late token refresh from restoring disconnected authorization.
|
|
10
|
+
|
|
11
|
+
- support for multiple social accounts under one brand
|
|
12
|
+
|
|
3
13
|
## 0.9.0
|
|
4
14
|
|
|
5
15
|
### Minor Changes
|
package/dist/index.cjs
CHANGED
|
@@ -166,6 +166,7 @@ __export(index_exports, {
|
|
|
166
166
|
BlogMetadataSchema: () => BlogMetadataSchema,
|
|
167
167
|
BlogSitemapEntrySchema: () => BlogSitemapEntrySchema,
|
|
168
168
|
BlogSlugRedirectSchema: () => BlogSlugRedirectSchema,
|
|
169
|
+
BlueskyDeliveryOptionsSchema: () => BlueskyDeliveryOptionsSchema,
|
|
169
170
|
CONTRACT_VERSION: () => CONTRACT_VERSION,
|
|
170
171
|
CalendarEventSchema: () => CalendarEventSchema,
|
|
171
172
|
CalendarListDataSchema: () => CalendarListDataSchema,
|
|
@@ -175,9 +176,20 @@ __export(index_exports, {
|
|
|
175
176
|
CapabilitiesResponseSchema: () => CapabilitiesResponseSchema,
|
|
176
177
|
CapabilityIdSchema: () => CapabilityIdSchema,
|
|
177
178
|
CapabilitySchema: () => CapabilitySchema,
|
|
179
|
+
DraftAccountDestinationSchema: () => DraftAccountDestinationSchema,
|
|
180
|
+
DraftDeletePreviewResponseSchema: () => DraftDeletePreviewResponseSchema,
|
|
181
|
+
DraftDeletePreviewSchema: () => DraftDeletePreviewSchema,
|
|
182
|
+
DraftDeleteResponseSchema: () => DraftDeleteResponseSchema,
|
|
183
|
+
DraftDeleteResultSchema: () => DraftDeleteResultSchema,
|
|
178
184
|
DraftPostInputSchema: () => DraftPostInputSchema,
|
|
179
185
|
DraftPostUpdateInputSchema: () => DraftPostUpdateInputSchema,
|
|
180
186
|
IntegrationConnectionStatusSchema: () => IntegrationConnectionStatusSchema,
|
|
187
|
+
IntegrationDisconnectExecuteInputSchema: () => IntegrationDisconnectExecuteInputSchema,
|
|
188
|
+
IntegrationDisconnectInputSchema: () => IntegrationDisconnectInputSchema,
|
|
189
|
+
IntegrationDisconnectPreviewResponseSchema: () => IntegrationDisconnectPreviewResponseSchema,
|
|
190
|
+
IntegrationDisconnectPreviewSchema: () => IntegrationDisconnectPreviewSchema,
|
|
191
|
+
IntegrationDisconnectResponseSchema: () => IntegrationDisconnectResponseSchema,
|
|
192
|
+
IntegrationDisconnectResultSchema: () => IntegrationDisconnectResultSchema,
|
|
181
193
|
IntegrationHealthListDataSchema: () => IntegrationHealthListDataSchema,
|
|
182
194
|
IntegrationHealthListResponseSchema: () => IntegrationHealthListResponseSchema,
|
|
183
195
|
IntegrationHealthSchema: () => IntegrationHealthSchema,
|
|
@@ -235,6 +247,12 @@ __export(index_exports, {
|
|
|
235
247
|
PostRecoveryResponseSchema: () => PostRecoveryResponseSchema,
|
|
236
248
|
PostRecoveryResultSchema: () => PostRecoveryResultSchema,
|
|
237
249
|
PostResponseSchema: () => PostResponseSchema,
|
|
250
|
+
PostScheduleCancelExecuteInputSchema: () => PostScheduleCancelExecuteInputSchema,
|
|
251
|
+
PostScheduleCancelInputSchema: () => PostScheduleCancelInputSchema,
|
|
252
|
+
PostScheduleCancelPreviewResponseSchema: () => PostScheduleCancelPreviewResponseSchema,
|
|
253
|
+
PostScheduleCancelPreviewSchema: () => PostScheduleCancelPreviewSchema,
|
|
254
|
+
PostScheduleCancelResponseSchema: () => PostScheduleCancelResponseSchema,
|
|
255
|
+
PostScheduleCancelResultSchema: () => PostScheduleCancelResultSchema,
|
|
238
256
|
PostScheduleExecuteInputSchema: () => PostScheduleExecuteInputSchema,
|
|
239
257
|
PostScheduleExecuteResponseSchema: () => PostScheduleExecuteResponseSchema,
|
|
240
258
|
PostScheduleExecuteResultSchema: () => PostScheduleExecuteResultSchema,
|
|
@@ -396,11 +414,13 @@ var CapabilityIdSchema = import_zod.z.enum([
|
|
|
396
414
|
"projects:write",
|
|
397
415
|
"posts:read",
|
|
398
416
|
"posts:write",
|
|
417
|
+
"posts:delete",
|
|
399
418
|
"posts:schedule",
|
|
400
419
|
"posts:publish",
|
|
401
420
|
"storage:read",
|
|
402
421
|
"media:delete",
|
|
403
422
|
"integrations:read",
|
|
423
|
+
"integrations:disconnect",
|
|
404
424
|
"calendar:read",
|
|
405
425
|
"seo:read",
|
|
406
426
|
"backlinks:read",
|
|
@@ -1346,6 +1366,13 @@ var PostDestinationStageSchema = import_zod.z.enum([
|
|
|
1346
1366
|
"FAILED"
|
|
1347
1367
|
]);
|
|
1348
1368
|
var PostDestinationSchema = import_zod.z.object({
|
|
1369
|
+
id: import_zod.z.string().min(1).optional(),
|
|
1370
|
+
integrationId: import_zod.z.string().min(1).nullable().optional(),
|
|
1371
|
+
accountId: import_zod.z.string().nullable().optional(),
|
|
1372
|
+
accountName: import_zod.z.string().nullable().optional(),
|
|
1373
|
+
accountAvatar: import_zod.z.string().nullable().optional(),
|
|
1374
|
+
tiktokSettings: import_zod.z.lazy(() => TikTokPostSettingsSchema).nullable().optional(),
|
|
1375
|
+
youtubeSettings: import_zod.z.lazy(() => YouTubePostSettingsSchema).nullable().optional(),
|
|
1349
1376
|
provider: PublishingProviderSchema,
|
|
1350
1377
|
status: PlatformPostStatusSchema,
|
|
1351
1378
|
deliveryMode: PostDeliveryModeSchema,
|
|
@@ -1543,14 +1570,35 @@ var DraftMediaAssetIdsSchema = import_zod.z.array(import_zod.z.string().trim().m
|
|
|
1543
1570
|
(ids) => new Set(ids).size === ids.length,
|
|
1544
1571
|
"Media asset IDs must be unique."
|
|
1545
1572
|
);
|
|
1573
|
+
var DraftMediaAltTextSchema = import_zod.z.record(import_zod.z.string().min(1).max(200), import_zod.z.string().trim().max(1e3).nullable()).refine((items) => Object.keys(items).length <= 10, "At most ten media descriptions are allowed.");
|
|
1574
|
+
var DraftAccountDestinationSchema = import_zod.z.object({
|
|
1575
|
+
integrationId: import_zod.z.string().trim().min(1).max(200),
|
|
1576
|
+
provider: PublishingProviderSchema,
|
|
1577
|
+
captionOverride: import_zod.z.string().max(5e3).nullable().default(null),
|
|
1578
|
+
tiktokSettings: TikTokDraftSettingsSchema.nullable().default(null),
|
|
1579
|
+
youtubeSettings: YouTubePostSettingsSchema.nullable().default(null)
|
|
1580
|
+
}).strict().superRefine((input, context) => {
|
|
1581
|
+
const captionSchema = DraftCaptionOverridesObjectSchema.shape[input.provider];
|
|
1582
|
+
if (!captionSchema.safeParse(input.captionOverride).success) context.addIssue({ code: "custom", path: ["captionOverride"], message: "The account caption exceeds this network's limit." });
|
|
1583
|
+
if (input.tiktokSettings && input.provider !== "TIKTOK") context.addIssue({ code: "custom", path: ["tiktokSettings"], message: "TikTok settings require a TikTok account." });
|
|
1584
|
+
if (input.youtubeSettings && input.provider !== "YOUTUBE") context.addIssue({ code: "custom", path: ["youtubeSettings"], message: "YouTube settings require a YouTube account." });
|
|
1585
|
+
if (input.provider === "YOUTUBE" && !input.youtubeSettings) context.addIssue({ code: "custom", path: ["youtubeSettings"], message: "Provide settings for this YouTube account." });
|
|
1586
|
+
});
|
|
1587
|
+
var DraftAccountDestinationsSchema = import_zod.z.array(DraftAccountDestinationSchema).max(75).refine((items) => new Set(items.map((item) => item.integrationId)).size === items.length, "Select each account only once.");
|
|
1546
1588
|
var DraftPostInputSchema = import_zod.z.object({
|
|
1589
|
+
destinations: DraftAccountDestinationsSchema.optional(),
|
|
1547
1590
|
caption: import_zod.z.string().max(3e3).transform((value) => value.trim()).default(""),
|
|
1548
1591
|
platforms: DraftPlatformsSchema.default([]),
|
|
1549
1592
|
mediaAssetIds: DraftMediaAssetIdsSchema.default([]),
|
|
1593
|
+
mediaAltText: DraftMediaAltTextSchema.optional(),
|
|
1550
1594
|
captionOverrides: DraftCaptionOverridesObjectSchema.default({}),
|
|
1551
1595
|
tiktokSettings: TikTokDraftSettingsSchema.nullable().default(null),
|
|
1552
1596
|
youtubeSettings: YouTubePostSettingsSchema.nullable().default(null)
|
|
1553
1597
|
}).strict().superRefine((input, context) => {
|
|
1598
|
+
if (input.destinations !== void 0 && (input.platforms?.length || Object.keys(input.captionOverrides ?? {}).length || input.tiktokSettings || input.youtubeSettings)) context.addIssue({ code: "custom", path: ["destinations"], message: "Use account destinations with their own settings, without legacy platform fields." });
|
|
1599
|
+
if (input.mediaAltText && Object.keys(input.mediaAltText).some((id) => !input.mediaAssetIds.includes(id))) {
|
|
1600
|
+
context.addIssue({ code: "custom", path: ["mediaAltText"], message: "Alternative text must name a selected media asset." });
|
|
1601
|
+
}
|
|
1554
1602
|
if (input.caption.length === 0 && input.mediaAssetIds.length === 0) {
|
|
1555
1603
|
context.addIssue({
|
|
1556
1604
|
code: "custom",
|
|
@@ -1595,13 +1643,16 @@ var DraftPostInputSchema = import_zod.z.object({
|
|
|
1595
1643
|
}
|
|
1596
1644
|
});
|
|
1597
1645
|
var DraftPostUpdateInputSchema = import_zod.z.object({
|
|
1646
|
+
destinations: DraftAccountDestinationsSchema.optional(),
|
|
1598
1647
|
caption: import_zod.z.string().max(3e3).transform((value) => value.trim()).optional(),
|
|
1599
1648
|
platforms: DraftPlatformsSchema.optional(),
|
|
1600
1649
|
mediaAssetIds: DraftMediaAssetIdsSchema.optional(),
|
|
1650
|
+
mediaAltText: DraftMediaAltTextSchema.optional(),
|
|
1601
1651
|
captionOverrides: DraftCaptionOverridesObjectSchema.optional(),
|
|
1602
1652
|
tiktokSettings: TikTokDraftSettingsSchema.nullable().optional(),
|
|
1603
1653
|
youtubeSettings: YouTubePostSettingsSchema.nullable().optional()
|
|
1604
1654
|
}).strict().superRefine((input, context) => {
|
|
1655
|
+
if (input.destinations !== void 0 && (input.platforms?.length || Object.keys(input.captionOverrides ?? {}).length || input.tiktokSettings || input.youtubeSettings)) context.addIssue({ code: "custom", path: ["destinations"], message: "Use account destinations with their own settings, without legacy platform fields." });
|
|
1605
1656
|
if (Object.values(input).every((value) => value === void 0)) {
|
|
1606
1657
|
context.addIssue({ code: "custom", message: "Provide at least one draft field to update." });
|
|
1607
1658
|
}
|
|
@@ -1633,6 +1684,8 @@ var ProviderHealthStatusSchema = import_zod.z.enum([
|
|
|
1633
1684
|
"unknown"
|
|
1634
1685
|
]);
|
|
1635
1686
|
var IntegrationHealthSchema = import_zod.z.object({
|
|
1687
|
+
integrationId: import_zod.z.string().nullable().optional(),
|
|
1688
|
+
accountId: import_zod.z.string().nullable().optional(),
|
|
1636
1689
|
provider: PublishingProviderSchema,
|
|
1637
1690
|
connectionStatus: IntegrationConnectionStatusSchema,
|
|
1638
1691
|
connected: import_zod.z.boolean(),
|
|
@@ -1654,9 +1707,9 @@ var IntegrationHealthSchema = import_zod.z.object({
|
|
|
1654
1707
|
})
|
|
1655
1708
|
});
|
|
1656
1709
|
var IntegrationHealthListDataSchema = import_zod.z.object({
|
|
1657
|
-
items: import_zod.z.array(IntegrationHealthSchema).
|
|
1658
|
-
(items) => new Set(items.map((item) => item.provider)).size === items.length,
|
|
1659
|
-
"
|
|
1710
|
+
items: import_zod.z.array(IntegrationHealthSchema).refine(
|
|
1711
|
+
(items) => new Set(items.map((item) => item.integrationId ?? item.provider)).size === items.length,
|
|
1712
|
+
"Account health items must be unique."
|
|
1660
1713
|
)
|
|
1661
1714
|
});
|
|
1662
1715
|
var IntegrationHealthListResponseSchema = successEnvelopeSchema(
|
|
@@ -1664,9 +1717,12 @@ var IntegrationHealthListResponseSchema = successEnvelopeSchema(
|
|
|
1664
1717
|
);
|
|
1665
1718
|
var ProviderDeliveryOptionsProviderSchema = import_zod.z.enum([
|
|
1666
1719
|
"TIKTOK",
|
|
1667
|
-
"LINKEDIN"
|
|
1720
|
+
"LINKEDIN",
|
|
1721
|
+
"BLUESKY"
|
|
1668
1722
|
]);
|
|
1669
1723
|
var TikTokDeliveryOptionsSchema = import_zod.z.object({
|
|
1724
|
+
integrationId: import_zod.z.string().nullable().optional(),
|
|
1725
|
+
accountId: import_zod.z.string().nullable().optional(),
|
|
1670
1726
|
provider: import_zod.z.literal("TIKTOK"),
|
|
1671
1727
|
account: import_zod.z.object({
|
|
1672
1728
|
username: import_zod.z.string().nullable(),
|
|
@@ -1695,6 +1751,8 @@ var TikTokDeliveryOptionsSchema = import_zod.z.object({
|
|
|
1695
1751
|
checkedAt: import_zod.z.string().datetime()
|
|
1696
1752
|
});
|
|
1697
1753
|
var LinkedInDeliveryOptionsSchema = import_zod.z.object({
|
|
1754
|
+
integrationId: import_zod.z.string().nullable().optional(),
|
|
1755
|
+
accountId: import_zod.z.string().nullable().optional(),
|
|
1698
1756
|
provider: import_zod.z.literal("LINKEDIN"),
|
|
1699
1757
|
account: import_zod.z.object({
|
|
1700
1758
|
displayName: import_zod.z.string().nullable(),
|
|
@@ -1722,13 +1780,72 @@ var LinkedInDeliveryOptionsSchema = import_zod.z.object({
|
|
|
1722
1780
|
}),
|
|
1723
1781
|
checkedAt: import_zod.z.string().datetime()
|
|
1724
1782
|
});
|
|
1783
|
+
var BlueskyDeliveryOptionsSchema = import_zod.z.object({
|
|
1784
|
+
integrationId: import_zod.z.string().nullable().optional(),
|
|
1785
|
+
accountId: import_zod.z.string().nullable().optional(),
|
|
1786
|
+
provider: import_zod.z.literal("BLUESKY"),
|
|
1787
|
+
account: import_zod.z.object({ username: import_zod.z.string().nullable(), displayName: import_zod.z.string().nullable(), avatarUrl: import_zod.z.string().url().nullable() }),
|
|
1788
|
+
supportedPostTypes: import_zod.z.tuple([import_zod.z.literal("TEXT"), import_zod.z.literal("SINGLE_IMAGE"), import_zod.z.literal("MULTI_IMAGE")]),
|
|
1789
|
+
maxCaptionGraphemes: import_zod.z.literal(300),
|
|
1790
|
+
image: import_zod.z.object({ maxItems: import_zod.z.literal(4), mimeTypes: import_zod.z.tuple([import_zod.z.literal("image/jpeg"), import_zod.z.literal("image/png"), import_zod.z.literal("image/webp")]), maxBytes: import_zod.z.literal(2e6), maxProcessedBytes: import_zod.z.literal(2e6) }),
|
|
1791
|
+
authorization: import_zod.z.object({ kind: import_zod.z.literal("HUMAN_OAUTH"), path: import_zod.z.string().startsWith("/projects/"), instruction: import_zod.z.string().min(1) }),
|
|
1792
|
+
health: import_zod.z.object({ status: ProviderHealthStatusSchema, code: import_zod.z.string().min(1), message: import_zod.z.string().min(1) }),
|
|
1793
|
+
checkedAt: import_zod.z.string().datetime()
|
|
1794
|
+
});
|
|
1725
1795
|
var ProviderDeliveryOptionsSchema = import_zod.z.discriminatedUnion("provider", [
|
|
1726
1796
|
TikTokDeliveryOptionsSchema,
|
|
1727
|
-
LinkedInDeliveryOptionsSchema
|
|
1797
|
+
LinkedInDeliveryOptionsSchema,
|
|
1798
|
+
BlueskyDeliveryOptionsSchema
|
|
1728
1799
|
]);
|
|
1729
1800
|
var ProviderDeliveryOptionsResponseSchema = successEnvelopeSchema(
|
|
1730
1801
|
ProviderDeliveryOptionsSchema
|
|
1731
1802
|
);
|
|
1803
|
+
var IntegrationDisconnectInputSchema = import_zod.z.object({ provider: import_zod.z.literal("BLUESKY"), integrationId: import_zod.z.string().min(1).max(200).optional() }).strict();
|
|
1804
|
+
var IntegrationDisconnectExecuteInputSchema = IntegrationDisconnectInputSchema.extend({ expectedVersion: import_zod.z.string().min(1).max(100), confirmationToken: import_zod.z.string().min(1).max(1024) });
|
|
1805
|
+
var IntegrationDisconnectPreviewSchema = import_zod.z.object({
|
|
1806
|
+
integrationId: import_zod.z.string().optional(),
|
|
1807
|
+
accountId: import_zod.z.string().nullable().optional(),
|
|
1808
|
+
provider: import_zod.z.literal("BLUESKY"),
|
|
1809
|
+
projectId: import_zod.z.string().min(1),
|
|
1810
|
+
expectedVersion: import_zod.z.string().min(1),
|
|
1811
|
+
account: import_zod.z.string().nullable(),
|
|
1812
|
+
pendingDeliveries: import_zod.z.number().int().nonnegative(),
|
|
1813
|
+
consequence: import_zod.z.string().min(1),
|
|
1814
|
+
confirmation: import_zod.z.object({ token: import_zod.z.string().min(1), expiresAt: import_zod.z.string().datetime() })
|
|
1815
|
+
});
|
|
1816
|
+
var IntegrationDisconnectResultSchema = import_zod.z.object({ integrationId: import_zod.z.string().optional(), provider: import_zod.z.literal("BLUESKY"), projectId: import_zod.z.string().min(1), status: import_zod.z.literal("DISCONNECTED"), remoteRevocation: import_zod.z.enum(["PENDING", "REVOKED", "UNRESOLVED", "NOT_REQUIRED"]) });
|
|
1817
|
+
var IntegrationDisconnectPreviewResponseSchema = successEnvelopeSchema(IntegrationDisconnectPreviewSchema);
|
|
1818
|
+
var IntegrationDisconnectResponseSchema = successEnvelopeSchema(IntegrationDisconnectResultSchema);
|
|
1819
|
+
var DraftDeletePreviewSchema = import_zod.z.object({
|
|
1820
|
+
operation: import_zod.z.literal("posts.delete.execute"),
|
|
1821
|
+
projectId: import_zod.z.string().min(1),
|
|
1822
|
+
postId: import_zod.z.string().min(1),
|
|
1823
|
+
version: import_zod.z.number().int().positive(),
|
|
1824
|
+
caption: import_zod.z.string(),
|
|
1825
|
+
mediaCount: import_zod.z.number().int().nonnegative(),
|
|
1826
|
+
consequence: import_zod.z.string().min(1),
|
|
1827
|
+
confirmation: import_zod.z.object({ token: import_zod.z.string().min(1), expiresAt: import_zod.z.string().datetime() })
|
|
1828
|
+
});
|
|
1829
|
+
var DraftDeleteResultSchema = import_zod.z.object({ postId: import_zod.z.string().min(1), status: import_zod.z.literal("DELETED") });
|
|
1830
|
+
var DraftDeletePreviewResponseSchema = successEnvelopeSchema(DraftDeletePreviewSchema);
|
|
1831
|
+
var DraftDeleteResponseSchema = successEnvelopeSchema(DraftDeleteResultSchema);
|
|
1832
|
+
var PostScheduleCancelInputSchema = import_zod.z.object({}).strict();
|
|
1833
|
+
var PostScheduleCancelExecuteInputSchema = import_zod.z.object({ confirmationToken: import_zod.z.string().min(1).max(1024) }).strict();
|
|
1834
|
+
var PostScheduleCancelResultSchema = import_zod.z.object({ postId: import_zod.z.string().min(1), version: import_zod.z.number().int().positive(), status: import_zod.z.literal("DRAFT") });
|
|
1835
|
+
var PostScheduleCancelPreviewSchema = import_zod.z.object({
|
|
1836
|
+
accounts: import_zod.z.array(import_zod.z.object({ destinationId: import_zod.z.string().min(1), integrationId: import_zod.z.string().nullable(), provider: PublishingProviderSchema, accountId: import_zod.z.string().nullable(), accountName: import_zod.z.string().nullable() })).optional(),
|
|
1837
|
+
operation: import_zod.z.literal("posts.schedule.cancel.execute"),
|
|
1838
|
+
projectId: import_zod.z.string().min(1),
|
|
1839
|
+
postId: import_zod.z.string().min(1),
|
|
1840
|
+
version: import_zod.z.number().int().positive(),
|
|
1841
|
+
scheduledAt: import_zod.z.string().datetime(),
|
|
1842
|
+
timezone: import_zod.z.string().nullable(),
|
|
1843
|
+
destinations: import_zod.z.array(PublishingProviderSchema).min(1),
|
|
1844
|
+
consequence: import_zod.z.string().min(1),
|
|
1845
|
+
confirmation: import_zod.z.object({ token: import_zod.z.string().min(1), expiresAt: import_zod.z.string().datetime() })
|
|
1846
|
+
});
|
|
1847
|
+
var PostScheduleCancelPreviewResponseSchema = successEnvelopeSchema(PostScheduleCancelPreviewSchema);
|
|
1848
|
+
var PostScheduleCancelResponseSchema = successEnvelopeSchema(PostScheduleCancelResultSchema);
|
|
1732
1849
|
var ReadinessStatusSchema = import_zod.z.enum([
|
|
1733
1850
|
"checking",
|
|
1734
1851
|
"pass",
|
|
@@ -1737,18 +1854,21 @@ var ReadinessStatusSchema = import_zod.z.enum([
|
|
|
1737
1854
|
"unknown"
|
|
1738
1855
|
]);
|
|
1739
1856
|
var ReadinessActionSchema = import_zod.z.object({
|
|
1857
|
+
integrationId: import_zod.z.string().optional(),
|
|
1740
1858
|
kind: import_zod.z.enum([
|
|
1741
1859
|
"reconnect",
|
|
1742
1860
|
"replace_media",
|
|
1743
1861
|
"adjust_media",
|
|
1744
1862
|
"review_settings",
|
|
1745
1863
|
"edit_caption",
|
|
1746
|
-
"refresh_health"
|
|
1864
|
+
"refresh_health",
|
|
1865
|
+
"refresh_readiness"
|
|
1747
1866
|
]),
|
|
1748
1867
|
provider: PublishingProviderSchema.optional(),
|
|
1749
1868
|
mediaId: import_zod.z.string().min(1).optional()
|
|
1750
1869
|
});
|
|
1751
1870
|
var PostReadinessCheckSchema = import_zod.z.object({
|
|
1871
|
+
integrationId: import_zod.z.string().optional(),
|
|
1752
1872
|
key: import_zod.z.string().min(1),
|
|
1753
1873
|
id: import_zod.z.enum([
|
|
1754
1874
|
"connection",
|
|
@@ -1775,6 +1895,8 @@ var PostReadinessCheckSchema = import_zod.z.object({
|
|
|
1775
1895
|
var PostReadinessSchema = import_zod.z.object({
|
|
1776
1896
|
checks: import_zod.z.array(PostReadinessCheckSchema),
|
|
1777
1897
|
accounts: import_zod.z.array(import_zod.z.object({
|
|
1898
|
+
integrationId: import_zod.z.string().optional(),
|
|
1899
|
+
externalAccountId: import_zod.z.string().nullable().optional(),
|
|
1778
1900
|
provider: PublishingProviderSchema,
|
|
1779
1901
|
connected: import_zod.z.boolean(),
|
|
1780
1902
|
username: import_zod.z.string().nullable(),
|
|
@@ -1802,7 +1924,9 @@ var PostScheduleInputSchema = import_zod.z.object({
|
|
|
1802
1924
|
var PostScheduleExecuteInputSchema = PostScheduleInputSchema.extend({
|
|
1803
1925
|
confirmationToken: import_zod.z.string().trim().min(1).max(200)
|
|
1804
1926
|
}).strict();
|
|
1927
|
+
var PublishingAccountReviewListSchema = import_zod.z.array(import_zod.z.object({ destinationId: import_zod.z.string(), integrationId: import_zod.z.string(), provider: PublishingProviderSchema, accountId: import_zod.z.string().nullable(), accountName: import_zod.z.string().nullable(), accountAvatar: import_zod.z.string().nullable(), caption: import_zod.z.string(), tiktokSettings: TikTokPostSettingsSchema.nullable(), youtubeSettings: YouTubePostSettingsSchema.nullable() })).optional();
|
|
1805
1928
|
var PostSchedulePreviewSchema = import_zod.z.object({
|
|
1929
|
+
accounts: PublishingAccountReviewListSchema,
|
|
1806
1930
|
operation: import_zod.z.literal("posts.schedule.execute"),
|
|
1807
1931
|
deliveryMode: import_zod.z.literal("SCHEDULED"),
|
|
1808
1932
|
post: import_zod.z.object({
|
|
@@ -1834,6 +1958,7 @@ var PostSchedulePreviewResponseSchema = successEnvelopeSchema(
|
|
|
1834
1958
|
PostSchedulePreviewSchema
|
|
1835
1959
|
);
|
|
1836
1960
|
var PostSchedulePendingSchema = import_zod.z.object({
|
|
1961
|
+
destinations: import_zod.z.array(import_zod.z.object({ destinationId: import_zod.z.string().min(1), integrationId: import_zod.z.string().min(1), mutationId: import_zod.z.string().min(1) })).optional(),
|
|
1837
1962
|
status: import_zod.z.literal("PENDING"),
|
|
1838
1963
|
postId: import_zod.z.string().min(1),
|
|
1839
1964
|
provider: import_zod.z.literal("YOUTUBE"),
|
|
@@ -1851,12 +1976,12 @@ var PostScheduleExecuteResponseSchema = successEnvelopeSchema(
|
|
|
1851
1976
|
PostScheduleExecuteResultSchema
|
|
1852
1977
|
);
|
|
1853
1978
|
var PostPublishInputSchema = import_zod.z.object({
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
)
|
|
1858
|
-
})
|
|
1859
|
-
var PostPublishExecuteInputSchema = PostPublishInputSchema.
|
|
1979
|
+
destinationIds: import_zod.z.array(import_zod.z.string().trim().min(1).max(200)).min(1).max(75).refine((ids) => new Set(ids).size === ids.length, "Select each destination only once.").optional(),
|
|
1980
|
+
destinations: import_zod.z.array(PublishingProviderSchema).max(PUBLISHING_PROVIDER_COUNT).refine((items) => new Set(items).size === items.length, "Select each network only once.").default([])
|
|
1981
|
+
}).strict().superRefine((input, context) => {
|
|
1982
|
+
if (input.destinationIds ? input.destinations.length > 0 : input.destinations.length === 0) context.addIssue({ code: "custom", message: "Provide destinationIds, or unambiguous legacy destinations, but not both." });
|
|
1983
|
+
});
|
|
1984
|
+
var PostPublishExecuteInputSchema = PostPublishInputSchema.safeExtend({
|
|
1860
1985
|
confirmationToken: import_zod.z.string().trim().min(1).max(200)
|
|
1861
1986
|
}).strict();
|
|
1862
1987
|
var PostPublishPreviewSchema = import_zod.z.object({
|
|
@@ -1869,6 +1994,8 @@ var PostPublishPreviewSchema = import_zod.z.object({
|
|
|
1869
1994
|
status: PostStatusSchema
|
|
1870
1995
|
}),
|
|
1871
1996
|
destinations: PostPublishInputSchema.shape.destinations,
|
|
1997
|
+
destinationIds: import_zod.z.array(import_zod.z.string()).optional(),
|
|
1998
|
+
accounts: PublishingAccountReviewListSchema,
|
|
1872
1999
|
youtube: import_zod.z.object({
|
|
1873
2000
|
visibility: YouTubePostSettingsSchema.shape.privacyStatus,
|
|
1874
2001
|
preparationStartsImmediately: import_zod.z.literal(true),
|
|
@@ -1897,6 +2024,11 @@ var CalendarEventSchema = import_zod.z.object({
|
|
|
1897
2024
|
}).nullable(),
|
|
1898
2025
|
thumbnailUrl: import_zod.z.string().url().nullable(),
|
|
1899
2026
|
destinations: import_zod.z.array(import_zod.z.object({
|
|
2027
|
+
id: import_zod.z.string().optional(),
|
|
2028
|
+
integrationId: import_zod.z.string().nullable().optional(),
|
|
2029
|
+
accountId: import_zod.z.string().nullable().optional(),
|
|
2030
|
+
accountName: import_zod.z.string().nullable().optional(),
|
|
2031
|
+
accountAvatar: import_zod.z.string().nullable().optional(),
|
|
1900
2032
|
provider: PublishingProviderSchema,
|
|
1901
2033
|
status: PlatformPostStatusSchema
|
|
1902
2034
|
}))
|
|
@@ -2299,8 +2431,11 @@ var BacklinkContactSchema = import_zod.z.object({
|
|
|
2299
2431
|
var BacklinkContactListDataSchema = import_zod.z.object({ items: import_zod.z.array(BacklinkContactSchema).max(50), page: import_zod.z.object({ limit: import_zod.z.number().int().min(1).max(50), nextCursor: SeoCursorSchema.nullable() }).strict() }).strict();
|
|
2300
2432
|
var BacklinkContactListQuerySchema = import_zod.z.object({ limit: import_zod.z.coerce.number().int().min(1).max(50).default(20), cursor: SeoCursorSchema.optional() }).strict();
|
|
2301
2433
|
var BacklinkContactListResponseSchema = successEnvelopeSchema(BacklinkContactListDataSchema);
|
|
2302
|
-
var PostDeliveryCheckInputSchema = import_zod.z.object({ provider: PublishingProviderSchema }).strict();
|
|
2434
|
+
var PostDeliveryCheckInputSchema = import_zod.z.object({ provider: PublishingProviderSchema, destinationId: import_zod.z.string().min(1).max(200).optional() }).strict();
|
|
2303
2435
|
var PostDeliveryCheckResultSchema = import_zod.z.object({
|
|
2436
|
+
destinationId: import_zod.z.string().min(1).optional(),
|
|
2437
|
+
integrationId: import_zod.z.string().nullable().optional(),
|
|
2438
|
+
accountId: import_zod.z.string().nullable().optional(),
|
|
2304
2439
|
postId: import_zod.z.string().min(1),
|
|
2305
2440
|
provider: PublishingProviderSchema,
|
|
2306
2441
|
kind: import_zod.z.enum(["PUBLISHED", "SCHEDULED", "PROCESSING", "ACTION_REQUIRED", "UNKNOWN", "BUSY"]),
|
|
@@ -2312,6 +2447,7 @@ var PostDeliveryCheckResultSchema = import_zod.z.object({
|
|
|
2312
2447
|
});
|
|
2313
2448
|
var PostDeliveryCheckResponseSchema = successEnvelopeSchema(PostDeliveryCheckResultSchema);
|
|
2314
2449
|
var PostRecoveryInputSchema = import_zod.z.object({
|
|
2450
|
+
destinationId: import_zod.z.string().min(1).max(200).optional(),
|
|
2315
2451
|
provider: import_zod.z.literal("YOUTUBE"),
|
|
2316
2452
|
action: import_zod.z.enum(["ATTACH", "RESUME"]),
|
|
2317
2453
|
videoId: import_zod.z.string().regex(/^[\w-]{11}$/),
|
|
@@ -2328,6 +2464,8 @@ var PostRecoveryExecuteInputSchema = PostRecoveryInputSchema.safeExtend({
|
|
|
2328
2464
|
confirmationToken: import_zod.z.string().trim().min(1).max(200)
|
|
2329
2465
|
});
|
|
2330
2466
|
var PostRecoveryPreviewSchema = import_zod.z.object({
|
|
2467
|
+
destinationId: import_zod.z.string().min(1).optional(),
|
|
2468
|
+
integrationId: import_zod.z.string().nullable().optional(),
|
|
2331
2469
|
operation: import_zod.z.literal("posts.recovery.execute"),
|
|
2332
2470
|
projectId: import_zod.z.string().min(1),
|
|
2333
2471
|
postId: import_zod.z.string().min(1),
|
|
@@ -2346,6 +2484,9 @@ var PostRecoveryPreviewSchema = import_zod.z.object({
|
|
|
2346
2484
|
});
|
|
2347
2485
|
var PostRecoveryPreviewResponseSchema = successEnvelopeSchema(PostRecoveryPreviewSchema);
|
|
2348
2486
|
var PostRecoveryResultSchema = import_zod.z.object({
|
|
2487
|
+
destinationId: import_zod.z.string().min(1).optional(),
|
|
2488
|
+
integrationId: import_zod.z.string().nullable().optional(),
|
|
2489
|
+
accountId: import_zod.z.string().nullable().optional(),
|
|
2349
2490
|
postId: import_zod.z.string().min(1),
|
|
2350
2491
|
provider: import_zod.z.literal("YOUTUBE"),
|
|
2351
2492
|
action: import_zod.z.enum(["ATTACH", "RESUME"]),
|
|
@@ -2502,6 +2643,7 @@ var PostRecoveryResponseSchema = successEnvelopeSchema(PostRecoveryResultSchema)
|
|
|
2502
2643
|
BlogMetadataSchema,
|
|
2503
2644
|
BlogSitemapEntrySchema,
|
|
2504
2645
|
BlogSlugRedirectSchema,
|
|
2646
|
+
BlueskyDeliveryOptionsSchema,
|
|
2505
2647
|
CONTRACT_VERSION,
|
|
2506
2648
|
CalendarEventSchema,
|
|
2507
2649
|
CalendarListDataSchema,
|
|
@@ -2511,9 +2653,20 @@ var PostRecoveryResponseSchema = successEnvelopeSchema(PostRecoveryResultSchema)
|
|
|
2511
2653
|
CapabilitiesResponseSchema,
|
|
2512
2654
|
CapabilityIdSchema,
|
|
2513
2655
|
CapabilitySchema,
|
|
2656
|
+
DraftAccountDestinationSchema,
|
|
2657
|
+
DraftDeletePreviewResponseSchema,
|
|
2658
|
+
DraftDeletePreviewSchema,
|
|
2659
|
+
DraftDeleteResponseSchema,
|
|
2660
|
+
DraftDeleteResultSchema,
|
|
2514
2661
|
DraftPostInputSchema,
|
|
2515
2662
|
DraftPostUpdateInputSchema,
|
|
2516
2663
|
IntegrationConnectionStatusSchema,
|
|
2664
|
+
IntegrationDisconnectExecuteInputSchema,
|
|
2665
|
+
IntegrationDisconnectInputSchema,
|
|
2666
|
+
IntegrationDisconnectPreviewResponseSchema,
|
|
2667
|
+
IntegrationDisconnectPreviewSchema,
|
|
2668
|
+
IntegrationDisconnectResponseSchema,
|
|
2669
|
+
IntegrationDisconnectResultSchema,
|
|
2517
2670
|
IntegrationHealthListDataSchema,
|
|
2518
2671
|
IntegrationHealthListResponseSchema,
|
|
2519
2672
|
IntegrationHealthSchema,
|
|
@@ -2571,6 +2724,12 @@ var PostRecoveryResponseSchema = successEnvelopeSchema(PostRecoveryResultSchema)
|
|
|
2571
2724
|
PostRecoveryResponseSchema,
|
|
2572
2725
|
PostRecoveryResultSchema,
|
|
2573
2726
|
PostResponseSchema,
|
|
2727
|
+
PostScheduleCancelExecuteInputSchema,
|
|
2728
|
+
PostScheduleCancelInputSchema,
|
|
2729
|
+
PostScheduleCancelPreviewResponseSchema,
|
|
2730
|
+
PostScheduleCancelPreviewSchema,
|
|
2731
|
+
PostScheduleCancelResponseSchema,
|
|
2732
|
+
PostScheduleCancelResultSchema,
|
|
2574
2733
|
PostScheduleExecuteInputSchema,
|
|
2575
2734
|
PostScheduleExecuteResponseSchema,
|
|
2576
2735
|
PostScheduleExecuteResultSchema,
|