@sellable/mcp 0.1.234 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/mcp",
3
- "version": "0.1.234",
3
+ "version": "0.1.235",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code and Codex campaign workflows",
6
6
  "main": "dist/index.js",
@@ -233,7 +233,7 @@ Discovery", "lead-source scouting", "source scouting", "lane", "provider",
233
233
  pain", or "ICP". Only the approval question after that visible plan, or an
234
234
  explicit post-plan source choice, satisfies this gate. Do not ask a second
235
235
  source-plan question or call `search_signals`, `search_sales_nav`,
236
- `search_prospeo`, `search_prospeo_companies`, `fetch_post_engagers`, or provider subagents until approved.
236
+ `search_prospeo`, `fetch_post_engagers`, `search_prospeo_companies`, or provider subagents until approved.
237
237
  Only then persist `leadSourceType`, `leadSourceProvider`, and provider `currentStep`.
238
238
 
239
239
  Source work stays inline in the parent thread in normal create-campaign runs.
@@ -292,79 +292,15 @@ customer-facing source-choice labels.
292
292
 
293
293
  ## Prospect Setup Workstreams
294
294
 
295
- After `confirm_lead_list` copies a non-empty source into the campaign and
296
- records the compact review batch, ask the filter-choice question immediately.
297
- Do not call
298
- `get_post_find_leads_scout_registry`, load filter/message subskill prompts, or
299
- spawn Message Drafting before that question. The only
300
- customer-facing work before the question should be a short setup summary and the choice:
301
- add filters, skip filters, or revise source. Do not include another watch link
302
- in this summary; the existing app view updates through campaign state.
303
-
304
- After filter choice, the only normal background worker is Message Drafting
305
- (`post-find-leads-message-scout`). The registry lookup is not a launch. Call
306
- the registry, then start Message Drafting via `Task`, `spawn_agent`, or host
307
- equivalent before loading `references/filter-leads.md` or `save_rubrics`. YOLO
308
- already grants permission; do not ask for another permission click. If no
309
- background tool is callable, start the same full branch inline before filter
310
- drafting or return `blocked` / `retry-needed`. Do not wait until filters are
311
- saved and then call the registry. Debug artifacts are optional only.
312
-
313
- The parent thread is the orchestrator and the filter writer. On the filters
314
- path, immediately start Message Drafting in the background, then load
315
- `references/filter-leads.md`, draft production rubrics in the parent, call
316
- `save_rubrics`, and ask for filter approval. Do not render message review, queue
317
- cells, or move past Filter Rules until saved filters are approved and
318
- `messageDraftRecommendation` is ready.
319
-
320
- Keep the Message Drafting handoff lean: `campaignId`, `workflowTableId`, a
321
- concise brief summary, concise source summary/source-use rule, and 3-5 sample
322
- workflow-table rows with `rowId`, name, title, company, and signal. Optional:
323
- campaign name, `selectedLeadListId`, and filter choice. Do not paste copied row
324
- counts, brief hashes, review-batch hashes, full row ID lists, broad row data, or
325
- local debug artifacts. The branch loads the current brief/context and sample
326
- rows through Sellable tools before drafting.
327
-
328
- When the user chooses filters, immediately call
329
- `update_campaign({ campaignId, enableICPFilters: true, currentStep: "create-icp-rubric", watchNarration })`
330
- so the app is on Filter Rules while Message Drafting runs. After
331
- `save_rubrics`, keep Filter Rules visible so the user can approve saved
332
- criteria. Only after approval should
333
- `update_campaign` move to `apply-icp-rubric` / Filter Leads and show
334
- `Filters saved + waiting for message approval` until the template is approved.
335
- Do not queue enrichment/filtering/Generate Message cells until message
336
- approval. Tell the user Message Drafting is preparing the template in the
337
- background.
338
-
339
- Codex: outside YOLO/autonomous mode only, ask once if worker permission is
340
- missing. Use generic `gpt-5.5` / `xhigh` Message Drafting if needed.
341
-
342
- If the user critiques or edits the template before `approve-message`, route the
343
- feedback back to Message Drafting with current `messageDraftRecommendation`,
344
- basis token, campaign/table basis, and latest user text. Do not rewrite copy in
345
- the parent or call `update_campaign_brief`. Message Drafting must load the full
346
- `generate-messages` prompt, all referenced assets, and
347
- `create-campaign-v2-validation`, then return a revised
348
- `messageDraftRecommendation`; parent renders it and asks approval. Message QA
349
- and validation before approval also belong to Message Drafting, but validation
350
- is an internal gate. Do not render `renderedFallbackSample`, `concerns`, or a
351
- full `qaReceipt` in the normal happy path.
352
-
353
- Run `post-find-leads-message-scout` as Message Draft Builder when exposed. It
354
- must load:
295
+ After `confirm_lead_list` copies a non-empty source into the campaign and records the compact review batch, ask the filter-choice question immediately. Do not call `get_post_find_leads_scout_registry`, load filter/message prompts, or spawn Message Drafting before that question. Customer-facing work before the question: short setup summary plus add filters, skip filters, or revise source; no extra watch link.
355
296
 
356
- ```text
357
- get_subskill_prompt({ subskillName: "generate-messages" })
358
- get_subskill_asset(...) for every required message asset named by generate-messages Mode 0
359
- get_subskill_prompt({ subskillName: "create-campaign-v2-validation" })
360
- ```
297
+ After filter choice, the only normal background worker is Message Drafting (`post-find-leads-message-scout`). The registry lookup is not a launch. Call the registry, then start Message Drafting via `Task`, `spawn_agent`, or host equivalent before loading `references/filter-leads.md` or `save_rubrics`. YOLO already grants permission; do not ask for another permission click. If no background tool is callable, start the same full branch inline before filter drafting or return `blocked` / `retry-needed`. Do not wait until filters are saved and then call the registry.
298
+
299
+ The parent thread is the orchestrator and the filter writer. On the filters path, start Message Drafting, then load `references/filter-leads.md`, save rubrics, and ask users to approve saved criteria. Keep `currentStep` on Filter Rules and show `Filters saved + waiting for message approval`; do not queue cells until message approval. Tell the user Message Drafting is preparing the template in the background.
300
+
301
+ Keep the handoff lean: `campaignId`, `workflowTableId`, concise brief/source summary, source-use rule, and 3-5 sample rows (`rowId`, name, title, company, signal). Do not paste copied row counts, hashes, full row IDs, broad row data, or local debug artifacts.
361
302
 
362
- After candidate generation/revision and before returning `ready`, Message Draft
363
- Builder must load `create-campaign-v2-validation` through MCP as the final gate.
364
- No alternate, examples-only, or local-artifact prompt. If the agent cannot
365
- launch, the parent fallback runs the same gate from live state. Render review
366
- only after `messageDraftRecommendation` proves current campaign/table basis.
367
- Handoff: labeled Markdown, not raw JSON.
303
+ Route user copy feedback before `approve-message` back to Message Drafting; parent does not rewrite. The branch loads the full `generate-messages` prompt, every required asset, then `get_subskill_prompt({ subskillName: "create-campaign-v2-validation" })`; do not render `renderedFallbackSample`, concerns, or `qaReceipt` in the happy path. Generic fallback is `gpt-5.5` / `xhigh` Message Drafting. Handoff is labeled Markdown, not raw JSON.
368
304
 
369
305
  ## Hard Gates
370
306
 
@@ -0,0 +1,9 @@
1
+ {
2
+ "parallelMode": "wide",
3
+ "agentCount": 6,
4
+ "maxToolCallsPerAgent": 2,
5
+ "senderMaxAgents": 2,
6
+ "senderMaxToolCallsPerAgent": 3,
7
+ "progressMode": true,
8
+ "debugMode": true
9
+ }