@sellable/install 0.1.272 → 0.1.274
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/package.json
CHANGED
|
@@ -926,48 +926,32 @@ verify and do not repair by summarizing product readback in the parent.
|
|
|
926
926
|
Message Drafting runtime rule: the preferred proof source is the normal
|
|
927
927
|
create-campaign branch handoff (`watchNarration.workerDetails.messageDraftBuilder`
|
|
928
928
|
or equivalent) with `statusSource:"branch"`. If that internal branch handoff is
|
|
929
|
-
not callable or not exposed in the packaged MCP runtime, do **not**
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
`mode:"create-campaign-v2"`, and lane type.
|
|
938
|
-
2. Load `get_subskill_prompt({ subskillName:"generate-messages" })` until
|
|
939
|
-
`hasMore:false`, all required message assets, and
|
|
940
|
-
`create-campaign-v2-validation`.
|
|
941
|
-
3. Produce a concrete `messageDraftRecommendation` before row generation. It
|
|
942
|
-
must include the selected message approach/template recommendation,
|
|
943
|
-
token/fill rules, source-use rules, hard avoids, at least one rendered good
|
|
944
|
-
sample, current campaign/table/source basis, and validation status. Shared
|
|
945
|
-
lanes still use `firstMessageTemplateState:"not preset; generate-messages
|
|
946
|
-
branch selected the final message approach"`; do not set
|
|
947
|
-
`firstMessageTemplate` for shared lanes.
|
|
948
|
-
4. Persist the recommendation into the campaign brief/message generation basis
|
|
949
|
-
with the packaged create-campaign tools before generating rows. If the
|
|
950
|
-
generated copy fails review, update the campaign brief/message template with
|
|
951
|
-
`update_campaign_brief` or `revise_message_template_and_rerun`, then rerun
|
|
952
|
-
Generate Message and review current-revision generated output.
|
|
953
|
-
5. Only after the scout recommendation and persisted basis exist, call
|
|
954
|
-
`start_campaign_message_preparation({ campaignId, tableId,
|
|
929
|
+
not callable or not exposed in the packaged MCP runtime, do **not** stop after
|
|
930
|
+
creating/importing rows. The lane worker must run the packaged message-drafting
|
|
931
|
+
path itself in the worker thread:
|
|
932
|
+
|
|
933
|
+
1. Load `get_subskill_prompt({ subskillName:"generate-messages" })` until
|
|
934
|
+
`hasMore:false`.
|
|
935
|
+
2. Load the required message assets and `create-campaign-v2-validation`.
|
|
936
|
+
3. Call `start_campaign_message_preparation({ campaignId, tableId,
|
|
955
937
|
targetPreparedMessages, maxRowsToCheck, approvalMode:"mark_ready",
|
|
956
938
|
autoContinue:true })` inside the same lane worker, with bounded caps from the
|
|
957
|
-
lane packet.
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
Approved cell through `select_campaign_cells` and `update_cell`.
|
|
939
|
+
lane packet.
|
|
940
|
+
Never call `start_campaign_message_preparation` with `approvalMode:"approve"`
|
|
941
|
+
for evergreen setup. Generate/readiness and approval are separate safety
|
|
942
|
+
steps: first mark rows ready, then inspect generated copy, then approve
|
|
943
|
+
exactly one semantic Approved cell through `select_campaign_cells` and
|
|
944
|
+
`update_cell`.
|
|
964
945
|
Approval shorthand: approve exactly one semantic Approved cell.
|
|
965
946
|
In this message-drafting path, `update_cell` is allowed only for the semantic
|
|
966
947
|
Approved checkbox. Do not use `update_cell` or any row/cell write to edit
|
|
967
948
|
generated message text, sample copy, or final message bodies in automation.
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
949
|
+
If generated copy fails review, update the campaign brief/message template
|
|
950
|
+
with `update_campaign_brief` or `revise_message_template_and_rerun`, then
|
|
951
|
+
rerun Generate Message and review current-revision generated output. Receipt
|
|
952
|
+
`sampleMessages` must come from generated current-revision cells after the
|
|
953
|
+
brief/template rerun, not from hand-edited message cell overrides. If a lane
|
|
954
|
+
used a generated-message body override, report
|
|
971
955
|
`blocked: generated_message_cell_override` instead of success.
|
|
972
956
|
Do not repair by overwriting bad generated message cells and then calling the
|
|
973
957
|
overwritten cells `sampleMessages`.
|
|
@@ -978,9 +962,9 @@ plain row generation. The lane worker must inline the same
|
|
|
978
962
|
Short form: `update_cell` is allowed only for the semantic Approved checkbox.
|
|
979
963
|
Short form: Do not use `update_cell` to edit generated message text.
|
|
980
964
|
Short form: Bad copy requires brief/template revision plus Generate Message rerun.
|
|
981
|
-
|
|
965
|
+
4. Poll `get_campaign_message_preparation_status` until no queued/active cells
|
|
982
966
|
remain or a bounded stop reason is returned.
|
|
983
|
-
|
|
967
|
+
5. Use `get_campaign_messages_preview` or `select_campaign_cells` to inspect
|
|
984
968
|
generated rows, quality-review at least 3 samples, approve exactly one
|
|
985
969
|
quality-valid route-proof row when none is already approved, and prove no
|
|
986
970
|
broad approve-all happened.
|
|
@@ -990,21 +974,16 @@ plain row generation. The lane worker must inline the same
|
|
|
990
974
|
approvedGeneratedMessageCount exactly 1. Do not report completion with 2+
|
|
991
975
|
approved rows.
|
|
992
976
|
Approval shorthand: Do not report completion with 2+ approved rows.
|
|
993
|
-
|
|
977
|
+
6. Continue to `attach_recommended_sequence({ campaignId, currentStep:"send" })`
|
|
994
978
|
and, if the campaign is still `DRAFT`, `pause_campaign({ campaignId })`.
|
|
995
979
|
Reread the campaign/table before claiming completion.
|
|
996
980
|
|
|
997
981
|
That packaged worker path must return `messageDraftingReceipt.statusSource:
|
|
998
982
|
"packaged-generate-messages-worker"`. It is accepted only when the receipt
|
|
999
|
-
includes
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
quality review, route-proof approval evidence, sequence proof, and final
|
|
1004
|
-
paused-send proof required of the branch handoff. `statusSource:
|
|
1005
|
-
"parent-thread-fallback"` is still invalid. If neither branch handoff nor
|
|
1006
|
-
inline scout proof can run, stop with `blocked:
|
|
1007
|
-
missing_message_drafting_branch`; do not shortcut through row prep.
|
|
983
|
+
includes the same prompt/assets/validation proof, current campaign/table/source
|
|
984
|
+
basis, generated review rows, sample messages, quality review, route-proof
|
|
985
|
+
approval evidence, sequence proof, and final paused-send proof required of the
|
|
986
|
+
branch handoff. `statusSource:"parent-thread-fallback"` is still invalid.
|
|
1008
987
|
The only accepted statusSource values are exactly `branch` and
|
|
1009
988
|
`packaged-generate-messages-worker`; descriptive aliases such as
|
|
1010
989
|
`package-readback-local-thread` are rejected.
|
|
@@ -1358,25 +1337,16 @@ Message, and verify current-revision sample messages before final completion.
|
|
|
1358
1337
|
Short form: missing or skipped filter proof is `blocked: missing_filter_setup`.
|
|
1359
1338
|
Short form: run Message Drafting only after saved filters are applied.
|
|
1360
1339
|
- Every customer-visible lane must run Message Drafting from the current
|
|
1361
|
-
campaign/table basis after source rows exist
|
|
1362
|
-
|
|
1363
|
-
`
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
into the campaign brief/message generation basis. Only then may the
|
|
1372
|
-
worker call `start_campaign_message_preparation` and poll
|
|
1373
|
-
`get_campaign_message_preparation_status` from the lane worker. The
|
|
1374
|
-
returned receipt must include `statusSource:"branch"` or
|
|
1375
|
-
`statusSource:"packaged-generate-messages-worker"`, at least 3 concrete
|
|
1376
|
-
reviewed sample messages, a passed validation result, and a passed quality
|
|
1377
|
-
review. Row/message counts alone are not enough. If the branch handoff and
|
|
1378
|
-
inline scout contract are both unavailable, report
|
|
1379
|
-
`blocked: missing_message_drafting_branch`.
|
|
1340
|
+
campaign/table basis after source rows exist. The worker must load the full
|
|
1341
|
+
packaged `generate-messages` prompt, every required asset, and
|
|
1342
|
+
`create-campaign-v2-validation`; if the internal branch handoff is not
|
|
1343
|
+
callable in the packaged runtime, the worker must call
|
|
1344
|
+
`start_campaign_message_preparation` and poll
|
|
1345
|
+
`get_campaign_message_preparation_status` from the lane worker. The
|
|
1346
|
+
returned receipt must include `statusSource:"branch"` or
|
|
1347
|
+
`statusSource:"packaged-generate-messages-worker"`, at least 3 concrete
|
|
1348
|
+
reviewed sample messages, a passed validation result, and a passed quality
|
|
1349
|
+
review. Row/message counts alone are not enough.
|
|
1380
1350
|
|
|
1381
1351
|
- **The brief must declare the delivery format** so Generate Message writes copy suited to how it actually sends:
|
|
1382
1352
|
- DM lanes: add a `Delivery format:` line — either `multiline (each paragraph sends as its own DM message)` or `single message`. When multiline, the template's blank-line paragraphs ARE the message boundaries — write each one as a standalone typed message.
|
|
@@ -1414,15 +1384,12 @@ Message, and verify current-revision sample messages before final completion.
|
|
|
1414
1384
|
`hasMore:false`, required message assets were loaded, and
|
|
1415
1385
|
`create-campaign-v2-validation` ran through
|
|
1416
1386
|
`workerDetails.messageDraftBuilder` with `statusSource:"branch"` or
|
|
1417
|
-
through the lane worker's
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
`messageDraftRecommendation`, template/basis persistence proof before row
|
|
1421
|
-
generation, `start_campaign_message_preparation`, and
|
|
1387
|
+
through the lane worker's packaged message-prep path with
|
|
1388
|
+
`statusSource:"packaged-generate-messages-worker"`,
|
|
1389
|
+
`start_campaign_message_preparation`, and
|
|
1422
1390
|
`get_campaign_message_preparation_status`. The generated-message cells are
|
|
1423
1391
|
not prompt proof; `currentRevisionGeneratedMessages` and row previews are
|
|
1424
|
-
only downstream cell evidence.
|
|
1425
|
-
proof must include
|
|
1392
|
+
only downstream cell evidence. The proof must include
|
|
1426
1393
|
`validationResult:"passed"`, a passed quality review, and at least 3
|
|
1427
1394
|
reviewed sample messages. For Shared Cold Fallback, reject samples that
|
|
1428
1395
|
open with a standalone name followed by "Hey there" or a similarly generic
|
|
@@ -24,6 +24,7 @@ allowed-tools:
|
|
|
24
24
|
- mcp__sellable__get_provider_prompt
|
|
25
25
|
- mcp__sellable__get_campaign_message_preparation_status
|
|
26
26
|
- mcp__sellable__start_campaign_message_preparation
|
|
27
|
+
- mcp__sellable__start_campaign
|
|
27
28
|
- mcp__sellable__cancel_campaign_message_preparation
|
|
28
29
|
- mcp__sellable__import_leads
|
|
29
30
|
- mcp__sellable__wait_for_lead_list_ready
|
|
@@ -130,11 +131,16 @@ the active workspace. Without `--yolo`, if Christian did not name senders, ask
|
|
|
130
131
|
which eligible enrolled senders to refill before choosing campaigns or mutating.
|
|
131
132
|
|
|
132
133
|
`--yolo` only covers the exact sender set, per-sender target campaigns, caps,
|
|
133
|
-
approval mode, and side effects in the packet. It
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
134
|
+
approval mode, and side effects in the packet. It may authorize `start_campaign`
|
|
135
|
+
only for selected `PAUSED`, dashboard-active, campaign-backed sequence refill
|
|
136
|
+
targets when the rendered packet names the exact campaign ids and start side
|
|
137
|
+
effect. Starting a paused campaign can let the product scheduler schedule/send
|
|
138
|
+
approved eligible sequence actions, so include that expected side effect in the
|
|
139
|
+
packet. It does not authorize starting unrelated, archived, completed, draft, or
|
|
140
|
+
direct campaigns, separate launch/send actions, archive or delete cleanup,
|
|
141
|
+
direct scheduler writes, sender reassignment, or campaigns outside those
|
|
142
|
+
selected for the eligible sender set. Stop and re-plan if the route, sender set,
|
|
143
|
+
ids, caps, blockers, or side-effect class drift before mutation.
|
|
138
144
|
|
|
139
145
|
In `--yolo`, the default two-day fill horizon is two send days unless
|
|
140
146
|
`--until`/`untilDate` is provided. If an until date is provided, compute bounded
|