@kelpi/mcp 0.1.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 (195) hide show
  1. package/README.md +312 -0
  2. package/bin/kelpi-mcp +3 -0
  3. package/dist/__tests__/integration-api/fixtures.d.ts +382 -0
  4. package/dist/__tests__/integration-api/fixtures.d.ts.map +1 -0
  5. package/dist/__tests__/integration-api/fixtures.js +478 -0
  6. package/dist/__tests__/integration-api/fixtures.js.map +1 -0
  7. package/dist/__tests__/integration-api/index.d.ts +19 -0
  8. package/dist/__tests__/integration-api/index.d.ts.map +1 -0
  9. package/dist/__tests__/integration-api/index.js +33 -0
  10. package/dist/__tests__/integration-api/index.js.map +1 -0
  11. package/dist/__tests__/integration-api/setup.d.ts +176 -0
  12. package/dist/__tests__/integration-api/setup.d.ts.map +1 -0
  13. package/dist/__tests__/integration-api/setup.js +329 -0
  14. package/dist/__tests__/integration-api/setup.js.map +1 -0
  15. package/dist/__tests__/setup.d.ts +2 -0
  16. package/dist/__tests__/setup.d.ts.map +1 -0
  17. package/dist/__tests__/setup.js +11 -0
  18. package/dist/__tests__/setup.js.map +1 -0
  19. package/dist/__tests__/unit/test-utils.d.ts +46 -0
  20. package/dist/__tests__/unit/test-utils.d.ts.map +1 -0
  21. package/dist/__tests__/unit/test-utils.js +50 -0
  22. package/dist/__tests__/unit/test-utils.js.map +1 -0
  23. package/dist/index.d.ts +6 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +34 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/lib/api-client.d.ts +17 -0
  28. package/dist/lib/api-client.d.ts.map +1 -0
  29. package/dist/lib/api-client.js +169 -0
  30. package/dist/lib/api-client.js.map +1 -0
  31. package/dist/lib/auth-state.d.ts +54 -0
  32. package/dist/lib/auth-state.d.ts.map +1 -0
  33. package/dist/lib/auth-state.js +131 -0
  34. package/dist/lib/auth-state.js.map +1 -0
  35. package/dist/lib/config.d.ts +39 -0
  36. package/dist/lib/config.d.ts.map +1 -0
  37. package/dist/lib/config.js +170 -0
  38. package/dist/lib/config.js.map +1 -0
  39. package/dist/lib/error-formatter.d.ts +40 -0
  40. package/dist/lib/error-formatter.d.ts.map +1 -0
  41. package/dist/lib/error-formatter.js +149 -0
  42. package/dist/lib/error-formatter.js.map +1 -0
  43. package/dist/lib/errors.d.ts +44 -0
  44. package/dist/lib/errors.d.ts.map +1 -0
  45. package/dist/lib/errors.js +56 -0
  46. package/dist/lib/errors.js.map +1 -0
  47. package/dist/lib/tool-helpers.d.ts +49 -0
  48. package/dist/lib/tool-helpers.d.ts.map +1 -0
  49. package/dist/lib/tool-helpers.js +101 -0
  50. package/dist/lib/tool-helpers.js.map +1 -0
  51. package/dist/lib/tool-registry.d.ts +111 -0
  52. package/dist/lib/tool-registry.d.ts.map +1 -0
  53. package/dist/lib/tool-registry.js +112 -0
  54. package/dist/lib/tool-registry.js.map +1 -0
  55. package/dist/lib/version.d.ts +13 -0
  56. package/dist/lib/version.d.ts.map +1 -0
  57. package/dist/lib/version.js +13 -0
  58. package/dist/lib/version.js.map +1 -0
  59. package/dist/prompts/flow-generator.d.ts +45 -0
  60. package/dist/prompts/flow-generator.d.ts.map +1 -0
  61. package/dist/prompts/flow-generator.js +177 -0
  62. package/dist/prompts/flow-generator.js.map +1 -0
  63. package/dist/prompts/index.d.ts +7 -0
  64. package/dist/prompts/index.d.ts.map +1 -0
  65. package/dist/prompts/index.js +7 -0
  66. package/dist/prompts/index.js.map +1 -0
  67. package/dist/server.d.ts +66 -0
  68. package/dist/server.d.ts.map +1 -0
  69. package/dist/server.js +140 -0
  70. package/dist/server.js.map +1 -0
  71. package/dist/tools/auth/index.d.ts +18 -0
  72. package/dist/tools/auth/index.d.ts.map +1 -0
  73. package/dist/tools/auth/index.js +50 -0
  74. package/dist/tools/auth/index.js.map +1 -0
  75. package/dist/tools/auth/login.d.ts +37 -0
  76. package/dist/tools/auth/login.d.ts.map +1 -0
  77. package/dist/tools/auth/login.js +257 -0
  78. package/dist/tools/auth/login.js.map +1 -0
  79. package/dist/tools/auth/schemas.d.ts +69 -0
  80. package/dist/tools/auth/schemas.d.ts.map +1 -0
  81. package/dist/tools/auth/schemas.js +36 -0
  82. package/dist/tools/auth/schemas.js.map +1 -0
  83. package/dist/tools/auth/status.d.ts +11 -0
  84. package/dist/tools/auth/status.d.ts.map +1 -0
  85. package/dist/tools/auth/status.js +50 -0
  86. package/dist/tools/auth/status.js.map +1 -0
  87. package/dist/tools/contacts/create.d.ts +11 -0
  88. package/dist/tools/contacts/create.d.ts.map +1 -0
  89. package/dist/tools/contacts/create.js +47 -0
  90. package/dist/tools/contacts/create.js.map +1 -0
  91. package/dist/tools/contacts/index.d.ts +10 -0
  92. package/dist/tools/contacts/index.d.ts.map +1 -0
  93. package/dist/tools/contacts/index.js +40 -0
  94. package/dist/tools/contacts/index.js.map +1 -0
  95. package/dist/tools/contacts/schemas.d.ts +37 -0
  96. package/dist/tools/contacts/schemas.d.ts.map +1 -0
  97. package/dist/tools/contacts/schemas.js +15 -0
  98. package/dist/tools/contacts/schemas.js.map +1 -0
  99. package/dist/tools/events/index.d.ts +10 -0
  100. package/dist/tools/events/index.d.ts.map +1 -0
  101. package/dist/tools/events/index.js +42 -0
  102. package/dist/tools/events/index.js.map +1 -0
  103. package/dist/tools/events/schemas.d.ts +37 -0
  104. package/dist/tools/events/schemas.d.ts.map +1 -0
  105. package/dist/tools/events/schemas.js +17 -0
  106. package/dist/tools/events/schemas.js.map +1 -0
  107. package/dist/tools/events/track.d.ts +11 -0
  108. package/dist/tools/events/track.d.ts.map +1 -0
  109. package/dist/tools/events/track.js +41 -0
  110. package/dist/tools/events/track.js.map +1 -0
  111. package/dist/tools/flows/activate.d.ts +11 -0
  112. package/dist/tools/flows/activate.d.ts.map +1 -0
  113. package/dist/tools/flows/activate.js +46 -0
  114. package/dist/tools/flows/activate.js.map +1 -0
  115. package/dist/tools/flows/create.d.ts +11 -0
  116. package/dist/tools/flows/create.d.ts.map +1 -0
  117. package/dist/tools/flows/create.js +72 -0
  118. package/dist/tools/flows/create.js.map +1 -0
  119. package/dist/tools/flows/index.d.ts +24 -0
  120. package/dist/tools/flows/index.d.ts.map +1 -0
  121. package/dist/tools/flows/index.js +183 -0
  122. package/dist/tools/flows/index.js.map +1 -0
  123. package/dist/tools/flows/list.d.ts +11 -0
  124. package/dist/tools/flows/list.d.ts.map +1 -0
  125. package/dist/tools/flows/list.js +34 -0
  126. package/dist/tools/flows/list.js.map +1 -0
  127. package/dist/tools/flows/schemas.d.ts +621 -0
  128. package/dist/tools/flows/schemas.d.ts.map +1 -0
  129. package/dist/tools/flows/schemas.js +135 -0
  130. package/dist/tools/flows/schemas.js.map +1 -0
  131. package/dist/tools/flows/transform.d.ts +39 -0
  132. package/dist/tools/flows/transform.d.ts.map +1 -0
  133. package/dist/tools/flows/transform.js +139 -0
  134. package/dist/tools/flows/transform.js.map +1 -0
  135. package/dist/tools/index.d.ts +34 -0
  136. package/dist/tools/index.d.ts.map +1 -0
  137. package/dist/tools/index.js +46 -0
  138. package/dist/tools/index.js.map +1 -0
  139. package/dist/tools/sdk/index.d.ts +18 -0
  140. package/dist/tools/sdk/index.d.ts.map +1 -0
  141. package/dist/tools/sdk/index.js +69 -0
  142. package/dist/tools/sdk/index.js.map +1 -0
  143. package/dist/tools/sdk/public-key.d.ts +11 -0
  144. package/dist/tools/sdk/public-key.d.ts.map +1 -0
  145. package/dist/tools/sdk/public-key.js +24 -0
  146. package/dist/tools/sdk/public-key.js.map +1 -0
  147. package/dist/tools/sdk/schemas.d.ts +48 -0
  148. package/dist/tools/sdk/schemas.d.ts.map +1 -0
  149. package/dist/tools/sdk/schemas.js +35 -0
  150. package/dist/tools/sdk/schemas.js.map +1 -0
  151. package/dist/tools/sdk/snippet.d.ts +11 -0
  152. package/dist/tools/sdk/snippet.d.ts.map +1 -0
  153. package/dist/tools/sdk/snippet.js +50 -0
  154. package/dist/tools/sdk/snippet.js.map +1 -0
  155. package/dist/tools/sdk/templates/index.d.ts +5 -0
  156. package/dist/tools/sdk/templates/index.d.ts.map +1 -0
  157. package/dist/tools/sdk/templates/index.js +5 -0
  158. package/dist/tools/sdk/templates/index.js.map +1 -0
  159. package/dist/tools/sdk/templates/nextjs.d.ts +5 -0
  160. package/dist/tools/sdk/templates/nextjs.d.ts.map +1 -0
  161. package/dist/tools/sdk/templates/nextjs.js +71 -0
  162. package/dist/tools/sdk/templates/nextjs.js.map +1 -0
  163. package/dist/tools/sdk/templates/node.d.ts +9 -0
  164. package/dist/tools/sdk/templates/node.d.ts.map +1 -0
  165. package/dist/tools/sdk/templates/node.js +170 -0
  166. package/dist/tools/sdk/templates/node.js.map +1 -0
  167. package/dist/tools/sdk/templates/react.d.ts +5 -0
  168. package/dist/tools/sdk/templates/react.d.ts.map +1 -0
  169. package/dist/tools/sdk/templates/react.js +54 -0
  170. package/dist/tools/sdk/templates/react.js.map +1 -0
  171. package/dist/tools/sdk/templates/vanilla.d.ts +5 -0
  172. package/dist/tools/sdk/templates/vanilla.d.ts.map +1 -0
  173. package/dist/tools/sdk/templates/vanilla.js +61 -0
  174. package/dist/tools/sdk/templates/vanilla.js.map +1 -0
  175. package/dist/tools/templates/create.d.ts +11 -0
  176. package/dist/tools/templates/create.d.ts.map +1 -0
  177. package/dist/tools/templates/create.js +39 -0
  178. package/dist/tools/templates/create.js.map +1 -0
  179. package/dist/tools/templates/index.d.ts +17 -0
  180. package/dist/tools/templates/index.d.ts.map +1 -0
  181. package/dist/tools/templates/index.js +68 -0
  182. package/dist/tools/templates/index.js.map +1 -0
  183. package/dist/tools/templates/list.d.ts +11 -0
  184. package/dist/tools/templates/list.d.ts.map +1 -0
  185. package/dist/tools/templates/list.js +31 -0
  186. package/dist/tools/templates/list.js.map +1 -0
  187. package/dist/tools/templates/schemas.d.ts +90 -0
  188. package/dist/tools/templates/schemas.d.ts.map +1 -0
  189. package/dist/tools/templates/schemas.js +37 -0
  190. package/dist/tools/templates/schemas.js.map +1 -0
  191. package/dist/types.d.ts +55 -0
  192. package/dist/types.d.ts.map +1 -0
  193. package/dist/types.js +2 -0
  194. package/dist/types.js.map +1 -0
  195. package/package.json +76 -0
@@ -0,0 +1,40 @@
1
+ import { createContactInputSchema } from './schemas.js';
2
+ import { createContactHandler } from './create.js';
3
+ /**
4
+ * kelpi_create_contact tool definition and handler
5
+ *
6
+ * Creates a new contact or updates an existing one.
7
+ */
8
+ export const kelpiCreateContact = {
9
+ definition: {
10
+ name: 'kelpi_create_contact',
11
+ description: `Create a new contact with properties and traits.
12
+
13
+ This tool creates a contact in your Kelpi workspace. A contact represents a user or customer that you want to track and engage with.
14
+
15
+ Requirements:
16
+ - At least one identifier (email or external_id) is required
17
+ - If email is provided, it must be a valid email format
18
+ - Properties can include any custom data about the contact
19
+
20
+ Example usage:
21
+ {
22
+ "email": "user@example.com",
23
+ "external_id": "user_123",
24
+ "properties": {
25
+ "firstName": "John",
26
+ "lastName": "Doe",
27
+ "plan": "premium"
28
+ }
29
+ }
30
+
31
+ Returns the created contact with its ID and timestamps.`,
32
+ inputSchema: createContactInputSchema,
33
+ },
34
+ handler: createContactHandler,
35
+ };
36
+ // Re-export schemas
37
+ export * from './schemas.js';
38
+ // Re-export handler factories for testing
39
+ export { createCreateContactHandler } from './create.js';
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/contacts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,UAAU,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;wDAoBuC;QACpD,WAAW,EAAE,wBAAwB;KACtC;IACD,OAAO,EAAE,oBAAoB;CAC9B,CAAC;AAEF,oBAAoB;AACpB,cAAc,cAAc,CAAC;AAE7B,0CAA0C;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Schema for creating a contact
4
+ * At least one of email or external_id is required (validated in handler)
5
+ *
6
+ * Note: We don't use .refine() here because it produces ZodEffects which
7
+ * doesn't convert to valid JSON Schema for MCP tool definitions.
8
+ * The "at least one identifier" validation is done in the handler.
9
+ */
10
+ export declare const createContactInputSchema: z.ZodObject<{
11
+ email: z.ZodOptional<z.ZodString>;
12
+ external_id: z.ZodOptional<z.ZodString>;
13
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ email?: string | undefined;
16
+ external_id?: string | undefined;
17
+ properties?: Record<string, unknown> | undefined;
18
+ }, {
19
+ email?: string | undefined;
20
+ external_id?: string | undefined;
21
+ properties?: Record<string, unknown> | undefined;
22
+ }>;
23
+ /**
24
+ * Contact response from API
25
+ */
26
+ export interface ContactResponse {
27
+ id: string;
28
+ email?: string;
29
+ external_id?: string;
30
+ properties?: Record<string, unknown>;
31
+ created_at: string;
32
+ }
33
+ /**
34
+ * Type exports
35
+ */
36
+ export type CreateContactInput = z.infer<typeof createContactInputSchema>;
37
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/tools/contacts/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Schema for creating a contact
4
+ * At least one of email or external_id is required (validated in handler)
5
+ *
6
+ * Note: We don't use .refine() here because it produces ZodEffects which
7
+ * doesn't convert to valid JSON Schema for MCP tool definitions.
8
+ * The "at least one identifier" validation is done in the handler.
9
+ */
10
+ export const createContactInputSchema = z.object({
11
+ email: z.string().email('Invalid email format').optional(),
12
+ external_id: z.string().optional(),
13
+ properties: z.record(z.unknown()).optional().describe('Custom properties for the contact'),
14
+ });
15
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/tools/contacts/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;IAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC3F,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ToolWithHandler } from '../../lib/tool-registry.js';
2
+ /**
3
+ * kelpi_track_event tool definition and handler
4
+ *
5
+ * Tracks a custom event for a contact.
6
+ */
7
+ export declare const kelpiTrackEvent: ToolWithHandler;
8
+ export * from './schemas.js';
9
+ export { createTrackEventHandler } from './track.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,eA6B7B,CAAC;AAGF,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { trackEventInputSchema } from './schemas.js';
2
+ import { trackEventHandler } from './track.js';
3
+ /**
4
+ * kelpi_track_event tool definition and handler
5
+ *
6
+ * Tracks a custom event for a contact.
7
+ */
8
+ export const kelpiTrackEvent = {
9
+ definition: {
10
+ name: 'kelpi_track_event',
11
+ description: `Track a custom event for a contact.
12
+
13
+ This tool records an event associated with a contact in your Kelpi workspace. Events are used to trigger automations, build segments, and analyze user behavior.
14
+
15
+ Requirements:
16
+ - event_name is required (e.g., "user.signed_up", "purchase.completed")
17
+ - user_id is required (the unique identifier for the contact)
18
+ - email is optional (for contact enrichment)
19
+ - properties can include any custom data about the event
20
+
21
+ Example usage:
22
+ {
23
+ "event_name": "purchase.completed",
24
+ "user_id": "user_123",
25
+ "email": "user@example.com",
26
+ "properties": {
27
+ "order_id": "ord_123",
28
+ "amount": 99.99,
29
+ "currency": "USD"
30
+ }
31
+ }
32
+
33
+ Returns a success response when the event is tracked.`,
34
+ inputSchema: trackEventInputSchema,
35
+ },
36
+ handler: trackEventHandler,
37
+ };
38
+ // Re-export schemas
39
+ export * from './schemas.js';
40
+ // Re-export handler factories for testing
41
+ export { createTrackEventHandler } from './track.js';
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/events/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;sDAsBqC;QAClD,WAAW,EAAE,qBAAqB;KACnC;IACD,OAAO,EAAE,iBAAiB;CAC3B,CAAC;AAEF,oBAAoB;AACpB,cAAc,cAAc,CAAC;AAE7B,0CAA0C;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Schema for tracking an event
4
+ *
5
+ * Matches the API contract in src/lib/schemas/track.ts:
6
+ * - user_id is REQUIRED (contact identifier)
7
+ * - email is optional (for contact enrichment)
8
+ * - event_name is required
9
+ * - properties is optional
10
+ */
11
+ export declare const trackEventInputSchema: z.ZodObject<{
12
+ event_name: z.ZodString;
13
+ user_id: z.ZodString;
14
+ email: z.ZodOptional<z.ZodString>;
15
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ event_name: string;
18
+ user_id: string;
19
+ email?: string | undefined;
20
+ properties?: Record<string, unknown> | undefined;
21
+ }, {
22
+ event_name: string;
23
+ user_id: string;
24
+ email?: string | undefined;
25
+ properties?: Record<string, unknown> | undefined;
26
+ }>;
27
+ /**
28
+ * Track event response from API
29
+ */
30
+ export interface TrackEventResponse {
31
+ success: boolean;
32
+ }
33
+ /**
34
+ * Type exports
35
+ */
36
+ export type TrackEventInput = z.infer<typeof trackEventInputSchema>;
37
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/tools/events/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Schema for tracking an event
4
+ *
5
+ * Matches the API contract in src/lib/schemas/track.ts:
6
+ * - user_id is REQUIRED (contact identifier)
7
+ * - email is optional (for contact enrichment)
8
+ * - event_name is required
9
+ * - properties is optional
10
+ */
11
+ export const trackEventInputSchema = z.object({
12
+ event_name: z.string().min(1, 'event_name is required'),
13
+ user_id: z.string().min(1, 'user_id is required'),
14
+ email: z.string().email().optional(),
15
+ properties: z.record(z.unknown()).optional().describe('Additional event properties'),
16
+ });
17
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/tools/events/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;IACvD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,qBAAqB,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CACrF,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ToolHandler } from '../../lib/tool-registry.js';
2
+ /**
3
+ * Creates a track event handler.
4
+ * This factory function allows for dependency injection in tests.
5
+ */
6
+ export declare function createTrackEventHandler(): ToolHandler;
7
+ /**
8
+ * Default track event handler
9
+ */
10
+ export declare const trackEventHandler: ToolHandler;
11
+ //# sourceMappingURL=track.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../../src/tools/events/track.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,4BAA4B,CAAC;AAS1E;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CA+BrD;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,aAA4B,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { withAuth, successResponse, validationErrorResponse, handleApiError, } from '../../lib/tool-helpers.js';
2
+ import { trackEventInputSchema } from './schemas.js';
3
+ /**
4
+ * Creates a track event handler.
5
+ * This factory function allows for dependency injection in tests.
6
+ */
7
+ export function createTrackEventHandler() {
8
+ return async (input) => {
9
+ // Validate input using Zod schema
10
+ const validationResult = trackEventInputSchema.safeParse(input);
11
+ if (!validationResult.success) {
12
+ return validationErrorResponse(validationResult.error);
13
+ }
14
+ return withAuth('tracking events', async ({ client }) => {
15
+ try {
16
+ const { email, user_id, event_name, properties } = validationResult.data;
17
+ // Build request body according to API specification
18
+ const body = {
19
+ contact: {
20
+ ...(email && { email }),
21
+ ...(user_id && { user_id }),
22
+ },
23
+ event: {
24
+ name: event_name,
25
+ ...(properties && { properties }),
26
+ },
27
+ };
28
+ const response = await client.post('/api/v1/track', body);
29
+ return successResponse(response.data);
30
+ }
31
+ catch (err) {
32
+ return handleApiError(err, 'track event');
33
+ }
34
+ });
35
+ };
36
+ }
37
+ /**
38
+ * Default track event handler
39
+ */
40
+ export const trackEventHandler = createTrackEventHandler();
41
+ //# sourceMappingURL=track.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track.js","sourceRoot":"","sources":["../../../src/tools/events/track.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,uBAAuB,EACvB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAA2B,MAAM,cAAc,CAAC;AAE9E;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,KAAK,EAAE,KAA8B,EAAuB,EAAE;QACnE,kCAAkC;QAClC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,uBAAuB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,QAAQ,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACtD,IAAI,CAAC;gBACH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC;gBAEzE,oDAAoD;gBACpD,MAAM,IAAI,GAAG;oBACX,OAAO,EAAE;wBACP,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;wBACvB,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;qBAC5B;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,UAAU;wBAChB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;qBAClC;iBACF,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAqB,eAAe,EAAE,IAAI,CAAC,CAAC;gBAC9E,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ToolHandler } from '../../lib/tool-registry.js';
2
+ /**
3
+ * Creates an activate flow handler.
4
+ * This factory function allows for dependency injection in tests.
5
+ */
6
+ export declare function createActivateFlowHandler(): ToolHandler;
7
+ /**
8
+ * Default activate flow handler
9
+ */
10
+ export declare const activateFlowHandler: ToolHandler;
11
+ //# sourceMappingURL=activate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activate.d.ts","sourceRoot":"","sources":["../../../src/tools/flows/activate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,4BAA4B,CAAC;AAW1E;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,WAAW,CAmCvD;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,aAA8B,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { ApiError } from '../../lib/api-client.js';
2
+ import { withAuth, successResponse, validationErrorResponse, errorResponse, unknownErrorResponse, } from '../../lib/tool-helpers.js';
3
+ import { activateFlowInputSchema } from './schemas.js';
4
+ /**
5
+ * Creates an activate flow handler.
6
+ * This factory function allows for dependency injection in tests.
7
+ */
8
+ export function createActivateFlowHandler() {
9
+ return async (input) => {
10
+ // Validate input using Zod schema
11
+ const validationResult = activateFlowInputSchema.safeParse(input);
12
+ if (!validationResult.success) {
13
+ return validationErrorResponse(validationResult.error, 'flow_id must be a valid UUID');
14
+ }
15
+ const { flow_id } = validationResult.data;
16
+ return withAuth('activating flows', async ({ client }) => {
17
+ try {
18
+ const response = await client.put(`/api/v1/flows/${flow_id}/activate`);
19
+ return successResponse(response.data);
20
+ }
21
+ catch (err) {
22
+ if (err instanceof ApiError) {
23
+ let message = err.message;
24
+ let hint;
25
+ if (err.status === 404) {
26
+ message = 'Flow not found';
27
+ hint = `No flow exists with ID "${flow_id}"`;
28
+ }
29
+ else if (err.status === 400) {
30
+ hint = 'Ensure the flow has steps and is not archived';
31
+ }
32
+ return errorResponse('Failed to activate flow', message, {
33
+ status: err.status,
34
+ ...(hint && { hint }),
35
+ });
36
+ }
37
+ return unknownErrorResponse(err, 'activate flow');
38
+ }
39
+ });
40
+ };
41
+ }
42
+ /**
43
+ * Default activate flow handler
44
+ */
45
+ export const activateFlowHandler = createActivateFlowHandler();
46
+ //# sourceMappingURL=activate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activate.js","sourceRoot":"","sources":["../../../src/tools/flows/activate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACL,QAAQ,EACR,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAqB,MAAM,cAAc,CAAC;AAE1E;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,KAAK,EAAE,KAA8B,EAAuB,EAAE;QACnE,kCAAkC;QAClC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,uBAAuB,CAAC,gBAAgB,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAE1C,OAAO,QAAQ,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACvD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAe,iBAAiB,OAAO,WAAW,CAAC,CAAC;gBACrF,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;oBAC5B,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;oBAC1B,IAAI,IAAwB,CAAC;oBAE7B,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBACvB,OAAO,GAAG,gBAAgB,CAAC;wBAC3B,IAAI,GAAG,2BAA2B,OAAO,GAAG,CAAC;oBAC/C,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAC9B,IAAI,GAAG,+CAA+C,CAAC;oBACzD,CAAC;oBAED,OAAO,aAAa,CAAC,yBAAyB,EAAE,OAAO,EAAE;wBACvD,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;qBACtB,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,oBAAoB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ToolHandler } from '../../lib/tool-registry.js';
2
+ /**
3
+ * Creates a create flow handler.
4
+ * This factory function allows for dependency injection in tests.
5
+ */
6
+ export declare function createCreateFlowHandler(): ToolHandler;
7
+ /**
8
+ * Default create flow handler
9
+ */
10
+ export declare const createFlowHandler: ToolHandler;
11
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/tools/flows/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,4BAA4B,CAAC;AAW1E;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CAmFrD;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,aAA4B,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { withAuth, successResponse, validationErrorResponse, errorResponse, handleApiError, } from '../../lib/tool-helpers.js';
2
+ import { flowDefinitionSchema } from './schemas.js';
3
+ import { transformFlowDefinition } from './transform.js';
4
+ /**
5
+ * Creates a create flow handler.
6
+ * This factory function allows for dependency injection in tests.
7
+ */
8
+ export function createCreateFlowHandler() {
9
+ return async (input) => {
10
+ // Validate input definition
11
+ const definition = input.definition;
12
+ if (!definition) {
13
+ return errorResponse('Validation failed', 'definition is required');
14
+ }
15
+ // Validate the flow definition using Zod schema
16
+ const validationResult = flowDefinitionSchema.safeParse(definition);
17
+ if (!validationResult.success) {
18
+ return validationErrorResponse(validationResult.error, 'Invalid flow definition');
19
+ }
20
+ const data = validationResult.data;
21
+ // Custom validations (can't use .refine() as it breaks JSON Schema conversion for MCP)
22
+ // 1. If trigger_type is 'event', trigger_event is required
23
+ if (data.trigger_type === 'event' && !data.trigger_event) {
24
+ return errorResponse('Validation failed', 'trigger_event is required when trigger_type is "event"');
25
+ }
26
+ // 2. If trigger_type is 'segment', trigger_segment_id is required
27
+ if (data.trigger_type === 'segment' && !data.trigger_segment_id) {
28
+ return errorResponse('Validation failed', 'trigger_segment_id is required when trigger_type is "segment"');
29
+ }
30
+ // 3. Check for duplicate step_ids
31
+ const stepIds = data.steps.map((step) => step.step_id);
32
+ const uniqueIds = new Set(stepIds);
33
+ if (stepIds.length !== uniqueIds.size) {
34
+ return errorResponse('Validation failed', 'Duplicate step_id found in steps array');
35
+ }
36
+ // 4. Validate webhook URLs are valid HTTPS URLs with hostnames
37
+ for (const step of data.steps) {
38
+ if (step.action_type === 'webhook' && step.webhook_url) {
39
+ try {
40
+ const webhookUrl = new URL(step.webhook_url);
41
+ if (webhookUrl.protocol !== 'https:') {
42
+ return errorResponse('Validation failed', `Webhook URL must use HTTPS: ${step.webhook_url}`);
43
+ }
44
+ if (!webhookUrl.hostname) {
45
+ return errorResponse('Validation failed', `Webhook URL must include a hostname: ${step.webhook_url}`);
46
+ }
47
+ }
48
+ catch {
49
+ return errorResponse('Validation failed', `Invalid webhook URL format: ${step.webhook_url}`);
50
+ }
51
+ }
52
+ }
53
+ // Transform the definition to normalize operators and filter structures
54
+ // This handles common shorthand like "eq" -> "equals", "gt" -> "greater_than"
55
+ // and ensures condition_filter groups have the required type: "group" property
56
+ const transformedData = transformFlowDefinition(data);
57
+ return withAuth('creating flows', async ({ client }) => {
58
+ try {
59
+ const response = await client.post('/api/v1/flows', transformedData);
60
+ return successResponse(response.data);
61
+ }
62
+ catch (err) {
63
+ return handleApiError(err, 'create flow');
64
+ }
65
+ });
66
+ };
67
+ }
68
+ /**
69
+ * Default create flow handler
70
+ */
71
+ export const createFlowHandler = createCreateFlowHandler();
72
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/tools/flows/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { ToolWithHandler } from '../../lib/tool-registry.js';
2
+ /**
3
+ * kelpi_create_flow tool definition and handler
4
+ *
5
+ * Creates a new automation flow from a JSON definition.
6
+ */
7
+ export declare const kelpiCreateFlow: ToolWithHandler;
8
+ /**
9
+ * kelpi_list_flows tool definition and handler
10
+ *
11
+ * Lists all flows in the workspace with optional filtering.
12
+ */
13
+ export declare const kelpiListFlows: ToolWithHandler;
14
+ /**
15
+ * kelpi_activate_flow tool definition and handler
16
+ *
17
+ * Activates a draft flow so it starts processing events.
18
+ */
19
+ export declare const kelpiActivateFlow: ToolWithHandler;
20
+ export * from './schemas.js';
21
+ export { createCreateFlowHandler } from './create.js';
22
+ export { createListFlowsHandler } from './list.js';
23
+ export { createActivateFlowHandler } from './activate.js';
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/flows/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAUlE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,eAiH7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,eAsB5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAmB/B,CAAC;AAGF,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC"}