@sellable/install 0.1.286 → 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
|
@@ -37,7 +37,7 @@ function getInstallVersion() {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
const CODEX_PLUGIN_VERSION = "0.1.
|
|
40
|
+
const CODEX_PLUGIN_VERSION = "0.1.54";
|
|
41
41
|
const CODEX_PLUGIN_COMPAT_VERSIONS = [
|
|
42
42
|
"0.1.8",
|
|
43
43
|
"0.1.9",
|
|
@@ -75,6 +75,7 @@ const CODEX_PLUGIN_COMPAT_VERSIONS = [
|
|
|
75
75
|
"0.1.41",
|
|
76
76
|
"0.1.51",
|
|
77
77
|
"0.1.52",
|
|
78
|
+
"0.1.53",
|
|
78
79
|
];
|
|
79
80
|
const RAW_INSTALL_PACKAGE_SPEC =
|
|
80
81
|
process.env.SELLABLE_INSTALL_PACKAGE_SPEC || "@sellable/install@latest";
|
|
@@ -1004,6 +1005,7 @@ const CREATE_CAMPAIGN_ALLOWED_TOOLS = [
|
|
|
1004
1005
|
"mcp__sellable__wait_for_campaign_processing",
|
|
1005
1006
|
"mcp__sellable__resolve_campaign_fill_route",
|
|
1006
1007
|
"mcp__sellable__get_campaign_refill_state",
|
|
1008
|
+
"mcp__sellable__get_refill_target_plan",
|
|
1007
1009
|
"mcp__sellable__fill_campaign_horizon",
|
|
1008
1010
|
"mcp__sellable__start_campaign_message_preparation",
|
|
1009
1011
|
"mcp__sellable__get_campaign_message_preparation_status",
|
|
@@ -1063,6 +1065,7 @@ const REFILL_SENDS_ALLOWED_TOOLS = [
|
|
|
1063
1065
|
"mcp__sellable__get_campaign_waterfall",
|
|
1064
1066
|
"mcp__sellable__resolve_campaign_fill_route",
|
|
1065
1067
|
"mcp__sellable__get_campaign_refill_state",
|
|
1068
|
+
"mcp__sellable__get_refill_target_plan",
|
|
1066
1069
|
"mcp__sellable__fill_campaign_horizon",
|
|
1067
1070
|
"mcp__sellable__get_campaign",
|
|
1068
1071
|
"mcp__sellable__get_campaign_context",
|
|
@@ -1988,10 +1991,11 @@ Desktop, then start a new thread.
|
|
|
1988
1991
|
|
|
1989
1992
|
1. Call \`mcp__sellable__get_auth_status({})\`.
|
|
1990
1993
|
2. Normalize invocation arguments with \`mcp__sellable__refill_sends({ yolo, senders, senderIds, senderNames, untilDate })\` when the host exposes typed MCP tools.
|
|
1991
|
-
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
|
|
1992
1996
|
\`mcp__sellable__get_subskill_prompt({ subskillName: "refill-sends" })\`,
|
|
1993
1997
|
then load \`mcp__sellable__get_subskill_prompt({ subskillName: "refill-sends-workflow" })\`.
|
|
1994
|
-
|
|
1998
|
+
5. Follow the canonical prompt exactly. Do not launch, start, archive, delete,
|
|
1995
1999
|
or write scheduler rows as part of refill sends.
|
|
1996
2000
|
|
|
1997
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
|