@sellable/mcp 0.1.114 → 0.1.115
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/dist/index-dev.js
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -165,35 +165,51 @@ linked skill versions, runbooks, npm/package details, repo-local files, VPS or
|
|
|
165
165
|
browser automation limitations, or local skill files in normal customer-facing
|
|
166
166
|
copy.
|
|
167
167
|
|
|
168
|
-
##
|
|
169
|
-
|
|
170
|
-
When a campaign tool returns `watchUrl`, treat it as a user-opened
|
|
171
|
-
|
|
172
|
-
`/campaign-builder/{campaignId}?mode=claude|codex` URL
|
|
173
|
-
|
|
174
|
-
`
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
168
|
+
## Watch Link Handoff
|
|
169
|
+
|
|
170
|
+
When a campaign tool returns `watchUrl`, treat it as a user-opened watch link.
|
|
171
|
+
A valid handoff link must be a safe direct
|
|
172
|
+
`/campaign-builder/{campaignId}?mode=claude|codex|watch` URL.
|
|
173
|
+
`create_campaign.watchUrl`, `create_campaign({ campaignId }).watchUrl`, and
|
|
174
|
+
`get_campaign.watchUrl` are all acceptable only when they return that direct
|
|
175
|
+
campaign-builder shape, with `workspaceId` used only as a safe routing hint when
|
|
176
|
+
needed.
|
|
177
|
+
|
|
178
|
+
Do not claim Sellable can force every host to open links in a specific browser.
|
|
179
|
+
The host controls link-click behavior. Do not call Chrome, browser automation,
|
|
180
|
+
shell `open`, Computer Use, or in-app browser-control tools just because a
|
|
181
|
+
watch link exists.
|
|
182
|
+
|
|
183
|
+
- In Codex Desktop, clicking a URL can open the Codex in-app browser, but that
|
|
184
|
+
browser is only reliable for unauthenticated/public pages. Sellable campaign
|
|
185
|
+
watch pages may need a signed-in session. Tell the user to click the link
|
|
186
|
+
first; if it lands on sign-up/auth, they should open the same link in their
|
|
187
|
+
regular browser to watch real-time updates.
|
|
188
|
+
- In Claude Code, provide the link and direct the user to open it in their
|
|
189
|
+
browser. If their Claude Code setup opens links in an in-app/preview browser,
|
|
190
|
+
that is fine, but do not attempt to open Chrome for them.
|
|
191
|
+
|
|
192
|
+
Make the direct watch link easy to copy/open, then continue with explicit
|
|
193
|
+
customer-facing campaign progress and `get_campaign_navigation_state`
|
|
194
|
+
orientation checks. Use this fallback shape:
|
|
180
195
|
|
|
181
196
|
```text
|
|
182
|
-
Watch link: {watchUrl}
|
|
197
|
+
Watch link: [Open campaign]({watchUrl})
|
|
183
198
|
|
|
184
|
-
|
|
185
|
-
|
|
199
|
+
Click that link to watch the campaign. If it opens in an in-app browser and asks
|
|
200
|
+
you to sign in, open the same link in your regular browser so you can watch
|
|
201
|
+
real-time updates from your signed-in session. I’ll keep the brief, lead source,
|
|
202
|
+
and message-review steps explicit here as I build.
|
|
186
203
|
```
|
|
187
204
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
synchronized.
|
|
205
|
+
If the user reports that the watch link lands on auth, 404, permission, blank,
|
|
206
|
+
or an error state, recover a fresh watch link once with
|
|
207
|
+
`create_campaign({ campaignId })` or `get_campaign`, then print the recovered
|
|
208
|
+
link. Do not claim the browser was opened, inspected, or synchronized.
|
|
193
209
|
|
|
194
210
|
After every `update_campaign({ campaignId, currentStep })`, use
|
|
195
211
|
`get_campaign_navigation_state` when available as a compact orientation check:
|
|
196
|
-
match the
|
|
212
|
+
match the expected watch-link step to the saved campaign state, explain the
|
|
197
213
|
current state in one sentence, and only then continue. Sender selection belongs
|
|
198
214
|
at Settings after message approval and 10-row validation. After message
|
|
199
215
|
validation, use Settings to help the user connect or select a LinkedIn sender.
|
|
@@ -38,7 +38,11 @@ You can watch the lead source, filters, and messages fill in from here.
|
|
|
38
38
|
|
|
39
39
|
No leads import and nothing sends yet.
|
|
40
40
|
|
|
41
|
-
Watch link: {watchUrl}
|
|
41
|
+
Watch link: [Open campaign]({watchUrl})
|
|
42
|
+
|
|
43
|
+
Click that link to watch the campaign. If it opens in an in-app browser and asks
|
|
44
|
+
you to sign in, open the same link in your regular browser so you can watch
|
|
45
|
+
real-time updates from your signed-in session.
|
|
42
46
|
|
|
43
47
|
Command-Enter or click that link to watch it in Sellable.
|
|
44
48
|
|
|
@@ -58,6 +62,25 @@ clear:
|
|
|
58
62
|
- the brief is already visible in the campaign
|
|
59
63
|
- import, sequence, and start are still blocked
|
|
60
64
|
|
|
65
|
+
## Browser Choice
|
|
66
|
+
|
|
67
|
+
Do not claim Sellable can force the user's host to open links in a specific
|
|
68
|
+
browser. The host controls link-click behavior.
|
|
69
|
+
Do not call Chrome, browser automation, shell `open`, Computer Use, or in-app
|
|
70
|
+
browser-control tools just because a watch link exists.
|
|
71
|
+
|
|
72
|
+
- Codex Desktop URL clicks can open the Codex in-app browser, but that browser
|
|
73
|
+
is only reliable for public or unauthenticated pages. Sellable campaign watch
|
|
74
|
+
pages depend on a signed-in session, so if the in-app browser lands on
|
|
75
|
+
sign-up/auth, tell the user to open the same link in their regular browser to
|
|
76
|
+
watch real-time updates.
|
|
77
|
+
- Claude Code should provide the link and direct the user to open it in their
|
|
78
|
+
browser. If the user's Claude Code setup opens links in an in-app/preview
|
|
79
|
+
browser, that is fine, but do not attempt to open Chrome for them.
|
|
80
|
+
|
|
81
|
+
Surface the link as a normal Markdown link and continue with explicit progress
|
|
82
|
+
updates in chat.
|
|
83
|
+
|
|
61
84
|
If shell creation fails or the response is missing `watchUrl`, stop and surface
|
|
62
85
|
the error. Do not continue into campaignless source scouting in the active
|
|
63
86
|
shell-first flow.
|