@sellable/install 0.1.356 → 0.1.357-phase111.20260720001632
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/package.json
CHANGED
|
@@ -17,3 +17,8 @@ Use `refill-sends-v2` instead:
|
|
|
17
17
|
```text
|
|
18
18
|
get_subskill_prompt({ subskillName: "refill-sends-v2" })
|
|
19
19
|
```
|
|
20
|
+
|
|
21
|
+
The alias must not strip exact `targetConfig`, server `runHandle`,
|
|
22
|
+
`reportingContext`, canonical `refill_reporting.v2`, or an explicit
|
|
23
|
+
`messageTemplateRevision`. It never infers revision authority from
|
|
24
|
+
`forceRerun`.
|
|
@@ -52,9 +52,24 @@ refill_sends_v2({ workspaceId, dryRun:true, intent:"auto", senderIds? })
|
|
|
52
52
|
To resume an in-progress run, pass the handle back exactly:
|
|
53
53
|
|
|
54
54
|
```text
|
|
55
|
-
refill_sends_v2({ workspaceId, runId,
|
|
55
|
+
refill_sends_v2({ workspaceId, runHandle:{runId,fence}, targetConfig, reportingContext, messageTemplateRevision? })
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
+
`targetConfig` and the server-issued `runHandle` are separate authorities. Keep
|
|
59
|
+
both byte-for-byte through every continuation and takeover; never fold the
|
|
60
|
+
rotating fence into target configuration.
|
|
61
|
+
|
|
62
|
+
An approved copy change is reachable only through an explicit
|
|
63
|
+
`messageTemplateRevision` object with `version:1`, `source:"user_approved"`,
|
|
64
|
+
the approved `templateMarkdown`, `messageTemplateRevision` identity,
|
|
65
|
+
`priorTemplateAuthorityDigest`, `nextTemplateAuthorityDigest`, 1–500 exact
|
|
66
|
+
`cohortRowIds`, and `requestId`, `effectId`, and `revisionOperationId`. Pass it
|
|
67
|
+
with the exact `targetConfig` and `reportingContext`; the command obtains or
|
|
68
|
+
resumes the server run handle and lets the planner name
|
|
69
|
+
`revise_message_template_and_rerun`. Missing or partial input means no revision.
|
|
70
|
+
`forceRerun:true` on a queue operation never authorizes or implies a template
|
|
71
|
+
change.
|
|
72
|
+
|
|
58
73
|
If a stale handle loses the lease, the tool reports the holder status and the
|
|
59
74
|
approximately 10 minute lockout window. Reinvoke with the current handle or wait
|
|
60
75
|
for lease expiry; never guess a fence.
|
|
@@ -85,6 +100,8 @@ The run may execute only packet-named bounded work:
|
|
|
85
100
|
when the campaign is in the packet's pinned lane chain;
|
|
86
101
|
- refresh paid InMail credit facts during bootstrap and once per scheduler-wait
|
|
87
102
|
entry when the packet requires it.
|
|
103
|
+
- apply `revise_message_template_and_rerun` only when the packet contains the
|
|
104
|
+
complete explicit user-approved revision envelope and exact fenced target.
|
|
88
105
|
|
|
89
106
|
The loop records planned -> did -> outcome before and after every foreign
|
|
90
107
|
mutation. It refuses stale packets by fingerprint and validates packet
|
|
@@ -168,5 +185,10 @@ reason or resume handle, lane source, lane chain, chosen label with token
|
|
|
168
185
|
secondary, plan revision, journal path, blocked continuation packets, and
|
|
169
186
|
firstFailing checklist when present.
|
|
170
187
|
|
|
188
|
+
Preserve `refill_reporting.v2` exactly in progress, continuation, replay, and
|
|
189
|
+
terminal results. Do not recompute its semantic counts or drop live-preparation
|
|
190
|
+
epoch, snapshot sequence, reset reason, watermark, blockers, compatibility, or
|
|
191
|
+
terminal fields. Never surface raw prospect or message-copy fields.
|
|
192
|
+
|
|
171
193
|
Real-run journals live under `~/.sellable/refill/runs` by default and append an
|
|
172
194
|
index line. Dry runs include the dry marker and do not create run records.
|
|
@@ -93,7 +93,7 @@ Accepted invocation flags in the same user request:
|
|
|
93
93
|
When the host can call typed MCP tools, start with:
|
|
94
94
|
|
|
95
95
|
```text
|
|
96
|
-
refill_sends({ yolo?: boolean, executionMode?: "manual" | "scheduled" | "yolo", requireWorkspace?: boolean, workspaceId?: string, senders?: string[], senderIds?: string[], senderNames?: string[], actionTypes?: ("send_invite" | "send_inmail_closed")[], horizonSendDays?: number, untilDate?: "YYYY-MM-DD", targetDate?: "YYYY-MM-DD",
|
|
96
|
+
refill_sends({ yolo?: boolean, executionMode?: "manual" | "scheduled" | "yolo", requireWorkspace?: boolean, workspaceId?: string, senders?: string[], senderIds?: string[], senderNames?: string[], actionTypes?: ("send_invite" | "send_inmail_closed")[], horizonSendDays?: number, untilDate?: "YYYY-MM-DD", targetDate?: "YYYY-MM-DD", runHandle?: RefillRunHandleV1, targetConfig?: RefillTargetConfigV1, reportingContext?: RefillReportingContextV2, messageTemplateRevision?: MessageTemplateRevisionV1 })
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
That command helper normalizes arguments and returns the execution contract. In
|
|
@@ -104,6 +104,14 @@ host must immediately call `refill_sends` again with the original full scope
|
|
|
104
104
|
plus the exact returned `runId` and `fence`. Do this automatically inside the
|
|
105
105
|
same user command until terminal projected coverage or a concrete blocker; do
|
|
106
106
|
not ask the user to type `continue` and do not start a second run.
|
|
107
|
+
|
|
108
|
+
`targetConfig` and the server-issued `runHandle` are separate values and must
|
|
109
|
+
survive each continuation unchanged except for a server-issued takeover fence.
|
|
110
|
+
Only a literal `messageTemplateRevision` with `source:"user_approved"`, the
|
|
111
|
+
approved `templateMarkdown`, prior/new authority digests, 1–500 exact cohort
|
|
112
|
+
row IDs, and request/effect/revision-operation IDs can authorize
|
|
113
|
+
`revise_message_template_and_rerun`. No envelope means no revision. A
|
|
114
|
+
`forceRerun:true` queue call cannot infer or authorize template mutation.
|
|
107
115
|
Safe primitives are paid-credit refresh,
|
|
108
116
|
existing-row message preparation, generated-message approval, receipt-proven
|
|
109
117
|
same-source row copy, one bounded Signal Discovery search derived only from
|
|
@@ -567,6 +575,11 @@ scheduler wait loop. Do not finish the refill goal, mark it complete, or mark it
|
|
|
567
575
|
blocked only because it is still `awaiting_scheduler_after_ready_buffer`; keep
|
|
568
576
|
waiting unless Christian stops the run or the host cannot continue.
|
|
569
577
|
|
|
578
|
+
Carry the canonical `refill_reporting.v2` DTO through progress, continuation,
|
|
579
|
+
replay, and terminal reporting without recomputing counts or losing live epoch,
|
|
580
|
+
snapshot sequence, reset reason, watermark, blockers, compatibility, or
|
|
581
|
+
terminal outcome. Redact raw copy and prospect fields.
|
|
582
|
+
|
|
570
583
|
Future scheduled coverage and already sent actions are distinct; only
|
|
571
584
|
scheduler-owned future scheduled actions count as scheduled coverage. For
|
|
572
585
|
multiple target dates, finish D1 execution and the full D1 reread before
|