@sellable/install 0.1.262 → 0.1.264
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/bin/sellable-install.mjs
CHANGED
|
@@ -1944,7 +1944,8 @@ ${allowedToolsYaml(REFILL_SENDS_ALLOWED_TOOLS)}
|
|
|
1944
1944
|
|
|
1945
1945
|
Use this as the customer-facing entrypoint for the Sellable \`refill-sends\`
|
|
1946
1946
|
workflow. It supports \`--yolo\` and optional repeated \`--sender <name-or-id>\`
|
|
1947
|
-
selectors.
|
|
1947
|
+
selectors. It also supports \`--until YYYY-MM-DD\` to fill through a specific
|
|
1948
|
+
sender-local date instead of the default two send-day horizon.
|
|
1948
1949
|
|
|
1949
1950
|
## Bootstrap
|
|
1950
1951
|
|
|
@@ -1960,7 +1961,7 @@ Desktop, then start a new thread.
|
|
|
1960
1961
|
## Execute Workflow
|
|
1961
1962
|
|
|
1962
1963
|
1. Call \`mcp__sellable__get_auth_status({})\`.
|
|
1963
|
-
2. Normalize invocation arguments with \`mcp__sellable__refill_sends({ yolo, senders, senderIds, senderNames })\` when the host exposes typed MCP tools.
|
|
1964
|
+
2. Normalize invocation arguments with \`mcp__sellable__refill_sends({ yolo, senders, senderIds, senderNames, untilDate })\` when the host exposes typed MCP tools.
|
|
1964
1965
|
3. Load the canonical prompt via
|
|
1965
1966
|
\`mcp__sellable__get_subskill_prompt({ subskillName: "refill-sends" })\`,
|
|
1966
1967
|
then load \`mcp__sellable__get_subskill_prompt({ subskillName: "refill-sends-workflow" })\`.
|
package/package.json
CHANGED
|
@@ -234,7 +234,15 @@ blocker and would make the whole yolo plan non-autoExecutable even though the
|
|
|
234
234
|
operator asked to leave it untouched. Inventory and waterfall proof may mention
|
|
235
235
|
the protected lane, but selectedActionIds and lane workers must cover only the
|
|
236
236
|
shared lane packets.
|
|
237
|
+
If the operator says to preserve existing active/live campaigns, preserve an
|
|
238
|
+
ACTIVE Post Engagers lane the same way: treat it as protected inventory, exclude
|
|
239
|
+
it from `postEngagerSenderIds` for the execution plan, and select only the
|
|
240
|
+
remaining missing/reusable shared-lane actionIds. Do not let a protected active
|
|
241
|
+
Post Engagers reuse packet block shared-lane verification or repair. Report the
|
|
242
|
+
protected active lane in inventory/final notes, but do not dispatch a worker for
|
|
243
|
+
it and do not include it in `selectedActionIds`.
|
|
237
244
|
Short form: Do not include the protected active Post Engagers lane as a reuse packet when the operator requested only shared lane execution.
|
|
245
|
+
Short form: "preserve existing active/live campaigns" means exclude ACTIVE Post Engagers from yolo execution, not block all shared-lane work.
|
|
238
246
|
|
|
239
247
|
When senders are ambiguous, ask which sender ids belong in the Post Engagers
|
|
240
248
|
sender scope and which belong in the shared lane sender scope before planning.
|
|
@@ -346,6 +354,14 @@ When launching durable Codex CLI workers from an automation parent, pass an
|
|
|
346
354
|
explicit supported worker model instead of relying on the Codex CLI default
|
|
347
355
|
model. Use the parent runtime model when known, for example:
|
|
348
356
|
`codex -a never -s danger-full-access exec --skip-git-repo-check -m <worker-model> -C <repo> -o <worker-final-file> -`.
|
|
357
|
+
In Codex CLI, the parent runtime model is visible in the run header as
|
|
358
|
+
`model: <model-name>`. Copy that exact model string into child worker launches
|
|
359
|
+
first. If the parent header says `model: gpt-5.5`, launch workers with
|
|
360
|
+
`-m gpt-5.5`; do not invent or probe nearby aliases such as `gpt-5.3-codex`,
|
|
361
|
+
`gpt-5.2`, `gpt-5-codex`, `codex-latest`, or `codex-mini-latest` before trying
|
|
362
|
+
the exact parent model. A one-line probe must count as supported only when it
|
|
363
|
+
exits 0 and returns the requested output; a session header followed by a
|
|
364
|
+
`not supported` error is rejected, not accepted.
|
|
349
365
|
Do not rely on the Codex CLI default model; some customer and VPS installs
|
|
350
366
|
default to unavailable model aliases. If the parent cannot identify a supported
|
|
351
367
|
worker model and a test `codex exec -m <worker-model>` launch is rejected, stop
|
|
@@ -1033,6 +1049,13 @@ canonical lane receipt. Repair workers must stage successful repaired receipts
|
|
|
1033
1049
|
under `repair-staged/` first; only after fresh MCP readbacks, improved current
|
|
1034
1050
|
samples, exactly one approved generated route-proof row, and a local JSON
|
|
1035
1051
|
self-check pass may the worker atomically replace the canonical lane receipt.
|
|
1052
|
+
Repair workers must not call `setup_evergreen_campaigns({ mode:"verify" })`
|
|
1053
|
+
or `setup_evergreen_campaigns({ mode:"plan" })`; parent verification and
|
|
1054
|
+
idempotency are parent responsibilities after all selected lane receipts are
|
|
1055
|
+
ready. A stale-plan/action response from any accidental repair-worker verify
|
|
1056
|
+
call is not a product-state blocker and must not prevent a repaired receipt from
|
|
1057
|
+
replacing the canonical receipt when fresh product readbacks and local
|
|
1058
|
+
sample/receipt checks pass.
|
|
1036
1059
|
After the repair worker completes the final product readbacks
|
|
1037
1060
|
(`get_campaign_messages_preview`, `get_campaign`, navigation/table readback),
|
|
1038
1061
|
it must stage and then rewrite the durable receipt immediately before any
|
|
@@ -1049,6 +1072,8 @@ Short form: repair prompts use compact repair packets, not full receipt JSON.
|
|
|
1049
1072
|
Short form: Do not include existing receipt JSON in repair prompts.
|
|
1050
1073
|
Short form: repair workers stage repaired receipts before replacing canonical receipts.
|
|
1051
1074
|
Short form: repair blockers never overwrite canonical success receipts.
|
|
1075
|
+
Short form: repair workers do not call setup_evergreen_campaigns verify or plan.
|
|
1076
|
+
Short form: parent owns setup_evergreen_campaigns verify and idempotency.
|
|
1052
1077
|
Short form: repair workers write the durable receipt immediately after final readbacks.
|
|
1053
1078
|
Short form: missing repair receipt rewrite is `blocked: repair_receipt_write_timeout`.
|
|
1054
1079
|
|
|
@@ -66,14 +66,18 @@ Accepted invocation flags in the same user request:
|
|
|
66
66
|
fresh state reread.
|
|
67
67
|
- `--sender <name-or-id>`: scope to a specific sender; repeat for multiple
|
|
68
68
|
senders.
|
|
69
|
+
- `--until <YYYY-MM-DD>`: fill through that sender-local date, inclusive,
|
|
70
|
+
instead of the default two send-day horizon.
|
|
69
71
|
- `senderIds: <id>, <id>` or `senderNames: <name>, <name>`: explicit selector
|
|
70
72
|
alternatives when the host preserves natural-language arguments better than
|
|
71
73
|
shell-style flags.
|
|
74
|
+
- `untilDate: YYYY-MM-DD`: explicit date selector alternative when the host
|
|
75
|
+
preserves natural-language arguments better than shell-style flags.
|
|
72
76
|
|
|
73
77
|
When the host can call typed MCP tools, start with:
|
|
74
78
|
|
|
75
79
|
```text
|
|
76
|
-
refill_sends({ yolo?: boolean, senders?: string[], senderIds?: string[], senderNames?: string[], horizonSendDays?: number })
|
|
80
|
+
refill_sends({ yolo?: boolean, senders?: string[], senderIds?: string[], senderNames?: string[], horizonSendDays?: number, untilDate?: "YYYY-MM-DD" })
|
|
77
81
|
```
|
|
78
82
|
|
|
79
83
|
That command helper only normalizes arguments and returns the execution
|
|
@@ -132,13 +136,16 @@ reassignment, or campaigns outside those selected for the eligible sender set.
|
|
|
132
136
|
Stop and re-plan if the route, sender set, ids, caps, blockers, or side-effect
|
|
133
137
|
class drift before mutation.
|
|
134
138
|
|
|
135
|
-
In `--yolo`, the default two-day fill horizon is two send days
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
In `--yolo`, the default two-day fill horizon is two send days unless
|
|
140
|
+
`--until`/`untilDate` is provided. If an until date is provided, compute bounded
|
|
141
|
+
gaps through that sender-local date inclusive, skipping no-send days and never
|
|
142
|
+
extending beyond that date without a new packet. For each target sender, compute
|
|
143
|
+
the bounded gap from that sender's healthy daily capacity, existing future
|
|
144
|
+
scheduler-owned scheduled sends, and rows already ready to schedule across
|
|
145
|
+
active campaigns enrolled with that sender. Then pick the best same-sender
|
|
146
|
+
campaign to fill the gap: prefer recent/future scheduler-owned sends for that
|
|
147
|
+
sender, then strongest recent result evidence, then source health. Do not stop
|
|
148
|
+
after filling only one sender when the request was sender-scoped. If a
|
|
142
149
|
same-source copy hits the campaign-table row cap, split the current source into
|
|
143
150
|
a bounded LinkedIn profile source list, confirm only that smaller list into the
|
|
144
151
|
same campaign, and operate on the copied review batch. Do not fall back to
|