@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 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;