posterly-mcp-server 0.45.0 → 0.45.1

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.
Files changed (90) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/version.d.ts +1 -1
  3. package/dist/lib/version.js +1 -1
  4. package/dist/tools/create-post.d.ts +24 -1
  5. package/dist/tools/create-post.js +72 -6
  6. package/dist/tools/create-posts-batch.js +14 -2
  7. package/dist/tools/validate-post.js +2 -2
  8. package/package.json +1 -1
  9. package/scripts/test-payload-builders.mjs +143 -20
  10. package/server.json +2 -2
  11. package/src/lib/version.ts +1 -1
  12. package/src/tools/create-post.ts +84 -9
  13. package/src/tools/create-posts-batch.ts +13 -2
  14. package/src/tools/validate-post.ts +2 -1
  15. package/dist/tools/add-google-business-media.d.ts +0 -42
  16. package/dist/tools/add-google-business-media.js +0 -34
  17. package/dist/tools/create-oauth-client.d.ts +0 -40
  18. package/dist/tools/create-oauth-client.js +0 -20
  19. package/dist/tools/delete-comment.d.ts +0 -24
  20. package/dist/tools/delete-comment.js +0 -22
  21. package/dist/tools/delete-google-business-media.d.ts +0 -32
  22. package/dist/tools/delete-google-business-media.js +0 -17
  23. package/dist/tools/delete-google-business-review-reply.d.ts +0 -32
  24. package/dist/tools/delete-google-business-review-reply.js +0 -17
  25. package/dist/tools/delete-oauth-client.d.ts +0 -20
  26. package/dist/tools/delete-oauth-client.js +0 -13
  27. package/dist/tools/delete-post-group.d.ts +0 -20
  28. package/dist/tools/delete-post-group.js +0 -13
  29. package/dist/tools/delete-webhook.d.ts +0 -20
  30. package/dist/tools/delete-webhook.js +0 -13
  31. package/dist/tools/get-account-analytics.d.ts +0 -31
  32. package/dist/tools/get-account-analytics.js +0 -152
  33. package/dist/tools/get-brand-profile.d.ts +0 -16
  34. package/dist/tools/get-brand-profile.js +0 -73
  35. package/dist/tools/get-brand.d.ts +0 -16
  36. package/dist/tools/get-brand.js +0 -26
  37. package/dist/tools/get-comment.d.ts +0 -20
  38. package/dist/tools/get-comment.js +0 -36
  39. package/dist/tools/get-connect-link.d.ts +0 -28
  40. package/dist/tools/get-connect-link.js +0 -51
  41. package/dist/tools/get-connect-session.d.ts +0 -20
  42. package/dist/tools/get-connect-session.js +0 -54
  43. package/dist/tools/get-conversation.d.ts +0 -24
  44. package/dist/tools/get-conversation.js +0 -31
  45. package/dist/tools/get-google-business-review-link.d.ts +0 -24
  46. package/dist/tools/get-google-business-review-link.js +0 -19
  47. package/dist/tools/get-image-job.d.ts +0 -24
  48. package/dist/tools/get-image-job.js +0 -31
  49. package/dist/tools/get-learned-voice.d.ts +0 -16
  50. package/dist/tools/get-learned-voice.js +0 -22
  51. package/dist/tools/get-mcp-status.d.ts +0 -8
  52. package/dist/tools/get-mcp-status.js +0 -182
  53. package/dist/tools/get-performance-profile.d.ts +0 -16
  54. package/dist/tools/get-performance-profile.js +0 -39
  55. package/dist/tools/get-platform-schema.d.ts +0 -24
  56. package/dist/tools/get-platform-schema.js +0 -48
  57. package/dist/tools/get-post-analytics.d.ts +0 -39
  58. package/dist/tools/get-post-analytics.js +0 -222
  59. package/dist/tools/get-post-insights.d.ts +0 -28
  60. package/dist/tools/get-post-insights.js +0 -39
  61. package/dist/tools/get-post-missing.d.ts +0 -16
  62. package/dist/tools/get-post-missing.js +0 -12
  63. package/dist/tools/get-video-job.d.ts +0 -24
  64. package/dist/tools/get-video-job.js +0 -31
  65. package/dist/tools/list-brand-accounts.d.ts +0 -16
  66. package/dist/tools/list-brand-accounts.js +0 -24
  67. package/dist/tools/reply-google-business-review.d.ts +0 -36
  68. package/dist/tools/reply-google-business-review.js +0 -18
  69. package/dist/tools/reply-to-comment.d.ts +0 -32
  70. package/dist/tools/reply-to-comment.js +0 -17
  71. package/dist/tools/send-message.d.ts +0 -28
  72. package/dist/tools/send-message.js +0 -16
  73. package/dist/tools/suggest-google-business-review-reply.d.ts +0 -48
  74. package/dist/tools/suggest-google-business-review-reply.js +0 -27
  75. package/dist/tools/sync-inbox.d.ts +0 -24
  76. package/dist/tools/sync-inbox.js +0 -18
  77. package/dist/tools/test-webhook.d.ts +0 -20
  78. package/dist/tools/test-webhook.js +0 -14
  79. package/dist/tools/update-comment.d.ts +0 -28
  80. package/dist/tools/update-comment.js +0 -21
  81. package/dist/tools/update-oauth-client.d.ts +0 -44
  82. package/dist/tools/update-oauth-client.js +0 -21
  83. package/dist/tools/update-post-release-id.d.ts +0 -28
  84. package/dist/tools/update-post-release-id.js +0 -18
  85. package/dist/tools/update-post-status.d.ts +0 -28
  86. package/dist/tools/update-post-status.js +0 -23
  87. package/dist/tools/update-webhook.d.ts +0 -40
  88. package/dist/tools/update-webhook.js +0 -21
  89. package/dist/tools/upload-media-from-url.d.ts +0 -24
  90. package/dist/tools/upload-media-from-url.js +0 -26
@@ -1,40 +0,0 @@
1
- import { z } from 'zod';
2
- import type { PosterlyClient } from '../lib/api-client.js';
3
- export declare const updateWebhookTool: {
4
- name: string;
5
- description: string;
6
- inputSchema: z.ZodObject<{
7
- webhook_id: z.ZodString;
8
- url: z.ZodOptional<z.ZodString>;
9
- events: z.ZodOptional<z.ZodArray<z.ZodEnum<["webhook.test", "post.created", "post.updated", "post.deleted", "post.publishing", "post.published", "post.failed", "account.disconnected", "analytics.synced", "approval.requested", "approval.approved", "approval.changes_requested", "approval.rejected", "approval.commented"]>, "many">>;
10
- workspace_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
11
- description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
12
- is_active: z.ZodOptional<z.ZodBoolean>;
13
- confirm: z.ZodLiteral<true>;
14
- }, "strip", z.ZodTypeAny, {
15
- confirm: true;
16
- webhook_id: string;
17
- description?: string | null | undefined;
18
- workspace_id?: string | null | undefined;
19
- url?: string | undefined;
20
- events?: ("webhook.test" | "post.created" | "post.updated" | "post.deleted" | "post.publishing" | "post.published" | "post.failed" | "account.disconnected" | "analytics.synced" | "approval.requested" | "approval.approved" | "approval.changes_requested" | "approval.rejected" | "approval.commented")[] | undefined;
21
- is_active?: boolean | undefined;
22
- }, {
23
- confirm: true;
24
- webhook_id: string;
25
- description?: string | null | undefined;
26
- workspace_id?: string | null | undefined;
27
- url?: string | undefined;
28
- events?: ("webhook.test" | "post.created" | "post.updated" | "post.deleted" | "post.publishing" | "post.published" | "post.failed" | "account.disconnected" | "analytics.synced" | "approval.requested" | "approval.approved" | "approval.changes_requested" | "approval.rejected" | "approval.commented")[] | undefined;
29
- is_active?: boolean | undefined;
30
- }>;
31
- execute(client: PosterlyClient, input: {
32
- webhook_id: string;
33
- url?: string;
34
- events?: string[];
35
- workspace_id?: string | null;
36
- description?: string | null;
37
- is_active?: boolean;
38
- confirm: true;
39
- }): Promise<string>;
40
- };
@@ -1,21 +0,0 @@
1
- import { z } from 'zod';
2
- import { webhookEventSchema } from './webhook-events.js';
3
- export const updateWebhookTool = {
4
- name: 'update_webhook',
5
- description: 'Update a webhook URL, events, workspace, description, or active state. WRITE WITH OUTBOUND SIDE EFFECTS: list the current webhook first and get explicit confirmation before calling.',
6
- inputSchema: z.object({
7
- webhook_id: z.string().describe('Webhook ID from list_webhooks.'),
8
- url: z.string().url().optional(),
9
- events: z.array(webhookEventSchema).optional(),
10
- workspace_id: z.union([z.string(), z.null()]).optional(),
11
- description: z.union([z.string().max(240), z.null()]).optional(),
12
- is_active: z.boolean().optional(),
13
- confirm: z.literal(true).describe('Must be true after the user explicitly confirms the webhook update.'),
14
- }),
15
- async execute(client, input) {
16
- const { webhook_id, confirm: _confirm, ...payload } = input;
17
- const result = await client.updateWebhook(webhook_id, payload);
18
- const active = result.webhook.is_active ? 'active' : 'inactive';
19
- return `Webhook updated: ${result.webhook.id}\nURL: ${result.webhook.url}\nState: ${active}\nEvents: ${result.webhook.events.join(', ')}`;
20
- },
21
- };
@@ -1,24 +0,0 @@
1
- import { z } from 'zod';
2
- import type { PosterlyClient } from '../lib/api-client.js';
3
- export declare const uploadMediaFromUrlTool: {
4
- name: string;
5
- description: string;
6
- inputSchema: z.ZodObject<{
7
- url: z.ZodString;
8
- filename: z.ZodOptional<z.ZodString>;
9
- content_type: z.ZodOptional<z.ZodString>;
10
- }, "strip", z.ZodTypeAny, {
11
- url: string;
12
- filename?: string | undefined;
13
- content_type?: string | undefined;
14
- }, {
15
- url: string;
16
- filename?: string | undefined;
17
- content_type?: string | undefined;
18
- }>;
19
- execute(client: PosterlyClient, input: {
20
- url: string;
21
- filename?: string;
22
- content_type?: string;
23
- }): Promise<string>;
24
- };
@@ -1,26 +0,0 @@
1
- import { z } from 'zod';
2
- export const uploadMediaFromUrlTool = {
3
- name: 'upload_media_from_url',
4
- description: 'Fetch an image or video from a public HTTPS URL into posterly storage. Returns a URL that can be used with create_post. You can also pass public HTTP(S) media URLs directly to create_post/update_post; use this tool when you want to upload once and reuse the returned posterly URL.',
5
- inputSchema: z.object({
6
- url: z.string().url().describe('Public HTTPS URL for the image or video. Local/private network URLs are blocked.'),
7
- filename: z.string().optional().describe('Optional filename override.'),
8
- content_type: z.string().optional().describe('Optional MIME type override.'),
9
- }),
10
- async execute(client, input) {
11
- const result = await client.uploadMediaFromUrl({
12
- url: input.url,
13
- filename: input.filename,
14
- contentType: input.content_type,
15
- });
16
- return [
17
- 'Remote media uploaded successfully.',
18
- `• URL: ${result.url}`,
19
- `• Source URL: ${result.source_url}`,
20
- `• Content type: ${result.content_type}`,
21
- `• Size: ${result.size} bytes`,
22
- '',
23
- 'Use this URL as media_url when creating a post.',
24
- ].join('\n');
25
- },
26
- };