@sellable/mcp 0.1.261 → 0.1.263
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/server.js +4 -1
- package/dist/tools/content-posts.d.ts +222 -1
- package/dist/tools/content-posts.js +504 -0
- package/dist/tools/registry.d.ts +33 -0
- package/package.json +1 -1
- package/skills/create-post/SKILL.md +58 -21
- package/skills/create-post/references/hook-research-playbook.md +93 -18
- package/skills/create-post/references/linkedin-preview-rendering.md +51 -10
- package/skills/create-post/references/post-file-contract.md +6 -0
- package/skills/create-post/references/post-validation.md +31 -9
- package/skills/create-post/references/premise-development.md +10 -6
package/dist/server.js
CHANGED
|
@@ -9,7 +9,7 @@ import { getCampaignTableSchema, queueCampaignCells, reviseMessageTemplateAndRer
|
|
|
9
9
|
import { createCampaign, duplicateCampaign, getCampaign, getCampaignMessagesPreview, getCampaigns, pauseCampaign, startCampaign, updateCampaign, updateCampaignBrief, } from "./tools/campaigns.js";
|
|
10
10
|
import { queueCells, updateCell } from "./tools/cells.js";
|
|
11
11
|
import { handleStartCliLogin, handleWaitForCliLogin, } from "./tools/cli-login.js";
|
|
12
|
-
import { capturePostIdeaTool, getPostDraftTool, getPostIdeaTool, getPublishedPostTool, listPostDraftIterationsTool, listPostDraftsTool, listPostIdeasTool, listPublishedPostsTool, markPostPublishedTool, saveHookResearchTool, savePostDraftTool, updatePostDraftTool, updatePublishedPostMetricsTool, } from "./tools/content-posts.js";
|
|
12
|
+
import { capturePostIdeaTool, getPostDraftTool, getPostIdeaTool, getPublishedPostTool, listPostDraftIterationsTool, listPostDraftsTool, listPostIdeasTool, listPublishedPostsTool, markPostPublishedTool, renderLinkedInPostPreviewTool, saveHookResearchTool, savePostDraftTool, updatePostDraftTool, updatePublishedPostMetricsTool, } from "./tools/content-posts.js";
|
|
13
13
|
import { getCampaignContext, hydrateCampaignContextFromCampaign, markCampaignContextDirty, } from "./tools/context.js";
|
|
14
14
|
import { addToCommentCampaign, addToConnectionCampaign, addToInmailCampaign, getEngagedPosts, getOrCreateDirectCampaignTable, pauseDirectCampaign, startDirectCampaign, } from "./tools/direct-campaigns.js";
|
|
15
15
|
import { bootstrapEngage, bootstrapEngageMulti, } from "./tools/engage-bootstrap.js";
|
|
@@ -244,6 +244,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
244
244
|
case "save_post_draft":
|
|
245
245
|
result = savePostDraftTool(args);
|
|
246
246
|
break;
|
|
247
|
+
case "render_linkedin_post_preview":
|
|
248
|
+
result = renderLinkedInPostPreviewTool(args);
|
|
249
|
+
break;
|
|
247
250
|
case "update_post_draft":
|
|
248
251
|
result = updatePostDraftTool(args);
|
|
249
252
|
break;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type ContentKind = "idea" | "hook_research" | "draft" | "published_post";
|
|
1
|
+
type ContentKind = "idea" | "hook_research" | "draft" | "published_post" | "linkedin_preview";
|
|
2
2
|
type ArtifactMetadata = {
|
|
3
3
|
id: string;
|
|
4
4
|
type: ContentKind;
|
|
@@ -94,6 +94,12 @@ export declare const contentPostToolDefinitions: ({
|
|
|
94
94
|
body?: undefined;
|
|
95
95
|
validationReceipt?: undefined;
|
|
96
96
|
status?: undefined;
|
|
97
|
+
postText?: undefined;
|
|
98
|
+
renderId?: undefined;
|
|
99
|
+
sourceLabel?: undefined;
|
|
100
|
+
renderScreenshots?: undefined;
|
|
101
|
+
requireScreenshots?: undefined;
|
|
102
|
+
reviewClampLines?: undefined;
|
|
97
103
|
updatedAt?: undefined;
|
|
98
104
|
publishUrl?: undefined;
|
|
99
105
|
activityId?: undefined;
|
|
@@ -193,6 +199,12 @@ export declare const contentPostToolDefinitions: ({
|
|
|
193
199
|
body?: undefined;
|
|
194
200
|
validationReceipt?: undefined;
|
|
195
201
|
status?: undefined;
|
|
202
|
+
postText?: undefined;
|
|
203
|
+
renderId?: undefined;
|
|
204
|
+
sourceLabel?: undefined;
|
|
205
|
+
renderScreenshots?: undefined;
|
|
206
|
+
requireScreenshots?: undefined;
|
|
207
|
+
reviewClampLines?: undefined;
|
|
196
208
|
updatedAt?: undefined;
|
|
197
209
|
publishUrl?: undefined;
|
|
198
210
|
activityId?: undefined;
|
|
@@ -215,6 +227,7 @@ export declare const contentPostToolDefinitions: ({
|
|
|
215
227
|
properties: {
|
|
216
228
|
draftId: {
|
|
217
229
|
type: string;
|
|
230
|
+
description?: undefined;
|
|
218
231
|
};
|
|
219
232
|
ideaId: {
|
|
220
233
|
type: string;
|
|
@@ -259,6 +272,12 @@ export declare const contentPostToolDefinitions: ({
|
|
|
259
272
|
selectedPatterns?: undefined;
|
|
260
273
|
previewBudget?: undefined;
|
|
261
274
|
notes?: undefined;
|
|
275
|
+
postText?: undefined;
|
|
276
|
+
renderId?: undefined;
|
|
277
|
+
sourceLabel?: undefined;
|
|
278
|
+
renderScreenshots?: undefined;
|
|
279
|
+
requireScreenshots?: undefined;
|
|
280
|
+
reviewClampLines?: undefined;
|
|
262
281
|
updatedAt?: undefined;
|
|
263
282
|
publishUrl?: undefined;
|
|
264
283
|
activityId?: undefined;
|
|
@@ -279,8 +298,79 @@ export declare const contentPostToolDefinitions: ({
|
|
|
279
298
|
inputSchema: {
|
|
280
299
|
type: string;
|
|
281
300
|
properties: {
|
|
301
|
+
postText: {
|
|
302
|
+
type: string;
|
|
303
|
+
description: string;
|
|
304
|
+
};
|
|
282
305
|
draftId: {
|
|
283
306
|
type: string;
|
|
307
|
+
description: string;
|
|
308
|
+
};
|
|
309
|
+
renderId: {
|
|
310
|
+
type: string;
|
|
311
|
+
description: string;
|
|
312
|
+
};
|
|
313
|
+
sourceLabel: {
|
|
314
|
+
type: string;
|
|
315
|
+
};
|
|
316
|
+
createdAt: {
|
|
317
|
+
type: string;
|
|
318
|
+
};
|
|
319
|
+
renderScreenshots: {
|
|
320
|
+
type: string;
|
|
321
|
+
description: string;
|
|
322
|
+
};
|
|
323
|
+
requireScreenshots: {
|
|
324
|
+
type: string;
|
|
325
|
+
description: string;
|
|
326
|
+
};
|
|
327
|
+
reviewClampLines: {
|
|
328
|
+
type: string;
|
|
329
|
+
description: string;
|
|
330
|
+
};
|
|
331
|
+
rawSource?: undefined;
|
|
332
|
+
title?: undefined;
|
|
333
|
+
distilledBrief?: undefined;
|
|
334
|
+
ideaId?: undefined;
|
|
335
|
+
sourceType?: undefined;
|
|
336
|
+
sourceUrl?: undefined;
|
|
337
|
+
capturedAt?: undefined;
|
|
338
|
+
researchId?: undefined;
|
|
339
|
+
topic?: undefined;
|
|
340
|
+
keywords?: undefined;
|
|
341
|
+
sourcePosts?: undefined;
|
|
342
|
+
selectedPatterns?: undefined;
|
|
343
|
+
previewBudget?: undefined;
|
|
344
|
+
notes?: undefined;
|
|
345
|
+
hookResearchId?: undefined;
|
|
346
|
+
priorDraftId?: undefined;
|
|
347
|
+
iteration?: undefined;
|
|
348
|
+
body?: undefined;
|
|
349
|
+
validationReceipt?: undefined;
|
|
350
|
+
status?: undefined;
|
|
351
|
+
updatedAt?: undefined;
|
|
352
|
+
publishUrl?: undefined;
|
|
353
|
+
activityId?: undefined;
|
|
354
|
+
publishedAt?: undefined;
|
|
355
|
+
finalText?: undefined;
|
|
356
|
+
updateDraftStatus?: undefined;
|
|
357
|
+
publishedPostId?: undefined;
|
|
358
|
+
year?: undefined;
|
|
359
|
+
metrics?: undefined;
|
|
360
|
+
note?: undefined;
|
|
361
|
+
};
|
|
362
|
+
required: never[];
|
|
363
|
+
additionalProperties: boolean;
|
|
364
|
+
};
|
|
365
|
+
} | {
|
|
366
|
+
name: string;
|
|
367
|
+
description: string;
|
|
368
|
+
inputSchema: {
|
|
369
|
+
type: string;
|
|
370
|
+
properties: {
|
|
371
|
+
draftId: {
|
|
372
|
+
type: string;
|
|
373
|
+
description?: undefined;
|
|
284
374
|
};
|
|
285
375
|
hookResearchId: {
|
|
286
376
|
type: string;
|
|
@@ -323,6 +413,12 @@ export declare const contentPostToolDefinitions: ({
|
|
|
323
413
|
previewBudget?: undefined;
|
|
324
414
|
notes?: undefined;
|
|
325
415
|
createdAt?: undefined;
|
|
416
|
+
postText?: undefined;
|
|
417
|
+
renderId?: undefined;
|
|
418
|
+
sourceLabel?: undefined;
|
|
419
|
+
renderScreenshots?: undefined;
|
|
420
|
+
requireScreenshots?: undefined;
|
|
421
|
+
reviewClampLines?: undefined;
|
|
326
422
|
publishUrl?: undefined;
|
|
327
423
|
activityId?: undefined;
|
|
328
424
|
publishedAt?: undefined;
|
|
@@ -344,6 +440,7 @@ export declare const contentPostToolDefinitions: ({
|
|
|
344
440
|
properties: {
|
|
345
441
|
draftId: {
|
|
346
442
|
type: string;
|
|
443
|
+
description?: undefined;
|
|
347
444
|
};
|
|
348
445
|
publishUrl: {
|
|
349
446
|
type: string;
|
|
@@ -384,6 +481,12 @@ export declare const contentPostToolDefinitions: ({
|
|
|
384
481
|
body?: undefined;
|
|
385
482
|
validationReceipt?: undefined;
|
|
386
483
|
status?: undefined;
|
|
484
|
+
postText?: undefined;
|
|
485
|
+
renderId?: undefined;
|
|
486
|
+
sourceLabel?: undefined;
|
|
487
|
+
renderScreenshots?: undefined;
|
|
488
|
+
requireScreenshots?: undefined;
|
|
489
|
+
reviewClampLines?: undefined;
|
|
387
490
|
updatedAt?: undefined;
|
|
388
491
|
publishedPostId?: undefined;
|
|
389
492
|
year?: undefined;
|
|
@@ -436,6 +539,12 @@ export declare const contentPostToolDefinitions: ({
|
|
|
436
539
|
body?: undefined;
|
|
437
540
|
validationReceipt?: undefined;
|
|
438
541
|
status?: undefined;
|
|
542
|
+
postText?: undefined;
|
|
543
|
+
renderId?: undefined;
|
|
544
|
+
sourceLabel?: undefined;
|
|
545
|
+
renderScreenshots?: undefined;
|
|
546
|
+
requireScreenshots?: undefined;
|
|
547
|
+
reviewClampLines?: undefined;
|
|
439
548
|
updatedAt?: undefined;
|
|
440
549
|
publishUrl?: undefined;
|
|
441
550
|
activityId?: undefined;
|
|
@@ -455,6 +564,7 @@ export declare function ensureContentLayout(root?: string): {
|
|
|
455
564
|
hookResearch: "linkedin/research/hooks";
|
|
456
565
|
drafts: "linkedin/drafts";
|
|
457
566
|
published: "linkedin/published";
|
|
567
|
+
previews: "linkedin/previews";
|
|
458
568
|
commentLibrary: "linkedin/comments/library";
|
|
459
569
|
};
|
|
460
570
|
};
|
|
@@ -529,6 +639,117 @@ export declare function savePostDraftTool(input: {
|
|
|
529
639
|
updatedAt: string;
|
|
530
640
|
preview: string;
|
|
531
641
|
};
|
|
642
|
+
export declare function renderLinkedInPostPreviewTool(input: {
|
|
643
|
+
postText?: string;
|
|
644
|
+
draftId?: string;
|
|
645
|
+
renderId?: string;
|
|
646
|
+
sourceLabel?: string;
|
|
647
|
+
createdAt?: string;
|
|
648
|
+
renderScreenshots?: boolean;
|
|
649
|
+
requireScreenshots?: boolean;
|
|
650
|
+
reviewClampLines?: number;
|
|
651
|
+
}): {
|
|
652
|
+
id: string;
|
|
653
|
+
path: string;
|
|
654
|
+
artifactDir: string;
|
|
655
|
+
absoluteArtifactDir: string;
|
|
656
|
+
combinedHtmlPath: string;
|
|
657
|
+
absoluteCombinedHtmlPath: string;
|
|
658
|
+
mobile: {
|
|
659
|
+
absoluteHtmlPath: string;
|
|
660
|
+
absoluteScreenshotPath: string | undefined;
|
|
661
|
+
textWidthPx: number;
|
|
662
|
+
viewportWidthPx: number;
|
|
663
|
+
fontSizePx: number;
|
|
664
|
+
lineHeightPx: number;
|
|
665
|
+
reviewClampLines: number;
|
|
666
|
+
estimatedVisibleTextBlock: string;
|
|
667
|
+
estimatedRenderedLines: string[];
|
|
668
|
+
estimatedLineCountBeforeClamp: number;
|
|
669
|
+
estimatedBlankLinesBeforeClamp: number;
|
|
670
|
+
htmlPath: string;
|
|
671
|
+
screenshotPath: string | undefined;
|
|
672
|
+
};
|
|
673
|
+
desktop: {
|
|
674
|
+
absoluteHtmlPath: string;
|
|
675
|
+
absoluteScreenshotPath: string | undefined;
|
|
676
|
+
textWidthPx: number;
|
|
677
|
+
viewportWidthPx: number;
|
|
678
|
+
fontSizePx: number;
|
|
679
|
+
lineHeightPx: number;
|
|
680
|
+
reviewClampLines: number;
|
|
681
|
+
estimatedVisibleTextBlock: string;
|
|
682
|
+
estimatedRenderedLines: string[];
|
|
683
|
+
estimatedLineCountBeforeClamp: number;
|
|
684
|
+
estimatedBlankLinesBeforeClamp: number;
|
|
685
|
+
htmlPath: string;
|
|
686
|
+
screenshotPath: string | undefined;
|
|
687
|
+
};
|
|
688
|
+
screenshotStatus: {
|
|
689
|
+
status: "rendered";
|
|
690
|
+
chromePath: string;
|
|
691
|
+
} | {
|
|
692
|
+
status: "skipped";
|
|
693
|
+
reason: string;
|
|
694
|
+
} | {
|
|
695
|
+
status: "failed";
|
|
696
|
+
reason: string;
|
|
697
|
+
chromePath?: string;
|
|
698
|
+
};
|
|
699
|
+
renderedPreview: {
|
|
700
|
+
basis: string;
|
|
701
|
+
cssContractVersion: string;
|
|
702
|
+
generatedAt: string;
|
|
703
|
+
sourceLabel: string;
|
|
704
|
+
mobile: {
|
|
705
|
+
textWidthPx: number;
|
|
706
|
+
viewportWidthPx: number;
|
|
707
|
+
fontSizePx: number;
|
|
708
|
+
lineHeightPx: number;
|
|
709
|
+
reviewClampLines: number;
|
|
710
|
+
estimatedVisibleTextBlock: string;
|
|
711
|
+
estimatedRenderedLines: string[];
|
|
712
|
+
estimatedLineCountBeforeClamp: number;
|
|
713
|
+
estimatedBlankLinesBeforeClamp: number;
|
|
714
|
+
htmlPath: string;
|
|
715
|
+
screenshotPath: string | undefined;
|
|
716
|
+
};
|
|
717
|
+
desktop: {
|
|
718
|
+
textWidthPx: number;
|
|
719
|
+
viewportWidthPx: number;
|
|
720
|
+
fontSizePx: number;
|
|
721
|
+
lineHeightPx: number;
|
|
722
|
+
reviewClampLines: number;
|
|
723
|
+
estimatedVisibleTextBlock: string;
|
|
724
|
+
estimatedRenderedLines: string[];
|
|
725
|
+
estimatedLineCountBeforeClamp: number;
|
|
726
|
+
estimatedBlankLinesBeforeClamp: number;
|
|
727
|
+
htmlPath: string;
|
|
728
|
+
screenshotPath: string | undefined;
|
|
729
|
+
};
|
|
730
|
+
diagnostics: {
|
|
731
|
+
charCount: number;
|
|
732
|
+
charCountIncludingNewlines: number;
|
|
733
|
+
firstLineChars: number;
|
|
734
|
+
firstTwoPhysicalLinesChars: number;
|
|
735
|
+
physicalLineCount: number;
|
|
736
|
+
contentLineCount: number;
|
|
737
|
+
longestNonblankLineChars: number;
|
|
738
|
+
blankLineCount: number;
|
|
739
|
+
};
|
|
740
|
+
screenshotStatus: {
|
|
741
|
+
status: "rendered";
|
|
742
|
+
chromePath: string;
|
|
743
|
+
} | {
|
|
744
|
+
status: "skipped";
|
|
745
|
+
reason: string;
|
|
746
|
+
} | {
|
|
747
|
+
status: "failed";
|
|
748
|
+
reason: string;
|
|
749
|
+
chromePath?: string;
|
|
750
|
+
};
|
|
751
|
+
};
|
|
752
|
+
};
|
|
532
753
|
export declare function updatePostDraftTool(input: {
|
|
533
754
|
draftId: string;
|
|
534
755
|
hookResearchId?: string;
|