@sellable/install 0.1.79 → 0.1.81
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
|
@@ -611,6 +611,45 @@ Never mention MCP namespaces, prompt chunking, plugin cache paths, missing
|
|
|
611
611
|
linked skill versions, runbooks, or local skill files in normal customer-facing
|
|
612
612
|
copy.
|
|
613
613
|
|
|
614
|
+
## Codex Watch Browser Handoff
|
|
615
|
+
|
|
616
|
+
When a campaign tool returns \`watchUrl\`, treat it as an active browser handoff,
|
|
617
|
+
not only a URL to print. A valid handoff link must be a signed
|
|
618
|
+
\`/auth/continue?token=...&redirect=/campaign-builder/{campaignId}?mode=claude\`
|
|
619
|
+
URL. \`create_campaign.watchUrl\`, \`create_campaign({ campaignId }).watchUrl\`,
|
|
620
|
+
and \`get_campaign.watchUrl\` are all acceptable only when they return that signed
|
|
621
|
+
shape.
|
|
622
|
+
|
|
623
|
+
In Codex Desktop, when in-app browser control is available, open the returned watch link on the user's behalf. After opening it, inspect the browser-visible campaign state, then explain what the user is seeing before continuing with more campaign tools. Use customer language such as:
|
|
624
|
+
|
|
625
|
+
\`\`\`text
|
|
626
|
+
I’ll open the campaign view and keep it in sync as I build.
|
|
627
|
+
\`\`\`
|
|
628
|
+
|
|
629
|
+
If browser control is unavailable, say so briefly and provide the watch link.
|
|
630
|
+
In VPS or other off-desktop Codex runs, this fallback is the expected handoff for
|
|
631
|
+
the local headed watch observer: make the signed link easy to copy/open, then
|
|
632
|
+
continue with explicit chat progress and \`get_campaign_navigation_state\`
|
|
633
|
+
orientation checks.
|
|
634
|
+
Use this fallback shape:
|
|
635
|
+
|
|
636
|
+
\`\`\`text
|
|
637
|
+
I can’t inspect the campaign browser from this Codex session, so I’ll keep the
|
|
638
|
+
chat steps explicit here. Watch link: {watchUrl}
|
|
639
|
+
\`\`\`
|
|
640
|
+
|
|
641
|
+
If opening the watch link lands on an auth, 404, permission, blank, or visible
|
|
642
|
+
error state, report only what is visible, recover a fresh signed watch link once
|
|
643
|
+
with \`create_campaign({ campaignId })\` or \`get_campaign\`, and try that link.
|
|
644
|
+
Do not claim the browser was opened, inspected, or synchronized unless the
|
|
645
|
+
visible browser state was actually observed. Do not claim the browser was opened
|
|
646
|
+
unless it was opened and observed.
|
|
647
|
+
|
|
648
|
+
After every \`update_campaign({ campaignId, currentStep })\`, use
|
|
649
|
+
\`get_campaign_navigation_state\` when available as a compact orientation check:
|
|
650
|
+
match the browser-visible step to the saved campaign state, explain the current
|
|
651
|
+
state in one sentence, and only then continue. Sender selection belongs at Settings after message approval and 10-row validation. Do not attach a sequence, start the campaign, or trigger a live send unless the user explicitly confirms that launch action outside UAT.
|
|
652
|
+
|
|
614
653
|
## Names To Use
|
|
615
654
|
|
|
616
655
|
Use these exact public names so Claude Code and Codex do not drift:
|
package/package.json
CHANGED
|
@@ -158,6 +158,45 @@ Never mention MCP namespaces, prompt chunking, plugin cache paths, missing
|
|
|
158
158
|
linked skill versions, runbooks, or local skill files in normal customer-facing
|
|
159
159
|
copy.
|
|
160
160
|
|
|
161
|
+
## Codex Watch Browser Handoff
|
|
162
|
+
|
|
163
|
+
When a campaign tool returns `watchUrl`, treat it as an active browser handoff,
|
|
164
|
+
not only a URL to print. A valid handoff link must be a signed
|
|
165
|
+
`/auth/continue?token=...&redirect=/campaign-builder/{campaignId}?mode=claude`
|
|
166
|
+
URL. `create_campaign.watchUrl`, `create_campaign({ campaignId }).watchUrl`,
|
|
167
|
+
and `get_campaign.watchUrl` are all acceptable only when they return that signed
|
|
168
|
+
shape.
|
|
169
|
+
|
|
170
|
+
In Codex Desktop, when in-app browser control is available, open the returned watch link on the user's behalf. After opening it, inspect the browser-visible campaign state, then explain what the user is seeing before continuing with more campaign tools. Use customer language such as:
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
I’ll open the campaign view and keep it in sync as I build.
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
If browser control is unavailable, say so briefly and provide the watch link.
|
|
177
|
+
In VPS or other off-desktop Codex runs, this fallback is the expected handoff for
|
|
178
|
+
the local headed watch observer: make the signed link easy to copy/open, then
|
|
179
|
+
continue with explicit chat progress and `get_campaign_navigation_state`
|
|
180
|
+
orientation checks.
|
|
181
|
+
Use this fallback shape:
|
|
182
|
+
|
|
183
|
+
```text
|
|
184
|
+
I can’t inspect the campaign browser from this Codex session, so I’ll keep the
|
|
185
|
+
chat steps explicit here. Watch link: {watchUrl}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
If opening the watch link lands on an auth, 404, permission, blank, or visible
|
|
189
|
+
error state, report only what is visible, recover a fresh signed watch link once
|
|
190
|
+
with `create_campaign({ campaignId })` or `get_campaign`, and try that link. Do
|
|
191
|
+
not claim the browser was opened, inspected, or synchronized unless the visible
|
|
192
|
+
browser state was actually observed. Do not claim the browser was opened unless
|
|
193
|
+
it was opened and observed.
|
|
194
|
+
|
|
195
|
+
After every `update_campaign({ campaignId, currentStep })`, use
|
|
196
|
+
`get_campaign_navigation_state` when available as a compact orientation check:
|
|
197
|
+
match the browser-visible step to the saved campaign state, explain the current
|
|
198
|
+
state in one sentence, and only then continue. Sender selection belongs at Settings after message approval and 10-row validation. Do not attach a sequence, start the campaign, or trigger a live send unless the user explicitly confirms that launch action outside UAT.
|
|
199
|
+
|
|
161
200
|
## Names To Use
|
|
162
201
|
|
|
163
202
|
Use these exact public names so Claude Code and Codex do not drift:
|