@sellable/mcp 0.1.555 → 0.1.557
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/README.md +13 -2
- package/agents/registry.json +2 -2
- package/dist/api.js +3 -6
- package/dist/auth.d.ts +0 -6
- package/dist/auth.js +2 -44
- package/dist/refill-run-client.d.ts +0 -5
- package/dist/refill-run-client.js +0 -15
- package/dist/refill-run-loop.d.ts +1 -12
- package/dist/refill-run-loop.js +13 -158
- package/dist/server.js +23 -0
- package/dist/tools/auth.d.ts +0 -5
- package/dist/tools/auth.js +12 -49
- package/dist/tools/campaign-message-preparation.d.ts +0 -62
- package/dist/tools/campaign-message-preparation.js +0 -41
- package/dist/tools/campaigns.js +2 -2
- package/dist/tools/csv-dnc.js +2 -2
- package/dist/tools/evergreen-refill-plan.d.ts +0 -3
- package/dist/tools/evergreen-refill-plan.js +7 -29
- package/dist/tools/find-leads-runs.d.ts +151 -0
- package/dist/tools/find-leads-runs.js +98 -0
- package/dist/tools/leads.d.ts +317 -32
- package/dist/tools/leads.js +171 -10
- package/dist/tools/model-quality.js +4 -6
- package/dist/tools/prompts.d.ts +3 -3
- package/dist/tools/prompts.js +7 -15
- package/dist/tools/provider-preflight.d.ts +65 -2
- package/dist/tools/provider-preflight.js +97 -10
- package/dist/tools/readiness.d.ts +89 -5
- package/dist/tools/readiness.js +66 -0
- package/dist/tools/refill-executors.d.ts +0 -38
- package/dist/tools/refill-executors.js +3 -222
- package/dist/tools/refill-sends-v2.d.ts +1 -112
- package/dist/tools/refill-sends-v2.js +2 -302
- package/dist/tools/refill-sends.d.ts +32 -678
- package/dist/tools/refill-sends.js +13 -274
- package/dist/tools/refill-target-plan.js +14 -486
- package/dist/tools/registry.d.ts +330 -115
- package/dist/tools/registry.js +7 -1
- package/dist/tools/scheduler-fill-capacity.js +1 -1
- package/dist/tools/scheduler-run.d.ts +0 -71
- package/dist/tools/scheduler-run.js +1 -203
- package/dist/tools/setup-evergreen-campaigns.js +1 -1
- package/dist/tools/workspace-context.d.ts +1 -1
- package/dist/tools/workspace-context.js +3 -8
- package/dist/tools/workspace-export.js +2 -2
- package/dist/tools/workspaces.d.ts +2 -48
- package/dist/tools/workspaces.js +5 -48
- package/package.json +1 -1
- package/skills/create-campaign/SKILL.md +3 -3
- package/skills/create-campaign-v2/SKILL.md +1 -1
- package/skills/create-evergreen-campaigns/SKILL.md +16 -16
- package/skills/find-leads/SKILL.md +48 -630
- package/skills/find-leads-v2/SKILL.md +70 -0
- package/skills/find-leads-v2/core/flow.v1.json +31 -0
- package/skills/refill-sends/SKILL.md +353 -91
- package/skills/refill-sends-v2/SKILL.md +6 -6
- package/skills/refill-sends-v2-workflow/SKILL.md +5 -5
- package/skills/refill-sends-v2-workflow/core/flow.v1.json +8 -8
- package/skills/refill-sends-workflow/SKILL.md +743 -100
- package/skills/refill-sends-workflow/core/flow.v1.json +1 -185
- package/dist/refill-contract.d.ts +0 -157
- package/dist/refill-contract.js +0 -487
- package/skills/refill-sends-workflow/core/contract.v2.json +0 -543
|
@@ -30,22 +30,6 @@
|
|
|
30
30
|
"yoloMode"
|
|
31
31
|
]
|
|
32
32
|
}
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"tool": "get_subskill_asset",
|
|
36
|
-
"requiredValues": {
|
|
37
|
-
"subskillName": "refill-sends-workflow",
|
|
38
|
-
"assetPath": "core/contract.v2.json"
|
|
39
|
-
},
|
|
40
|
-
"mustReadUntil": {
|
|
41
|
-
"hasMore": false
|
|
42
|
-
},
|
|
43
|
-
"validation": {
|
|
44
|
-
"supportedMajor": 2,
|
|
45
|
-
"contractVersion": "2.0.0",
|
|
46
|
-
"cacheVersion": "refill-contract-v1",
|
|
47
|
-
"contractHash": "e54ba0f80bc534fd70fd8c10c1caab109fe9a91c205cfc423f5f6735cd53fdc1"
|
|
48
|
-
}
|
|
49
33
|
}
|
|
50
34
|
],
|
|
51
35
|
"gateOrder": [
|
|
@@ -77,44 +61,6 @@
|
|
|
77
61
|
"scheduled",
|
|
78
62
|
"projected"
|
|
79
63
|
],
|
|
80
|
-
"scopeContract": {
|
|
81
|
-
"immutableApprovalEnvelope": [
|
|
82
|
-
"workspaceId",
|
|
83
|
-
"targetDate",
|
|
84
|
-
"senderIds",
|
|
85
|
-
"actionTypes",
|
|
86
|
-
"campaignIds",
|
|
87
|
-
"tableIds",
|
|
88
|
-
"sourceIds",
|
|
89
|
-
"targetShapeRevision",
|
|
90
|
-
"actionKey"
|
|
91
|
-
],
|
|
92
|
-
"mutableProgress": [
|
|
93
|
-
"stateRevision",
|
|
94
|
-
"sent",
|
|
95
|
-
"scheduled",
|
|
96
|
-
"readyToSchedule",
|
|
97
|
-
"remainingProjectedGap"
|
|
98
|
-
],
|
|
99
|
-
"executionRules": [
|
|
100
|
-
"Execute only target.globalActionQueue[0].",
|
|
101
|
-
"Execute one action, then perform a full authoritative reread before selecting any next action.",
|
|
102
|
-
"Mutable progress must not be treated as approval-scope drift while targetShapeRevision remains stable."
|
|
103
|
-
]
|
|
104
|
-
},
|
|
105
|
-
"interruptionRecovery": {
|
|
106
|
-
"rules": [
|
|
107
|
-
"On resume, reread the canonical target plan and reconcile scheduler status or receipt with the matching requestKey and actionKey before retrying.",
|
|
108
|
-
"A matching terminal receipt must replay without a second scheduler execution.",
|
|
109
|
-
"An uncertain_outcome requires reconciliation; do not schedule again with the same or a replacement key until a canonical read resolves it."
|
|
110
|
-
]
|
|
111
|
-
},
|
|
112
|
-
"multiDayOrdering": {
|
|
113
|
-
"rules": [
|
|
114
|
-
"For multiple target dates, finish D1 execution and the full D1 reread before planning D2.",
|
|
115
|
-
"Do not pre-plan or execute a later date from stale earlier-date state."
|
|
116
|
-
]
|
|
117
|
-
},
|
|
118
64
|
"states": [
|
|
119
65
|
{
|
|
120
66
|
"id": "target_plan_read",
|
|
@@ -242,7 +188,7 @@
|
|
|
242
188
|
},
|
|
243
189
|
{
|
|
244
190
|
"id": "scheduler_wait_readback",
|
|
245
|
-
"description": "
|
|
191
|
+
"description": "Read-only scheduler polling after rows are ready and paid-credit facts are fresh.",
|
|
246
192
|
"allowedTools": [
|
|
247
193
|
"get_refill_target_plan",
|
|
248
194
|
"get_scheduler_fill_capacity",
|
|
@@ -257,9 +203,6 @@
|
|
|
257
203
|
"rules": [
|
|
258
204
|
"Poll every 60-120 seconds or on the host continuation interval.",
|
|
259
205
|
"Use run_scheduler_sweep with the explicit workspaceId when ready rows need scheduler pickup now; it places cells only inside existing gates and never sends.",
|
|
260
|
-
"A scheduler sweep is a visible workspace-wide scheduling side effect; the packet limits expected target changes but must disclose that unrelated eligible workspace work may also be scheduled.",
|
|
261
|
-
"For an explicit targetDate, execute only the request-scoped run_scheduler_sweep from target.globalActionQueue[0], then perform a full authoritative target-plan reread before any next action.",
|
|
262
|
-
"Reuse the matching requestKey and actionKey only for status or receipt reconciliation; replay a matching terminal receipt and stop on uncertain_outcome rather than scheduling again.",
|
|
263
206
|
"cellsConsidered is allocation-attempt count; inspect campaignScopeSummary before assuming the selected refill campaign/table was included or ready-but-blocked.",
|
|
264
207
|
"Read prefiltered, skipped, and deferred separately: prefiltered ready closed-InMail cells with stale paid-credit facts require refresh_paid_inmail_credits_then_rerun once, then rerun/status.",
|
|
265
208
|
"wait_for_capacity_or_window means report loaded/capped/waiting and do not source or prep more rows; no_ready_cells_continue_refill_prep means return to the refill/prep ladder.",
|
|
@@ -268,11 +211,6 @@
|
|
|
268
211
|
"Do not mark complete or blocked only because awaiting_scheduler_after_ready_buffer persists."
|
|
269
212
|
],
|
|
270
213
|
"transitions": [
|
|
271
|
-
{
|
|
272
|
-
"when": "explicit targetDate and target.globalActionQueue[0] is request-scoped run_scheduler_sweep",
|
|
273
|
-
"action": "execute exactly one request-scoped run_scheduler_sweep, capture its complete receipt, and do not execute a returned next action",
|
|
274
|
-
"to": "target_plan_read"
|
|
275
|
-
},
|
|
276
214
|
{
|
|
277
215
|
"when": "projected coverage fills target",
|
|
278
216
|
"to": "completion_or_blocker"
|
|
@@ -305,7 +243,6 @@
|
|
|
305
243
|
"start_campaign_message_preparation",
|
|
306
244
|
"same_source_copy",
|
|
307
245
|
"bounded_generated_message_approval",
|
|
308
|
-
"run_scheduler_sweep",
|
|
309
246
|
"wait_for_scheduler"
|
|
310
247
|
],
|
|
311
248
|
"neverAutoExecute": [
|
|
@@ -334,137 +271,16 @@
|
|
|
334
271
|
"verification": {
|
|
335
272
|
"requiredProof": [
|
|
336
273
|
"final get_refill_target_plan",
|
|
337
|
-
"get_campaign_refill_state for selected campaign/table facts",
|
|
338
|
-
"get_scheduler_fill_capacity for the exact sender/action/date",
|
|
339
|
-
"run_scheduler_sweep status or receipt for any executed sweep",
|
|
340
274
|
"projected coverage sent + scheduled",
|
|
341
275
|
"scheduler-owned cells with non-null scheduledFor when claiming scheduled",
|
|
342
276
|
"paid-InMail freshness status clean before scheduler wait",
|
|
343
277
|
"refresh receipt for each refreshed sender"
|
|
344
278
|
],
|
|
345
|
-
"forbiddenProof": [
|
|
346
|
-
"individual cell ids",
|
|
347
|
-
"Prisma",
|
|
348
|
-
"SQL",
|
|
349
|
-
"direct database access",
|
|
350
|
-
"production-environment scripts"
|
|
351
|
-
],
|
|
352
|
-
"completionRules": [
|
|
353
|
-
"Report already sent actions separately from future scheduled actions.",
|
|
354
|
-
"Only scheduler-owned future scheduled actions count as scheduled coverage.",
|
|
355
|
-
"Prepared, approved, and ready rows remain intermediate evidence."
|
|
356
|
-
],
|
|
357
279
|
"notCompletionProof": [
|
|
358
280
|
"prepared rows alone",
|
|
359
281
|
"approved rows alone",
|
|
360
282
|
"ready-to-schedule rows alone",
|
|
361
283
|
"awaiting_scheduler_after_ready_buffer"
|
|
362
284
|
]
|
|
363
|
-
},
|
|
364
|
-
"refillContract": {
|
|
365
|
-
"contractVersion": "2.0.0",
|
|
366
|
-
"cacheVersion": "refill-contract-v1",
|
|
367
|
-
"contractHash": "e54ba0f80bc534fd70fd8c10c1caab109fe9a91c205cfc423f5f6735cd53fdc1",
|
|
368
|
-
"semanticIds": {
|
|
369
|
-
"scope": [
|
|
370
|
-
"workspace_id",
|
|
371
|
-
"target_date",
|
|
372
|
-
"sender_selectors",
|
|
373
|
-
"campaign_selectors",
|
|
374
|
-
"approval_mode",
|
|
375
|
-
"contract_identity",
|
|
376
|
-
"installed_identity"
|
|
377
|
-
],
|
|
378
|
-
"gates": [
|
|
379
|
-
"workspace_access",
|
|
380
|
-
"approval_packet",
|
|
381
|
-
"source_family",
|
|
382
|
-
"threshold",
|
|
383
|
-
"scheduler",
|
|
384
|
-
"campaign_lifecycle",
|
|
385
|
-
"send_time",
|
|
386
|
-
"no_direct_send",
|
|
387
|
-
"one_primitive",
|
|
388
|
-
"fresh_reread",
|
|
389
|
-
"normalized_accounting",
|
|
390
|
-
"prep_circuit",
|
|
391
|
-
"terminal_truth"
|
|
392
|
-
],
|
|
393
|
-
"states": [
|
|
394
|
-
"planning",
|
|
395
|
-
"awaiting_approval",
|
|
396
|
-
"executing",
|
|
397
|
-
"settling",
|
|
398
|
-
"replanning",
|
|
399
|
-
"terminal"
|
|
400
|
-
],
|
|
401
|
-
"actions": [
|
|
402
|
-
"prepare_messages",
|
|
403
|
-
"approve_messages",
|
|
404
|
-
"rerun_errored_cells",
|
|
405
|
-
"start_paused_campaign",
|
|
406
|
-
"run_scheduler_sweep",
|
|
407
|
-
"scheduler_first_settle",
|
|
408
|
-
"wait_for_scheduler",
|
|
409
|
-
"wait_for_active_work",
|
|
410
|
-
"wait_for_source_import",
|
|
411
|
-
"copy_selected_source_rows",
|
|
412
|
-
"continue_signal_discovery_source",
|
|
413
|
-
"continue_sales_nav_source",
|
|
414
|
-
"continue_prospeo_source",
|
|
415
|
-
"manual_source_replenishment",
|
|
416
|
-
"refresh_paid_inmail_credits",
|
|
417
|
-
"lower_paid_inmail_threshold",
|
|
418
|
-
"switch_to_connection_lane",
|
|
419
|
-
"create_connection_campaign",
|
|
420
|
-
"next_campaign",
|
|
421
|
-
"done"
|
|
422
|
-
],
|
|
423
|
-
"receipts": [
|
|
424
|
-
"target_plan_receipt",
|
|
425
|
-
"preparation_receipt",
|
|
426
|
-
"scheduler_receipt",
|
|
427
|
-
"run_receipt"
|
|
428
|
-
],
|
|
429
|
-
"sideEffectClasses": [
|
|
430
|
-
"read_only",
|
|
431
|
-
"message_preparation",
|
|
432
|
-
"message_approval",
|
|
433
|
-
"source_replenishment",
|
|
434
|
-
"credit_refresh",
|
|
435
|
-
"campaign_start",
|
|
436
|
-
"scheduler_placement"
|
|
437
|
-
],
|
|
438
|
-
"forbiddenActions": [
|
|
439
|
-
"direct_send",
|
|
440
|
-
"raw_scheduler_write",
|
|
441
|
-
"campaign_create",
|
|
442
|
-
"campaign_archive_delete",
|
|
443
|
-
"threshold_lowering",
|
|
444
|
-
"unselected_source_mutation",
|
|
445
|
-
"unapproved_campaign_start",
|
|
446
|
-
"sender_config_write"
|
|
447
|
-
],
|
|
448
|
-
"terminalReasons": [
|
|
449
|
-
"projected_full",
|
|
450
|
-
"concrete_blocker",
|
|
451
|
-
"deadline_reached",
|
|
452
|
-
"iteration_limit",
|
|
453
|
-
"operator_stopped",
|
|
454
|
-
"capped_by_scheduler",
|
|
455
|
-
"loaded_awaiting_scheduler",
|
|
456
|
-
"lanes_exhausted",
|
|
457
|
-
"not_an_evergreen_workspace",
|
|
458
|
-
"no_refillable_campaigns"
|
|
459
|
-
],
|
|
460
|
-
"transitions": [
|
|
461
|
-
"",
|
|
462
|
-
"",
|
|
463
|
-
"",
|
|
464
|
-
"",
|
|
465
|
-
"",
|
|
466
|
-
""
|
|
467
|
-
]
|
|
468
|
-
}
|
|
469
285
|
}
|
|
470
286
|
}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
export declare const REFILL_CONTRACT_VERSION: "2.0.0";
|
|
2
|
-
export declare const REFILL_CONTRACT_CACHE_VERSION: "refill-contract-v1";
|
|
3
|
-
export declare const REFILL_CONTRACT_SUPPORTED_MAJOR: 2;
|
|
4
|
-
export declare const REFILL_CONTRACT_ERROR_CODES: readonly ["refill_contract_not_implemented", "unsupported_refill_contract_major", "refill_contract_hash_mismatch", "refill_contract_semantic_mismatch"];
|
|
5
|
-
export type RefillContractErrorCode = (typeof REFILL_CONTRACT_ERROR_CODES)[number];
|
|
6
|
-
export declare class RefillContractError extends Error {
|
|
7
|
-
readonly code: RefillContractErrorCode;
|
|
8
|
-
constructor(code: RefillContractErrorCode, message: string);
|
|
9
|
-
}
|
|
10
|
-
export declare const REFILL_SCOPE_IDS: readonly ["workspace_id", "target_date", "sender_selectors", "campaign_selectors", "approval_mode", "contract_identity", "installed_identity"];
|
|
11
|
-
export declare const REFILL_GATE_IDS: readonly ["workspace_access", "approval_packet", "source_family", "threshold", "scheduler", "campaign_lifecycle", "send_time", "no_direct_send", "one_primitive", "fresh_reread", "normalized_accounting", "prep_circuit", "terminal_truth"];
|
|
12
|
-
export declare const REFILL_STATE_IDS: readonly ["planning", "awaiting_approval", "executing", "settling", "replanning", "terminal"];
|
|
13
|
-
export declare const REFILL_ACTION_IDS: readonly ["prepare_messages", "approve_messages", "rerun_errored_cells", "start_paused_campaign", "run_scheduler_sweep", "scheduler_first_settle", "wait_for_scheduler", "wait_for_active_work", "wait_for_source_import", "copy_selected_source_rows", "continue_signal_discovery_source", "continue_sales_nav_source", "continue_prospeo_source", "manual_source_replenishment", "refresh_paid_inmail_credits", "lower_paid_inmail_threshold", "switch_to_connection_lane", "create_connection_campaign", "next_campaign", "done"];
|
|
14
|
-
export declare const REFILL_RECEIPT_IDS: readonly ["target_plan_receipt", "preparation_receipt", "scheduler_receipt", "run_receipt"];
|
|
15
|
-
export declare const REFILL_SIDE_EFFECT_CLASS_IDS: readonly ["read_only", "message_preparation", "message_approval", "source_replenishment", "credit_refresh", "campaign_start", "scheduler_placement"];
|
|
16
|
-
export declare const REFILL_FORBIDDEN_ACTION_IDS: readonly ["direct_send", "raw_scheduler_write", "campaign_create", "campaign_archive_delete", "threshold_lowering", "unselected_source_mutation", "unapproved_campaign_start", "sender_config_write"];
|
|
17
|
-
export declare const REFILL_TERMINAL_REASON_IDS: readonly ["projected_full", "concrete_blocker", "deadline_reached", "iteration_limit", "operator_stopped", "capped_by_scheduler", "loaded_awaiting_scheduler", "lanes_exhausted", "not_an_evergreen_workspace", "no_refillable_campaigns"];
|
|
18
|
-
export type RefillScopeId = (typeof REFILL_SCOPE_IDS)[number];
|
|
19
|
-
export type RefillGateId = (typeof REFILL_GATE_IDS)[number];
|
|
20
|
-
export type RefillStateId = (typeof REFILL_STATE_IDS)[number];
|
|
21
|
-
export type RefillActionId = (typeof REFILL_ACTION_IDS)[number];
|
|
22
|
-
export type RefillReceiptId = (typeof REFILL_RECEIPT_IDS)[number];
|
|
23
|
-
export type RefillSideEffectClassId = (typeof REFILL_SIDE_EFFECT_CLASS_IDS)[number];
|
|
24
|
-
export type RefillForbiddenActionId = (typeof REFILL_FORBIDDEN_ACTION_IDS)[number];
|
|
25
|
-
export type RefillTerminalReasonId = (typeof REFILL_TERMINAL_REASON_IDS)[number];
|
|
26
|
-
export type RefillAction = {
|
|
27
|
-
[Kind in RefillActionId]: {
|
|
28
|
-
kind: Kind;
|
|
29
|
-
actionKey: string;
|
|
30
|
-
sideEffectClass: RefillSideEffectClassId;
|
|
31
|
-
};
|
|
32
|
-
}[RefillActionId];
|
|
33
|
-
export type RefillReceipt = {
|
|
34
|
-
[Kind in RefillReceiptId]: {
|
|
35
|
-
kind: Kind;
|
|
36
|
-
actionKey: string;
|
|
37
|
-
recordedAt: string;
|
|
38
|
-
};
|
|
39
|
-
}[RefillReceiptId];
|
|
40
|
-
export type RefillTerminal = {
|
|
41
|
-
[Reason in RefillTerminalReasonId]: {
|
|
42
|
-
kind: "terminal";
|
|
43
|
-
reason: Reason;
|
|
44
|
-
evidence: Record<string, unknown>;
|
|
45
|
-
};
|
|
46
|
-
}[RefillTerminalReasonId];
|
|
47
|
-
export declare function canonicalizeRefillContract(value: unknown): string;
|
|
48
|
-
export declare function computeRefillContractHash(value: unknown): string;
|
|
49
|
-
export declare const REFILL_CONTRACT_HASH: string;
|
|
50
|
-
export declare const refillContract: {
|
|
51
|
-
readonly contractHash: string;
|
|
52
|
-
readonly contractVersion: "2.0.0";
|
|
53
|
-
readonly cacheVersion: "refill-contract-v1";
|
|
54
|
-
readonly supportedMajor: 2;
|
|
55
|
-
readonly semantics: {
|
|
56
|
-
readonly scope: {
|
|
57
|
-
id: "workspace_id" | "target_date" | "sender_selectors" | "campaign_selectors" | "approval_mode" | "contract_identity" | "installed_identity";
|
|
58
|
-
}[];
|
|
59
|
-
readonly gates: {
|
|
60
|
-
id: "workspace_access" | "approval_packet" | "source_family" | "threshold" | "scheduler" | "campaign_lifecycle" | "send_time" | "no_direct_send" | "one_primitive" | "fresh_reread" | "normalized_accounting" | "prep_circuit" | "terminal_truth";
|
|
61
|
-
}[];
|
|
62
|
-
readonly states: {
|
|
63
|
-
id: "planning" | "awaiting_approval" | "executing" | "settling" | "replanning" | "terminal";
|
|
64
|
-
}[];
|
|
65
|
-
readonly actions: {
|
|
66
|
-
id: "prepare_messages" | "approve_messages" | "rerun_errored_cells" | "start_paused_campaign" | "run_scheduler_sweep" | "scheduler_first_settle" | "wait_for_scheduler" | "wait_for_active_work" | "wait_for_source_import" | "copy_selected_source_rows" | "continue_signal_discovery_source" | "continue_sales_nav_source" | "continue_prospeo_source" | "manual_source_replenishment" | "refresh_paid_inmail_credits" | "lower_paid_inmail_threshold" | "switch_to_connection_lane" | "create_connection_campaign" | "next_campaign" | "done";
|
|
67
|
-
sideEffectClass: "read_only" | "message_preparation" | "message_approval" | "source_replenishment" | "credit_refresh" | "campaign_start" | "scheduler_placement";
|
|
68
|
-
}[];
|
|
69
|
-
readonly receipts: readonly [{
|
|
70
|
-
readonly id: "target_plan_receipt";
|
|
71
|
-
readonly requiredFields: readonly ["refillLaneKey", "branchMetrics", "ledger", "targetDate", "actionKey", "targetShapeRevision", "stateRevision"];
|
|
72
|
-
}, {
|
|
73
|
-
readonly id: "preparation_receipt";
|
|
74
|
-
readonly requiredFields: readonly ["dependency", "circuit", "batchCalibration", "cooperativeStop"];
|
|
75
|
-
}, {
|
|
76
|
-
readonly id: "scheduler_receipt";
|
|
77
|
-
readonly requiredFields: readonly ["receiptVersion", "diagnosticsVersion", "status", "trigger", "workspaceId", "runId", "leaseFence", "expectedTargetsHash", "maxPlacements", "readyCellsFound", "cellsConsidered", "cellsScheduled", "cellsSkipped", "cellsDeferred", "campaignScopeSummary", "expectedTargetSummary", "changedCounts", "summary", "nextAction", "errorCount", "error"];
|
|
78
|
-
}, {
|
|
79
|
-
readonly id: "run_receipt";
|
|
80
|
-
readonly requiredFields: readonly ["runId", "fence", "gate", "gateSeq", "events", "doneReason"];
|
|
81
|
-
}];
|
|
82
|
-
readonly sideEffectClasses: {
|
|
83
|
-
id: "read_only" | "message_preparation" | "message_approval" | "source_replenishment" | "credit_refresh" | "campaign_start" | "scheduler_placement";
|
|
84
|
-
}[];
|
|
85
|
-
readonly forbiddenActions: {
|
|
86
|
-
id: "direct_send" | "raw_scheduler_write" | "campaign_create" | "campaign_archive_delete" | "threshold_lowering" | "unselected_source_mutation" | "unapproved_campaign_start" | "sender_config_write";
|
|
87
|
-
}[];
|
|
88
|
-
readonly terminalReasons: {
|
|
89
|
-
id: "projected_full" | "concrete_blocker" | "deadline_reached" | "iteration_limit" | "operator_stopped" | "capped_by_scheduler" | "loaded_awaiting_scheduler" | "lanes_exhausted" | "not_an_evergreen_workspace" | "no_refillable_campaigns";
|
|
90
|
-
terminalKind: string;
|
|
91
|
-
}[];
|
|
92
|
-
readonly transitions: readonly [{
|
|
93
|
-
readonly from: "planning";
|
|
94
|
-
readonly to: "awaiting_approval";
|
|
95
|
-
}, {
|
|
96
|
-
readonly from: "awaiting_approval";
|
|
97
|
-
readonly to: "executing";
|
|
98
|
-
}, {
|
|
99
|
-
readonly from: "executing";
|
|
100
|
-
readonly to: "settling";
|
|
101
|
-
}, {
|
|
102
|
-
readonly from: "settling";
|
|
103
|
-
readonly to: "replanning";
|
|
104
|
-
}, {
|
|
105
|
-
readonly from: "replanning";
|
|
106
|
-
readonly to: "executing";
|
|
107
|
-
}, {
|
|
108
|
-
readonly from: "replanning";
|
|
109
|
-
readonly to: "terminal";
|
|
110
|
-
}];
|
|
111
|
-
};
|
|
112
|
-
readonly backendBindings: {
|
|
113
|
-
readonly planner: {
|
|
114
|
-
readonly actions: ("prepare_messages" | "approve_messages" | "rerun_errored_cells" | "start_paused_campaign" | "run_scheduler_sweep" | "scheduler_first_settle" | "wait_for_scheduler" | "wait_for_active_work" | "wait_for_source_import" | "copy_selected_source_rows" | "continue_signal_discovery_source" | "continue_sales_nav_source" | "continue_prospeo_source" | "manual_source_replenishment" | "refresh_paid_inmail_credits" | "lower_paid_inmail_threshold" | "switch_to_connection_lane" | "create_connection_campaign" | "next_campaign" | "done")[];
|
|
115
|
-
readonly receiptFields: readonly ["refillLaneKey", "branchMetrics", "ledger", "targetDate", "actionKey", "targetShapeRevision", "stateRevision"];
|
|
116
|
-
};
|
|
117
|
-
readonly preparation: {
|
|
118
|
-
readonly dependencyClasses: readonly ["active", "transient", "permanent", "changed", "exhausted"];
|
|
119
|
-
readonly dependencyReasons: readonly ["active_cells", "dependency_timeout", "rate_limited", "provider_unavailable", "authentication_failed", "validation_failed", "schema_invalid", "config_epoch_changed", "source_epoch_changed", "frontier_exhausted", "unknown_dependency"];
|
|
120
|
-
readonly circuitStates: readonly ["closed", "open", "half_open", "reset"];
|
|
121
|
-
readonly cooperativeStopReasons: readonly ["target_satisfied_during_prep"];
|
|
122
|
-
readonly receiptFields: readonly ["dependency", "circuit", "batchCalibration", "cooperativeStop"];
|
|
123
|
-
};
|
|
124
|
-
readonly scheduler: {
|
|
125
|
-
readonly targetOutcomes: readonly ["included", "omitted"];
|
|
126
|
-
readonly omissionReasons: readonly ["no_ready_cells", "not_scheduler_eligible", "sender_mismatch", "capacity_prefiltered", "outside_target_date", "receipt_error"];
|
|
127
|
-
readonly runStatuses: readonly ["ran", "window_closed_noop", "failed"];
|
|
128
|
-
readonly nextActions: readonly ["refresh_paid_inmail_credits_then_rerun", "wait_for_capacity_or_window", "inspect_sender_mismatch", "no_ready_cells_continue_refill_prep", "scheduled_cells", "investigate_deferred_reasons", "investigate_scheduler_failure"];
|
|
129
|
-
readonly receiptFields: readonly ["receiptVersion", "diagnosticsVersion", "status", "trigger", "workspaceId", "runId", "leaseFence", "expectedTargetsHash", "maxPlacements", "readyCellsFound", "cellsConsidered", "cellsScheduled", "cellsSkipped", "cellsDeferred", "campaignScopeSummary", "expectedTargetSummary", "changedCounts", "summary", "nextAction", "errorCount", "error"];
|
|
130
|
-
};
|
|
131
|
-
readonly run: {
|
|
132
|
-
readonly gates: readonly ["g0_bootstrap", "g1_plan", "g2_execute", "g3_verify", "g4_terminal"];
|
|
133
|
-
readonly states: readonly ["planning", "awaiting_approval", "executing", "settling", "replanning", "terminal"];
|
|
134
|
-
readonly resultKinds: readonly ["started", "awaiting_approval", "active_run_in_progress", "resumed", "lease_lost", "scope_drift", "approval_expired", "approval_fingerprint_mismatch"];
|
|
135
|
-
readonly terminalReasons: readonly ["complete", "capped_by_scheduler", "loaded_awaiting_scheduler", "lanes_exhausted", "blocked", "not_an_evergreen_workspace", "no_refillable_campaigns"];
|
|
136
|
-
readonly refusals: readonly ["scope_drift", "approval_expired", "approval_fingerprint_mismatch", "legacy_read_only", "expected_target_overflow", "scheduler_receipt_incomplete"];
|
|
137
|
-
readonly scopeFields: readonly ["workspaceId", "intent", "senderIds", "campaignIds", "tableIds", "actionIds", "approvalMode", "dateSelector", "senderTimezones", "expectedTargetsHash", "maxPlacements", "contract", "installed"];
|
|
138
|
-
readonly approvalFields: readonly ["scopeHash", "targetShapeRevision", "actionFingerprint", "expectedTargetsHash", "sideEffectEnvelope", "maxPlacements", "approvalExpiresAt", "approvalFingerprint"];
|
|
139
|
-
};
|
|
140
|
-
};
|
|
141
|
-
};
|
|
142
|
-
export type RefillContract = typeof refillContract;
|
|
143
|
-
export declare function assertSupportedRefillContractMajor(version: string): void;
|
|
144
|
-
export declare function validateRefillContractAsset(value: unknown): RefillContract;
|
|
145
|
-
export declare function refillContractSemanticProjection(): {
|
|
146
|
-
contractVersion: "2.0.0";
|
|
147
|
-
cacheVersion: "refill-contract-v1";
|
|
148
|
-
contractHash: string;
|
|
149
|
-
semanticIds: {
|
|
150
|
-
[k: string]: string[];
|
|
151
|
-
};
|
|
152
|
-
};
|
|
153
|
-
export declare function validateRefillFlowProjection(value: unknown): void;
|
|
154
|
-
export declare function renderRefillBootstrapGuidance(): string;
|
|
155
|
-
export declare function renderRefillSafetyGuidance(): string;
|
|
156
|
-
export declare function renderRefillTerminalGuidance(): string;
|
|
157
|
-
export declare function assertNeverRefillVariant(value: never): never;
|