@baref00t/mcp-server 0.2.0 → 0.3.1

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 (55) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +195 -109
  3. package/dist/server.js +24 -1
  4. package/dist/server.js.map +1 -1
  5. package/dist/tools/index.d.ts.map +1 -1
  6. package/dist/tools/index.js +22 -0
  7. package/dist/tools/index.js.map +1 -1
  8. package/dist/tools/partner/bulkCreateLeads.d.ts +21 -0
  9. package/dist/tools/partner/bulkCreateLeads.d.ts.map +1 -0
  10. package/dist/tools/partner/bulkCreateLeads.js +33 -0
  11. package/dist/tools/partner/bulkCreateLeads.js.map +1 -0
  12. package/dist/tools/partner/createLead.d.ts +24 -0
  13. package/dist/tools/partner/createLead.d.ts.map +1 -0
  14. package/dist/tools/partner/createLead.js +36 -0
  15. package/dist/tools/partner/createLead.js.map +1 -0
  16. package/dist/tools/partner/deleteLead.d.ts +12 -0
  17. package/dist/tools/partner/deleteLead.d.ts.map +1 -0
  18. package/dist/tools/partner/deleteLead.js +22 -0
  19. package/dist/tools/partner/deleteLead.js.map +1 -0
  20. package/dist/tools/partner/enrichLead.d.ts +15 -0
  21. package/dist/tools/partner/enrichLead.d.ts.map +1 -0
  22. package/dist/tools/partner/enrichLead.js +28 -0
  23. package/dist/tools/partner/enrichLead.js.map +1 -0
  24. package/dist/tools/partner/getLead.d.ts +12 -0
  25. package/dist/tools/partner/getLead.d.ts.map +1 -0
  26. package/dist/tools/partner/getLead.js +21 -0
  27. package/dist/tools/partner/getLead.js.map +1 -0
  28. package/dist/tools/partner/listLeadActivity.d.ts +18 -0
  29. package/dist/tools/partner/listLeadActivity.d.ts.map +1 -0
  30. package/dist/tools/partner/listLeadActivity.js +25 -0
  31. package/dist/tools/partner/listLeadActivity.js.map +1 -0
  32. package/dist/tools/partner/listLeads.d.ts +21 -0
  33. package/dist/tools/partner/listLeads.d.ts.map +1 -0
  34. package/dist/tools/partner/listLeads.js +35 -0
  35. package/dist/tools/partner/listLeads.js.map +1 -0
  36. package/dist/tools/partner/sendLeadConsent.d.ts +27 -0
  37. package/dist/tools/partner/sendLeadConsent.d.ts.map +1 -0
  38. package/dist/tools/partner/sendLeadConsent.js +55 -0
  39. package/dist/tools/partner/sendLeadConsent.js.map +1 -0
  40. package/dist/tools/partner/setLeadStage.d.ts +26 -0
  41. package/dist/tools/partner/setLeadStage.d.ts.map +1 -0
  42. package/dist/tools/partner/setLeadStage.js +34 -0
  43. package/dist/tools/partner/setLeadStage.js.map +1 -0
  44. package/dist/tools/partner/triggerAssessment.d.ts.map +1 -1
  45. package/dist/tools/partner/triggerAssessment.js +9 -6
  46. package/dist/tools/partner/triggerAssessment.js.map +1 -1
  47. package/dist/tools/partner/updateBranding.d.ts +5 -0
  48. package/dist/tools/partner/updateBranding.d.ts.map +1 -1
  49. package/dist/tools/partner/updateBranding.js +7 -1
  50. package/dist/tools/partner/updateBranding.js.map +1 -1
  51. package/dist/tools/partner/updateLead.d.ts +137 -0
  52. package/dist/tools/partner/updateLead.d.ts.map +1 -0
  53. package/dist/tools/partner/updateLead.js +52 -0
  54. package/dist/tools/partner/updateLead.js.map +1 -0
  55. package/package.json +2 -2
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ import { getPartnerClient } from '../../sdkCache.js';
3
+ const inputSchema = z
4
+ .object({
5
+ leadId: z.string().uuid(),
6
+ force: z
7
+ .boolean()
8
+ .optional()
9
+ .describe('Bypass the enrichment freshness cache. Default: false (cached results within the freshness window are reused).'),
10
+ })
11
+ .strict();
12
+ const tool = {
13
+ name: 'partner_enrich_lead',
14
+ scope: 'partner',
15
+ description: 'Re-run enrichment for a lead: Apollo people search + Hunter domain search + Microsoft 365 ' +
16
+ 'OIDC tenant discovery (login.microsoftonline.com/{domain}/.well-known/openid-configuration). ' +
17
+ 'Requires `prospecting` feature flag. Returns the updated lead, the contributing sources ' +
18
+ '(`apollo`, `hunter`, `m365`), and `fromCache: true` when results were served from the freshness cache. ' +
19
+ 'On successful enrichment the lead auto-advances from `New` to `Enriched`.',
20
+ schema: inputSchema,
21
+ async handler(input, ctx) {
22
+ const client = getPartnerClient(ctx.auth.apiKey);
23
+ const opts = input.force === undefined ? {} : { force: input.force };
24
+ return client.leads.enrich(input.leadId, opts);
25
+ },
26
+ };
27
+ export default tool;
28
+ //# sourceMappingURL=enrichLead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrichLead.js","sourceRoot":"","sources":["../../../src/tools/partner/enrichLead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACzB,KAAK,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,gHAAgH,CACjH;CACJ,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,IAAI,GAA6B;IACrC,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,4FAA4F;QAC5F,+FAA+F;QAC/F,0FAA0F;QAC1F,yGAAyG;QACzG,2EAA2E;IAC7E,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;QACpE,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAChD,CAAC;CACF,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ import type { Tool } from '../../registry.js';
3
+ declare const inputSchema: z.ZodObject<{
4
+ leadId: z.ZodString;
5
+ }, "strict", z.ZodTypeAny, {
6
+ leadId: string;
7
+ }, {
8
+ leadId: string;
9
+ }>;
10
+ declare const tool: Tool<typeof inputSchema>;
11
+ export default tool;
12
+ //# sourceMappingURL=getLead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLead.d.ts","sourceRoot":"","sources":["../../../src/tools/partner/getLead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,QAAA,MAAM,WAAW;;;;;;EAIN,CAAA;AAEX,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAYlC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ import { getPartnerClient } from '../../sdkCache.js';
3
+ const inputSchema = z
4
+ .object({
5
+ leadId: z.string().uuid().describe('Lead UUID returned by partner_list_leads or partner_create_lead.'),
6
+ })
7
+ .strict();
8
+ const tool = {
9
+ name: 'partner_get_lead',
10
+ scope: 'partner',
11
+ description: 'Fetch one lead with its full contact list, partner overrides, lifecycle timestamps, and ' +
12
+ 'the most recent 50 activity log entries. Requires `prospecting` feature flag. Use when the ' +
13
+ 'user wants details on a specific lead (by id) or to inspect activity / enrichment results.',
14
+ schema: inputSchema,
15
+ async handler(input, ctx) {
16
+ const client = getPartnerClient(ctx.auth.apiKey);
17
+ return client.leads.get(input.leadId);
18
+ },
19
+ };
20
+ export default tool;
21
+ //# sourceMappingURL=getLead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLead.js","sourceRoot":"","sources":["../../../src/tools/partner/getLead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;CACvG,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,IAAI,GAA6B;IACrC,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,0FAA0F;QAC1F,6FAA6F;QAC7F,4FAA4F;IAC9F,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;CACF,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import type { Tool } from '../../registry.js';
3
+ declare const inputSchema: z.ZodObject<{
4
+ leadId: z.ZodString;
5
+ limit: z.ZodOptional<z.ZodNumber>;
6
+ cursor: z.ZodOptional<z.ZodString>;
7
+ }, "strict", z.ZodTypeAny, {
8
+ leadId: string;
9
+ limit?: number | undefined;
10
+ cursor?: string | undefined;
11
+ }, {
12
+ leadId: string;
13
+ limit?: number | undefined;
14
+ cursor?: string | undefined;
15
+ }>;
16
+ declare const tool: Tool<typeof inputSchema>;
17
+ export default tool;
18
+ //# sourceMappingURL=listLeadActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listLeadActivity.d.ts","sourceRoot":"","sources":["../../../src/tools/partner/listLeadActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,QAAA,MAAM,WAAW;;;;;;;;;;;;EAMN,CAAA;AAEX,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAclC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ import { getPartnerClient } from '../../sdkCache.js';
3
+ const inputSchema = z
4
+ .object({
5
+ leadId: z.string().uuid(),
6
+ limit: z.number().int().min(1).max(200).optional().describe('Page size (default 50).'),
7
+ cursor: z.string().optional().describe('Opaque cursor from a prior call.'),
8
+ })
9
+ .strict();
10
+ const tool = {
11
+ name: 'partner_list_lead_activity',
12
+ scope: 'partner',
13
+ description: 'Read the activity log for a lead — created, enriched, email_sent, email_delivered, ' +
14
+ 'email_opened, email_clicked, consented, report_ready, stage_changed, note, etc. Each entry ' +
15
+ 'has type / detail / metadata / actorEmail / createdAt. Requires `prospecting` feature flag. ' +
16
+ 'Use when the user asks "what happened to this lead" or to debug an outreach sequence.',
17
+ schema: inputSchema,
18
+ async handler(input, ctx) {
19
+ const client = getPartnerClient(ctx.auth.apiKey);
20
+ const { leadId, ...query } = input;
21
+ return client.leads.listActivity(leadId, query);
22
+ },
23
+ };
24
+ export default tool;
25
+ //# sourceMappingURL=listLeadActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listLeadActivity.js","sourceRoot":"","sources":["../../../src/tools/partner/listLeadActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACtF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CAC3E,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,IAAI,GAA6B;IACrC,IAAI,EAAE,4BAA4B;IAClC,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,qFAAqF;QACrF,6FAA6F;QAC7F,8FAA8F;QAC9F,uFAAuF;IACzF,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;QAClC,OAAO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;CACF,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ import type { Tool } from '../../registry.js';
3
+ declare const inputSchema: z.ZodObject<{
4
+ stage: z.ZodOptional<z.ZodEnum<["New", "Enriched", "OutreachSent", "Consented", "ReportDelivered", "Won", "Lost"]>>;
5
+ search: z.ZodOptional<z.ZodString>;
6
+ limit: z.ZodOptional<z.ZodNumber>;
7
+ cursor: z.ZodOptional<z.ZodString>;
8
+ }, "strict", z.ZodTypeAny, {
9
+ limit?: number | undefined;
10
+ stage?: "New" | "Enriched" | "OutreachSent" | "Consented" | "ReportDelivered" | "Won" | "Lost" | undefined;
11
+ search?: string | undefined;
12
+ cursor?: string | undefined;
13
+ }, {
14
+ limit?: number | undefined;
15
+ stage?: "New" | "Enriched" | "OutreachSent" | "Consented" | "ReportDelivered" | "Won" | "Lost" | undefined;
16
+ search?: string | undefined;
17
+ cursor?: string | undefined;
18
+ }>;
19
+ declare const tool: Tool<typeof inputSchema>;
20
+ export default tool;
21
+ //# sourceMappingURL=listLeads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listLeads.d.ts","sourceRoot":"","sources":["../../../src/tools/partner/listLeads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;EAiBN,CAAA;AAEX,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAalC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ import { getPartnerClient } from '../../sdkCache.js';
3
+ const inputSchema = z
4
+ .object({
5
+ stage: z
6
+ .enum(['New', 'Enriched', 'OutreachSent', 'Consented', 'ReportDelivered', 'Won', 'Lost'])
7
+ .optional()
8
+ .describe('Filter by lead stage. Omit to return all stages.'),
9
+ search: z
10
+ .string()
11
+ .max(200)
12
+ .optional()
13
+ .describe('Substring match on domain or company name (case-insensitive on company).'),
14
+ limit: z.number().int().min(1).max(200).optional().describe('Page size (default 50, max 200).'),
15
+ cursor: z
16
+ .string()
17
+ .optional()
18
+ .describe('Opaque cursor returned by a prior call as `nextCursor`.'),
19
+ })
20
+ .strict();
21
+ const tool = {
22
+ name: 'partner_list_leads',
23
+ scope: 'partner',
24
+ description: 'List partner prospecting leads with optional stage / search filters and stage-count rollup. ' +
25
+ 'Requires the partner record to have `prospecting` in enabledFeatures (admin-granted only — no plan tier auto-includes it). ' +
26
+ 'Returns leads with domain, company, contact info, stage, and timestamps. Use when the user asks ' +
27
+ '"show me my pipeline", "leads in stage X", or wants to look up a leadId.',
28
+ schema: inputSchema,
29
+ async handler(input, ctx) {
30
+ const client = getPartnerClient(ctx.auth.apiKey);
31
+ return client.leads.list(input);
32
+ },
33
+ };
34
+ export default tool;
35
+ //# sourceMappingURL=listLeads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listLeads.js","sourceRoot":"","sources":["../../../src/tools/partner/listLeads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACxF,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC/F,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;CACvE,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,IAAI,GAA6B;IACrC,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,8FAA8F;QAC9F,6HAA6H;QAC7H,kGAAkG;QAClG,0EAA0E;IAC5E,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;CACF,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod';
2
+ import type { Tool } from '../../registry.js';
3
+ declare const inputSchema: z.ZodObject<{
4
+ leadId: z.ZodString;
5
+ recipientEmail: z.ZodOptional<z.ZodString>;
6
+ recipientEmails: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
7
+ product: z.ZodOptional<z.ZodString>;
8
+ maturityTarget: z.ZodOptional<z.ZodString>;
9
+ skipEmail: z.ZodOptional<z.ZodBoolean>;
10
+ }, "strict", z.ZodTypeAny, {
11
+ leadId: string;
12
+ product?: string | undefined;
13
+ maturityTarget?: string | undefined;
14
+ recipientEmail?: string | undefined;
15
+ recipientEmails?: string[] | undefined;
16
+ skipEmail?: boolean | undefined;
17
+ }, {
18
+ leadId: string;
19
+ product?: string | undefined;
20
+ maturityTarget?: string | undefined;
21
+ recipientEmail?: string | undefined;
22
+ recipientEmails?: string[] | undefined;
23
+ skipEmail?: boolean | undefined;
24
+ }>;
25
+ declare const tool: Tool<typeof inputSchema>;
26
+ export default tool;
27
+ //# sourceMappingURL=sendLeadConsent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendLeadConsent.d.ts","sourceRoot":"","sources":["../../../src/tools/partner/sendLeadConsent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;EAgCN,CAAA;AAEX,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAsBlC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,55 @@
1
+ import { z } from 'zod';
2
+ import { getPartnerClient } from '../../sdkCache.js';
3
+ const inputSchema = z
4
+ .object({
5
+ leadId: z.string().uuid(),
6
+ recipientEmail: z
7
+ .string()
8
+ .email()
9
+ .optional()
10
+ .describe('Single recipient. Falls back to the lead\'s primaryContactEmail when omitted.'),
11
+ recipientEmails: z
12
+ .array(z.string().email())
13
+ .max(10)
14
+ .optional()
15
+ .describe('Multi-recipient fan-out (up to 10). Each gets their own consent URL so the consent webhook can attribute who clicked. Takes precedence over recipientEmail.'),
16
+ product: z
17
+ .string()
18
+ .optional()
19
+ .describe('Override the lead\'s stored product. Required if the lead has no product set.'),
20
+ maturityTarget: z.string().optional(),
21
+ skipEmail: z
22
+ .boolean()
23
+ .optional()
24
+ .describe('When true, mint per-recipient consent URLs and run the full consent flow (customer + ' +
25
+ 'assessment + run row + advance to OutreachSent + fire lead.outreach_sent webhook), but ' +
26
+ 'DO NOT send the consent email — the partner dispatches via their own channel. Still ' +
27
+ 'COSTS 1 CREDIT because the assessment is minted regardless. The 3-touch cadence is ' +
28
+ 'created cancelled so the day-3 / day-7 worker stays quiet. Required when the partner\'s ' +
29
+ 'mailProvider is "off" (otherwise the call fails with MAIL_DISABLED).'),
30
+ })
31
+ .strict();
32
+ const tool = {
33
+ name: 'partner_send_lead_consent',
34
+ scope: 'partner',
35
+ description: 'Kick off the partner-branded outreach cadence for a lead. Creates (or attaches to) a customer ' +
36
+ 'record, mints an assessment + run row (COSTS 1 CREDIT), sends touch-1 of the consent email to ' +
37
+ 'each recipient, advances the lead to `OutreachSent`, and fires the `lead.outreach_sent` webhook ' +
38
+ 'event. Touches 2 + 3 fire from the background cadence worker on day 3 + 7. Suppressed addresses ' +
39
+ 'are skipped silently with `skipped: "suppressed"` in the per-recipient result. ' +
40
+ 'Dispatch is routed by the partner\'s mail mode (`mailProvider`): `resend` (default — baref00t ' +
41
+ 'Resend with partner From-name + Reply-To), `microsoft` (partner\'s connected Graph mailbox), or ' +
42
+ '`off` (call fails with `MAIL_DISABLED` unless `skipEmail: true`). Each per-recipient result ' +
43
+ 'reports `via: "resend" | "microsoft"` so the caller can confirm which channel ran. ' +
44
+ 'Pass `skipEmail: true` to bypass the email send entirely — the response still carries the ' +
45
+ 'per-recipient `consentUrl` strings so the partner can dispatch via their own channel. ' +
46
+ 'Requires the `prospecting` feature flag. Reject if the lead is in a terminal stage (Won / Lost).',
47
+ schema: inputSchema,
48
+ async handler(input, ctx) {
49
+ const client = getPartnerClient(ctx.auth.apiKey);
50
+ const { leadId, ...rest } = input;
51
+ return client.leads.sendConsent(leadId, rest);
52
+ },
53
+ };
54
+ export default tool;
55
+ //# sourceMappingURL=sendLeadConsent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendLeadConsent.js","sourceRoot":"","sources":["../../../src/tools/partner/sendLeadConsent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACzB,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,KAAK,EAAE;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,eAAe,EAAE,CAAC;SACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;SACzB,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CACP,6JAA6J,CAC9J;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,uFAAuF;QACrF,yFAAyF;QACzF,sFAAsF;QACtF,qFAAqF;QACrF,0FAA0F;QAC1F,sEAAsE,CACzE;CACJ,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,IAAI,GAA6B;IACrC,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,gGAAgG;QAChG,gGAAgG;QAChG,kGAAkG;QAClG,kGAAkG;QAClG,iFAAiF;QACjF,gGAAgG;QAChG,kGAAkG;QAClG,8FAA8F;QAC9F,qFAAqF;QACrF,4FAA4F;QAC5F,wFAAwF;QACxF,kGAAkG;IACpG,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QACjC,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;CACF,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ import type { Tool } from '../../registry.js';
3
+ declare const inputSchema: z.ZodEffects<z.ZodObject<{
4
+ leadId: z.ZodString;
5
+ stage: z.ZodEnum<["Won", "Lost"]>;
6
+ lostReason: z.ZodOptional<z.ZodString>;
7
+ }, "strict", z.ZodTypeAny, {
8
+ stage: "Won" | "Lost";
9
+ leadId: string;
10
+ lostReason?: string | undefined;
11
+ }, {
12
+ stage: "Won" | "Lost";
13
+ leadId: string;
14
+ lostReason?: string | undefined;
15
+ }>, {
16
+ stage: "Won" | "Lost";
17
+ leadId: string;
18
+ lostReason?: string | undefined;
19
+ }, {
20
+ stage: "Won" | "Lost";
21
+ leadId: string;
22
+ lostReason?: string | undefined;
23
+ }>;
24
+ declare const tool: Tool<typeof inputSchema>;
25
+ export default tool;
26
+ //# sourceMappingURL=setLeadStage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setLeadStage.d.ts","sourceRoot":"","sources":["../../../src/tools/partner/setLeadStage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;EAab,CAAA;AAEJ,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAelC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod';
2
+ import { getPartnerClient } from '../../sdkCache.js';
3
+ const inputSchema = z
4
+ .object({
5
+ leadId: z.string().uuid(),
6
+ stage: z.enum(['Won', 'Lost']).describe('Only Won and Lost are partner-settable.'),
7
+ lostReason: z
8
+ .string()
9
+ .max(500)
10
+ .optional()
11
+ .describe('Required when stage="Lost". Free-form text up to 500 chars.'),
12
+ })
13
+ .strict()
14
+ .refine((v) => v.stage !== 'Lost' || !!v.lostReason, {
15
+ message: 'lostReason is required when stage=Lost',
16
+ });
17
+ const tool = {
18
+ name: 'partner_set_lead_stage',
19
+ scope: 'partner',
20
+ description: 'Mark a lead Won or Lost — the two terminal states. Requires `prospecting` feature flag. ' +
21
+ 'Other stages (Enriched / OutreachSent / Consented / ReportDelivered) are server-managed via ' +
22
+ 'the assessment lifecycle and cannot be set explicitly. Setting Won or Lost cancels any ' +
23
+ 'in-flight outreach cadence for the lead.',
24
+ schema: inputSchema,
25
+ async handler(input, ctx) {
26
+ const client = getPartnerClient(ctx.auth.apiKey);
27
+ const stageInput = { stage: input.stage };
28
+ if (input.lostReason)
29
+ stageInput.lostReason = input.lostReason;
30
+ return client.leads.setStage(input.leadId, stageInput);
31
+ },
32
+ };
33
+ export default tool;
34
+ //# sourceMappingURL=setLeadStage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setLeadStage.js","sourceRoot":"","sources":["../../../src/tools/partner/setLeadStage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAClF,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;CAC3E,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;IACnD,OAAO,EAAE,wCAAwC;CAClD,CAAC,CAAA;AAEJ,MAAM,IAAI,GAA6B;IACrC,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,0FAA0F;QAC1F,8FAA8F;QAC9F,yFAAyF;QACzF,0CAA0C;IAC5C,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,UAAU,GAAmD,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;QACzF,IAAI,KAAK,CAAC,UAAU;YAAE,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;QAC9D,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACxD,CAAC;CACF,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"triggerAssessment.d.ts","sourceRoot":"","sources":["../../../src/tools/partner/triggerAssessment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,QAAA,MAAM,WAAW;;;;;;;;;;;;EAMN,CAAA;AAEX,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAelC,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"triggerAssessment.d.ts","sourceRoot":"","sources":["../../../src/tools/partner/triggerAssessment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,QAAA,MAAM,WAAW;;;;;;;;;;;;EAMN,CAAA;AAEX,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAkBlC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -10,12 +10,15 @@ const inputSchema = z
10
10
  const tool = {
11
11
  name: 'partner_trigger_assessment',
12
12
  scope: 'partner',
13
- description: 'Start a new assessment for the given customer. Inspect the response\'s "status" field: ' +
14
- '"queued"/"completed"/"failed" means the run was accepted (assessmentId + runId populated, ' +
15
- 'COSTS 1 CREDIT poll via partner_get_assessment_status). ' +
16
- '"consent_required" means the customer has never granted Microsoft admin consentno credit ' +
17
- 'was burned, assessmentId is null, but consentUrl is returned. In that case call ' +
18
- 'partner_send_consent_email or share consentUrl directly with the customer, then re-trigger.',
13
+ description: 'Start a new assessment for the given customer. The platform performs a live consent ' +
14
+ 'pre-flight (client-credentials token mint against the customer tenant) before accepting ' +
15
+ 'the run. Inspect the response\'s "status" field: "queued"/"completed"/"failed" means the ' +
16
+ 'run was accepted (assessmentId + runId populated, COSTS 1 CREDITpoll via ' +
17
+ 'partner_get_assessment_status). "consent_required" means the per-product Entra app does ' +
18
+ 'NOT currently exist in the customer tenant (never consented OR the customer admin removed ' +
19
+ 'it from Enterprise Applications) — no credit was burned, assessmentId is null, but ' +
20
+ 'consentUrl is returned. In that case call partner_send_consent_email or share consentUrl ' +
21
+ 'directly with the customer, then re-trigger.',
19
22
  schema: inputSchema,
20
23
  async handler(input, ctx) {
21
24
  const client = getPartnerClient(ctx.auth.apiKey);
@@ -1 +1 @@
1
- {"version":3,"file":"triggerAssessment.js","sourceRoot":"","sources":["../../../src/tools/partner/triggerAssessment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IAC1G,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CAC5G,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,IAAI,GAA6B;IACrC,IAAI,EAAE,4BAA4B;IAClC,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,yFAAyF;QACzF,4FAA4F;QAC5F,4DAA4D;QAC5D,8FAA8F;QAC9F,kFAAkF;QAClF,6FAA6F;IAC/F,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC;CACF,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"triggerAssessment.js","sourceRoot":"","sources":["../../../src/tools/partner/triggerAssessment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IAC1G,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CAC5G,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,IAAI,GAA6B;IACrC,IAAI,EAAE,4BAA4B;IAClC,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,sFAAsF;QACtF,0FAA0F;QAC1F,2FAA2F;QAC3F,8EAA8E;QAC9E,0FAA0F;QAC1F,4FAA4F;QAC5F,qFAAqF;QACrF,2FAA2F;QAC3F,8CAA8C;IAChD,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC;CACF,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -5,22 +5,27 @@ declare const inputSchema: z.ZodEffects<z.ZodObject<{
5
5
  footerText: z.ZodOptional<z.ZodString>;
6
6
  contactEmail: z.ZodOptional<z.ZodString>;
7
7
  company: z.ZodOptional<z.ZodString>;
8
+ name: z.ZodOptional<z.ZodString>;
8
9
  }, "strict", z.ZodTypeAny, {
10
+ name?: string | undefined;
9
11
  brandColor?: string | undefined;
10
12
  footerText?: string | undefined;
11
13
  contactEmail?: string | undefined;
12
14
  company?: string | undefined;
13
15
  }, {
16
+ name?: string | undefined;
14
17
  brandColor?: string | undefined;
15
18
  footerText?: string | undefined;
16
19
  contactEmail?: string | undefined;
17
20
  company?: string | undefined;
18
21
  }>, {
22
+ name?: string | undefined;
19
23
  brandColor?: string | undefined;
20
24
  footerText?: string | undefined;
21
25
  contactEmail?: string | undefined;
22
26
  company?: string | undefined;
23
27
  }, {
28
+ name?: string | undefined;
24
29
  brandColor?: string | undefined;
25
30
  footerText?: string | undefined;
26
31
  contactEmail?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"updateBranding.d.ts","sourceRoot":"","sources":["../../../src/tools/partner/updateBranding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;EA0Bb,CAAA;AAEJ,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAalC,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"updateBranding.d.ts","sourceRoot":"","sources":["../../../src/tools/partner/updateBranding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCb,CAAA;AAEJ,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAalC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -21,7 +21,13 @@ const inputSchema = z
21
21
  .string()
22
22
  .max(200)
23
23
  .optional()
24
- .describe('Company display name (max 200 chars).'),
24
+ .describe('Legal/registration entity (max 200 chars).'),
25
+ name: z
26
+ .string()
27
+ .max(80)
28
+ .optional()
29
+ .describe('Customer-facing brand name shown on report viewer chrome and email ' +
30
+ 'templates (max 80 chars). Preferred over `company` when set.'),
25
31
  })
26
32
  .strict()
27
33
  .refine((v) => Object.keys(v).length > 0, {
@@ -1 +1 @@
1
- {"version":3,"file":"updateBranding.js","sourceRoot":"","sources":["../../../src/tools/partner/updateBranding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;SAChE,QAAQ,EAAE;SACV,QAAQ,CAAC,4BAA4B,CAAC;IACzC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,KAAK,EAAE;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;IACpF,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;CACrD,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;IACxC,OAAO,EAAE,sCAAsC;CAChD,CAAC,CAAA;AAEJ,MAAM,IAAI,GAA6B;IACrC,IAAI,EAAE,yBAAyB;IAC/B,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,2FAA2F;QAC3F,wFAAwF;QACxF,wFAAwF;QACxF,+EAA+E;IACjF,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;CACF,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"updateBranding.js","sourceRoot":"","sources":["../../../src/tools/partner/updateBranding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;SAChE,QAAQ,EAAE;SACV,QAAQ,CAAC,4BAA4B,CAAC;IACzC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,KAAK,EAAE;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;IACpF,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4CAA4C,CAAC;IACzD,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CACP,qEAAqE;QACnE,8DAA8D,CACjE;CACJ,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;IACxC,OAAO,EAAE,sCAAsC;CAChD,CAAC,CAAA;AAEJ,MAAM,IAAI,GAA6B;IACrC,IAAI,EAAE,yBAAyB;IAC/B,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,2FAA2F;QAC3F,wFAAwF;QACxF,wFAAwF;QACxF,+EAA+E;IACjF,MAAM,EAAE,WAAW;IACnB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;CACF,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,137 @@
1
+ import { z } from 'zod';
2
+ import type { Tool } from '../../registry.js';
3
+ declare const inputSchema: z.ZodEffects<z.ZodObject<{
4
+ leadId: z.ZodString;
5
+ companyName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6
+ industry: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
+ sizeBand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
+ revenueBand: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ primaryContactName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10
+ primaryContactEmail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
+ primaryContactRole: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
+ product: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
+ maturityTarget: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
+ lostReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
+ partnerPrimaryOverride: z.ZodOptional<z.ZodNullable<z.ZodObject<{
17
+ name: z.ZodOptional<z.ZodString>;
18
+ email: z.ZodString;
19
+ role: z.ZodOptional<z.ZodString>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ email: string;
22
+ name?: string | undefined;
23
+ role?: string | undefined;
24
+ }, {
25
+ email: string;
26
+ name?: string | undefined;
27
+ role?: string | undefined;
28
+ }>>>;
29
+ partnerContactOverrides: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
30
+ name: z.ZodOptional<z.ZodString>;
31
+ email: z.ZodOptional<z.ZodString>;
32
+ role: z.ZodOptional<z.ZodString>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ name?: string | undefined;
35
+ email?: string | undefined;
36
+ role?: string | undefined;
37
+ }, {
38
+ name?: string | undefined;
39
+ email?: string | undefined;
40
+ role?: string | undefined;
41
+ }>>>>;
42
+ }, "strict", z.ZodTypeAny, {
43
+ leadId: string;
44
+ product?: string | null | undefined;
45
+ maturityTarget?: string | null | undefined;
46
+ notes?: string | null | undefined;
47
+ companyName?: string | null | undefined;
48
+ industry?: string | null | undefined;
49
+ sizeBand?: string | null | undefined;
50
+ revenueBand?: string | null | undefined;
51
+ primaryContactName?: string | null | undefined;
52
+ primaryContactEmail?: string | null | undefined;
53
+ primaryContactRole?: string | null | undefined;
54
+ lostReason?: string | null | undefined;
55
+ partnerPrimaryOverride?: {
56
+ email: string;
57
+ name?: string | undefined;
58
+ role?: string | undefined;
59
+ } | null | undefined;
60
+ partnerContactOverrides?: Record<string, {
61
+ name?: string | undefined;
62
+ email?: string | undefined;
63
+ role?: string | undefined;
64
+ }> | null | undefined;
65
+ }, {
66
+ leadId: string;
67
+ product?: string | null | undefined;
68
+ maturityTarget?: string | null | undefined;
69
+ notes?: string | null | undefined;
70
+ companyName?: string | null | undefined;
71
+ industry?: string | null | undefined;
72
+ sizeBand?: string | null | undefined;
73
+ revenueBand?: string | null | undefined;
74
+ primaryContactName?: string | null | undefined;
75
+ primaryContactEmail?: string | null | undefined;
76
+ primaryContactRole?: string | null | undefined;
77
+ lostReason?: string | null | undefined;
78
+ partnerPrimaryOverride?: {
79
+ email: string;
80
+ name?: string | undefined;
81
+ role?: string | undefined;
82
+ } | null | undefined;
83
+ partnerContactOverrides?: Record<string, {
84
+ name?: string | undefined;
85
+ email?: string | undefined;
86
+ role?: string | undefined;
87
+ }> | null | undefined;
88
+ }>, {
89
+ leadId: string;
90
+ product?: string | null | undefined;
91
+ maturityTarget?: string | null | undefined;
92
+ notes?: string | null | undefined;
93
+ companyName?: string | null | undefined;
94
+ industry?: string | null | undefined;
95
+ sizeBand?: string | null | undefined;
96
+ revenueBand?: string | null | undefined;
97
+ primaryContactName?: string | null | undefined;
98
+ primaryContactEmail?: string | null | undefined;
99
+ primaryContactRole?: string | null | undefined;
100
+ lostReason?: string | null | undefined;
101
+ partnerPrimaryOverride?: {
102
+ email: string;
103
+ name?: string | undefined;
104
+ role?: string | undefined;
105
+ } | null | undefined;
106
+ partnerContactOverrides?: Record<string, {
107
+ name?: string | undefined;
108
+ email?: string | undefined;
109
+ role?: string | undefined;
110
+ }> | null | undefined;
111
+ }, {
112
+ leadId: string;
113
+ product?: string | null | undefined;
114
+ maturityTarget?: string | null | undefined;
115
+ notes?: string | null | undefined;
116
+ companyName?: string | null | undefined;
117
+ industry?: string | null | undefined;
118
+ sizeBand?: string | null | undefined;
119
+ revenueBand?: string | null | undefined;
120
+ primaryContactName?: string | null | undefined;
121
+ primaryContactEmail?: string | null | undefined;
122
+ primaryContactRole?: string | null | undefined;
123
+ lostReason?: string | null | undefined;
124
+ partnerPrimaryOverride?: {
125
+ email: string;
126
+ name?: string | undefined;
127
+ role?: string | undefined;
128
+ } | null | undefined;
129
+ partnerContactOverrides?: Record<string, {
130
+ name?: string | undefined;
131
+ email?: string | undefined;
132
+ role?: string | undefined;
133
+ }> | null | undefined;
134
+ }>;
135
+ declare const tool: Tool<typeof inputSchema>;
136
+ export default tool;
137
+ //# sourceMappingURL=updateLead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateLead.d.ts","sourceRoot":"","sources":["../../../src/tools/partner/updateLead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCb,CAAA;AAEJ,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAclC,CAAA;AAED,eAAe,IAAI,CAAA"}