@cognilead/mcp-server 0.2.0 → 0.3.0

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.
Files changed (90) hide show
  1. package/README.md +27 -15
  2. package/dist/api-client.d.ts +3 -1
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +8 -2
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +74 -11
  8. package/dist/index.js.map +1 -1
  9. package/dist/rate-limit.d.ts.map +1 -1
  10. package/dist/rate-limit.js +0 -1
  11. package/dist/rate-limit.js.map +1 -1
  12. package/dist/schemas.d.ts +132 -49
  13. package/dist/schemas.d.ts.map +1 -1
  14. package/dist/schemas.js +80 -19
  15. package/dist/schemas.js.map +1 -1
  16. package/dist/tools/check-deliverability.d.ts.map +1 -1
  17. package/dist/tools/check-deliverability.js +41 -2
  18. package/dist/tools/check-deliverability.js.map +1 -1
  19. package/dist/tools/create-topup-link.d.ts +2 -0
  20. package/dist/tools/create-topup-link.d.ts.map +1 -0
  21. package/dist/tools/create-topup-link.js +15 -0
  22. package/dist/tools/create-topup-link.js.map +1 -0
  23. package/dist/tools/get-billing-usage.d.ts +2 -0
  24. package/dist/tools/get-billing-usage.d.ts.map +1 -0
  25. package/dist/tools/get-billing-usage.js +12 -0
  26. package/dist/tools/get-billing-usage.js.map +1 -0
  27. package/dist/tools/get-deliverability.d.ts +2 -0
  28. package/dist/tools/get-deliverability.d.ts.map +1 -0
  29. package/dist/tools/get-deliverability.js +12 -0
  30. package/dist/tools/get-deliverability.js.map +1 -0
  31. package/dist/tools/get-subscription.d.ts +2 -0
  32. package/dist/tools/get-subscription.d.ts.map +1 -0
  33. package/dist/tools/get-subscription.js +12 -0
  34. package/dist/tools/get-subscription.js.map +1 -0
  35. package/dist/tools/health.d.ts +2 -0
  36. package/dist/tools/health.d.ts.map +1 -0
  37. package/dist/tools/health.js +12 -0
  38. package/dist/tools/health.js.map +1 -0
  39. package/dist/tools/list-api-keys.d.ts +2 -0
  40. package/dist/tools/list-api-keys.d.ts.map +1 -0
  41. package/dist/tools/list-api-keys.js +13 -0
  42. package/dist/tools/list-api-keys.js.map +1 -0
  43. package/dist/tools/list-leads.d.ts +2 -0
  44. package/dist/tools/list-leads.d.ts.map +1 -0
  45. package/dist/tools/list-leads.js +19 -0
  46. package/dist/tools/list-leads.js.map +1 -0
  47. package/dist/tools/list-sends.d.ts +2 -0
  48. package/dist/tools/list-sends.d.ts.map +1 -0
  49. package/dist/tools/list-sends.js +18 -0
  50. package/dist/tools/list-sends.js.map +1 -0
  51. package/dist/tools/list-suppressions.d.ts +2 -0
  52. package/dist/tools/list-suppressions.d.ts.map +1 -0
  53. package/dist/tools/list-suppressions.js +19 -0
  54. package/dist/tools/list-suppressions.js.map +1 -0
  55. package/dist/tools/list-webhooks.d.ts +2 -0
  56. package/dist/tools/list-webhooks.d.ts.map +1 -0
  57. package/dist/tools/list-webhooks.js +12 -0
  58. package/dist/tools/list-webhooks.js.map +1 -0
  59. package/dist/tools/run-campaign.d.ts.map +1 -1
  60. package/dist/tools/run-campaign.js +8 -2
  61. package/dist/tools/run-campaign.js.map +1 -1
  62. package/package.json +4 -3
  63. package/dist/tools/check-registry-flags.d.ts +0 -2
  64. package/dist/tools/check-registry-flags.d.ts.map +0 -1
  65. package/dist/tools/check-registry-flags.js +0 -31
  66. package/dist/tools/check-registry-flags.js.map +0 -1
  67. package/dist/tools/evidence-export.d.ts +0 -7
  68. package/dist/tools/evidence-export.d.ts.map +0 -1
  69. package/dist/tools/evidence-export.js +0 -42
  70. package/dist/tools/evidence-export.js.map +0 -1
  71. package/dist/tools/find-companies-with-triggers.d.ts +0 -2
  72. package/dist/tools/find-companies-with-triggers.d.ts.map +0 -1
  73. package/dist/tools/find-companies-with-triggers.js +0 -29
  74. package/dist/tools/find-companies-with-triggers.js.map +0 -1
  75. package/dist/tools/generate-seo-content.d.ts +0 -2
  76. package/dist/tools/generate-seo-content.d.ts.map +0 -1
  77. package/dist/tools/generate-seo-content.js +0 -14
  78. package/dist/tools/generate-seo-content.js.map +0 -1
  79. package/dist/tools/get-business-sheet.d.ts +0 -2
  80. package/dist/tools/get-business-sheet.d.ts.map +0 -1
  81. package/dist/tools/get-business-sheet.js +0 -24
  82. package/dist/tools/get-business-sheet.js.map +0 -1
  83. package/dist/tools/rank-companies-in-vertical.d.ts +0 -2
  84. package/dist/tools/rank-companies-in-vertical.d.ts.map +0 -1
  85. package/dist/tools/rank-companies-in-vertical.js +0 -33
  86. package/dist/tools/rank-companies-in-vertical.js.map +0 -1
  87. package/dist/tools/score-dd-risk.d.ts +0 -2
  88. package/dist/tools/score-dd-risk.d.ts.map +0 -1
  89. package/dist/tools/score-dd-risk.js +0 -22
  90. package/dist/tools/score-dd-risk.js.map +0 -1
package/README.md CHANGED
@@ -2,13 +2,16 @@
2
2
 
3
3
  Model Context Protocol server for [CogniLead](https://cognilead.ai) —
4
4
  the managed cold-email deliverability engine for EU/technical B2B (plus AI
5
- content scaffolding). Exposes five tools to Cursor, Claude Desktop, Windsurf,
6
- and any MCP-capable client so you can draft outbound copy and run campaigns
7
- without leaving your IDE. All generation runs on phi-cloud as the LLM provider.
5
+ opt-in paid lead enrichment). Exposes fifteen tools to Cursor, Claude Desktop, Windsurf,
6
+ and any MCP-capable client so you can draft outbound copy, run campaigns, and
7
+ read back your pipeline/billing data without leaving your IDE. All generation
8
+ runs on phi-cloud as the LLM provider.
8
9
 
9
- Two tools are free (no API key, daily-capped). Three are gated behind a
10
- CogniLead API key — when the key is absent, the tool returns an inline
11
- signup URL so you can fix it in seconds.
10
+ Four tools need no API key: `draft_pitch` and `score_signal` are daily-capped
11
+ local tools, `check_deliverability` is a local DNS check, and `health` probes
12
+ the public API. The other twelve are gated behind a CogniLead API key — when
13
+ the key is absent, the tool returns an inline signup URL so you can fix it in
14
+ seconds.
12
15
 
13
16
  ## Install
14
17
 
@@ -77,9 +80,9 @@ or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
77
80
  }
78
81
  ```
79
82
 
80
- Omit `COGNILEAD_API_KEY` to run in free-tier mode (only `draft_pitch`
81
- and `score_signal` are callable; the three gated tools return a 401 with
82
- an inline upgrade URL).
83
+ Omit `COGNILEAD_API_KEY` to run in free-tier mode (only `draft_pitch`,
84
+ `score_signal`, `check_deliverability`, and `health` are callable; the
85
+ gated tools return a 401 with an inline upgrade URL).
83
86
 
84
87
  ## Tools
85
88
 
@@ -87,12 +90,22 @@ an inline upgrade URL).
87
90
  |---|---|---|---|
88
91
  | `cognilead.draft_pitch` | free | 20/day | Draft a short, personalised outbound pitch from the insight/context you feed it (the product, topic, and target account). |
89
92
  | `cognilead.score_signal` | free | 50/day | Score a supplied insight/context for fit against a target product (0-100, deterministic). |
93
+ | `cognilead.check_deliverability` | free | — | Grade a domain's SPF + DMARC via local DNS. No API key. |
94
+ | `cognilead.health` | free | — | Probe the public CogniLead API health endpoint. No API key. |
90
95
  | `cognilead.ingest_lead` | gated | — | Register a (customer-supplied) lead in the outbound pipeline. |
91
- | `cognilead.run_campaign` | gated | — | Kick off an email campaign by id, optionally restricted to a set of leads. |
96
+ | `cognilead.run_campaign` | gated | — | Kick off an email campaign by id (campaign endpoints not yet live — returns a structured "unavailable" error). |
92
97
  | `cognilead.suppress` | gated | — | Add an email or domain to the suppression list (honours one-click RFC 8058 unsubscribe). |
93
-
94
- > Note: MarketPrior-fed targeting tools are **roadmap, not live**. Today you
95
- > supply leads/context yourself; CogniLead runs the deliverability.
98
+ | `cognilead.create_topup_link` | gated | — | Start a Stripe Checkout to top up an end-customer's prepaid credit balance; returns a `{url}` for the human to pay. |
99
+ | `cognilead.list_leads` | gated | — | List leads in your pipeline (read-only, cursor-paginated). |
100
+ | `cognilead.list_sends` | gated | — | List the send history for a given `lead_id` (read-only, cursor-paginated). |
101
+ | `cognilead.list_suppressions` | gated | — | List suppressed emails/domains (read-only, cursor-paginated). |
102
+ | `cognilead.get_billing_usage` | gated | — | Get current billing-period usage and remaining quota (read-only). |
103
+ | `cognilead.get_subscription` | gated | — | Get subscription plan, status, and limits (read-only). |
104
+ | `cognilead.list_webhooks` | gated | — | List configured webhook endpoints (read-only). |
105
+ | `cognilead.list_api_keys` | gated | — | List API key metadata; secrets/hashes stripped server-side (read-only). |
106
+
107
+ > Note: you supply leads and context yourself; CogniLead runs the
108
+ > deliverability. It does not source or target leads.
96
109
 
97
110
  Free-tier quotas reset at UTC midnight and persist between IDE restarts
98
111
  in `~/.cognilead/quota.json`.
@@ -110,9 +123,8 @@ in `~/.cognilead/quota.json`.
110
123
  ## Get a key
111
124
 
112
125
  [Sign up](https://cognilead.ai/signup?via=mcp) — the free tier ships with
113
- 100 outbound sends per month plus capped AI content scaffolding. Paid plans add
126
+ 100 outbound sends per month. Paid plans add
114
127
  warmed sender pools, the reputation circuit-breaker, and reply/bounce handling.
115
- (MarketPrior-fed targeting is roadmap, not yet available.)
116
128
 
117
129
  ## Local development
118
130
 
@@ -3,5 +3,7 @@ export interface ApiError extends Error {
3
3
  body: unknown;
4
4
  }
5
5
  export declare function apiPost(path: string, body: unknown): Promise<unknown>;
6
- export declare function apiGet(path: string): Promise<unknown>;
6
+ export declare function apiGet(path: string, opts?: {
7
+ auth?: boolean;
8
+ }): Promise<unknown>;
7
9
  //# sourceMappingURL=api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;CACd;AAuBD,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAY3E;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAW3D"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;CACd;AAuBD,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAY3E;AAKD,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5B,OAAO,CAAC,OAAO,CAAC,CAclB"}
@@ -35,11 +35,17 @@ export async function apiPost(path, body) {
35
35
  }
36
36
  return data;
37
37
  }
38
- export async function apiGet(path) {
38
+ // GET helper mirroring apiPost. By default it sends the Bearer auth headers
39
+ // (used by the gated read-only tools). Pass { auth: false } for public,
40
+ // no-key endpoints like /api/v1/health.
41
+ export async function apiGet(path, opts = {}) {
39
42
  const { apiUrl } = loadConfig();
43
+ const auth = opts.auth ?? true;
40
44
  const res = await fetch(`${apiUrl}${path}`, {
41
45
  method: 'GET',
42
- headers: authHeaders(),
46
+ headers: auth
47
+ ? authHeaders()
48
+ : { Accept: 'application/json', 'User-Agent': 'cognilead-mcp/0.2.0' },
43
49
  });
44
50
  const data = await parseBody(res);
45
51
  if (!res.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,mDAAmD;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,SAAS,SAAS,CAAC,MAAc,EAAE,IAAa,EAAE,QAAgB;IAChE,MAAM,OAAO,GACX,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QACpF,CAAC,CAAC,IAAI,CAAC,KAAK;QACZ,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAA;IAC3B,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAa,CAAA;IAC1C,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;IACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACf,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAa;IACpC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,IAAa;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;IAC/B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE;QAC1C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,WAAW,EAAE;QACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;KACjC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,IAAI,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAY;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;IAC/B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE;QAC1C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,WAAW,EAAE;KACvB,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,mDAAmD;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,SAAS,SAAS,CAAC,MAAc,EAAE,IAAa,EAAE,QAAgB;IAChE,MAAM,OAAO,GACX,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QACpF,CAAC,CAAC,IAAI,CAAC,KAAK;QACZ,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAA;IAC3B,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAa,CAAA;IAC1C,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;IACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACf,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAa;IACpC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,IAAa;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;IAC/B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE;QAC1C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,WAAW,EAAE;QACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;KACjC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,IAAI,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,4EAA4E;AAC5E,wEAAwE;AACxE,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAY,EACZ,OAA2B,EAAE;IAE7B,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;IAC9B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE;QAC1C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAI;YACX,CAAC,CAAC,WAAW,EAAE;YACf,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,qBAAqB,EAAE;KACxE,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAaA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAsClE,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9C;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,EAkD3B,CAAA;AAiCD,wBAAgB,YAAY,IAAI,MAAM,CAiGrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAaA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAmDlE,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9C;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,EAiH3B,CAAA;AAiCD,wBAAgB,YAAY,IAAI,MAAM,CAiGrC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  // @cognilead/mcp-server — stdio entrypoint.
3
3
  //
4
- // Wires the CogniLead tools (2 free, 4 gated) into an MCP server
4
+ // Wires the CogniLead tools (4 free, 12 gated) into an MCP server
5
5
  // that speaks the stdio transport. Cursor, Claude Desktop and Windsurf
6
6
  // all launch this as a child process and exchange JSON-RPC over stdin/
7
7
  // stdout.
@@ -13,20 +13,29 @@
13
13
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
14
14
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
15
15
  import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
16
- import { DraftPitchJsonSchema, ScoreSignalJsonSchema, IngestLeadJsonSchema, RunCampaignJsonSchema, SuppressJsonSchema, GenerateSeoContentJsonSchema, CheckDeliverabilityJsonSchema, } from './schemas.js';
16
+ import { DraftPitchJsonSchema, ScoreSignalJsonSchema, IngestLeadJsonSchema, RunCampaignJsonSchema, SuppressJsonSchema, CreateTopupLinkJsonSchema, CheckDeliverabilityJsonSchema, ListLeadsJsonSchema, ListSendsJsonSchema, ListSuppressionsJsonSchema, EmptyJsonSchema, } from './schemas.js';
17
17
  import { draftPitch } from './tools/draft-pitch.js';
18
18
  import { scoreSignal } from './tools/score-signal.js';
19
19
  import { ingestLead } from './tools/ingest-lead.js';
20
20
  import { runCampaign } from './tools/run-campaign.js';
21
21
  import { suppress } from './tools/suppress.js';
22
- import { generateSeoContent } from './tools/generate-seo-content.js';
22
+ import { createTopupLink } from './tools/create-topup-link.js';
23
23
  import { checkDeliverability } from './tools/check-deliverability.js';
24
+ import { listLeads } from './tools/list-leads.js';
25
+ import { listSends } from './tools/list-sends.js';
26
+ import { listSuppressions } from './tools/list-suppressions.js';
27
+ import { getBillingUsage } from './tools/get-billing-usage.js';
28
+ import { getSubscription } from './tools/get-subscription.js';
29
+ import { getDeliverability } from './tools/get-deliverability.js';
30
+ import { listWebhooks } from './tools/list-webhooks.js';
31
+ import { listApiKeys } from './tools/list-api-keys.js';
32
+ import { health } from './tools/health.js';
24
33
  import { RESOURCES, readResource } from './resources.js';
25
34
  import { PROMPTS, getPrompt } from './prompts.js';
26
35
  import { McpAuthError, McpQuotaError } from './auth.js';
27
36
  const SERVER_INFO = {
28
37
  name: 'cognilead-mcp',
29
- version: '0.2.0',
38
+ version: '0.3.0',
30
39
  };
31
40
  export const TOOLS = [
32
41
  {
@@ -43,19 +52,19 @@ export const TOOLS = [
43
52
  },
44
53
  {
45
54
  name: 'cognilead.check_deliverability',
46
- description: 'Check a domain’s email deliverability DNS — SPF and DMARC records — and grade them with prioritized findings. Local DNS lookup only; no API key required. Use before sending cold to confirm a domain is configured to land in the inbox. Returns overall_verdict plus per-record verdict, the raw record, and findings.',
55
+ description: 'Check a domain’s email deliverability DNS — SPF and DMARC records, plus a Spamhaus DBL blocklist lookup — and grade them with prioritized findings. Local DNS lookup only; no API key required. Use before sending cold to confirm a domain is configured to land in the inbox. Returns overall_verdict plus per-record verdict, the raw record, findings, and a blocklist section (clean / listed / unknown — unknown never counts as listed).',
47
56
  inputSchema: CheckDeliverabilityJsonSchema,
48
57
  handler: checkDeliverability,
49
58
  },
50
59
  {
51
60
  name: 'cognilead.ingest_lead',
52
- description: 'Register a lead in the CogniLead pipeline. Runs through the intersect stage (suppression check, dedup). Returns the persisted lead row. Requires a CogniLead API key.',
61
+ description: 'Register a lead in the CogniLead pipeline. Runs through the intersect stage (suppression check, dedup). Pass campaign_id to continue into personalize → dispatch, and enrich:true to buy the "why now" fact from an enrichment vendor first (billed per enriched lead, only on a citable result). Returns the persisted lead row. Requires a CogniLead API key.',
53
62
  inputSchema: IngestLeadJsonSchema,
54
63
  handler: ingestLead,
55
64
  },
56
65
  {
57
66
  name: 'cognilead.run_campaign',
58
- description: 'Kick off a campaign by id, optionally restricted to a set of lead_ids. The hosted API runs the per-step personalize → policy-gate → dispatch pipeline. Returns the dispatch result including send_ids and the AgentGate decision. Requires a CogniLead API key.',
67
+ description: 'Kick off a campaign by id, optionally restricted to a set of lead_ids. The hosted API runs the per-step personalize → dispatch pipeline. Returns the dispatch result including send_ids. NOTE: campaign endpoints are not live yet, so this currently returns a structured "unavailable" error. Requires a CogniLead API key.',
59
68
  inputSchema: RunCampaignJsonSchema,
60
69
  handler: runCampaign,
61
70
  },
@@ -66,10 +75,64 @@ export const TOOLS = [
66
75
  handler: suppress,
67
76
  },
68
77
  {
69
- name: 'cognilead.generate_seo_content',
70
- description: 'Generate SEO content via phi-cloud. kind=blog|landing returns a full optimised page (title, slug, meta description, headings, Markdown body, target keywords, internal-link ideas); kind=recommendations returns a prioritised on-page SEO audit of existing_content. Provide product + topic (+ optional target_keywords, audience). Requires a CogniLead API key.',
71
- inputSchema: GenerateSeoContentJsonSchema,
72
- handler: generateSeoContent,
78
+ name: 'cognilead.create_topup_link',
79
+ description: "Start a Stripe Checkout to top up an end-customer's prepaid credit balance. Provide the customer_id and amount_usd; returns a { url } for the human to pay. On payment the customer's credit_ledger is credited. Requires a CogniLead API key.",
80
+ inputSchema: CreateTopupLinkJsonSchema,
81
+ handler: createTopupLink,
82
+ },
83
+ {
84
+ name: 'cognilead.list_leads',
85
+ description: 'List leads in your CogniLead pipeline (read-only). Cursor-paginated — pass optional limit and cursor to page through. Returns { leads, next_cursor }. Requires a CogniLead API key.',
86
+ inputSchema: ListLeadsJsonSchema,
87
+ handler: listLeads,
88
+ },
89
+ {
90
+ name: 'cognilead.list_sends',
91
+ description: 'List the send/dispatch history for one lead (read-only). lead_id is REQUIRED. Cursor-paginated via optional limit and cursor. Returns { sends, next_cursor }; each send carries sender_domain and sender_address (the mailbox it went out from, null for relay or unsent steps), and skipped_reason when a step was not sent. Requires a CogniLead API key.',
92
+ inputSchema: ListSendsJsonSchema,
93
+ handler: listSends,
94
+ },
95
+ {
96
+ name: 'cognilead.list_suppressions',
97
+ description: 'List suppressed emails/domains on your account (read-only). Cursor-paginated via optional limit and cursor. Requires a CogniLead API key.',
98
+ inputSchema: ListSuppressionsJsonSchema,
99
+ handler: listSuppressions,
100
+ },
101
+ {
102
+ name: 'cognilead.get_billing_usage',
103
+ description: 'Get current billing-period usage for your account (sends consumed, quota remaining, etc.) (read-only). Requires a CogniLead API key.',
104
+ inputSchema: EmptyJsonSchema,
105
+ handler: getBillingUsage,
106
+ },
107
+ {
108
+ name: 'cognilead.get_subscription',
109
+ description: 'Get your CogniLead subscription details — plan, status, and limits (read-only). Requires a CogniLead API key.',
110
+ inputSchema: EmptyJsonSchema,
111
+ handler: getSubscription,
112
+ },
113
+ {
114
+ name: 'cognilead.get_deliverability',
115
+ description: 'Get your sending health for the last 30 days (read-only): the sender domains that carried your mail (status, pause + reason, warm-up days, daily cap), your sending reputation tier (probation or shared) with the sent/bounced/complaint counts that decide it, bounce and complaint rates, and queued steps currently deferred by reason. Requires a CogniLead API key.',
116
+ inputSchema: EmptyJsonSchema,
117
+ handler: getDeliverability,
118
+ },
119
+ {
120
+ name: 'cognilead.list_webhooks',
121
+ description: 'List the webhook endpoints configured on your account (read-only). Requires a CogniLead API key.',
122
+ inputSchema: EmptyJsonSchema,
123
+ handler: listWebhooks,
124
+ },
125
+ {
126
+ name: 'cognilead.list_api_keys',
127
+ description: 'List API key metadata on your account (read-only). Hashes and secrets are stripped by the server — only id, prefix, label, and timestamps are returned. Requires a CogniLead API key.',
128
+ inputSchema: EmptyJsonSchema,
129
+ handler: listApiKeys,
130
+ },
131
+ {
132
+ name: 'cognilead.health',
133
+ description: 'Check CogniLead API health/availability (read-only). Public — no API key required. Use to verify the service is reachable before configuring a key.',
134
+ inputSchema: EmptyJsonSchema,
135
+ handler: health,
73
136
  },
74
137
  ];
75
138
  function toolByName(name) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAqBA,UAAU,UAAU;IAElB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAuCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAmBvF;AAED,iCAAiC;AACjC,wBAAgB,cAAc,IAAI,UAAU,CAE3C"}
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAoBA,UAAU,UAAU;IAElB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAuCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAmBvF;AAED,iCAAiC;AACjC,wBAAgB,cAAc,IAAI,UAAU,CAE3C"}
@@ -13,7 +13,6 @@ import { loadConfig } from './config.js';
13
13
  const DAILY_QUOTAS = {
14
14
  'cognilead.draft_pitch': 20,
15
15
  'cognilead.score_signal': 50,
16
- 'cognilead.check_registry_flags': 50,
17
16
  };
18
17
  function utcDate() {
19
18
  return new Date().toISOString().slice(0, 10);
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,wEAAwE;AACxE,wEAAwE;AACxE,+DAA+D;AAC/D,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,YAAY,GAA2B;IAC3C,uBAAuB,EAAE,EAAE;IAC3B,wBAAwB,EAAE,EAAE;IAC5B,gCAAgC,EAAE,EAAE;CACrC,CAAA;AAQD,SAAS,OAAO;IACd,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AAClD,CAAC;AAED,IAAI,KAAK,GAAsB,IAAI,CAAA;AAEnC,SAAS,IAAI;IACX,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAAE,OAAO,KAAK,CAAA;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAA;QAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChF,KAAK,GAAG,MAAM,CAAA;YACd,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IACD,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IACnC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,OAAO,CAAC,KAAiB;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC,QAAQ,CAAA;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,6DAA6D;QAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAA;IACjF,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,EAAE,CAAA;IACpB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACxC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAAA;QAClC,MAAM,IAAI,aAAa,CACrB,iCAAiC,QAAQ,KAAK,KAAK,SAAS;YAC1D,sDAAsD,SAAS,EAAE,CACpE,CAAA;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,CAAA;IACjC,OAAO,CAAC,KAAK,CAAC,CAAA;IACd,OAAO,EAAE,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAA;AAC7D,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,EAAE,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts CHANGED
@@ -179,8 +179,11 @@ export declare const IngestLeadInput: z.ZodObject<{
179
179
  jurisdiction: z.ZodString;
180
180
  technical_hook_text: z.ZodNullable<z.ZodString>;
181
181
  technical_hook_verified: z.ZodBoolean;
182
- signal_ids: z.ZodArray<z.ZodString, "many">;
183
182
  fit_score: z.ZodNullable<z.ZodNumber>;
183
+ campaign_id: z.ZodOptional<z.ZodString>;
184
+ context: z.ZodOptional<z.ZodString>;
185
+ /** Opt into the PAID enrichment step — see IngestLeadJsonSchema. */
186
+ enrich: z.ZodOptional<z.ZodBoolean>;
184
187
  }, "strip", z.ZodTypeAny, {
185
188
  company_domain: string;
186
189
  company_name: string;
@@ -190,8 +193,10 @@ export declare const IngestLeadInput: z.ZodObject<{
190
193
  contact_role_class: "unknown" | "eng_lead" | "cto" | "founder" | "recruit" | null;
191
194
  technical_hook_text: string | null;
192
195
  technical_hook_verified: boolean;
193
- signal_ids: string[];
194
196
  fit_score: number | null;
197
+ campaign_id?: string | undefined;
198
+ context?: string | undefined;
199
+ enrich?: boolean | undefined;
195
200
  }, {
196
201
  company_domain: string;
197
202
  company_name: string;
@@ -201,13 +206,15 @@ export declare const IngestLeadInput: z.ZodObject<{
201
206
  contact_role_class: "unknown" | "eng_lead" | "cto" | "founder" | "recruit" | null;
202
207
  technical_hook_text: string | null;
203
208
  technical_hook_verified: boolean;
204
- signal_ids: string[];
205
209
  fit_score: number | null;
210
+ campaign_id?: string | undefined;
211
+ context?: string | undefined;
212
+ enrich?: boolean | undefined;
206
213
  }>;
207
214
  export type IngestLeadInput = z.infer<typeof IngestLeadInput>;
208
215
  export declare const IngestLeadJsonSchema: {
209
216
  readonly type: "object";
210
- readonly required: readonly ["company_domain", "company_name", "target_product", "best_contact_email", "contact_role_class", "jurisdiction", "technical_hook_text", "technical_hook_verified", "signal_ids", "fit_score"];
217
+ readonly required: readonly ["company_domain", "company_name", "target_product", "best_contact_email", "contact_role_class", "jurisdiction", "technical_hook_text", "technical_hook_verified", "fit_score"];
211
218
  readonly properties: {
212
219
  readonly company_domain: {
213
220
  readonly type: "string";
@@ -240,17 +247,25 @@ export declare const IngestLeadJsonSchema: {
240
247
  readonly technical_hook_verified: {
241
248
  readonly type: "boolean";
242
249
  };
243
- readonly signal_ids: {
244
- readonly type: "array";
245
- readonly items: {
246
- readonly type: "string";
247
- };
248
- };
249
250
  readonly fit_score: {
250
251
  readonly type: readonly ["integer", "null"];
251
252
  readonly minimum: 0;
252
253
  readonly maximum: 100;
253
254
  };
255
+ readonly campaign_id: {
256
+ readonly type: "string";
257
+ readonly minLength: 1;
258
+ readonly description: "Continue past registration into personalize → dispatch.";
259
+ };
260
+ readonly context: {
261
+ readonly type: "string";
262
+ readonly maxLength: 4000;
263
+ readonly description: "Free-text \"why now\" note the pitch must cite.";
264
+ };
265
+ readonly enrich: {
266
+ readonly type: "boolean";
267
+ readonly description: "Opt into the PAID enrichment step: CogniLead buys the \"why now\" fact from an enrichment vendor when you have no context of your own. Billed per enriched lead, and only on a citable result — a miss costs nothing. Returns 503 enrichment_unavailable if no provider is configured.";
268
+ };
254
269
  };
255
270
  readonly additionalProperties: false;
256
271
  };
@@ -324,6 +339,34 @@ export declare const SuppressJsonSchema: {
324
339
  readonly additionalProperties: false;
325
340
  readonly description: "Either email or domain must be provided.";
326
341
  };
342
+ export declare const CreateTopupLinkInput: z.ZodObject<{
343
+ customer_id: z.ZodString;
344
+ amount_usd: z.ZodNumber;
345
+ }, "strip", z.ZodTypeAny, {
346
+ customer_id: string;
347
+ amount_usd: number;
348
+ }, {
349
+ customer_id: string;
350
+ amount_usd: number;
351
+ }>;
352
+ export type CreateTopupLinkInput = z.infer<typeof CreateTopupLinkInput>;
353
+ export declare const CreateTopupLinkJsonSchema: {
354
+ readonly type: "object";
355
+ readonly required: readonly ["customer_id", "amount_usd"];
356
+ readonly properties: {
357
+ readonly customer_id: {
358
+ readonly type: "string";
359
+ readonly minLength: 1;
360
+ readonly description: "The end-customer id (e.g. 'cus_...').";
361
+ };
362
+ readonly amount_usd: {
363
+ readonly type: "number";
364
+ readonly exclusiveMinimum: 0;
365
+ readonly description: "Top-up amount in USD (1–100000).";
366
+ };
367
+ };
368
+ readonly additionalProperties: false;
369
+ };
327
370
  export declare const CheckDeliverabilityInput: z.ZodObject<{
328
371
  domain: z.ZodString;
329
372
  }, "strip", z.ZodTypeAny, {
@@ -344,61 +387,101 @@ export declare const CheckDeliverabilityJsonSchema: {
344
387
  };
345
388
  readonly additionalProperties: false;
346
389
  };
347
- export declare const GenerateSeoContentInput: z.ZodObject<{
348
- kind: z.ZodEnum<["blog", "landing", "recommendations"]>;
349
- product: z.ZodString;
350
- topic: z.ZodString;
351
- target_keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
352
- audience: z.ZodOptional<z.ZodString>;
353
- existing_content: z.ZodOptional<z.ZodString>;
390
+ export declare const ListLeadsInput: z.ZodObject<{
391
+ limit: z.ZodOptional<z.ZodNumber>;
392
+ cursor: z.ZodOptional<z.ZodString>;
354
393
  }, "strip", z.ZodTypeAny, {
355
- kind: "blog" | "landing" | "recommendations";
356
- product: string;
357
- topic: string;
358
- target_keywords?: string[] | undefined;
359
- audience?: string | undefined;
360
- existing_content?: string | undefined;
394
+ limit?: number | undefined;
395
+ cursor?: string | undefined;
361
396
  }, {
362
- kind: "blog" | "landing" | "recommendations";
363
- product: string;
364
- topic: string;
365
- target_keywords?: string[] | undefined;
366
- audience?: string | undefined;
367
- existing_content?: string | undefined;
397
+ limit?: number | undefined;
398
+ cursor?: string | undefined;
368
399
  }>;
369
- export type GenerateSeoContentInput = z.infer<typeof GenerateSeoContentInput>;
370
- export declare const GenerateSeoContentJsonSchema: {
400
+ export type ListLeadsInput = z.infer<typeof ListLeadsInput>;
401
+ export declare const ListLeadsJsonSchema: {
371
402
  readonly type: "object";
372
- readonly required: readonly ["kind", "product", "topic"];
373
403
  readonly properties: {
374
- readonly kind: {
404
+ readonly limit: {
405
+ readonly type: "integer";
406
+ readonly minimum: 1;
407
+ readonly maximum: 200;
408
+ readonly description: "Max rows to return (default server-side).";
409
+ };
410
+ readonly cursor: {
375
411
  readonly type: "string";
376
- readonly enum: readonly ["blog", "landing", "recommendations"];
412
+ readonly description: "Opaque cursor from a prior response next_cursor.";
377
413
  };
378
- readonly product: {
414
+ };
415
+ readonly additionalProperties: false;
416
+ };
417
+ export declare const ListSendsInput: z.ZodObject<{
418
+ lead_id: z.ZodString;
419
+ limit: z.ZodOptional<z.ZodNumber>;
420
+ cursor: z.ZodOptional<z.ZodString>;
421
+ }, "strip", z.ZodTypeAny, {
422
+ lead_id: string;
423
+ limit?: number | undefined;
424
+ cursor?: string | undefined;
425
+ }, {
426
+ lead_id: string;
427
+ limit?: number | undefined;
428
+ cursor?: string | undefined;
429
+ }>;
430
+ export type ListSendsInput = z.infer<typeof ListSendsInput>;
431
+ export declare const ListSendsJsonSchema: {
432
+ readonly type: "object";
433
+ readonly required: readonly ["lead_id"];
434
+ readonly properties: {
435
+ readonly limit: {
436
+ readonly type: "integer";
437
+ readonly minimum: 1;
438
+ readonly maximum: 200;
439
+ readonly description: "Max rows to return (default server-side).";
440
+ };
441
+ readonly cursor: {
379
442
  readonly type: "string";
380
- readonly minLength: 1;
381
- readonly description: "The product/brand the content markets.";
443
+ readonly description: "Opaque cursor from a prior response next_cursor.";
382
444
  };
383
- readonly topic: {
445
+ readonly lead_id: {
384
446
  readonly type: "string";
385
447
  readonly minLength: 1;
386
- readonly description: "Primary topic or page intent.";
387
- };
388
- readonly target_keywords: {
389
- readonly type: "array";
390
- readonly items: {
391
- readonly type: "string";
392
- };
448
+ readonly description: "Lead id to list sends for.";
393
449
  };
394
- readonly audience: {
395
- readonly type: "string";
450
+ };
451
+ readonly additionalProperties: false;
452
+ };
453
+ export declare const ListSuppressionsInput: z.ZodObject<{
454
+ limit: z.ZodOptional<z.ZodNumber>;
455
+ cursor: z.ZodOptional<z.ZodString>;
456
+ }, "strip", z.ZodTypeAny, {
457
+ limit?: number | undefined;
458
+ cursor?: string | undefined;
459
+ }, {
460
+ limit?: number | undefined;
461
+ cursor?: string | undefined;
462
+ }>;
463
+ export type ListSuppressionsInput = z.infer<typeof ListSuppressionsInput>;
464
+ export declare const ListSuppressionsJsonSchema: {
465
+ readonly type: "object";
466
+ readonly properties: {
467
+ readonly limit: {
468
+ readonly type: "integer";
469
+ readonly minimum: 1;
470
+ readonly maximum: 200;
471
+ readonly description: "Max rows to return (default server-side).";
396
472
  };
397
- readonly existing_content: {
473
+ readonly cursor: {
398
474
  readonly type: "string";
399
- readonly description: "For kind=recommendations: the page text to audit.";
475
+ readonly description: "Opaque cursor from a prior response next_cursor.";
400
476
  };
401
477
  };
402
478
  readonly additionalProperties: false;
403
479
  };
480
+ export declare const EmptyInput: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
481
+ export type EmptyInput = z.infer<typeof EmptyInput>;
482
+ export declare const EmptyJsonSchema: {
483
+ readonly type: "object";
484
+ readonly properties: {};
485
+ readonly additionalProperties: false;
486
+ };
404
487
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAevB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BvB,CAAA;AAIV,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsBxB,CAAA;AAKV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BvB,CAAA;AAIV,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;CAQxB,CAAA;AAIV,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;EAgBvB,CAAA;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEzD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;CAoBrB,CAAA;AAKV,eAAO,MAAM,wBAAwB;;;;;;EAEnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,eAAO,MAAM,6BAA6B;;;;;;;;;;;CAWhC,CAAA;AAIV,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAY/B,CAAA"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAevB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BvB,CAAA;AAIV,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsBxB,CAAA;AAKV,eAAO,MAAM,eAAe;;;;;;;;;;;;IAc1B,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEpE,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CvB,CAAA;AAIV,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;CAQxB,CAAA;AAIV,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;EAgBvB,CAAA;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEzD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;CAoBrB,CAAA;AAMV,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;CAgB5B,CAAA;AAKV,eAAO,MAAM,wBAAwB;;;;;;EAEnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,eAAO,MAAM,6BAA6B;;;;;;;;;;;CAWhC,CAAA;AAeV,eAAO,MAAM,cAAc;;;;;;;;;EAA6C,CAAA;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;CAItB,CAAA;AAIV,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;CAQtB,CAAA;AAIV,eAAO,MAAM,qBAAqB;;;;;;;;;EAA6C,CAAA;AAC/E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;CAI7B,CAAA;AAIV,eAAO,MAAM,UAAU,gDAAe,CAAA;AACtC,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAEnD,eAAO,MAAM,eAAe;;;;CAIlB,CAAA"}