@sellable/install 0.1.295 → 0.1.297
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
|
@@ -2000,7 +2000,7 @@ Desktop, then start a new thread.
|
|
|
2000
2000
|
|
|
2001
2001
|
1. Call \`mcp__sellable__get_auth_status({})\`.
|
|
2002
2002
|
2. Normalize invocation arguments with \`mcp__sellable__refill_sends({ yolo, senders, senderIds, senderNames, targetDate, untilDate })\` when the host exposes typed MCP tools.
|
|
2003
|
-
3. Call \`mcp__sellable__get_refill_target_plan({ senders, senderIds, senderNames, targetDate, untilDate })\` before any mutation. For exact-date proof, \`mcp__sellable__get_scheduler_fill_capacity\` is read-only and tells how many cells the scheduler will try to place for a sender/action/date. If the returned target is already complete, stop with the no-op receipt. If ready rows cover the target but scheduled rows do not, keep the run open in the read-only scheduler wait/re-read loop until projected coverage fills, a concrete non-scheduler blocker appears, or Christian explicitly stops/statuses the run.
|
|
2003
|
+
3. Call \`mcp__sellable__get_refill_target_plan({ senders, senderIds, senderNames, targetDate, untilDate })\` before any mutation. Render \`target.eligibleSenderLedger\`, \`target.senderRefillPlans[]\`, and \`target.globalActionQueue\` as the structured packet. Preserve the labels \`Need to prepare\`, \`Goal\`, \`Already sent\`, \`Scheduled\`, \`Ready and waiting to be scheduled\`, and \`Still need\`. In \`--yolo\`, \`mcp__sellable__refill_sends\` maintains a run-local \`refreshedPaidInmailSenderIds\` set, refreshes stale/missing paid InMail facts for each selected paid-InMail sender at most once, reruns \`get_refill_target_plan\`, and returns \`autoPaidInmailRefresh\` plus the post-refresh \`targetPlan\` before choosing the next prep/approval/start action. Do not present paid-credit refresh as the next operator action after \`refill_sends\` returns that post-refresh plan. For exact-date proof, \`mcp__sellable__get_scheduler_fill_capacity\` is read-only and tells how many cells the scheduler will try to place for a sender/action/date. If the returned target is already complete, stop with the no-op receipt. If ready rows cover the target but scheduled rows do not, keep the run open in the read-only scheduler wait/re-read loop until projected coverage fills, a concrete non-scheduler blocker appears, or Christian explicitly stops/statuses the run.
|
|
2004
2004
|
4. Load the canonical prompt via
|
|
2005
2005
|
\`mcp__sellable__get_subskill_prompt({ subskillName: "refill-sends" })\`,
|
|
2006
2006
|
then load \`mcp__sellable__get_subskill_prompt({ subskillName: "refill-sends-workflow" })\`.
|
package/package.json
CHANGED
|
@@ -143,6 +143,42 @@ two lanes to fill. If a stale target plan selects `send_dm` or
|
|
|
143
143
|
`send_inmail_open`, stop and re-plan with the current planner before mutation.
|
|
144
144
|
Short form: trust the target plan's inferred lane only when it is a
|
|
145
145
|
connection-invite or paid-InMail refill lane.
|
|
146
|
+
|
|
147
|
+
Structured planner packet:
|
|
148
|
+
|
|
149
|
+
- `target.eligibleSenderLedger` is the public sender eligibility ledger.
|
|
150
|
+
- `target.senderRefillPlans[]` is the canonical sender-level packet; read and
|
|
151
|
+
display it before mutation.
|
|
152
|
+
- Each sender packet includes `campaignRanking.options`, `sourcePlan`,
|
|
153
|
+
`nextActions`, and `manualAlternates`.
|
|
154
|
+
- Preserve these coverage labels exactly: `Need to prepare`, `Goal`,
|
|
155
|
+
`Already sent`, `Scheduled`, `Ready and waiting to be scheduled`, and
|
|
156
|
+
`Still need`.
|
|
157
|
+
- `target.globalActionQueue` is the only cross-sender yolo execution queue.
|
|
158
|
+
Execute exactly one globally ranked primitive from
|
|
159
|
+
`target.globalActionQueue[0]`, then rerun `get_refill_target_plan` before
|
|
160
|
+
choosing another action.
|
|
161
|
+
- `manualAlternates` are not yolo actions. Threshold lowering and campaign
|
|
162
|
+
creation are manual continuations only.
|
|
163
|
+
|
|
164
|
+
Run-local paid-credit guard: in `--yolo`, the `refill_sends` MCP command
|
|
165
|
+
automatically maintains a `refreshedPaidInmailSenderIds` set for the current
|
|
166
|
+
command call. If its first target plan has stale/missing paid-InMail credit
|
|
167
|
+
facts, it refreshes each selected sender at most once, reruns
|
|
168
|
+
`get_refill_target_plan`, and returns the post-refresh `targetPlan` before
|
|
169
|
+
choosing the next prep/approval/start action. If fresh facts are still below
|
|
170
|
+
threshold, below-threshold paid-InMail facts fall back to an existing connection
|
|
171
|
+
lane or a manual continuation.
|
|
172
|
+
|
|
173
|
+
Compact refill lessons: sender-level target plan is final truth; trust
|
|
174
|
+
`schedulerGate.sendable` and scheduler gate blockers, not raw
|
|
175
|
+
`unipileAccountStatus` labels alone; use compact prep status checks for
|
|
176
|
+
long-running jobs; reread target plans after prep or cancel; treat ready rows as
|
|
177
|
+
intermediate; avoid huge parallel target-plan reads when output is large. If a
|
|
178
|
+
campaign produces prepared/ready rows but sender-level projected coverage does
|
|
179
|
+
not move after one bounded settle loop, pivot to compact prep status or a
|
|
180
|
+
scheduler-proven lane. Do not keep waiting on campaign-level ready counts.
|
|
181
|
+
|
|
146
182
|
For exact-date requests, pass `targetDate` to `get_refill_target_plan`. If you
|
|
147
183
|
need raw proof, call the read-only `get_scheduler_fill_capacity` query for the
|
|
148
184
|
same sender/action/date; it tells the MCP how many cells the product scheduler
|
|
@@ -157,13 +193,14 @@ interval, until projected coverage fills the target, a concrete non-scheduler
|
|
|
157
193
|
blocker appears, or Christian explicitly asks to stop or only receive a status
|
|
158
194
|
report. Treat `awaiting_scheduler_after_ready_buffer` as an in-progress wait
|
|
159
195
|
state, not a close-out condition.
|
|
160
|
-
If paid InMail credit facts are stale or missing and the target plan
|
|
161
|
-
`refresh_paid_inmail_credits
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
`
|
|
165
|
-
InMail is below threshold after
|
|
166
|
-
campaign/table/column threshold action or connection fallback; `--yolo` does not
|
|
196
|
+
If paid InMail credit facts are stale or missing and the first target plan
|
|
197
|
+
contains `refresh_paid_inmail_credits`, do not present that as the operator's
|
|
198
|
+
next action in `--yolo`. Trust `refill_sends.autoPaidInmailRefresh`: it should
|
|
199
|
+
show the exact sender ids refreshed once, sender-credit-cache write receipts,
|
|
200
|
+
and a returned post-refresh `targetPlan`. Continue from that post-refresh packet.
|
|
201
|
+
If paid InMail is below threshold after the fresh credit read, report the exact
|
|
202
|
+
campaign/table/column threshold action or connection fallback; `--yolo` does not
|
|
203
|
+
lower paid-InMail thresholds or create campaigns.
|
|
167
204
|
|
|
168
205
|
If the plain route's managed waterfall targets are stale, for example skipped
|
|
169
206
|
targets show archived/completed shared slots or the returned targets do not cover
|
|
@@ -219,7 +256,7 @@ apply/prep/start result, reread state, settle processing when needed, and move t
|
|
|
219
256
|
the next selected sender or start-eligible same-packet campaign instead of
|
|
220
257
|
stopping after the first partial result. If no in-packet safe action remains,
|
|
221
258
|
return concrete continuation options with campaign names, exact ids, which option
|
|
222
|
-
is
|
|
259
|
+
is still covered by the current packet, and which option needs a new approval
|
|
223
260
|
packet.
|
|
224
261
|
|
|
225
262
|
For `--yolo` fill/schedule requests, completion means projected saturation
|