@sellable/mcp 0.1.793 → 0.1.794

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 (54) hide show
  1. package/dist/agent-tool-names.d.ts +2 -2
  2. package/dist/agent-tool-names.js +14 -0
  3. package/dist/scheduler-envelope.d.ts +190 -0
  4. package/dist/scheduler-envelope.js +412 -0
  5. package/dist/server.js +28 -2
  6. package/dist/tools/campaign-message-preparation.d.ts +25 -0
  7. package/dist/tools/campaign-message-preparation.js +37 -0
  8. package/dist/tools/campaign-processing.d.ts +74 -1
  9. package/dist/tools/campaign-processing.js +57 -1
  10. package/dist/tools/prompts.d.ts +15 -3
  11. package/dist/tools/prompts.js +25 -0
  12. package/dist/tools/refill-executors.d.ts +43 -70
  13. package/dist/tools/refill-executors.js +201 -273
  14. package/dist/tools/refill-sends.d.ts +3 -3
  15. package/dist/tools/refill-sends.js +1 -1
  16. package/dist/tools/refill-target-plan.js +1 -1
  17. package/dist/tools/refill-v3-advance-contract.d.ts +618 -0
  18. package/dist/tools/refill-v3-advance-contract.js +920 -0
  19. package/dist/tools/refill-v3-advance.d.ts +397 -0
  20. package/dist/tools/refill-v3-advance.js +75 -0
  21. package/dist/tools/refill-v3-attention-packet-contract.d.ts +608 -0
  22. package/dist/tools/refill-v3-attention-packet-contract.js +911 -0
  23. package/dist/tools/refill-v3-campaign-work.d.ts +324 -0
  24. package/dist/tools/refill-v3-campaign-work.js +1015 -0
  25. package/dist/tools/refill-v3-continue-contract.d.ts +433 -0
  26. package/dist/tools/refill-v3-continue-contract.js +112 -0
  27. package/dist/tools/refill-v3-continue.d.ts +501 -0
  28. package/dist/tools/refill-v3-continue.js +654 -0
  29. package/dist/tools/refill-v3-edit-selected-campaign-contract.d.ts +208 -0
  30. package/dist/tools/refill-v3-edit-selected-campaign-contract.js +351 -0
  31. package/dist/tools/refill-v3-edit-selected-campaign.d.ts +232 -0
  32. package/dist/tools/refill-v3-edit-selected-campaign.js +147 -0
  33. package/dist/tools/refill-v3-fill-ready-contract.d.ts +198 -0
  34. package/dist/tools/refill-v3-fill-ready-contract.js +324 -0
  35. package/dist/tools/refill-v3-fill-ready.d.ts +199 -0
  36. package/dist/tools/refill-v3-fill-ready.js +136 -0
  37. package/dist/tools/refill-v3-source-family-dispatch.d.ts +249 -0
  38. package/dist/tools/refill-v3-source-family-dispatch.js +514 -0
  39. package/dist/tools/refill-v3-waterfall-contract.d.ts +156 -0
  40. package/dist/tools/refill-v3-waterfall-contract.js +181 -0
  41. package/dist/tools/refill-v3-waterfall.d.ts +136 -0
  42. package/dist/tools/refill-v3-waterfall.js +161 -0
  43. package/dist/tools/refill-v3-world-state-contract.d.ts +666 -0
  44. package/dist/tools/refill-v3-world-state-contract.js +790 -0
  45. package/dist/tools/refill-v3-world-state.d.ts +592 -0
  46. package/dist/tools/refill-v3-world-state.js +137 -0
  47. package/dist/tools/registry.d.ts +1710 -3
  48. package/dist/tools/registry.js +19 -0
  49. package/package.json +1 -1
  50. package/skills/refill-sends/SKILL.md +89 -4
  51. package/skills/refill-sends-waterfall-order/SKILL.md +174 -0
  52. package/skills/refill-sends-work-campaign/SKILL.md +253 -0
  53. package/skills/refill-sends-workflow/SKILL.md +112 -5
  54. package/skills/refill-sends-workflow/core/flow.v3.json +209 -0
@@ -0,0 +1,501 @@
1
+ import type { RefillV3AdvanceResult } from "./refill-v3-advance-contract.js";
2
+ import { type RefillV3AdvanceToolInput } from "./refill-v3-advance.js";
3
+ import type { RefillV3CampaignAttentionPacket } from "./refill-v3-attention-packet-contract.js";
4
+ import { type RefillV3CampaignWorkOutcome } from "./refill-v3-campaign-work.js";
5
+ import { dispatchRefillV3SourceFamily } from "./refill-v3-source-family-dispatch.js";
6
+ import { getRefillV3WorldStateTool } from "./refill-v3-world-state.js";
7
+ export declare const REFILL_V3_CONTINUE_TOOL_NAME: "refill_v3_continue";
8
+ export declare const refillV3ContinueToolDefinitions: {
9
+ name: "refill_v3_continue";
10
+ description: string;
11
+ inputSchema: Readonly<{
12
+ readonly type: "object";
13
+ readonly additionalProperties: false;
14
+ readonly required: readonly ["workspaceId", "scope", "packet", "decision"];
15
+ readonly properties: {
16
+ readonly workspaceId: {
17
+ readonly type: "string";
18
+ readonly minLength: 1;
19
+ readonly description: "Explicit request-scoped workspace id. Pass this instead of switching the shared active workspace.";
20
+ };
21
+ readonly scope: {
22
+ readonly description: "Either a 1-3 day sender-local horizon or an exact sender/date set. There is no lane input, no row input, and no mode input.";
23
+ readonly oneOf: readonly [{
24
+ readonly type: "object";
25
+ readonly additionalProperties: false;
26
+ readonly required: readonly ["kind", "days"];
27
+ readonly properties: {
28
+ readonly kind: {
29
+ readonly type: "string";
30
+ readonly const: "sender_local_horizon";
31
+ };
32
+ readonly days: {
33
+ readonly type: "integer";
34
+ readonly minimum: 1;
35
+ readonly maximum: 3;
36
+ };
37
+ readonly senderIds: {
38
+ readonly type: "array";
39
+ readonly items: {
40
+ readonly type: "string";
41
+ readonly minLength: 1;
42
+ };
43
+ readonly minItems: 1;
44
+ };
45
+ };
46
+ }, {
47
+ readonly type: "object";
48
+ readonly additionalProperties: false;
49
+ readonly required: readonly ["kind", "senderDates"];
50
+ readonly properties: {
51
+ readonly kind: {
52
+ readonly type: "string";
53
+ readonly const: "exact_sender_dates";
54
+ };
55
+ readonly senderDates: {
56
+ readonly type: "array";
57
+ readonly minItems: 1;
58
+ readonly items: {
59
+ readonly type: "object";
60
+ readonly additionalProperties: false;
61
+ readonly required: readonly ["senderId", "dates"];
62
+ readonly properties: {
63
+ readonly senderId: {
64
+ readonly type: "string";
65
+ readonly minLength: 1;
66
+ };
67
+ readonly dates: {
68
+ readonly type: "array";
69
+ readonly minItems: 1;
70
+ readonly items: {
71
+ readonly type: "string";
72
+ readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
73
+ };
74
+ };
75
+ };
76
+ };
77
+ };
78
+ };
79
+ }];
80
+ };
81
+ readonly yolo: {
82
+ readonly type: "boolean";
83
+ readonly description: "The operator's AUTONOMY GRANT, true only when the operator actually asked for --yolo. It is not a mode and selects nothing: WHICH campaign may start is derived from the workspace's own campaigns. It authorizes exactly one thing this call could not otherwise do — starting one already-eligible PAUSED derived-evergreen campaign once every active campaign for a row is exhausted. Omit it, or pass false, for a conservative run that reports that exhaustion instead of acting on it.";
84
+ };
85
+ readonly packet: Readonly<{
86
+ readonly type: "object";
87
+ readonly additionalProperties: false;
88
+ readonly required: readonly ["scope", "evidence"];
89
+ readonly properties: {
90
+ readonly scope: {
91
+ readonly type: "object";
92
+ readonly additionalProperties: false;
93
+ readonly required: readonly ["workspaceId", "campaignId", "tableId", "campaignVersion", "evidenceFingerprint", "senderId", "date", "lane", "actionType"];
94
+ readonly properties: {
95
+ readonly workspaceId: {
96
+ readonly type: "string";
97
+ readonly minLength: 1;
98
+ };
99
+ readonly campaignId: {
100
+ readonly type: "string";
101
+ readonly minLength: 1;
102
+ };
103
+ readonly tableId: {
104
+ readonly type: "string";
105
+ readonly minLength: 1;
106
+ };
107
+ readonly campaignVersion: {
108
+ readonly type: "integer";
109
+ readonly minimum: 0;
110
+ };
111
+ readonly evidenceFingerprint: {
112
+ readonly type: "string";
113
+ readonly minLength: 1;
114
+ };
115
+ readonly senderId: {
116
+ readonly type: "string";
117
+ readonly minLength: 1;
118
+ };
119
+ readonly date: {
120
+ readonly type: "string";
121
+ readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
122
+ };
123
+ readonly lane: {
124
+ readonly type: "string";
125
+ readonly enum: string[];
126
+ };
127
+ readonly actionType: {
128
+ readonly type: "string";
129
+ readonly enum: ("send_invite" | "send_inmail_closed")[];
130
+ };
131
+ };
132
+ };
133
+ readonly evidence: {
134
+ readonly type: "object";
135
+ readonly additionalProperties: false;
136
+ readonly required: readonly ["campaignType", "campaignObjective", "protectedFitDigest", "leadSourceFamily", "provider", "sourceLineage", "priorYieldReceipt", "searchedNegativeSetFingerprints", "remainingGap", "supply", "activeJob", "failedJobRef", "diagnosticRowRef"];
137
+ readonly properties: {
138
+ readonly campaignType: {
139
+ readonly type: "string";
140
+ };
141
+ readonly campaignObjective: {
142
+ readonly type: "string";
143
+ };
144
+ readonly protectedFitDigest: {
145
+ readonly type: "string";
146
+ };
147
+ readonly leadSourceFamily: {
148
+ readonly type: "string";
149
+ readonly enum: readonly ["post_engager", "signal_discovery", "cold"];
150
+ };
151
+ readonly provider: {
152
+ readonly type: readonly ["string", "null"];
153
+ };
154
+ readonly selectedLeadListId: {
155
+ readonly type: readonly ["string", "null"];
156
+ };
157
+ readonly providerSearchReference: {
158
+ readonly type: readonly ["object", "null"];
159
+ readonly additionalProperties: false;
160
+ readonly required: readonly ["workspaceId", "provider", "sourceTableId", "searchId", "resolutionOrigin", "owner", "basisFingerprint"];
161
+ readonly properties: {
162
+ readonly workspaceId: {
163
+ readonly type: "string";
164
+ };
165
+ readonly provider: {
166
+ readonly type: "string";
167
+ readonly enum: readonly ["sales-nav", "prospeo"];
168
+ };
169
+ readonly sourceTableId: {
170
+ readonly type: "string";
171
+ };
172
+ readonly searchId: {
173
+ readonly type: "string";
174
+ };
175
+ readonly resolutionOrigin: {
176
+ readonly type: "string";
177
+ readonly enum: readonly ["config_import_job", "exact_table_job", "find_leads_run"];
178
+ };
179
+ readonly owner: {
180
+ readonly type: "object";
181
+ readonly additionalProperties: false;
182
+ readonly required: readonly ["kind", "id"];
183
+ readonly properties: {
184
+ readonly kind: {
185
+ readonly type: "string";
186
+ readonly enum: readonly ["campaign", "find_leads_run"];
187
+ };
188
+ readonly id: {
189
+ readonly type: "string";
190
+ };
191
+ };
192
+ };
193
+ readonly basisFingerprint: {
194
+ readonly type: "string";
195
+ };
196
+ };
197
+ };
198
+ readonly sourceLineage: {
199
+ readonly type: "array";
200
+ readonly items: {
201
+ readonly type: "string";
202
+ };
203
+ };
204
+ readonly priorYieldReceipt: {
205
+ readonly type: readonly ["object", "null"];
206
+ readonly additionalProperties: false;
207
+ readonly required: readonly ["family", "evaluated", "passes"];
208
+ readonly properties: {
209
+ readonly family: {
210
+ readonly type: "string";
211
+ readonly enum: readonly ["post_engager", "signal_discovery", "cold"];
212
+ };
213
+ readonly evaluated: {
214
+ readonly type: "integer";
215
+ readonly minimum: 0;
216
+ };
217
+ readonly passes: {
218
+ readonly type: "integer";
219
+ readonly minimum: 0;
220
+ };
221
+ };
222
+ };
223
+ readonly searchedNegativeSetFingerprints: {
224
+ readonly type: "array";
225
+ readonly items: {
226
+ readonly type: "string";
227
+ };
228
+ };
229
+ readonly remainingGap: {
230
+ readonly type: "integer";
231
+ readonly minimum: 0;
232
+ };
233
+ readonly supply: {
234
+ readonly type: "object";
235
+ readonly additionalProperties: false;
236
+ readonly required: readonly ["readyToSchedule", "readyForApproval", "readyForMessageGeneration", "needsEnrichment"];
237
+ readonly properties: {
238
+ readonly readyToSchedule: {
239
+ readonly type: "integer";
240
+ readonly minimum: 0;
241
+ };
242
+ readonly readyForApproval: {
243
+ readonly type: "integer";
244
+ readonly minimum: 0;
245
+ };
246
+ readonly readyForMessageGeneration: {
247
+ readonly type: "integer";
248
+ readonly minimum: 0;
249
+ };
250
+ readonly needsEnrichment: {
251
+ readonly type: "integer";
252
+ readonly minimum: 0;
253
+ };
254
+ };
255
+ };
256
+ readonly activeJob: {
257
+ readonly type: readonly ["object", "null"];
258
+ readonly additionalProperties: false;
259
+ readonly required: readonly ["id", "kind", "status"];
260
+ readonly properties: {
261
+ readonly id: {
262
+ readonly type: "string";
263
+ readonly minLength: 1;
264
+ };
265
+ readonly kind: {
266
+ readonly type: "string";
267
+ readonly enum: readonly ["enrichment", "message_generation", "source_expansion", "scheduling"];
268
+ };
269
+ readonly status: {
270
+ readonly type: "string";
271
+ readonly enum: readonly ["queued", "running"];
272
+ };
273
+ };
274
+ };
275
+ readonly failedJobRef: {
276
+ readonly type: readonly ["string", "null"];
277
+ };
278
+ readonly diagnosticRowRef: {
279
+ readonly type: readonly ["object", "null"];
280
+ readonly additionalProperties: false;
281
+ readonly required: readonly ["count", "selectorRef"];
282
+ readonly properties: {
283
+ readonly count: {
284
+ readonly type: "integer";
285
+ readonly minimum: 0;
286
+ readonly maximum: 10;
287
+ };
288
+ readonly selectorRef: {
289
+ readonly type: "string";
290
+ readonly minLength: 1;
291
+ };
292
+ };
293
+ };
294
+ readonly repairableExistingRows: {
295
+ readonly type: "integer";
296
+ readonly minimum: 0;
297
+ };
298
+ readonly retryExhaustedRows: {
299
+ readonly type: "integer";
300
+ readonly minimum: 0;
301
+ };
302
+ readonly laneSchedulable: {
303
+ readonly type: readonly ["integer", "null"];
304
+ readonly minimum: 0;
305
+ };
306
+ };
307
+ };
308
+ };
309
+ }>;
310
+ readonly decision: {
311
+ readonly type: "object";
312
+ readonly additionalProperties: false;
313
+ readonly required: readonly ["scopeEcho", "actions", "consumedDiagnosticRowIds"];
314
+ readonly properties: {
315
+ readonly scopeEcho: {
316
+ readonly type: "object";
317
+ readonly additionalProperties: false;
318
+ readonly required: readonly ["campaignId", "tableId", "campaignVersion", "evidenceFingerprint"];
319
+ readonly properties: {
320
+ readonly campaignId: {
321
+ readonly type: "string";
322
+ readonly minLength: 1;
323
+ };
324
+ readonly tableId: {
325
+ readonly type: "string";
326
+ readonly minLength: 1;
327
+ };
328
+ readonly campaignVersion: {
329
+ readonly type: "integer";
330
+ };
331
+ readonly evidenceFingerprint: {
332
+ readonly type: "string";
333
+ readonly minLength: 1;
334
+ };
335
+ };
336
+ };
337
+ readonly actions: {
338
+ readonly type: "array";
339
+ readonly minItems: 1;
340
+ readonly maxItems: 1;
341
+ readonly items: Readonly<{
342
+ readonly type: "object";
343
+ readonly additionalProperties: false;
344
+ readonly required: readonly ["action", "rationale"];
345
+ readonly properties: {
346
+ readonly action: {
347
+ readonly type: "string";
348
+ readonly enum: readonly ["rerun_errored_cells", "repair_campaign_config", "enrich_bounded_sample", "regenerate_stale_messages", "patch_filter_criteria", "patch_source_criteria", "broaden_source_family", "request_rubric_trial", "await_active_job", "record_source_frontier_exhausted"];
349
+ };
350
+ readonly rationale: {
351
+ readonly type: "string";
352
+ readonly minLength: 1;
353
+ };
354
+ readonly rowIds: {
355
+ readonly type: readonly ["array", "null"];
356
+ readonly items: {
357
+ readonly type: "string";
358
+ readonly minLength: 1;
359
+ };
360
+ };
361
+ readonly sourceCommand: {
362
+ readonly type: readonly ["object", "null"];
363
+ };
364
+ readonly candidateVerdicts: {
365
+ readonly type: readonly ["array", "null"];
366
+ readonly items: {
367
+ readonly type: "object";
368
+ readonly additionalProperties: false;
369
+ readonly required: readonly ["candidateId", "verdict", "rubricBasis"];
370
+ readonly properties: {
371
+ readonly candidateId: {
372
+ readonly type: "string";
373
+ readonly minLength: 1;
374
+ };
375
+ readonly verdict: {
376
+ readonly type: "string";
377
+ readonly enum: readonly ["pass", "fail"];
378
+ };
379
+ readonly rubricBasis: {
380
+ readonly type: "string";
381
+ readonly minLength: 1;
382
+ };
383
+ };
384
+ };
385
+ };
386
+ readonly templateFingerprint: {
387
+ readonly type: readonly ["string", "null"];
388
+ };
389
+ readonly templateMeaningChanged: {
390
+ readonly type: "boolean";
391
+ };
392
+ readonly exhaustionEvidence: {
393
+ readonly type: readonly ["object", "null"];
394
+ };
395
+ readonly providerPromptRef: {
396
+ readonly type: readonly ["object", "null"];
397
+ readonly additionalProperties: false;
398
+ readonly required: readonly ["provider", "campaignOfferId"];
399
+ readonly properties: {
400
+ readonly provider: {
401
+ readonly type: "string";
402
+ readonly minLength: 1;
403
+ };
404
+ readonly campaignOfferId: {
405
+ readonly type: "string";
406
+ readonly minLength: 1;
407
+ };
408
+ };
409
+ };
410
+ };
411
+ }>;
412
+ };
413
+ readonly consumedDiagnosticRowIds: {
414
+ readonly type: readonly ["array", "null"];
415
+ readonly items: {
416
+ readonly type: "string";
417
+ readonly minLength: 1;
418
+ };
419
+ };
420
+ };
421
+ };
422
+ };
423
+ }>;
424
+ outputSchema: Readonly<{
425
+ readonly type: "object";
426
+ readonly required: readonly ["kind"];
427
+ readonly properties: {
428
+ readonly kind: {
429
+ readonly type: "string";
430
+ readonly enum: readonly ["world_advanced", "attention_refresh_required", "campaign_work_completed"];
431
+ };
432
+ readonly advanceResult: {
433
+ readonly type: "object";
434
+ };
435
+ readonly outcome: {
436
+ readonly type: "object";
437
+ };
438
+ };
439
+ readonly additionalProperties: false;
440
+ }>;
441
+ annotations: {
442
+ title: string;
443
+ readOnlyHint: boolean;
444
+ destructiveHint: boolean;
445
+ idempotentHint: boolean;
446
+ openWorldHint: boolean;
447
+ };
448
+ }[];
449
+ export type RefillV3ContinueInput = {
450
+ workspaceId: string;
451
+ scope: unknown;
452
+ yolo?: boolean;
453
+ packet: RefillV3CampaignAttentionPacket;
454
+ decision: unknown;
455
+ };
456
+ export type RefillV3ContinueResult = {
457
+ kind: "world_advanced";
458
+ advanceResult: RefillV3AdvanceResult;
459
+ } | {
460
+ kind: "attention_refresh_required";
461
+ advanceResult: RefillV3AdvanceResult;
462
+ } | {
463
+ kind: "campaign_work_completed";
464
+ outcome: RefillV3CampaignWorkOutcome;
465
+ };
466
+ export type RefillV3ContinueDependencies = {
467
+ advance(input: RefillV3AdvanceToolInput): Promise<RefillV3AdvanceResult>;
468
+ runCampaignWork(input: {
469
+ packet: RefillV3CampaignAttentionPacket;
470
+ output: unknown;
471
+ }): Promise<RefillV3CampaignWorkOutcome>;
472
+ };
473
+ type RefillV3ContinueProductionOwners = {
474
+ selectCampaignCells: typeof selectCampaignCells;
475
+ selectRepairableCampaignCells: typeof selectRepairableCampaignCells;
476
+ getPrepareCampaignMessagesStatus: typeof getPrepareCampaignMessagesStatus;
477
+ startPrepareCampaignMessages: typeof startPrepareCampaignMessages;
478
+ getProviderPrompt: typeof getProviderPrompt;
479
+ executeRerunErroredCellsPrimitive: typeof executeRerunErroredCellsPrimitive;
480
+ refillV3SourceFamilyOwners: typeof refillV3SourceFamilyOwners;
481
+ dispatchRefillV3SourceFamily: typeof dispatchRefillV3SourceFamily;
482
+ broadenRubrics: typeof broadenRubrics;
483
+ getRefillV3WorldStateTool: typeof getRefillV3WorldStateTool;
484
+ };
485
+ export declare function runRefillV3CampaignWorkWithProductionOwners(input: {
486
+ packet: RefillV3CampaignAttentionPacket;
487
+ output: unknown;
488
+ }, owners?: RefillV3ContinueProductionOwners): Promise<RefillV3CampaignWorkOutcome>;
489
+ export declare function continueRefillV3(input: RefillV3ContinueInput, dependencies?: RefillV3ContinueDependencies): Promise<RefillV3ContinueResult>;
490
+ export declare function continueRefillV3Tool(input: {
491
+ workspaceId?: string;
492
+ scope?: unknown;
493
+ yolo?: boolean;
494
+ packet?: unknown;
495
+ decision?: unknown;
496
+ }): Promise<RefillV3ContinueResult>;
497
+ import { getPrepareCampaignMessagesStatus, startPrepareCampaignMessages } from "./campaign-message-preparation.js";
498
+ import { selectCampaignCells, selectRepairableCampaignCells } from "./campaign-processing.js";
499
+ import { getProviderPrompt } from "./leads.js";
500
+ import { broadenRubrics, executeRerunErroredCellsPrimitive, refillV3SourceFamilyOwners } from "./refill-executors.js";
501
+ export {};