@sellable/install 0.1.287 → 0.1.288
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
|
@@ -1005,6 +1005,7 @@ const CREATE_CAMPAIGN_ALLOWED_TOOLS = [
|
|
|
1005
1005
|
"mcp__sellable__wait_for_campaign_processing",
|
|
1006
1006
|
"mcp__sellable__resolve_campaign_fill_route",
|
|
1007
1007
|
"mcp__sellable__get_campaign_refill_state",
|
|
1008
|
+
"mcp__sellable__get_refill_target_plan",
|
|
1008
1009
|
"mcp__sellable__fill_campaign_horizon",
|
|
1009
1010
|
"mcp__sellable__start_campaign_message_preparation",
|
|
1010
1011
|
"mcp__sellable__get_campaign_message_preparation_status",
|
|
@@ -1064,6 +1065,7 @@ const REFILL_SENDS_ALLOWED_TOOLS = [
|
|
|
1064
1065
|
"mcp__sellable__get_campaign_waterfall",
|
|
1065
1066
|
"mcp__sellable__resolve_campaign_fill_route",
|
|
1066
1067
|
"mcp__sellable__get_campaign_refill_state",
|
|
1068
|
+
"mcp__sellable__get_refill_target_plan",
|
|
1067
1069
|
"mcp__sellable__fill_campaign_horizon",
|
|
1068
1070
|
"mcp__sellable__get_campaign",
|
|
1069
1071
|
"mcp__sellable__get_campaign_context",
|
|
@@ -1989,10 +1991,11 @@ Desktop, then start a new thread.
|
|
|
1989
1991
|
|
|
1990
1992
|
1. Call \`mcp__sellable__get_auth_status({})\`.
|
|
1991
1993
|
2. Normalize invocation arguments with \`mcp__sellable__refill_sends({ yolo, senders, senderIds, senderNames, untilDate })\` when the host exposes typed MCP tools.
|
|
1992
|
-
3.
|
|
1994
|
+
3. Call \`mcp__sellable__get_refill_target_plan({ senders, senderIds, senderNames, untilDate })\` before any mutation. If the returned target is already complete, stop with the no-op receipt. If ready rows cover the target but scheduled rows do not, run only the read-only scheduler settle/re-read loop.
|
|
1995
|
+
4. Load the canonical prompt via
|
|
1993
1996
|
\`mcp__sellable__get_subskill_prompt({ subskillName: "refill-sends" })\`,
|
|
1994
1997
|
then load \`mcp__sellable__get_subskill_prompt({ subskillName: "refill-sends-workflow" })\`.
|
|
1995
|
-
|
|
1998
|
+
5. Follow the canonical prompt exactly. Do not launch, start, archive, delete,
|
|
1996
1999
|
or write scheduler rows as part of refill sends.
|
|
1997
2000
|
|
|
1998
2001
|
## MCP Prompt Fallback
|
package/lib/runtime-verify.mjs
CHANGED
|
@@ -30,6 +30,7 @@ export const REQUIRED_SELLABLE_MCP_TOOLS = [
|
|
|
30
30
|
"attach_recommended_sequence",
|
|
31
31
|
"resolve_campaign_fill_route",
|
|
32
32
|
"get_campaign_refill_state",
|
|
33
|
+
"get_refill_target_plan",
|
|
33
34
|
"refill_sends",
|
|
34
35
|
"setup_evergreen_campaigns",
|
|
35
36
|
"start_campaign_message_preparation",
|
package/package.json
CHANGED
|
@@ -49,6 +49,7 @@ allowed-tools:
|
|
|
49
49
|
- mcp__sellable__wait_for_campaign_processing
|
|
50
50
|
- mcp__sellable__resolve_campaign_fill_route
|
|
51
51
|
- mcp__sellable__get_campaign_refill_state
|
|
52
|
+
- mcp__sellable__get_refill_target_plan
|
|
52
53
|
- mcp__sellable__fill_campaign_horizon
|
|
53
54
|
- mcp__sellable__start_campaign_message_preparation
|
|
54
55
|
- mcp__sellable__get_campaign_message_preparation_status
|
|
@@ -1330,21 +1330,35 @@ Message, and verify current-revision sample messages before final completion.
|
|
|
1330
1330
|
Short form: Shared lanes must reject internal workflow vocabulary.
|
|
1331
1331
|
Short form: revise or rerun the packaged create-campaign/generate-messages path.
|
|
1332
1332
|
- **Post Engagers** first-message style: short, casual, references the
|
|
1333
|
-
sender-authored post they engaged with,
|
|
1334
|
-
|
|
1335
|
-
|
|
1333
|
+
sender-authored post they engaged with, includes the post URL as a concrete
|
|
1334
|
+
reminder, uses an easy buyer-function/category line, and ends with one
|
|
1335
|
+
row-custom closed question. Use **no internal vocabulary, no meeting ask,
|
|
1336
|
+
no proof block, no feature-stack category, and no generic static question**
|
|
1337
|
+
in message one:
|
|
1336
1338
|
|
|
1337
1339
|
```
|
|
1338
1340
|
{{first_name}}
|
|
1339
1341
|
|
|
1340
1342
|
Hey there
|
|
1341
1343
|
|
|
1342
|
-
|
|
1344
|
+
Saw you pop up on my post about {{post_topic_line}}
|
|
1345
|
+
|
|
1346
|
+
This one
|
|
1347
|
+
{{post_url}}
|
|
1348
|
+
|
|
1349
|
+
Looks like you lead {{plain_buyer_function}} at {{company_name}}, right?
|
|
1350
|
+
|
|
1351
|
+
{{custom_closed_question}}
|
|
1343
1352
|
```
|
|
1344
1353
|
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1354
|
+
`{{custom_closed_question}}` must be specific to the post topic, buyer
|
|
1355
|
+
function, company context, and current offer category. The category should
|
|
1356
|
+
be easy to understand, for example `LinkedIn outbound`, `customer success`,
|
|
1357
|
+
`CX operations`, `support`, `sales`, or `growth`; do not use feature-heavy
|
|
1358
|
+
phrasing like `manual research + follow-up process`, `lead filters`, or
|
|
1359
|
+
`sequence setup`. Do not add any paragraph after the custom closed question.
|
|
1360
|
+
In particular, do not append `open to...`, `worth seeing...`, a meeting ask,
|
|
1361
|
+
proof block, or Sellable/product copy to a Post Engagers first message.
|
|
1348
1362
|
|
|
1349
1363
|
- **Shared Signal Discovery** first-message style: short, casual, starts
|
|
1350
1364
|
from the real public business theme or buyer problem supported by the row.
|
|
@@ -4,6 +4,7 @@ description: Plan regular campaign and evergreen campaign send refill work throu
|
|
|
4
4
|
visibility: public
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- mcp__sellable__refill_sends
|
|
7
|
+
- mcp__sellable__get_refill_target_plan
|
|
7
8
|
- mcp__sellable__get_auth_status
|
|
8
9
|
- mcp__sellable__start_cli_login
|
|
9
10
|
- mcp__sellable__wait_for_cli_login
|
|
@@ -102,11 +103,23 @@ get_subskill_prompt({ subskillName: "refill-sends-workflow" })
|
|
|
102
103
|
```
|
|
103
104
|
|
|
104
105
|
Then follow that workflow exactly. The default path is read-only research:
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
compute the refill target plan first, resolve the route, identify the
|
|
107
|
+
sender-relevant campaign that most recently had scheduler-owned sends, read
|
|
108
|
+
refill state for that target, report the next safe step using campaign names
|
|
109
|
+
first, and stop before mutation unless the user has explicitly approved the
|
|
110
|
+
exact workspace, campaign/table/source ids, caps/dates, approval mode, expected
|
|
111
|
+
side effects, and stop/rollback condition.
|
|
112
|
+
|
|
113
|
+
Immediately after loading the internal workflow, call
|
|
114
|
+
`get_refill_target_plan`. The target plan is the canonical first fact receipt:
|
|
115
|
+
selected sender-local days, gross scheduled-send target, scheduler-owned
|
|
116
|
+
scheduled coverage across active enrolled campaigns, ready buffer, remaining
|
|
117
|
+
scheduled gap, remaining ready-or-scheduled gap, `targetShapeRevision`, and
|
|
118
|
+
`stateRevision`. If the target plan is complete, report that the selected target
|
|
119
|
+
is already filled and no-op without asking for approval. If the ready buffer
|
|
120
|
+
covers the target but scheduled coverage is still short, run only a bounded
|
|
121
|
+
read-only scheduler settle/reread loop and report
|
|
122
|
+
`awaiting_scheduler_after_ready_buffer` if it does not settle.
|
|
110
123
|
|
|
111
124
|
If the plain route's managed waterfall targets are stale, for example skipped
|
|
112
125
|
targets show archived/completed shared slots or the returned targets do not cover
|
|
@@ -147,7 +160,10 @@ packet. It does not authorize starting unrelated, archived, completed, draft, or
|
|
|
147
160
|
direct campaigns, separate launch/send actions, archive or delete cleanup,
|
|
148
161
|
direct scheduler writes, sender reassignment, or campaigns outside those
|
|
149
162
|
selected for the eligible sender set. Stop and re-plan if the route, sender set,
|
|
150
|
-
ids, caps, blockers, or side-effect class drift before mutation.
|
|
163
|
+
ids, caps, blockers, action class, or side-effect class drift before mutation.
|
|
164
|
+
Scheduled counts increasing toward the approved target are expected progress:
|
|
165
|
+
they change `stateRevision`, not `targetShapeRevision`, and do not require a
|
|
166
|
+
second approval.
|
|
151
167
|
|
|
152
168
|
In `--yolo`, continue as far as the rendered packet safely allows. After each
|
|
153
169
|
apply/prep/start result, reread state, settle processing when needed, and move to
|
|
@@ -162,7 +178,8 @@ saturation, not merely prepared/approved/ready rows. Maintain a horizon
|
|
|
162
178
|
saturation ledger per selected sender: selected send days, gross capacity,
|
|
163
179
|
future scheduler-owned scheduled cells with non-null `scheduledFor`,
|
|
164
180
|
ready-to-schedule buffer, remaining scheduled gap, remaining ready-or-scheduled
|
|
165
|
-
gap, and the next MCP primitive that can
|
|
181
|
+
gap, `targetShapeRevision`, `stateRevision`, and the next MCP primitive that can
|
|
182
|
+
reduce the gap. After every
|
|
166
183
|
apply/prep/start result, wait for processing, reread refill state, recompute the
|
|
167
184
|
ledger, then keep applying safe bounded actions until the scheduled count fills
|
|
168
185
|
the horizon or a concrete blocker/timeout is proven. If ready rows cover the
|