@sellable/install 0.1.233 → 0.1.235
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
package/package.json
CHANGED
|
@@ -344,17 +344,29 @@ not a parent-thread summary. The receipt must include:
|
|
|
344
344
|
`senderIds`, or non-empty `senderIdentityBasis`, plus `identityBasis`.
|
|
345
345
|
- `campaignBriefReceipt`: the CampaignOffer/campaign id, current
|
|
346
346
|
workflowTableId, brief hash or updated-at marker, delivery format, token
|
|
347
|
-
rules, hard avoids, source-use rules, and first-message
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
`
|
|
347
|
+
rules, hard avoids, source-use rules, and lane-appropriate first-message
|
|
348
|
+
state. Post Engagers lanes require `campaignBriefReceipt.firstMessageTemplate`
|
|
349
|
+
because they are sender-owned warm lanes. Shared Signal Discovery and Shared
|
|
350
|
+
Cold Fallback lanes must not set `campaignBriefReceipt.firstMessageTemplate`;
|
|
351
|
+
instead set `campaignBriefReceipt.firstMessageTemplateState` to the exact
|
|
352
|
+
no-preset marker
|
|
353
|
+
`not preset; generate-messages branch selected the final message approach`.
|
|
354
|
+
If the tool output uses `approvedFirstMessageTemplate`, copy it to canonical
|
|
355
|
+
`firstMessageTemplate` only for Post Engagers lanes. For shared lanes, treat a
|
|
356
|
+
raw approved template as a quality issue unless it is only a no-preset or
|
|
357
|
+
generate-messages state marker. If the tool output uses
|
|
358
|
+
`deliveryFormatIncluded`, `tokenRulesIncluded`, `hardAvoidsIncluded`, or
|
|
359
|
+
`sourceUseRulesIncluded`, copy those to canonical `deliveryFormat`,
|
|
360
|
+
`tokenRules`, `hardAvoids`, and `sourceUseRules`. Before the worker exits, the
|
|
361
|
+
durable JSON must contain the exact canonical leaf keys `briefHash`,
|
|
362
|
+
`deliveryFormat`, `tokenRules`, `hardAvoids`, and `sourceUseRules` inside
|
|
363
|
+
`createCampaignStepReceipt.campaignBriefReceipt`, plus
|
|
364
|
+
`firstMessageTemplate` only for Post Engagers lanes or
|
|
365
|
+
`firstMessageTemplateState` for shared lanes; do not leave those only in
|
|
356
366
|
narrative text, `briefIncludes`, `currentApprovedBriefHash`, or other aliases
|
|
357
367
|
for the parent/verifier to infer.
|
|
368
|
+
Short form: Post Engagers lanes require `campaignBriefReceipt.firstMessageTemplate`.
|
|
369
|
+
Short form: Shared Signal Discovery and Shared Cold Fallback lanes must not set `campaignBriefReceipt.firstMessageTemplate`.
|
|
358
370
|
- `sourceDecisionReceipt`: selected source/list id, provider, cursor/inventory
|
|
359
371
|
state, import/copy caps, explicit `dedupeDncProviderExclusions:true` or an
|
|
360
372
|
equivalent exclusions object, row ids or row-count evidence (`rowCount`,
|
|
@@ -419,9 +431,10 @@ before writing JSON; do not leave only raw objects like
|
|
|
419
431
|
Self-check shorthand: top-level `planRevision`, `actionId`, `laneKey`, `laneType`, `workspaceId`, and `senderIds` must exist before worker completion.
|
|
420
432
|
Self-check shorthand: `campaignBriefReceipt.briefHash`,
|
|
421
433
|
`campaignBriefReceipt.deliveryFormat`, `campaignBriefReceipt.tokenRules`,
|
|
422
|
-
`campaignBriefReceipt.hardAvoids`, `campaignBriefReceipt.sourceUseRules
|
|
423
|
-
|
|
424
|
-
|
|
434
|
+
`campaignBriefReceipt.hardAvoids`, and `campaignBriefReceipt.sourceUseRules`
|
|
435
|
+
must exist as exact canonical keys before worker completion, plus
|
|
436
|
+
`campaignBriefReceipt.firstMessageTemplate` only for Post Engagers lanes and
|
|
437
|
+
`campaignBriefReceipt.firstMessageTemplateState` for shared lanes.
|
|
425
438
|
Self-check shorthand: `sourceDecisionReceipt.dedupeDncProviderExclusions`,
|
|
426
439
|
`sourceDecisionReceipt.sourceLadderReason`, and one of
|
|
427
440
|
`sourceDecisionReceipt.rowCount`, `sourceDecisionReceipt.rowIdsHash`, or
|
|
@@ -493,7 +506,8 @@ verification unless the same object also appears inside
|
|
|
493
506
|
"tokenRules": true,
|
|
494
507
|
"hardAvoids": true,
|
|
495
508
|
"sourceUseRules": true,
|
|
496
|
-
"firstMessageTemplate": "<
|
|
509
|
+
"firstMessageTemplate": "<Post Engagers only warm template; omit for shared lanes>",
|
|
510
|
+
"firstMessageTemplateState": "<Shared lanes only: not preset; generate-messages branch selected the final message approach>"
|
|
497
511
|
},
|
|
498
512
|
"sourceDecisionReceipt": {
|
|
499
513
|
"sourceId": "<source id>",
|
|
@@ -646,6 +660,11 @@ such as "my post", "thanks for showing support", "saw you pop up", or any copy
|
|
|
646
660
|
that implies the sending sender authored the source post or personally received
|
|
647
661
|
the prospect's engagement unless the selected source evidence proves that exact
|
|
648
662
|
sender authored the post.
|
|
663
|
+
Shared lanes must reject generic product-summary samples that explain the
|
|
664
|
+
product in the same broad words for every row. Shared lanes must reject three
|
|
665
|
+
nearly identical samples after stripping the leading name. If either failure
|
|
666
|
+
appears, revise or rerun the packaged create-campaign/generate-messages path
|
|
667
|
+
from the lane worker before writing a success receipt.
|
|
649
668
|
The generated-message cells are not prompt proof: `currentRevisionGeneratedMessages`,
|
|
650
669
|
Generate Message column counts, `messagesCount`, or rendered row previews prove
|
|
651
670
|
only that table cells exist from the current brief/template, not that the
|
|
@@ -678,6 +697,15 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
|
678
697
|
- Post Engagers lanes: that sender's ID only. Shared lanes: all the senders' IDs.
|
|
679
698
|
- The brief and message direction are lane-specific. Never reuse the Post
|
|
680
699
|
Engagers opening for Shared Cold Fallback.
|
|
700
|
+
- The warm post-engager first-message template is allowed only for
|
|
701
|
+
sender-owned Post Engagers lanes. Do not pass the warm template into Shared
|
|
702
|
+
Signal Discovery or Shared Cold Fallback; those shared lanes must arrive at
|
|
703
|
+
their copy through Message Drafting and generated-message validation.
|
|
704
|
+
Short form: warm post-engager first-message template is allowed only for sender-owned Post Engagers lanes.
|
|
705
|
+
Short form: Do not pass the warm template into Shared Signal Discovery or Shared Cold Fallback.
|
|
706
|
+
Short form: Shared lanes must reject generic product-summary samples.
|
|
707
|
+
Short form: Shared lanes must reject three nearly identical samples.
|
|
708
|
+
Short form: revise or rerun the packaged create-campaign/generate-messages path.
|
|
681
709
|
- **Post Engagers** first-message style: short, casual, references the
|
|
682
710
|
sender-authored post they engaged with, closed question, **no internal
|
|
683
711
|
vocabulary, no pitch, no meeting ask** in message one:
|
|
@@ -696,13 +724,20 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
|
696
724
|
"my post" unless the selected source post was actually authored by the
|
|
697
725
|
sending sender. Do not thank the prospect for showing support, reacting,
|
|
698
726
|
commenting, or popping up unless this is a sender-owned Post Engagers lane
|
|
699
|
-
with sender-authored source evidence.
|
|
727
|
+
with sender-authored source evidence. When the shared lane has multiple
|
|
728
|
+
senders, the copy must be safe for every attached sender to send. Do not
|
|
729
|
+
use founder-only first person such as "I'm building", "my company", "my
|
|
730
|
+
team", or "I have a framework" unless every attached sender can credibly
|
|
731
|
+
say it. Prefer sender-agnostic company/team language such as "we're
|
|
732
|
+
helping CX teams..." or "at cxconnect.ai, we help..." and one clear
|
|
733
|
+
problem question.
|
|
700
734
|
- **Shared Cold Fallback** first-message style: cold, direct, and cohesive.
|
|
701
735
|
It must not pretend there was engagement, must not say "saw you pop up",
|
|
702
736
|
and must not use a standalone name line followed by "Hey there" or other
|
|
703
737
|
generic greeting. It should open with a light role/company/problem
|
|
704
|
-
observation, avoid awkward phrases like "looks like a team where",
|
|
705
|
-
|
|
738
|
+
observation, avoid awkward phrases like "looks like a team where", avoid
|
|
739
|
+
founder-only first person unless every attached sender can credibly say it,
|
|
740
|
+
and ask one clear problem question. This is a single-message
|
|
706
741
|
cold path unless the approved create-campaign message workflow proves a
|
|
707
742
|
better delivery format.
|
|
708
743
|
- Every customer-visible lane must run Message Drafting from the current
|
|
@@ -731,7 +766,10 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
|
731
766
|
already launched and must be reported separately, and `ARCHIVED` must be
|
|
732
767
|
repaired only when the prompt explicitly allows dashboard visibility repair.
|
|
733
768
|
- A full campaign brief exists, including delivery format, token rules,
|
|
734
|
-
hard avoids, source-use rules
|
|
769
|
+
hard avoids, and source-use rules. Post Engagers require an approved warm
|
|
770
|
+
first-message template. Shared Signal Discovery and Shared Cold Fallback
|
|
771
|
+
require `firstMessageTemplateState` with the no-preset generate-messages
|
|
772
|
+
marker instead of a copied first-message template.
|
|
735
773
|
- A source/list decision has been resolved and campaign rows are loaded. If
|
|
736
774
|
there is no approved source or no rows can be copied, report `blocked` with
|
|
737
775
|
the missing source detail; do not call the campaign complete.
|
|
@@ -753,10 +791,13 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
|
753
791
|
`get_campaign_message_preparation_status`. The generated-message cells are
|
|
754
792
|
not prompt proof; `currentRevisionGeneratedMessages` and row previews are
|
|
755
793
|
only downstream cell evidence. The proof must include
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
794
|
+
`validationResult:"passed"`, a passed quality review, and at least 3
|
|
795
|
+
reviewed sample messages. For Shared Cold Fallback, reject samples that
|
|
796
|
+
open with a standalone name followed by "Hey there" or a similarly generic
|
|
797
|
+
greeting. For all shared lanes, reject generic product-summary samples,
|
|
798
|
+
repeated near-identical samples, and any preserved Post Engagers opener;
|
|
799
|
+
revise or rerun the packaged create-campaign/generate-messages path before
|
|
800
|
+
reporting completion.
|
|
760
801
|
- The first review batch exists and at least 3 review rows have generated
|
|
761
802
|
messages from the approved brief. If fewer than 3 usable rows exist, report
|
|
762
803
|
the actual count and why.
|