@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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.295",
3
+ "version": "0.1.297",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -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 returns a
161
- `refresh_paid_inmail_credits` action candidate, include the exact sender id,
162
- campaign/table/column proof, expected sender-credit-cache writes, and rerun plan
163
- step in the bounded packet. After `refresh_paid_inmail_credits`, rerun
164
- `get_refill_target_plan` before any prep/import/approval/start action. If paid
165
- InMail is below threshold after a fresh credit read, report the exact
166
- campaign/table/column threshold action or connection fallback; `--yolo` does not lower paid-InMail thresholds or create campaigns.
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 already covered by the current packet, and which option needs a new approval
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