@sellable/install 0.1.325 → 0.1.327
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/README.md +5 -41
- package/agents/registry.json +2 -2
- package/bin/sellable-install.mjs +97 -321
- package/lib/runtime-verify.mjs +31 -2
- package/package.json +2 -3
- package/skill-templates/create-campaign.md +3 -3
- package/skill-templates/create-evergreen-campaigns.md +16 -16
- package/skill-templates/find-leads.md +57 -0
- package/skill-templates/refill-sends-v2.md +6 -6
- package/skill-templates/refill-sends.md +353 -91
- package/HERMES-SLACK-PROFILE-SCOPING.md +0 -169
- package/lib/codex-plugin-selection.mjs +0 -353
package/README.md
CHANGED
|
@@ -122,17 +122,6 @@ It creates:
|
|
|
122
122
|
/srv/hermes/profiles/acme/.env # only when Slack token inputs are supplied
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
-
Bootstrap also writes `SELLABLE_LOCK_WORKSPACE_ID=<workspace-id>` and
|
|
126
|
-
`SELLABLE_REQUIRE_WORKSPACE_LOCK=1` into the profile's Hermes MCP env.
|
|
127
|
-
Customer profiles are therefore locked to their own Sellable workspace:
|
|
128
|
-
Sellable MCP requests are forced to that workspace, workspace switching/creation
|
|
129
|
-
is blocked, workspace listings are filtered, and a missing lock fails closed
|
|
130
|
-
instead of falling back to shared/admin config. Use the `sellable-admin` profile
|
|
131
|
-
for provisioning or cross-profile inspection.
|
|
132
|
-
|
|
133
|
-
See [`HERMES-SLACK-PROFILE-SCOPING.md`](./HERMES-SLACK-PROFILE-SCOPING.md) for
|
|
134
|
-
the customer Slack isolation contract and Socket Mode token requirements.
|
|
135
|
-
|
|
136
125
|
If no token is supplied, bootstrap still creates a pending
|
|
137
126
|
`sellable/config.json` so the profile path is concrete from the first MCP
|
|
138
127
|
launch. Finish auth with:
|
|
@@ -153,36 +142,6 @@ sellable hermes profile bootstrap \
|
|
|
153
142
|
--slack-app-token "$SLACK_APP_TOKEN"
|
|
154
143
|
```
|
|
155
144
|
|
|
156
|
-
The Slack app must also be configured for inbound Socket Mode delivery. Outbound
|
|
157
|
-
Slack Web API sends can work before this is complete, but Hermes will not hear
|
|
158
|
-
mentions until the app has Socket Mode enabled, an app-level token with
|
|
159
|
-
`connections:write`, bot scopes/events for `app_mention` plus channel/group/IM
|
|
160
|
-
message events, and a fresh workspace reinstall after scope or event changes.
|
|
161
|
-
|
|
162
|
-
Scope the profile to its customer channel at install time:
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
sellable hermes profile bootstrap \
|
|
166
|
-
--profile acme \
|
|
167
|
-
--profiles-root /srv/hermes/profiles \
|
|
168
|
-
--workspace-id ws_acme \
|
|
169
|
-
--slack-bot-token "$SLACK_BOT_TOKEN" \
|
|
170
|
-
--slack-app-token "$SLACK_APP_TOKEN" \
|
|
171
|
-
--slack-home-channel C0ACME12345 \
|
|
172
|
-
--slack-home-channel-name sellable-acme \
|
|
173
|
-
--slack-allowed-users U0OPERATOR1 \
|
|
174
|
-
--slack-require-mention true
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
When `--slack-home-channel` is supplied without
|
|
178
|
-
`--slack-allowed-channels`, bootstrap writes
|
|
179
|
-
`SLACK_ALLOWED_CHANNELS=<home-channel-id>` too. That fail-closes a customer
|
|
180
|
-
profile to the intended channel by default. Use
|
|
181
|
-
`--slack-allowed-channels C...,G...` only when a profile is deliberately allowed
|
|
182
|
-
to listen in multiple channels. Pass channel IDs, not `#channel-name`, and use
|
|
183
|
-
separate Slack bot/app tokens per customer profile when you need hard isolation
|
|
184
|
-
between concurrently listening Hermes profiles.
|
|
185
|
-
|
|
186
145
|
Customer profiles should use customer-scoped Sellable credentials. A shared
|
|
187
146
|
Sellable admin token can work for internal admin automation, but it is weaker
|
|
188
147
|
isolation and should not be the default for customer profiles. After changing
|
|
@@ -212,6 +171,7 @@ source-scout agents.
|
|
|
212
171
|
Use the same public entrypoints across supported hosts:
|
|
213
172
|
|
|
214
173
|
- Claude Code: `/sellable:create-campaign`
|
|
174
|
+
- Claude Code: `/sellable:find-leads`
|
|
215
175
|
- Claude Code: `/sellable:create-ab-test`
|
|
216
176
|
- Claude Code: `/sellable:create-evergreen-campaigns`
|
|
217
177
|
- Claude Code: `/sellable:foundation`
|
|
@@ -220,6 +180,7 @@ Use the same public entrypoints across supported hosts:
|
|
|
220
180
|
- Claude Code: `/sellable:refresh-sender-engagement`
|
|
221
181
|
- Claude Code: `/sellable:refill-sends`
|
|
222
182
|
- Codex: `$sellable:create-campaign`
|
|
183
|
+
- Codex: `$sellable:find-leads`
|
|
223
184
|
- Codex: `$sellable:create-ab-test`
|
|
224
185
|
- Codex: `$sellable:create-evergreen-campaigns`
|
|
225
186
|
- Codex: `$sellable:foundation`
|
|
@@ -228,6 +189,7 @@ Use the same public entrypoints across supported hosts:
|
|
|
228
189
|
- Codex: `$sellable:refresh-sender-engagement`
|
|
229
190
|
- Codex: `$sellable:refill-sends`
|
|
230
191
|
- Hermes: `/sellable-create-campaign`
|
|
192
|
+
- Hermes: `/sellable-find-leads`
|
|
231
193
|
- Hermes: `/sellable-create-ab-test`
|
|
232
194
|
- Hermes: `/sellable-create-evergreen-campaigns`
|
|
233
195
|
- Hermes: `/sellable-foundation`
|
|
@@ -237,6 +199,7 @@ Use the same public entrypoints across supported hosts:
|
|
|
237
199
|
- Hermes: `/sellable-refill-sends`
|
|
238
200
|
- Codex Desktop plugin: `sellable@sellable`
|
|
239
201
|
- Codex visible skill: `Sellable Create Campaign`
|
|
202
|
+
- Codex visible skill: `Sellable Find Leads`
|
|
240
203
|
- Codex visible skill: `Sellable Create A/B Test`
|
|
241
204
|
- Codex visible skill: `Sellable Create Evergreen Campaigns`
|
|
242
205
|
- Codex visible skill: `Sellable Foundation`
|
|
@@ -245,6 +208,7 @@ Use the same public entrypoints across supported hosts:
|
|
|
245
208
|
- Codex visible skill: `Sellable Refresh Sender Engagement`
|
|
246
209
|
- Codex visible skill: `Sellable Refill Sends`
|
|
247
210
|
- Internal MCP workflow prompt: `create-campaign-v2`
|
|
211
|
+
- Internal MCP workflow prompt: `find-leads-v2`
|
|
248
212
|
- Internal MCP workflow prompt: `refill-sends-workflow`
|
|
249
213
|
- Internal/backward-compatible memory prompt: `interview`
|
|
250
214
|
|
package/agents/registry.json
CHANGED
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"ownership": "message strategy, proof inventory, token rules, skeptical-prospect review, and selected winner only",
|
|
27
27
|
"codex": {
|
|
28
28
|
"description": "Message Drafting worker for campaign-backed template proposals after confirm_lead_list imports a non-empty bounded review batch.",
|
|
29
|
-
"model": "gpt-5.
|
|
30
|
-
"modelReasoningEffort": "
|
|
29
|
+
"model": "gpt-5.5",
|
|
30
|
+
"modelReasoningEffort": "xhigh",
|
|
31
31
|
"sandboxMode": "read-only",
|
|
32
32
|
"nicknameCandidates": [
|
|
33
33
|
"Message Drafting",
|