posterly-mcp-server 0.26.0 → 0.27.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/README.md +17 -2
- package/dist/index.js +20 -0
- package/dist/lib/api-client.d.ts +39 -0
- package/dist/lib/api-client.js +6 -0
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.js +1 -1
- package/dist/tools/create-post.d.ts +36 -36
- package/dist/tools/create-post.js +7 -7
- package/dist/tools/create-posts-batch.d.ts +14 -14
- package/dist/tools/reply-google-business-review.d.ts +2 -2
- package/dist/tools/submit-agent-feedback.d.ts +108 -0
- package/dist/tools/submit-agent-feedback.js +32 -0
- package/dist/tools/trigger-platform-helper.js +1 -1
- package/dist/tools/update-post.d.ts +16 -16
- package/dist/tools/update-post.js +7 -7
- package/dist/tools/validate-post.d.ts +1080 -0
- package/dist/tools/validate-post.js +28 -0
- package/package.json +3 -2
- package/server.json +38 -0
- package/src/index.ts +30 -0
- package/src/lib/api-client.ts +43 -0
- package/src/lib/version.ts +1 -1
- package/src/tools/create-post.ts +7 -7
- package/src/tools/submit-agent-feedback.ts +47 -0
- package/src/tools/trigger-platform-helper.ts +1 -1
- package/src/tools/update-post.ts +7 -7
- package/src/tools/validate-post.ts +41 -0
package/README.md
CHANGED
|
@@ -16,6 +16,19 @@ This package gives Claude Desktop, Cursor, Windsurf, Cline, and other local MCP
|
|
|
16
16
|
|
|
17
17
|
Posterly also exposes the same authenticated toolset over HTTP at [poster.ly/mcp](https://www.poster.ly/mcp), but this npm package is the local `stdio` connection for desktop AI clients.
|
|
18
18
|
|
|
19
|
+
## Public discovery
|
|
20
|
+
|
|
21
|
+
- Hosted Streamable HTTP endpoint: `https://www.poster.ly/api/mcp`
|
|
22
|
+
- Server card: `https://www.poster.ly/.well-known/mcp/server-card.json`
|
|
23
|
+
- OpenAPI: `https://www.poster.ly/api/openapi`
|
|
24
|
+
- Agent skills: `https://www.poster.ly/.well-known/agent-skills/index.json`
|
|
25
|
+
- Agent reference: `https://www.poster.ly/llms-full.txt`
|
|
26
|
+
- Signup and API-key acquisition: `https://www.poster.ly/agents/signup`
|
|
27
|
+
- Source: `https://github.com/awpthorp/posterly/tree/main/mcp-server`
|
|
28
|
+
|
|
29
|
+
The official MCP Registry metadata is in `server.json`. Its canonical registry
|
|
30
|
+
name is `io.github.awpthorp/posterly`, matching this package's `mcpName`.
|
|
31
|
+
|
|
19
32
|
## Requirements
|
|
20
33
|
|
|
21
34
|
- Node.js `20+`
|
|
@@ -108,7 +121,7 @@ Add the same server definition to your Cursor MCP settings:
|
|
|
108
121
|
|
|
109
122
|
## Available tools
|
|
110
123
|
|
|
111
|
-
`posterly-mcp-server@0.
|
|
124
|
+
`posterly-mcp-server@0.27.0` exposes 75 tools.
|
|
112
125
|
|
|
113
126
|
Public setup tools work before `POSTERLY_API_KEY` exists:
|
|
114
127
|
|
|
@@ -149,6 +162,8 @@ Authenticated tools require `POSTERLY_API_KEY`:
|
|
|
149
162
|
- `get_post_missing`
|
|
150
163
|
- `ask_support` (authenticated docs-backed support with read-only account/post diagnostics; human tickets require explicit confirmation)
|
|
151
164
|
- `create_post` (supports `thread_posts: string[]` for X / Threads reply chains, plus `platform_settings` for platform-specific composer controls)
|
|
165
|
+
- `validate_post` (checks and normalizes a post without creating it; call before requesting confirmation for `create_post`)
|
|
166
|
+
- `submit_agent_feedback` (writes bounded private operational telemetry after a real workflow outcome; never include secrets, prompts, captions, media URLs, or personal data)
|
|
152
167
|
- `create_posts_batch` (create up to 25 confirmed posts in one API request)
|
|
153
168
|
- `update_post` (also accepts `platform_settings`)
|
|
154
169
|
- `update_post_status` (pause, resume, schedule, or draft a post after confirmation)
|
|
@@ -242,7 +257,7 @@ This package uses the Posterly API/MCP add-on:
|
|
|
242
257
|
- `$3/month` add-on
|
|
243
258
|
- `100 create-post requests/hour` per API key, with separate media/read limits
|
|
244
259
|
- user-created API keys per plan: Starter 1, Pro 2, Power 3, Agency 4
|
|
245
|
-
- works across all
|
|
260
|
+
- works across all 18 supported platforms: Instagram, Facebook, TikTok, X, LinkedIn, YouTube, Pinterest, Threads, Google Business, Telegram, Bluesky, Discord, Slack, Mastodon, Dev.to, Hashnode, WordPress, and Lemmy
|
|
246
261
|
|
|
247
262
|
Each API call counts as one request, so use `create_posts_batch` when you need to schedule multiple posts in one confirmed operation.
|
|
248
263
|
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,8 @@ import { getPostInsightsTool } from './tools/get-post-insights.js';
|
|
|
19
19
|
import { listPostSuggestionsTool } from './tools/list-post-suggestions.js';
|
|
20
20
|
import { dismissSuggestionTool } from './tools/dismiss-suggestion.js';
|
|
21
21
|
import { createPostTool } from './tools/create-post.js';
|
|
22
|
+
import { validatePostTool } from './tools/validate-post.js';
|
|
23
|
+
import { submitAgentFeedbackTool } from './tools/submit-agent-feedback.js';
|
|
22
24
|
import { createPostsBatchTool } from './tools/create-posts-batch.js';
|
|
23
25
|
import { findSlotTool } from './tools/find-slot.js';
|
|
24
26
|
import { listPostsTool } from './tools/list-posts.js';
|
|
@@ -379,6 +381,24 @@ server.tool(dismissSuggestionTool.name, dismissSuggestionTool.description, dismi
|
|
|
379
381
|
return { content: [{ type: 'text', text: `Error: ${err.message}` }], isError: true };
|
|
380
382
|
}
|
|
381
383
|
});
|
|
384
|
+
server.tool(submitAgentFeedbackTool.name, submitAgentFeedbackTool.description, submitAgentFeedbackTool.inputSchema.shape, async (input) => {
|
|
385
|
+
try {
|
|
386
|
+
const text = await submitAgentFeedbackTool.execute(client, input);
|
|
387
|
+
return { content: [{ type: 'text', text }] };
|
|
388
|
+
}
|
|
389
|
+
catch (err) {
|
|
390
|
+
return { content: [{ type: 'text', text: `Error: ${err.message}` }], isError: true };
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
server.tool(validatePostTool.name, validatePostTool.description, validatePostTool.inputSchema.shape, async (input) => {
|
|
394
|
+
try {
|
|
395
|
+
const text = await validatePostTool.execute(client, input);
|
|
396
|
+
return { content: [{ type: 'text', text }] };
|
|
397
|
+
}
|
|
398
|
+
catch (err) {
|
|
399
|
+
return { content: [{ type: 'text', text: `Error: ${err.message}` }], isError: true };
|
|
400
|
+
}
|
|
401
|
+
});
|
|
382
402
|
server.tool(createPostTool.name, createPostTool.description, createPostTool.inputSchema.shape, async (input) => {
|
|
383
403
|
try {
|
|
384
404
|
const text = await createPostTool.execute(client, input);
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -182,6 +182,43 @@ export type CreatePostResponse = {
|
|
|
182
182
|
resolved_from: 'explicit' | 'account' | 'personal';
|
|
183
183
|
};
|
|
184
184
|
};
|
|
185
|
+
export type ValidatePostResponse = {
|
|
186
|
+
dry_run: true;
|
|
187
|
+
valid: true;
|
|
188
|
+
normalized: {
|
|
189
|
+
account_id: number;
|
|
190
|
+
platform: string;
|
|
191
|
+
post_type: string;
|
|
192
|
+
scheduled_at: string;
|
|
193
|
+
workspace_id: string | null;
|
|
194
|
+
};
|
|
195
|
+
warnings: Array<{
|
|
196
|
+
code: string;
|
|
197
|
+
message: string;
|
|
198
|
+
}>;
|
|
199
|
+
would_create: {
|
|
200
|
+
status: string;
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
export type AgentFeedbackPayload = {
|
|
204
|
+
source: 'mcp' | 'cli' | 'rest' | 'skill';
|
|
205
|
+
tool: string;
|
|
206
|
+
outcome: 'success' | 'error' | 'abandoned';
|
|
207
|
+
error_code?: string;
|
|
208
|
+
client?: string;
|
|
209
|
+
comment?: string;
|
|
210
|
+
context?: {
|
|
211
|
+
request_id?: string;
|
|
212
|
+
http_status?: number;
|
|
213
|
+
latency_ms?: number;
|
|
214
|
+
attempt?: number;
|
|
215
|
+
};
|
|
216
|
+
};
|
|
217
|
+
export type AgentFeedbackResponse = {
|
|
218
|
+
accepted: true;
|
|
219
|
+
feedback_id: string;
|
|
220
|
+
request_id: string;
|
|
221
|
+
};
|
|
185
222
|
export type BatchCreatePostsResponse = {
|
|
186
223
|
posts: Array<CreatePostResponse & {
|
|
187
224
|
index: number;
|
|
@@ -846,6 +883,8 @@ export declare class PosterlyClient {
|
|
|
846
883
|
total: number;
|
|
847
884
|
}>;
|
|
848
885
|
createPost(data: CreatePostPayload): Promise<CreatePostResponse>;
|
|
886
|
+
validatePost(data: CreatePostPayload): Promise<ValidatePostResponse>;
|
|
887
|
+
submitAgentFeedback(data: AgentFeedbackPayload): Promise<AgentFeedbackResponse>;
|
|
849
888
|
createPostsBatch(data: {
|
|
850
889
|
posts: CreatePostPayload[];
|
|
851
890
|
}): Promise<BatchCreatePostsResponse>;
|
package/dist/lib/api-client.js
CHANGED
|
@@ -250,6 +250,12 @@ export class PosterlyClient {
|
|
|
250
250
|
async createPost(data) {
|
|
251
251
|
return this.request('POST', '/posts', data);
|
|
252
252
|
}
|
|
253
|
+
async validatePost(data) {
|
|
254
|
+
return this.request('POST', '/posts', { ...data, dry_run: true });
|
|
255
|
+
}
|
|
256
|
+
async submitAgentFeedback(data) {
|
|
257
|
+
return this.request('POST', '/agent-feedback', data);
|
|
258
|
+
}
|
|
253
259
|
async createPostsBatch(data) {
|
|
254
260
|
return this.request('POST', '/posts/batch', data);
|
|
255
261
|
}
|
package/dist/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const POSTERLY_MCP_VERSION = "0.
|
|
1
|
+
export declare const POSTERLY_MCP_VERSION = "0.27.0";
|
package/dist/lib/version.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
// tool set (minus the intentional pre-auth signup tools that only this stdio
|
|
6
6
|
// package exposes). `npm run check:mcp-parity` enforces both the version match
|
|
7
7
|
// and the tool-list match, and runs in the pre-commit hook.
|
|
8
|
-
export const POSTERLY_MCP_VERSION = '0.
|
|
8
|
+
export const POSTERLY_MCP_VERSION = '0.27.0';
|
|
@@ -90,15 +90,15 @@ export declare const platformSettingsSchema: z.ZodObject<{
|
|
|
90
90
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
91
91
|
}, "strip", z.ZodTypeAny, {
|
|
92
92
|
options: string[];
|
|
93
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
93
94
|
duration_minutes?: number | undefined;
|
|
94
95
|
question?: string | undefined;
|
|
95
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
96
96
|
allows_multiple_answers?: boolean | undefined;
|
|
97
97
|
}, {
|
|
98
98
|
options: string[];
|
|
99
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
99
100
|
duration_minutes?: number | undefined;
|
|
100
101
|
question?: string | undefined;
|
|
101
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
102
102
|
allows_multiple_answers?: boolean | undefined;
|
|
103
103
|
}>>;
|
|
104
104
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -167,15 +167,15 @@ export declare const platformSettingsSchema: z.ZodObject<{
|
|
|
167
167
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
168
168
|
}, "strip", z.ZodTypeAny, {
|
|
169
169
|
options: string[];
|
|
170
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
170
171
|
duration_minutes?: number | undefined;
|
|
171
172
|
question?: string | undefined;
|
|
172
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
173
173
|
allows_multiple_answers?: boolean | undefined;
|
|
174
174
|
}, {
|
|
175
175
|
options: string[];
|
|
176
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
176
177
|
duration_minutes?: number | undefined;
|
|
177
178
|
question?: string | undefined;
|
|
178
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
179
179
|
allows_multiple_answers?: boolean | undefined;
|
|
180
180
|
}>>;
|
|
181
181
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -244,15 +244,15 @@ export declare const platformSettingsSchema: z.ZodObject<{
|
|
|
244
244
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
245
245
|
}, "strip", z.ZodTypeAny, {
|
|
246
246
|
options: string[];
|
|
247
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
247
248
|
duration_minutes?: number | undefined;
|
|
248
249
|
question?: string | undefined;
|
|
249
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
250
250
|
allows_multiple_answers?: boolean | undefined;
|
|
251
251
|
}, {
|
|
252
252
|
options: string[];
|
|
253
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
253
254
|
duration_minutes?: number | undefined;
|
|
254
255
|
question?: string | undefined;
|
|
255
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
256
256
|
allows_multiple_answers?: boolean | undefined;
|
|
257
257
|
}>>;
|
|
258
258
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -406,15 +406,15 @@ export declare const createPostPayloadInputSchema: z.ZodObject<{
|
|
|
406
406
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
407
407
|
}, "strip", z.ZodTypeAny, {
|
|
408
408
|
options: string[];
|
|
409
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
409
410
|
duration_minutes?: number | undefined;
|
|
410
411
|
question?: string | undefined;
|
|
411
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
412
412
|
allows_multiple_answers?: boolean | undefined;
|
|
413
413
|
}, {
|
|
414
414
|
options: string[];
|
|
415
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
415
416
|
duration_minutes?: number | undefined;
|
|
416
417
|
question?: string | undefined;
|
|
417
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
418
418
|
allows_multiple_answers?: boolean | undefined;
|
|
419
419
|
}>>;
|
|
420
420
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -483,15 +483,15 @@ export declare const createPostPayloadInputSchema: z.ZodObject<{
|
|
|
483
483
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
484
484
|
}, "strip", z.ZodTypeAny, {
|
|
485
485
|
options: string[];
|
|
486
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
486
487
|
duration_minutes?: number | undefined;
|
|
487
488
|
question?: string | undefined;
|
|
488
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
489
489
|
allows_multiple_answers?: boolean | undefined;
|
|
490
490
|
}, {
|
|
491
491
|
options: string[];
|
|
492
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
492
493
|
duration_minutes?: number | undefined;
|
|
493
494
|
question?: string | undefined;
|
|
494
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
495
495
|
allows_multiple_answers?: boolean | undefined;
|
|
496
496
|
}>>;
|
|
497
497
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -560,15 +560,15 @@ export declare const createPostPayloadInputSchema: z.ZodObject<{
|
|
|
560
560
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
561
561
|
}, "strip", z.ZodTypeAny, {
|
|
562
562
|
options: string[];
|
|
563
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
563
564
|
duration_minutes?: number | undefined;
|
|
564
565
|
question?: string | undefined;
|
|
565
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
566
566
|
allows_multiple_answers?: boolean | undefined;
|
|
567
567
|
}, {
|
|
568
568
|
options: string[];
|
|
569
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
569
570
|
duration_minutes?: number | undefined;
|
|
570
571
|
question?: string | undefined;
|
|
571
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
572
572
|
allows_multiple_answers?: boolean | undefined;
|
|
573
573
|
}>>;
|
|
574
574
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -670,15 +670,15 @@ export declare const createPostPayloadInputSchema: z.ZodObject<{
|
|
|
670
670
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
671
671
|
}, "strip", z.ZodTypeAny, {
|
|
672
672
|
options: string[];
|
|
673
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
673
674
|
duration_minutes?: number | undefined;
|
|
674
675
|
question?: string | undefined;
|
|
675
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
676
676
|
allows_multiple_answers?: boolean | undefined;
|
|
677
677
|
}, {
|
|
678
678
|
options: string[];
|
|
679
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
679
680
|
duration_minutes?: number | undefined;
|
|
680
681
|
question?: string | undefined;
|
|
681
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
682
682
|
allows_multiple_answers?: boolean | undefined;
|
|
683
683
|
}>>;
|
|
684
684
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -779,15 +779,15 @@ export declare const createPostPayloadInputSchema: z.ZodObject<{
|
|
|
779
779
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
780
780
|
}, "strip", z.ZodTypeAny, {
|
|
781
781
|
options: string[];
|
|
782
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
782
783
|
duration_minutes?: number | undefined;
|
|
783
784
|
question?: string | undefined;
|
|
784
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
785
785
|
allows_multiple_answers?: boolean | undefined;
|
|
786
786
|
}, {
|
|
787
787
|
options: string[];
|
|
788
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
788
789
|
duration_minutes?: number | undefined;
|
|
789
790
|
question?: string | undefined;
|
|
790
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
791
791
|
allows_multiple_answers?: boolean | undefined;
|
|
792
792
|
}>>;
|
|
793
793
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -942,15 +942,15 @@ export declare const createPostInputSchema: z.ZodObject<{
|
|
|
942
942
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
943
943
|
}, "strip", z.ZodTypeAny, {
|
|
944
944
|
options: string[];
|
|
945
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
945
946
|
duration_minutes?: number | undefined;
|
|
946
947
|
question?: string | undefined;
|
|
947
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
948
948
|
allows_multiple_answers?: boolean | undefined;
|
|
949
949
|
}, {
|
|
950
950
|
options: string[];
|
|
951
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
951
952
|
duration_minutes?: number | undefined;
|
|
952
953
|
question?: string | undefined;
|
|
953
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
954
954
|
allows_multiple_answers?: boolean | undefined;
|
|
955
955
|
}>>;
|
|
956
956
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -1019,15 +1019,15 @@ export declare const createPostInputSchema: z.ZodObject<{
|
|
|
1019
1019
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
1020
1020
|
}, "strip", z.ZodTypeAny, {
|
|
1021
1021
|
options: string[];
|
|
1022
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1022
1023
|
duration_minutes?: number | undefined;
|
|
1023
1024
|
question?: string | undefined;
|
|
1024
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1025
1025
|
allows_multiple_answers?: boolean | undefined;
|
|
1026
1026
|
}, {
|
|
1027
1027
|
options: string[];
|
|
1028
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1028
1029
|
duration_minutes?: number | undefined;
|
|
1029
1030
|
question?: string | undefined;
|
|
1030
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1031
1031
|
allows_multiple_answers?: boolean | undefined;
|
|
1032
1032
|
}>>;
|
|
1033
1033
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -1096,15 +1096,15 @@ export declare const createPostInputSchema: z.ZodObject<{
|
|
|
1096
1096
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
1097
1097
|
}, "strip", z.ZodTypeAny, {
|
|
1098
1098
|
options: string[];
|
|
1099
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1099
1100
|
duration_minutes?: number | undefined;
|
|
1100
1101
|
question?: string | undefined;
|
|
1101
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1102
1102
|
allows_multiple_answers?: boolean | undefined;
|
|
1103
1103
|
}, {
|
|
1104
1104
|
options: string[];
|
|
1105
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1105
1106
|
duration_minutes?: number | undefined;
|
|
1106
1107
|
question?: string | undefined;
|
|
1107
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1108
1108
|
allows_multiple_answers?: boolean | undefined;
|
|
1109
1109
|
}>>;
|
|
1110
1110
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -1209,15 +1209,15 @@ export declare const createPostInputSchema: z.ZodObject<{
|
|
|
1209
1209
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
1210
1210
|
}, "strip", z.ZodTypeAny, {
|
|
1211
1211
|
options: string[];
|
|
1212
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1212
1213
|
duration_minutes?: number | undefined;
|
|
1213
1214
|
question?: string | undefined;
|
|
1214
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1215
1215
|
allows_multiple_answers?: boolean | undefined;
|
|
1216
1216
|
}, {
|
|
1217
1217
|
options: string[];
|
|
1218
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1218
1219
|
duration_minutes?: number | undefined;
|
|
1219
1220
|
question?: string | undefined;
|
|
1220
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1221
1221
|
allows_multiple_answers?: boolean | undefined;
|
|
1222
1222
|
}>>;
|
|
1223
1223
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -1319,15 +1319,15 @@ export declare const createPostInputSchema: z.ZodObject<{
|
|
|
1319
1319
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
1320
1320
|
}, "strip", z.ZodTypeAny, {
|
|
1321
1321
|
options: string[];
|
|
1322
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1322
1323
|
duration_minutes?: number | undefined;
|
|
1323
1324
|
question?: string | undefined;
|
|
1324
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1325
1325
|
allows_multiple_answers?: boolean | undefined;
|
|
1326
1326
|
}, {
|
|
1327
1327
|
options: string[];
|
|
1328
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1328
1329
|
duration_minutes?: number | undefined;
|
|
1329
1330
|
question?: string | undefined;
|
|
1330
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1331
1331
|
allows_multiple_answers?: boolean | undefined;
|
|
1332
1332
|
}>>;
|
|
1333
1333
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -1488,15 +1488,15 @@ export declare const createPostTool: {
|
|
|
1488
1488
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
1489
1489
|
}, "strip", z.ZodTypeAny, {
|
|
1490
1490
|
options: string[];
|
|
1491
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1491
1492
|
duration_minutes?: number | undefined;
|
|
1492
1493
|
question?: string | undefined;
|
|
1493
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1494
1494
|
allows_multiple_answers?: boolean | undefined;
|
|
1495
1495
|
}, {
|
|
1496
1496
|
options: string[];
|
|
1497
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1497
1498
|
duration_minutes?: number | undefined;
|
|
1498
1499
|
question?: string | undefined;
|
|
1499
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1500
1500
|
allows_multiple_answers?: boolean | undefined;
|
|
1501
1501
|
}>>;
|
|
1502
1502
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -1565,15 +1565,15 @@ export declare const createPostTool: {
|
|
|
1565
1565
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
1566
1566
|
}, "strip", z.ZodTypeAny, {
|
|
1567
1567
|
options: string[];
|
|
1568
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1568
1569
|
duration_minutes?: number | undefined;
|
|
1569
1570
|
question?: string | undefined;
|
|
1570
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1571
1571
|
allows_multiple_answers?: boolean | undefined;
|
|
1572
1572
|
}, {
|
|
1573
1573
|
options: string[];
|
|
1574
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1574
1575
|
duration_minutes?: number | undefined;
|
|
1575
1576
|
question?: string | undefined;
|
|
1576
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1577
1577
|
allows_multiple_answers?: boolean | undefined;
|
|
1578
1578
|
}>>;
|
|
1579
1579
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -1642,15 +1642,15 @@ export declare const createPostTool: {
|
|
|
1642
1642
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
1643
1643
|
}, "strip", z.ZodTypeAny, {
|
|
1644
1644
|
options: string[];
|
|
1645
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1645
1646
|
duration_minutes?: number | undefined;
|
|
1646
1647
|
question?: string | undefined;
|
|
1647
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1648
1648
|
allows_multiple_answers?: boolean | undefined;
|
|
1649
1649
|
}, {
|
|
1650
1650
|
options: string[];
|
|
1651
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1651
1652
|
duration_minutes?: number | undefined;
|
|
1652
1653
|
question?: string | undefined;
|
|
1653
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1654
1654
|
allows_multiple_answers?: boolean | undefined;
|
|
1655
1655
|
}>>;
|
|
1656
1656
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -1755,15 +1755,15 @@ export declare const createPostTool: {
|
|
|
1755
1755
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
1756
1756
|
}, "strip", z.ZodTypeAny, {
|
|
1757
1757
|
options: string[];
|
|
1758
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1758
1759
|
duration_minutes?: number | undefined;
|
|
1759
1760
|
question?: string | undefined;
|
|
1760
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1761
1761
|
allows_multiple_answers?: boolean | undefined;
|
|
1762
1762
|
}, {
|
|
1763
1763
|
options: string[];
|
|
1764
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1764
1765
|
duration_minutes?: number | undefined;
|
|
1765
1766
|
question?: string | undefined;
|
|
1766
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1767
1767
|
allows_multiple_answers?: boolean | undefined;
|
|
1768
1768
|
}>>;
|
|
1769
1769
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -1865,15 +1865,15 @@ export declare const createPostTool: {
|
|
|
1865
1865
|
allows_multiple_answers: z.ZodOptional<z.ZodBoolean>;
|
|
1866
1866
|
}, "strip", z.ZodTypeAny, {
|
|
1867
1867
|
options: string[];
|
|
1868
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1868
1869
|
duration_minutes?: number | undefined;
|
|
1869
1870
|
question?: string | undefined;
|
|
1870
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1871
1871
|
allows_multiple_answers?: boolean | undefined;
|
|
1872
1872
|
}, {
|
|
1873
1873
|
options: string[];
|
|
1874
|
+
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1874
1875
|
duration_minutes?: number | undefined;
|
|
1875
1876
|
question?: string | undefined;
|
|
1876
|
-
duration?: "ONE_DAY" | "THREE_DAYS" | "SEVEN_DAYS" | "FOURTEEN_DAYS" | undefined;
|
|
1877
1877
|
allows_multiple_answers?: boolean | undefined;
|
|
1878
1878
|
}>>;
|
|
1879
1879
|
reply_control: z.ZodOptional<z.ZodEnum<["everyone", "accounts_you_follow", "mentioned_only", "followers_only", "parent_post_author_only"]>>;
|
|
@@ -13,7 +13,7 @@ export const instagramSettingsSchema = z.object({
|
|
|
13
13
|
.array(z.union([z.string(), z.object({ username: z.string().optional(), label: z.string().optional(), handle: z.string().optional() })]))
|
|
14
14
|
.optional(),
|
|
15
15
|
first_comment: z.string().optional(),
|
|
16
|
-
media_alt_texts: z.record(z.string()).optional(),
|
|
16
|
+
media_alt_texts: z.record(z.string(), z.string()).optional(),
|
|
17
17
|
reel_cover_url: z.string().optional(),
|
|
18
18
|
reel_thumb_offset: z.number().nonnegative().optional(),
|
|
19
19
|
});
|
|
@@ -21,7 +21,7 @@ export const platformSettingsSchema = z.object({
|
|
|
21
21
|
__type: z.string().optional(),
|
|
22
22
|
post_type: z.string().optional(),
|
|
23
23
|
content_type: z.string().optional(),
|
|
24
|
-
media_alt_texts: z.record(z.string()).optional(),
|
|
24
|
+
media_alt_texts: z.record(z.string(), z.string()).optional(),
|
|
25
25
|
reel_cover_url: z.string().optional(),
|
|
26
26
|
reel_thumb_offset: z.number().nonnegative().optional(),
|
|
27
27
|
// X
|
|
@@ -37,13 +37,13 @@ export const platformSettingsSchema = z.object({
|
|
|
37
37
|
reply_control: z.enum(['everyone', 'accounts_you_follow', 'mentioned_only', 'followers_only', 'parent_post_author_only']).optional(),
|
|
38
38
|
topic_tag: z.string().optional(), // Threads single discovery topic tag
|
|
39
39
|
share_to_instagram: z.boolean().optional(), // Threads: also share the published post to the linked Instagram account as a Story
|
|
40
|
-
text_attachment: z.record(z.unknown()).optional(),
|
|
40
|
+
text_attachment: z.record(z.string(), z.unknown()).optional(),
|
|
41
41
|
// Facebook
|
|
42
42
|
text_format_preset_id: z.string().optional(),
|
|
43
43
|
// LinkedIn
|
|
44
44
|
document_title: z.string().optional(),
|
|
45
45
|
document_filename: z.string().optional(),
|
|
46
|
-
mentions: z.array(z.record(z.unknown())).optional(),
|
|
46
|
+
mentions: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
47
47
|
thumbnail_url: z.string().optional(),
|
|
48
48
|
thumbnail_method: z.string().optional(),
|
|
49
49
|
// TikTok
|
|
@@ -70,9 +70,9 @@ export const platformSettingsSchema = z.object({
|
|
|
70
70
|
video_cover_url: z.string().optional(),
|
|
71
71
|
cover_image_method: z.enum(['upload', 'frame', 'api']).optional(),
|
|
72
72
|
// Google Business
|
|
73
|
-
event: z.record(z.unknown()).optional(),
|
|
74
|
-
offer: z.record(z.unknown()).optional(),
|
|
75
|
-
cta: z.record(z.unknown()).optional(),
|
|
73
|
+
event: z.record(z.string(), z.unknown()).optional(),
|
|
74
|
+
offer: z.record(z.string(), z.unknown()).optional(),
|
|
75
|
+
cta: z.record(z.string(), z.unknown()).optional(),
|
|
76
76
|
// YouTube
|
|
77
77
|
notify_subscribers: z.boolean().optional(),
|
|
78
78
|
add_shorts_hashtag: z.boolean().optional(),
|