@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,592 @@
1
+ /**
2
+ * Refill V3 world-state PUBLIC MCP projection (Phase 146.5 Plan 08, RV3MCP-001).
3
+ *
4
+ * This is a THIN projection and nothing else:
5
+ *
6
+ * 1. it mirrors Plan 02's DECLARATIVE request vocabulary so a protocol-level
7
+ * validator refuses closed-vocabulary drift before the handler runs;
8
+ * 2. it applies the ONE shared explicit-workspace guard, because a
9
+ * request-scoped automation must never switch the shared active workspace;
10
+ * 3. it posts the caller body once to the authenticated aggregate route, whose
11
+ * `parseRefillWorldStateInput` is the SOLE runtime authority for duplicate
12
+ * scope identities, invalid dates, unknown/cross-form keys, and canonical
13
+ * sorting; and
14
+ * 4. it returns only what Plan 02's SOLE unknown-value decoder produced.
15
+ *
16
+ * It holds no result-field rules, no second decoder, no business policy, and no
17
+ * hand-built MCP envelope — the central `toMcpToolResult` owns the wire result.
18
+ *
19
+ * `isError` is a TRANSPORT concern only (error law 6). A typed business blocker
20
+ * inside a well-formed decoded result is a successful response VALUE and passes
21
+ * through VERBATIM; this module therefore contains no branch that reads a
22
+ * decoded business field to decide failure.
23
+ *
24
+ * The declarative input schema is mirrored here rather than imported because the
25
+ * published package must never import app `src/**`. The mirror is not trusted:
26
+ * `tests/mcp/refill-v3/world-state-tool.test.ts` asserts it deep-equals the
27
+ * owner's `REFILL_V3_WORLD_STATE_INPUT_SCHEMA`, so drift is a failing pin.
28
+ */
29
+ import { type RefillWorldStateResult } from "./refill-v3-world-state-contract.js";
30
+ /** The one authenticated backend boundary this projection may reach. */
31
+ export declare const REFILL_V3_WORLD_STATE_ROUTE = "/api/v3/mcp/refill-v3/world-state";
32
+ export declare const REFILL_V3_WORLD_STATE_TOOL_NAME: "refill_v3_world_state";
33
+ export declare const refillV3WorldStateToolDefinitions: {
34
+ name: "refill_v3_world_state";
35
+ description: string;
36
+ inputSchema: {
37
+ readonly type: "object";
38
+ readonly additionalProperties: false;
39
+ readonly required: readonly ["workspaceId", "scope"];
40
+ readonly properties: {
41
+ readonly workspaceId: {
42
+ readonly type: "string";
43
+ readonly minLength: 1;
44
+ };
45
+ readonly scope: {
46
+ readonly oneOf: readonly [{
47
+ readonly type: "object";
48
+ readonly additionalProperties: false;
49
+ readonly required: readonly ["kind", "days"];
50
+ readonly properties: {
51
+ readonly kind: {
52
+ readonly type: "string";
53
+ readonly enum: readonly ["sender_local_horizon"];
54
+ };
55
+ readonly days: {
56
+ readonly type: "integer";
57
+ readonly minimum: 1;
58
+ readonly maximum: 3;
59
+ readonly description: "sender-local intent; 3 means each sender's local today plus the next two local days";
60
+ };
61
+ readonly senderIds: {
62
+ readonly type: "array";
63
+ readonly minItems: 1;
64
+ readonly items: {
65
+ readonly type: "string";
66
+ readonly minLength: 1;
67
+ };
68
+ readonly description: "omit for every active workspace sender";
69
+ };
70
+ };
71
+ }, {
72
+ readonly type: "object";
73
+ readonly additionalProperties: false;
74
+ readonly required: readonly ["kind", "senderDates"];
75
+ readonly properties: {
76
+ readonly kind: {
77
+ readonly type: "string";
78
+ readonly enum: readonly ["exact_sender_dates"];
79
+ };
80
+ readonly senderDates: {
81
+ readonly type: "array";
82
+ readonly minItems: 1;
83
+ readonly items: {
84
+ readonly type: "object";
85
+ readonly additionalProperties: false;
86
+ readonly required: readonly ["senderId", "dates"];
87
+ readonly properties: {
88
+ readonly senderId: {
89
+ readonly type: "string";
90
+ readonly minLength: 1;
91
+ };
92
+ readonly dates: {
93
+ readonly type: "array";
94
+ readonly minItems: 1;
95
+ readonly items: {
96
+ readonly type: "string";
97
+ readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
98
+ };
99
+ };
100
+ };
101
+ };
102
+ };
103
+ };
104
+ }];
105
+ };
106
+ };
107
+ };
108
+ outputSchema: Readonly<{
109
+ readonly type: "object";
110
+ readonly additionalProperties: false;
111
+ readonly required: readonly ["rows", "durationMs", "observationSideEffects"];
112
+ readonly properties: {
113
+ readonly rows: {
114
+ readonly type: "array";
115
+ readonly items: {
116
+ readonly type: "object";
117
+ readonly additionalProperties: false;
118
+ readonly required: readonly ["date", "sender", "lane", "targetSlots", "takenSlots", "availableSlots", "reason", "activeCampaigns", "inactiveCampaigns"];
119
+ readonly properties: {
120
+ readonly date: {
121
+ readonly type: "string";
122
+ readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
123
+ };
124
+ readonly sender: {
125
+ readonly type: "object";
126
+ readonly additionalProperties: false;
127
+ readonly required: readonly ["id", "name", "timezone"];
128
+ readonly properties: {
129
+ readonly id: {
130
+ readonly type: "string";
131
+ readonly minLength: 1;
132
+ };
133
+ readonly name: {
134
+ readonly type: "string";
135
+ };
136
+ readonly timezone: {
137
+ readonly type: "string";
138
+ readonly minLength: 1;
139
+ };
140
+ };
141
+ };
142
+ readonly lane: {
143
+ readonly type: "string";
144
+ readonly enum: readonly ["connection_invite", "paid_inmail"];
145
+ };
146
+ readonly targetSlots: {
147
+ readonly type: "integer";
148
+ readonly minimum: 0;
149
+ };
150
+ readonly takenSlots: {
151
+ readonly type: "integer";
152
+ readonly minimum: 0;
153
+ };
154
+ readonly availableSlots: {
155
+ readonly type: "integer";
156
+ readonly minimum: 0;
157
+ };
158
+ readonly reason: {
159
+ readonly type: readonly ["object", "null"];
160
+ readonly additionalProperties: false;
161
+ readonly required: readonly ["kind", "codes", "message"];
162
+ readonly properties: {
163
+ readonly kind: {
164
+ readonly type: "string";
165
+ readonly enum: readonly ["unavailable", "retry_required", "invalid_campaign_configuration"];
166
+ };
167
+ readonly codes: {
168
+ readonly type: "array";
169
+ readonly items: {
170
+ readonly type: "string";
171
+ readonly enum: readonly ["global_cooldown", "connection_cooldown", "paid_inmail_cooldown", "endpoint_temporarily_unavailable", "date_in_past", "no_sending_hours", "sender_disconnected", "sender_limit_reached", "daily_target_met", "no_eligible_campaign", "no_ready_supply", "sales_nav_disconnected", "insufficient_paid_credits", "paid_inmail_connection_health_recheck_required", "paid_inmail_credit_refresh_failed", "invalid_paid_configuration", "campaign_table_missing", "campaign_sequence_invalid", "source_family_unresolved", "campaign_work_in_flight"];
172
+ };
173
+ };
174
+ readonly message: {
175
+ readonly type: "string";
176
+ };
177
+ readonly resumeAt: {
178
+ readonly type: "string";
179
+ };
180
+ };
181
+ };
182
+ readonly activeCampaigns: {
183
+ readonly type: "array";
184
+ readonly items: {
185
+ readonly type: "object";
186
+ readonly additionalProperties: false;
187
+ readonly required: readonly ["id", "name", "status", "lanes", "eligible", "reason", "startEligible", "activeJob", "supply", "leadSourceFamily", "evidence"];
188
+ readonly properties: {
189
+ readonly id: {
190
+ readonly type: "string";
191
+ readonly minLength: 1;
192
+ };
193
+ readonly name: {
194
+ readonly type: "string";
195
+ };
196
+ readonly status: {
197
+ readonly type: "string";
198
+ readonly enum: readonly ["ACTIVE", "PAUSED"];
199
+ };
200
+ readonly lanes: {
201
+ readonly type: "array";
202
+ readonly minItems: 1;
203
+ readonly items: {
204
+ readonly type: "string";
205
+ readonly enum: readonly ["connection_invite", "paid_inmail"];
206
+ };
207
+ };
208
+ readonly eligible: {
209
+ readonly type: "boolean";
210
+ };
211
+ readonly reason: {
212
+ readonly type: readonly ["object", "null"];
213
+ readonly additionalProperties: false;
214
+ readonly required: readonly ["kind", "codes", "message"];
215
+ readonly properties: {
216
+ readonly kind: {
217
+ readonly type: "string";
218
+ readonly enum: readonly ["unavailable", "retry_required", "invalid_campaign_configuration"];
219
+ };
220
+ readonly codes: {
221
+ readonly type: "array";
222
+ readonly items: {
223
+ readonly type: "string";
224
+ readonly enum: readonly ["global_cooldown", "connection_cooldown", "paid_inmail_cooldown", "endpoint_temporarily_unavailable", "date_in_past", "no_sending_hours", "sender_disconnected", "sender_limit_reached", "daily_target_met", "no_eligible_campaign", "no_ready_supply", "sales_nav_disconnected", "insufficient_paid_credits", "paid_inmail_connection_health_recheck_required", "paid_inmail_credit_refresh_failed", "invalid_paid_configuration", "campaign_table_missing", "campaign_sequence_invalid", "source_family_unresolved", "campaign_work_in_flight"];
225
+ };
226
+ };
227
+ readonly message: {
228
+ readonly type: "string";
229
+ };
230
+ readonly resumeAt: {
231
+ readonly type: "string";
232
+ };
233
+ };
234
+ };
235
+ readonly startEligible: {
236
+ readonly type: "boolean";
237
+ };
238
+ readonly activeJob: {
239
+ readonly type: readonly ["object", "null"];
240
+ readonly additionalProperties: false;
241
+ readonly required: readonly ["id", "kind", "status"];
242
+ readonly properties: {
243
+ readonly id: {
244
+ readonly type: "string";
245
+ readonly minLength: 1;
246
+ };
247
+ readonly kind: {
248
+ readonly type: "string";
249
+ readonly enum: readonly ["enrichment", "message_generation", "source_expansion", "scheduling"];
250
+ };
251
+ readonly status: {
252
+ readonly type: "string";
253
+ readonly enum: readonly ["queued", "running"];
254
+ };
255
+ };
256
+ };
257
+ readonly supply: {
258
+ readonly type: "object";
259
+ readonly additionalProperties: false;
260
+ readonly required: readonly ["readyToSchedule", "readyForApproval", "readyForMessageGeneration", "needsEnrichment"];
261
+ readonly properties: {
262
+ readonly readyToSchedule: {
263
+ readonly type: "integer";
264
+ readonly minimum: 0;
265
+ };
266
+ readonly readyForApproval: {
267
+ readonly type: "integer";
268
+ readonly minimum: 0;
269
+ };
270
+ readonly readyForMessageGeneration: {
271
+ readonly type: "integer";
272
+ readonly minimum: 0;
273
+ };
274
+ readonly needsEnrichment: {
275
+ readonly type: "integer";
276
+ readonly minimum: 0;
277
+ };
278
+ };
279
+ };
280
+ readonly leadSourceFamily: {
281
+ readonly type: "string";
282
+ readonly enum: readonly ["post_engager", "signal_discovery", "cold"];
283
+ };
284
+ readonly evidence: {
285
+ readonly type: "object";
286
+ readonly additionalProperties: false;
287
+ readonly required: readonly ["evergreen", "lastActualUseAt", "lastScheduledUseAt", "effectiveness", "supplyHealth"];
288
+ readonly properties: {
289
+ readonly evergreen: {
290
+ readonly type: "boolean";
291
+ };
292
+ readonly lastActualUseAt: {
293
+ readonly type: readonly ["string", "null"];
294
+ };
295
+ readonly lastScheduledUseAt: {
296
+ readonly type: readonly ["string", "null"];
297
+ };
298
+ readonly effectiveness: {
299
+ readonly type: "string";
300
+ readonly enum: readonly ["unknown", "low", "medium", "high"];
301
+ };
302
+ readonly supplyHealth: {
303
+ readonly type: "string";
304
+ readonly enum: readonly ["unknown", "healthy", "thin", "dry"];
305
+ };
306
+ readonly engagement: {
307
+ readonly type: "object";
308
+ readonly additionalProperties: false;
309
+ readonly required: readonly ["sends", "accepted", "replied", "acceptRate", "replyRate"];
310
+ readonly properties: {
311
+ readonly sends: {
312
+ readonly type: "number";
313
+ readonly minimum: 0;
314
+ };
315
+ readonly accepted: {
316
+ readonly type: "number";
317
+ readonly minimum: 0;
318
+ };
319
+ readonly replied: {
320
+ readonly type: "number";
321
+ readonly minimum: 0;
322
+ };
323
+ readonly acceptRate: {
324
+ readonly type: "number";
325
+ readonly minimum: 0;
326
+ readonly maximum: 100;
327
+ };
328
+ readonly replyRate: {
329
+ readonly type: "number";
330
+ readonly minimum: 0;
331
+ readonly maximum: 100;
332
+ };
333
+ };
334
+ };
335
+ };
336
+ };
337
+ };
338
+ };
339
+ };
340
+ readonly inactiveCampaigns: {
341
+ readonly type: "array";
342
+ readonly items: {
343
+ readonly type: "object";
344
+ readonly additionalProperties: false;
345
+ readonly required: readonly ["id", "name", "status", "lanes", "eligible", "reason", "startEligible", "activeJob", "supply", "leadSourceFamily", "evidence"];
346
+ readonly properties: {
347
+ readonly id: {
348
+ readonly type: "string";
349
+ readonly minLength: 1;
350
+ };
351
+ readonly name: {
352
+ readonly type: "string";
353
+ };
354
+ readonly status: {
355
+ readonly type: "string";
356
+ readonly enum: readonly ["ACTIVE", "PAUSED"];
357
+ };
358
+ readonly lanes: {
359
+ readonly type: "array";
360
+ readonly minItems: 1;
361
+ readonly items: {
362
+ readonly type: "string";
363
+ readonly enum: readonly ["connection_invite", "paid_inmail"];
364
+ };
365
+ };
366
+ readonly eligible: {
367
+ readonly type: "boolean";
368
+ };
369
+ readonly reason: {
370
+ readonly type: readonly ["object", "null"];
371
+ readonly additionalProperties: false;
372
+ readonly required: readonly ["kind", "codes", "message"];
373
+ readonly properties: {
374
+ readonly kind: {
375
+ readonly type: "string";
376
+ readonly enum: readonly ["unavailable", "retry_required", "invalid_campaign_configuration"];
377
+ };
378
+ readonly codes: {
379
+ readonly type: "array";
380
+ readonly items: {
381
+ readonly type: "string";
382
+ readonly enum: readonly ["global_cooldown", "connection_cooldown", "paid_inmail_cooldown", "endpoint_temporarily_unavailable", "date_in_past", "no_sending_hours", "sender_disconnected", "sender_limit_reached", "daily_target_met", "no_eligible_campaign", "no_ready_supply", "sales_nav_disconnected", "insufficient_paid_credits", "paid_inmail_connection_health_recheck_required", "paid_inmail_credit_refresh_failed", "invalid_paid_configuration", "campaign_table_missing", "campaign_sequence_invalid", "source_family_unresolved", "campaign_work_in_flight"];
383
+ };
384
+ };
385
+ readonly message: {
386
+ readonly type: "string";
387
+ };
388
+ readonly resumeAt: {
389
+ readonly type: "string";
390
+ };
391
+ };
392
+ };
393
+ readonly startEligible: {
394
+ readonly type: "boolean";
395
+ };
396
+ readonly activeJob: {
397
+ readonly type: readonly ["object", "null"];
398
+ readonly additionalProperties: false;
399
+ readonly required: readonly ["id", "kind", "status"];
400
+ readonly properties: {
401
+ readonly id: {
402
+ readonly type: "string";
403
+ readonly minLength: 1;
404
+ };
405
+ readonly kind: {
406
+ readonly type: "string";
407
+ readonly enum: readonly ["enrichment", "message_generation", "source_expansion", "scheduling"];
408
+ };
409
+ readonly status: {
410
+ readonly type: "string";
411
+ readonly enum: readonly ["queued", "running"];
412
+ };
413
+ };
414
+ };
415
+ readonly supply: {
416
+ readonly type: "object";
417
+ readonly additionalProperties: false;
418
+ readonly required: readonly ["readyToSchedule", "readyForApproval", "readyForMessageGeneration", "needsEnrichment"];
419
+ readonly properties: {
420
+ readonly readyToSchedule: {
421
+ readonly type: "integer";
422
+ readonly minimum: 0;
423
+ };
424
+ readonly readyForApproval: {
425
+ readonly type: "integer";
426
+ readonly minimum: 0;
427
+ };
428
+ readonly readyForMessageGeneration: {
429
+ readonly type: "integer";
430
+ readonly minimum: 0;
431
+ };
432
+ readonly needsEnrichment: {
433
+ readonly type: "integer";
434
+ readonly minimum: 0;
435
+ };
436
+ };
437
+ };
438
+ readonly leadSourceFamily: {
439
+ readonly type: "string";
440
+ readonly enum: readonly ["post_engager", "signal_discovery", "cold"];
441
+ };
442
+ readonly evidence: {
443
+ readonly type: "object";
444
+ readonly additionalProperties: false;
445
+ readonly required: readonly ["evergreen", "lastActualUseAt", "lastScheduledUseAt", "effectiveness", "supplyHealth"];
446
+ readonly properties: {
447
+ readonly evergreen: {
448
+ readonly type: "boolean";
449
+ };
450
+ readonly lastActualUseAt: {
451
+ readonly type: readonly ["string", "null"];
452
+ };
453
+ readonly lastScheduledUseAt: {
454
+ readonly type: readonly ["string", "null"];
455
+ };
456
+ readonly effectiveness: {
457
+ readonly type: "string";
458
+ readonly enum: readonly ["unknown", "low", "medium", "high"];
459
+ };
460
+ readonly supplyHealth: {
461
+ readonly type: "string";
462
+ readonly enum: readonly ["unknown", "healthy", "thin", "dry"];
463
+ };
464
+ readonly engagement: {
465
+ readonly type: "object";
466
+ readonly additionalProperties: false;
467
+ readonly required: readonly ["sends", "accepted", "replied", "acceptRate", "replyRate"];
468
+ readonly properties: {
469
+ readonly sends: {
470
+ readonly type: "number";
471
+ readonly minimum: 0;
472
+ };
473
+ readonly accepted: {
474
+ readonly type: "number";
475
+ readonly minimum: 0;
476
+ };
477
+ readonly replied: {
478
+ readonly type: "number";
479
+ readonly minimum: 0;
480
+ };
481
+ readonly acceptRate: {
482
+ readonly type: "number";
483
+ readonly minimum: 0;
484
+ readonly maximum: 100;
485
+ };
486
+ readonly replyRate: {
487
+ readonly type: "number";
488
+ readonly minimum: 0;
489
+ readonly maximum: 100;
490
+ };
491
+ };
492
+ };
493
+ };
494
+ };
495
+ };
496
+ };
497
+ };
498
+ readonly paidCreditEvidence: {
499
+ readonly type: readonly ["object", "null"];
500
+ readonly additionalProperties: false;
501
+ readonly required: readonly ["availableCredits", "minimumRequired", "checkedAt", "fresh"];
502
+ readonly properties: {
503
+ readonly availableCredits: {
504
+ readonly type: readonly ["integer", "null"];
505
+ readonly minimum: 0;
506
+ };
507
+ readonly minimumRequired: {
508
+ readonly type: readonly ["integer", "null"];
509
+ readonly minimum: 0;
510
+ };
511
+ readonly checkedAt: {
512
+ readonly type: readonly ["string", "null"];
513
+ };
514
+ readonly fresh: {
515
+ readonly type: "boolean";
516
+ };
517
+ };
518
+ };
519
+ };
520
+ };
521
+ };
522
+ readonly durationMs: {
523
+ readonly type: "number";
524
+ readonly minimum: 0;
525
+ };
526
+ readonly observationSideEffects: {
527
+ readonly type: "object";
528
+ readonly additionalProperties: false;
529
+ readonly required: readonly ["scheduled", "placed", "sent", "campaignMutated", "approved", "enriched", "generated", "salesNavigatorActioned", "paidCreditCache"];
530
+ readonly properties: {
531
+ readonly scheduled: {
532
+ readonly type: "boolean";
533
+ readonly enum: readonly [false];
534
+ };
535
+ readonly placed: {
536
+ readonly type: "boolean";
537
+ readonly enum: readonly [false];
538
+ };
539
+ readonly sent: {
540
+ readonly type: "boolean";
541
+ readonly enum: readonly [false];
542
+ };
543
+ readonly campaignMutated: {
544
+ readonly type: "boolean";
545
+ readonly enum: readonly [false];
546
+ };
547
+ readonly approved: {
548
+ readonly type: "boolean";
549
+ readonly enum: readonly [false];
550
+ };
551
+ readonly enriched: {
552
+ readonly type: "boolean";
553
+ readonly enum: readonly [false];
554
+ };
555
+ readonly generated: {
556
+ readonly type: "boolean";
557
+ readonly enum: readonly [false];
558
+ };
559
+ readonly salesNavigatorActioned: {
560
+ readonly type: "boolean";
561
+ readonly enum: readonly [false];
562
+ };
563
+ readonly paidCreditCache: {
564
+ readonly type: "string";
565
+ readonly enum: readonly ["not_checked", "not_eligible", "fresh_cache_used", "refresh_started", "refreshed", "refresh_in_progress", "refresh_failed", "uncertain"];
566
+ };
567
+ };
568
+ };
569
+ };
570
+ }>;
571
+ annotations: {
572
+ title: string;
573
+ readOnlyHint: boolean;
574
+ destructiveHint: boolean;
575
+ idempotentHint: boolean;
576
+ openWorldHint: boolean;
577
+ };
578
+ }[];
579
+ export type RefillV3WorldStateToolInput = {
580
+ workspaceId?: string;
581
+ scope?: unknown;
582
+ };
583
+ /**
584
+ * Observe the canonical world state for ONE explicit workspace.
585
+ *
586
+ * The returned value is the plain canonical business object. Every failure that
587
+ * is NOT a decoded business fact — a refused request, an authorization refusal,
588
+ * an infrastructure failure, or a response the sole decoder rejects — propagates
589
+ * as a thrown transport error and can never become a plausible empty
590
+ * observation.
591
+ */
592
+ export declare function getRefillV3WorldStateTool(input: RefillV3WorldStateToolInput): Promise<RefillWorldStateResult>;