@sellable/mcp 0.1.853 → 0.1.855
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/tools/refill-v3-campaign-work-receipt-contract.d.ts +5 -5
- package/dist/tools/refill-v3-campaign-work-receipt-contract.js +5 -5
- package/dist/tools/refill-v3-continue.d.ts +4 -2
- package/dist/tools/refill-v3-continue.js +6 -6
- package/package.json +1 -1
- package/skills/refill-sends/SKILL.md +5 -0
- package/skills/refill-sends-workflow/SKILL.md +5 -0
- package/skills/refill-sends-workflow/core/flow.v3.json +3 -3
|
@@ -57,13 +57,13 @@ export declare function refillV3CampaignWorkActionKey(params: {
|
|
|
57
57
|
/**
|
|
58
58
|
* A preparation launch must be recorded before its asynchronous work settles
|
|
59
59
|
* so the selected lane remains owned. That pre-settlement receipt deliberately
|
|
60
|
-
* makes no progress claim. When
|
|
61
|
-
*
|
|
60
|
+
* makes no progress claim. When authoritative post-settlement campaign counts
|
|
61
|
+
* are available, persist a SECOND run-scoped receipt under this derived key;
|
|
62
|
+
* equal counts are an explicit settled/no-progress marker.
|
|
62
63
|
*
|
|
63
64
|
* Keeping the attestation additive matters: replaying the earlier ownership
|
|
64
|
-
* write can never downgrade
|
|
65
|
-
*
|
|
66
|
-
* replay.
|
|
65
|
+
* write can never downgrade or erase the settlement marker, while the original
|
|
66
|
+
* same-evidence receipt still suppresses an identical authority replay.
|
|
67
67
|
*/
|
|
68
68
|
export declare function refillV3CampaignWorkSettlementProgressActionKey(params: {
|
|
69
69
|
action: RefillV3CampaignWorkReceiptAction;
|
|
@@ -65,13 +65,13 @@ export function refillV3CampaignWorkActionKey(params) {
|
|
|
65
65
|
/**
|
|
66
66
|
* A preparation launch must be recorded before its asynchronous work settles
|
|
67
67
|
* so the selected lane remains owned. That pre-settlement receipt deliberately
|
|
68
|
-
* makes no progress claim. When
|
|
69
|
-
*
|
|
68
|
+
* makes no progress claim. When authoritative post-settlement campaign counts
|
|
69
|
+
* are available, persist a SECOND run-scoped receipt under this derived key;
|
|
70
|
+
* equal counts are an explicit settled/no-progress marker.
|
|
70
71
|
*
|
|
71
72
|
* Keeping the attestation additive matters: replaying the earlier ownership
|
|
72
|
-
* write can never downgrade
|
|
73
|
-
*
|
|
74
|
-
* replay.
|
|
73
|
+
* write can never downgrade or erase the settlement marker, while the original
|
|
74
|
+
* same-evidence receipt still suppresses an identical authority replay.
|
|
75
75
|
*/
|
|
76
76
|
export function refillV3CampaignWorkSettlementProgressActionKey(params) {
|
|
77
77
|
return `${refillV3CampaignWorkActionKey(params)}:settlement-progress`;
|
|
@@ -432,8 +432,10 @@ export type RefillV3ContinueDependencies = {
|
|
|
432
432
|
effectFingerprint: string;
|
|
433
433
|
/**
|
|
434
434
|
* Authoritative counts read around this exact authority's settlement.
|
|
435
|
-
* Presence
|
|
436
|
-
*
|
|
435
|
+
* Presence writes an additive settlement receipt: an increase remains
|
|
436
|
+
* useful campaign reporting, while an unchanged count proves the bounded
|
|
437
|
+
* cohort settled without campaign-message progress. Exact-lane usefulness
|
|
438
|
+
* is decided only by the next fresh world-state observation.
|
|
437
439
|
*/
|
|
438
440
|
settlementProgress?: {
|
|
439
441
|
generatedMessagesBefore: number;
|
|
@@ -1405,16 +1405,16 @@ async function executeRefillV3Continuation(input, dependencies) {
|
|
|
1405
1405
|
const messageCountDelta = messageCountBefore === null || messageCountAfter === null
|
|
1406
1406
|
? null
|
|
1407
1407
|
: messageCountAfter - messageCountBefore;
|
|
1408
|
-
// V32-GALLEY-SETTLEMENT-PROGRESS-001: the receipt above MUST land before
|
|
1408
|
+
// V32-GALLEY-SETTLEMENT-PROGRESS-001 / LANE-PROGRESS-002: the receipt above MUST land before
|
|
1409
1409
|
// settlement to retain lane ownership, so it cannot yet claim that an async
|
|
1410
1410
|
// cohort produced anything. Once the same continuation has waited to idle
|
|
1411
|
-
// and authoritative campaign counts
|
|
1412
|
-
//
|
|
1413
|
-
//
|
|
1414
|
-
//
|
|
1411
|
+
// and authoritative campaign counts are available, write a separate
|
|
1412
|
+
// settlement attestation. Campaign-wide message growth is reported here but
|
|
1413
|
+
// cannot by itself reset an exact sender/date/lane bound; the next advance's
|
|
1414
|
+
// fresh lane census decides whether the cohort produced placeable work.
|
|
1415
1415
|
if (messageCountBefore !== null &&
|
|
1416
1416
|
messageCountAfter !== null &&
|
|
1417
|
-
messageCountAfter
|
|
1417
|
+
messageCountAfter >= messageCountBefore &&
|
|
1418
1418
|
campaignWorkReceiptInput &&
|
|
1419
1419
|
dependencies.persistCampaignWorkReceipt) {
|
|
1420
1420
|
const progressReceiptInput = campaignWorkReceiptInput;
|
package/package.json
CHANGED
|
@@ -626,6 +626,11 @@ per scoped sender/date/lane—not only the headline deferral or blocker. Include
|
|
|
626
626
|
`scheduledDelta`. A cumulative observation or one surfaced blocker is never a
|
|
627
627
|
row-complete terminal summary.
|
|
628
628
|
|
|
629
|
+
Lead every row-complete terminal summary by stating that all scoped
|
|
630
|
+
sender/date/lane rows were explored. Never say the workspace "stopped on" one
|
|
631
|
+
sender or headline blocker: that blocker classifies one row after independent
|
|
632
|
+
sibling work was explored; it is not the traversal stop.
|
|
633
|
+
|
|
629
634
|
Resolve the workspace BEFORE the first call, exactly as the V1 route already
|
|
630
635
|
requires. `workspaceId` must be an exact id on every automation call: when the
|
|
631
636
|
operator names a workspace, call `list_workspaces` first and match that name to
|
|
@@ -476,6 +476,11 @@ sender/date/lane—not only the headline deferral or blocker. Include
|
|
|
476
476
|
`scheduledDelta`. A cumulative observation or one surfaced blocker is never a
|
|
477
477
|
row-complete terminal summary.
|
|
478
478
|
|
|
479
|
+
Lead every row-complete terminal summary by stating that all scoped
|
|
480
|
+
sender/date/lane rows were explored. Never say the workspace "stopped on" one
|
|
481
|
+
sender or headline blocker: that blocker classifies one row after independent
|
|
482
|
+
sibling work was explored; it is not the traversal stop.
|
|
483
|
+
|
|
479
484
|
This workflow chooses nothing. It never reads capacity, supply, family, or reason
|
|
480
485
|
fields to decide what to do next; never declares a terminal, an exhaustion
|
|
481
486
|
verdict, or a health classification; never holds a counter or a cursor between
|
|
@@ -240,7 +240,7 @@
|
|
|
240
240
|
"then": "call the advance tool again with the identical workspaceId, scope, and yolo grant",
|
|
241
241
|
"note": "This is a bounded read-only wait inherited from Create Campaign. It holds the same campaign while its cells settle; it never authorizes selecting a sibling. A partial timeout returns to fresh advance, and the same deferral may authorize another bounded wait. NOTE on run identity: awaiting_external_change is a terminal, so the server already CLOSED the run and returned no runToken. The advance after this wait therefore omits runToken and opens a new run, which starts with zero progress-free campaign visits and zero retryable paid attempts."
|
|
242
242
|
},
|
|
243
|
-
"then": "for any other deferral code, stop and report the scoped wait plus every scoped sender/date/lane row from terminalEvidence.rows; never
|
|
243
|
+
"then": "for any other deferral code, stop and report the scoped wait plus every scoped sender/date/lane row from terminalEvidence.rows; state that all scoped sender/date/lane rows were explored; never say the workspace \"stopped on\" the headline deferral"
|
|
244
244
|
},
|
|
245
245
|
"complete": {
|
|
246
246
|
"alreadyExecuted": false,
|
|
@@ -260,7 +260,7 @@
|
|
|
260
260
|
"terminalEvidence.rows[].approvedDelta",
|
|
261
261
|
"terminalEvidence.rows[].scheduledDelta"
|
|
262
262
|
],
|
|
263
|
-
"then": "stop and report the terminal code plus every scoped sender/date/lane row from terminalEvidence.rows"
|
|
263
|
+
"then": "stop and report the terminal code plus every scoped sender/date/lane row from terminalEvidence.rows; state that all scoped sender/date/lane rows were explored; never say the workspace \"stopped on\" the headline terminal"
|
|
264
264
|
},
|
|
265
265
|
"blocked": {
|
|
266
266
|
"alreadyExecuted": false,
|
|
@@ -283,7 +283,7 @@
|
|
|
283
283
|
"terminalEvidence.rows[].approvedDelta",
|
|
284
284
|
"terminalEvidence.rows[].scheduledDelta"
|
|
285
285
|
],
|
|
286
|
-
"then": "stop and report the typed business blocker plus every scoped sender/date/lane row from terminalEvidence.rows"
|
|
286
|
+
"then": "stop and report the typed business blocker plus every scoped sender/date/lane row from terminalEvidence.rows; state that all scoped sender/date/lane rows were explored; never say the workspace \"stopped on\" the headline blocker"
|
|
287
287
|
}
|
|
288
288
|
},
|
|
289
289
|
"forbidden": [
|