socialclaw
Advanced tools
@@ -18,3 +18,3 @@ { | ||
| "description": "Social media scheduling and publishing for AI agents", | ||
| "version": "0.1.18", | ||
| "version": "0.1.19", | ||
| "author": { | ||
@@ -58,3 +58,3 @@ "name": "SocialClaw" | ||
| ], | ||
| "version": "0.1.18" | ||
| "version": "0.1.19" | ||
| } |
| { | ||
| "name": "socialclaw", | ||
| "version": "0.1.18", | ||
| "version": "0.1.19", | ||
| "description": "Social media scheduling and publishing for AI agents on X, LinkedIn, Instagram, Facebook, TikTok, Discord, Telegram, YouTube, Reddit, WordPress, and Pinterest.", | ||
@@ -5,0 +5,0 @@ "author": { |
+1
-1
| { | ||
| "name": "socialclaw", | ||
| "version": "0.1.18", | ||
| "version": "0.1.19", | ||
| "description": "Social media scheduling CLI and OpenClaw skill for AI agents posting to X, LinkedIn, Instagram, Facebook Pages, TikTok, Discord, Telegram, YouTube, Reddit, WordPress, and Pinterest.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -700,2 +700,38 @@ // Synced from ../socialclaw via tools/sync-public-cli.mjs. Edit the private repo, then re-run this sync. | ||
| function assertInstagramCarouselAssets(mediaAssets) { | ||
| if (mediaAssets.length > INSTAGRAM_CAROUSEL_MEDIA_LIMIT) { | ||
| throw new AppError(`Instagram carousels support up to ${INSTAGRAM_CAROUSEL_MEDIA_LIMIT} image or video assets`, { | ||
| code: "instagram_carousel_limit_exceeded", | ||
| statusCode: 422 | ||
| }); | ||
| } | ||
| const unsupported = mediaAssets.find((asset) => !["image", "video"].includes(kindFromAsset(asset))); | ||
| if (unsupported) { | ||
| throw new AppError("Instagram carousels support image and video assets", { | ||
| code: "instagram_carousel_media_unsupported", | ||
| statusCode: 422 | ||
| }); | ||
| } | ||
| } | ||
| function assertInstagramStoryAssets(mediaAssets) { | ||
| if (mediaAssets.length !== 1) { | ||
| throw new AppError("Instagram Stories require exactly one image or video asset", { | ||
| code: "instagram_story_single_media_required", | ||
| statusCode: 422 | ||
| }); | ||
| } | ||
| if (!["image", "video"].includes(kindFromAsset(mediaAssets[0]))) { | ||
| throw new AppError("Instagram Stories require an image or video asset", { | ||
| code: "instagram_story_media_unsupported", | ||
| statusCode: 422 | ||
| }); | ||
| } | ||
| } | ||
| function instagramPlacementForPost(post) { | ||
| return String(post?.settings?.instagramPlacement || "post").trim().toLowerCase(); | ||
| } | ||
| export function assertSupportedProvider(provider) { | ||
@@ -702,0 +738,0 @@ if (!SUPPORTED_PROVIDERS.includes(provider)) { |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
300140
0.41%5673
0.57%