@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.
- package/README.md +312 -0
- package/bin/kelpi-mcp +3 -0
- package/dist/__tests__/integration-api/fixtures.d.ts +382 -0
- package/dist/__tests__/integration-api/fixtures.d.ts.map +1 -0
- package/dist/__tests__/integration-api/fixtures.js +478 -0
- package/dist/__tests__/integration-api/fixtures.js.map +1 -0
- package/dist/__tests__/integration-api/index.d.ts +19 -0
- package/dist/__tests__/integration-api/index.d.ts.map +1 -0
- package/dist/__tests__/integration-api/index.js +33 -0
- package/dist/__tests__/integration-api/index.js.map +1 -0
- package/dist/__tests__/integration-api/setup.d.ts +176 -0
- package/dist/__tests__/integration-api/setup.d.ts.map +1 -0
- package/dist/__tests__/integration-api/setup.js +329 -0
- package/dist/__tests__/integration-api/setup.js.map +1 -0
- package/dist/__tests__/setup.d.ts +2 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/setup.js +11 -0
- package/dist/__tests__/setup.js.map +1 -0
- package/dist/__tests__/unit/test-utils.d.ts +46 -0
- package/dist/__tests__/unit/test-utils.d.ts.map +1 -0
- package/dist/__tests__/unit/test-utils.js +50 -0
- package/dist/__tests__/unit/test-utils.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/api-client.d.ts +17 -0
- package/dist/lib/api-client.d.ts.map +1 -0
- package/dist/lib/api-client.js +169 -0
- package/dist/lib/api-client.js.map +1 -0
- package/dist/lib/auth-state.d.ts +54 -0
- package/dist/lib/auth-state.d.ts.map +1 -0
- package/dist/lib/auth-state.js +131 -0
- package/dist/lib/auth-state.js.map +1 -0
- package/dist/lib/config.d.ts +39 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +170 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/error-formatter.d.ts +40 -0
- package/dist/lib/error-formatter.d.ts.map +1 -0
- package/dist/lib/error-formatter.js +149 -0
- package/dist/lib/error-formatter.js.map +1 -0
- package/dist/lib/errors.d.ts +44 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +56 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/tool-helpers.d.ts +49 -0
- package/dist/lib/tool-helpers.d.ts.map +1 -0
- package/dist/lib/tool-helpers.js +101 -0
- package/dist/lib/tool-helpers.js.map +1 -0
- package/dist/lib/tool-registry.d.ts +111 -0
- package/dist/lib/tool-registry.d.ts.map +1 -0
- package/dist/lib/tool-registry.js +112 -0
- package/dist/lib/tool-registry.js.map +1 -0
- package/dist/lib/version.d.ts +13 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +13 -0
- package/dist/lib/version.js.map +1 -0
- package/dist/prompts/flow-generator.d.ts +45 -0
- package/dist/prompts/flow-generator.d.ts.map +1 -0
- package/dist/prompts/flow-generator.js +177 -0
- package/dist/prompts/flow-generator.js.map +1 -0
- package/dist/prompts/index.d.ts +7 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +7 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/server.d.ts +66 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +140 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/auth/index.d.ts +18 -0
- package/dist/tools/auth/index.d.ts.map +1 -0
- package/dist/tools/auth/index.js +50 -0
- package/dist/tools/auth/index.js.map +1 -0
- package/dist/tools/auth/login.d.ts +37 -0
- package/dist/tools/auth/login.d.ts.map +1 -0
- package/dist/tools/auth/login.js +257 -0
- package/dist/tools/auth/login.js.map +1 -0
- package/dist/tools/auth/schemas.d.ts +69 -0
- package/dist/tools/auth/schemas.d.ts.map +1 -0
- package/dist/tools/auth/schemas.js +36 -0
- package/dist/tools/auth/schemas.js.map +1 -0
- package/dist/tools/auth/status.d.ts +11 -0
- package/dist/tools/auth/status.d.ts.map +1 -0
- package/dist/tools/auth/status.js +50 -0
- package/dist/tools/auth/status.js.map +1 -0
- package/dist/tools/contacts/create.d.ts +11 -0
- package/dist/tools/contacts/create.d.ts.map +1 -0
- package/dist/tools/contacts/create.js +47 -0
- package/dist/tools/contacts/create.js.map +1 -0
- package/dist/tools/contacts/index.d.ts +10 -0
- package/dist/tools/contacts/index.d.ts.map +1 -0
- package/dist/tools/contacts/index.js +40 -0
- package/dist/tools/contacts/index.js.map +1 -0
- package/dist/tools/contacts/schemas.d.ts +37 -0
- package/dist/tools/contacts/schemas.d.ts.map +1 -0
- package/dist/tools/contacts/schemas.js +15 -0
- package/dist/tools/contacts/schemas.js.map +1 -0
- package/dist/tools/events/index.d.ts +10 -0
- package/dist/tools/events/index.d.ts.map +1 -0
- package/dist/tools/events/index.js +42 -0
- package/dist/tools/events/index.js.map +1 -0
- package/dist/tools/events/schemas.d.ts +37 -0
- package/dist/tools/events/schemas.d.ts.map +1 -0
- package/dist/tools/events/schemas.js +17 -0
- package/dist/tools/events/schemas.js.map +1 -0
- package/dist/tools/events/track.d.ts +11 -0
- package/dist/tools/events/track.d.ts.map +1 -0
- package/dist/tools/events/track.js +41 -0
- package/dist/tools/events/track.js.map +1 -0
- package/dist/tools/flows/activate.d.ts +11 -0
- package/dist/tools/flows/activate.d.ts.map +1 -0
- package/dist/tools/flows/activate.js +46 -0
- package/dist/tools/flows/activate.js.map +1 -0
- package/dist/tools/flows/create.d.ts +11 -0
- package/dist/tools/flows/create.d.ts.map +1 -0
- package/dist/tools/flows/create.js +72 -0
- package/dist/tools/flows/create.js.map +1 -0
- package/dist/tools/flows/index.d.ts +24 -0
- package/dist/tools/flows/index.d.ts.map +1 -0
- package/dist/tools/flows/index.js +183 -0
- package/dist/tools/flows/index.js.map +1 -0
- package/dist/tools/flows/list.d.ts +11 -0
- package/dist/tools/flows/list.d.ts.map +1 -0
- package/dist/tools/flows/list.js +34 -0
- package/dist/tools/flows/list.js.map +1 -0
- package/dist/tools/flows/schemas.d.ts +621 -0
- package/dist/tools/flows/schemas.d.ts.map +1 -0
- package/dist/tools/flows/schemas.js +135 -0
- package/dist/tools/flows/schemas.js.map +1 -0
- package/dist/tools/flows/transform.d.ts +39 -0
- package/dist/tools/flows/transform.d.ts.map +1 -0
- package/dist/tools/flows/transform.js +139 -0
- package/dist/tools/flows/transform.js.map +1 -0
- package/dist/tools/index.d.ts +34 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +46 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/sdk/index.d.ts +18 -0
- package/dist/tools/sdk/index.d.ts.map +1 -0
- package/dist/tools/sdk/index.js +69 -0
- package/dist/tools/sdk/index.js.map +1 -0
- package/dist/tools/sdk/public-key.d.ts +11 -0
- package/dist/tools/sdk/public-key.d.ts.map +1 -0
- package/dist/tools/sdk/public-key.js +24 -0
- package/dist/tools/sdk/public-key.js.map +1 -0
- package/dist/tools/sdk/schemas.d.ts +48 -0
- package/dist/tools/sdk/schemas.d.ts.map +1 -0
- package/dist/tools/sdk/schemas.js +35 -0
- package/dist/tools/sdk/schemas.js.map +1 -0
- package/dist/tools/sdk/snippet.d.ts +11 -0
- package/dist/tools/sdk/snippet.d.ts.map +1 -0
- package/dist/tools/sdk/snippet.js +50 -0
- package/dist/tools/sdk/snippet.js.map +1 -0
- package/dist/tools/sdk/templates/index.d.ts +5 -0
- package/dist/tools/sdk/templates/index.d.ts.map +1 -0
- package/dist/tools/sdk/templates/index.js +5 -0
- package/dist/tools/sdk/templates/index.js.map +1 -0
- package/dist/tools/sdk/templates/nextjs.d.ts +5 -0
- package/dist/tools/sdk/templates/nextjs.d.ts.map +1 -0
- package/dist/tools/sdk/templates/nextjs.js +71 -0
- package/dist/tools/sdk/templates/nextjs.js.map +1 -0
- package/dist/tools/sdk/templates/node.d.ts +9 -0
- package/dist/tools/sdk/templates/node.d.ts.map +1 -0
- package/dist/tools/sdk/templates/node.js +170 -0
- package/dist/tools/sdk/templates/node.js.map +1 -0
- package/dist/tools/sdk/templates/react.d.ts +5 -0
- package/dist/tools/sdk/templates/react.d.ts.map +1 -0
- package/dist/tools/sdk/templates/react.js +54 -0
- package/dist/tools/sdk/templates/react.js.map +1 -0
- package/dist/tools/sdk/templates/vanilla.d.ts +5 -0
- package/dist/tools/sdk/templates/vanilla.d.ts.map +1 -0
- package/dist/tools/sdk/templates/vanilla.js +61 -0
- package/dist/tools/sdk/templates/vanilla.js.map +1 -0
- package/dist/tools/templates/create.d.ts +11 -0
- package/dist/tools/templates/create.d.ts.map +1 -0
- package/dist/tools/templates/create.js +39 -0
- package/dist/tools/templates/create.js.map +1 -0
- package/dist/tools/templates/index.d.ts +17 -0
- package/dist/tools/templates/index.d.ts.map +1 -0
- package/dist/tools/templates/index.js +68 -0
- package/dist/tools/templates/index.js.map +1 -0
- package/dist/tools/templates/list.d.ts +11 -0
- package/dist/tools/templates/list.d.ts.map +1 -0
- package/dist/tools/templates/list.js +31 -0
- package/dist/tools/templates/list.js.map +1 -0
- package/dist/tools/templates/schemas.d.ts +90 -0
- package/dist/tools/templates/schemas.d.ts.map +1 -0
- package/dist/tools/templates/schemas.js +37 -0
- package/dist/tools/templates/schemas.js.map +1 -0
- package/dist/types.d.ts +55 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { createFlowInputSchema, listFlowsInputSchema, activateFlowInputSchema, } from './schemas.js';
|
|
2
|
+
import { createFlowHandler } from './create.js';
|
|
3
|
+
import { listFlowsHandler } from './list.js';
|
|
4
|
+
import { activateFlowHandler } from './activate.js';
|
|
5
|
+
/**
|
|
6
|
+
* kelpi_create_flow tool definition and handler
|
|
7
|
+
*
|
|
8
|
+
* Creates a new automation flow from a JSON definition.
|
|
9
|
+
*/
|
|
10
|
+
export const kelpiCreateFlow = {
|
|
11
|
+
definition: {
|
|
12
|
+
name: 'kelpi_create_flow',
|
|
13
|
+
description: `Create a new engagement flow with triggers, actions, and conditions.
|
|
14
|
+
|
|
15
|
+
This tool creates an automation flow that can:
|
|
16
|
+
- Trigger on events (e.g., "user.signed_up", "trial.started")
|
|
17
|
+
- Trigger based on segment membership
|
|
18
|
+
|
|
19
|
+
The flow definition should include:
|
|
20
|
+
- name: A descriptive name for the flow (required)
|
|
21
|
+
- trigger_type: "event" or "segment" (required)
|
|
22
|
+
- trigger_event: Required when trigger_type is "event"
|
|
23
|
+
- trigger_segment_id: Required when trigger_type is "segment"
|
|
24
|
+
- steps: Array of flow steps with required step_id and step_order
|
|
25
|
+
|
|
26
|
+
Step types:
|
|
27
|
+
- email: Sends an email (configure content via emails table)
|
|
28
|
+
- delay: Waits for delay_seconds or delay_expression
|
|
29
|
+
- webhook: Calls webhook_url with optional payload_template
|
|
30
|
+
- condition: Evaluates condition_filter as a gate (see TYPED CONDITIONS below)
|
|
31
|
+
|
|
32
|
+
=== ENTRY FILTER (for flow entry) ===
|
|
33
|
+
Uses simple field/operator/value conditions:
|
|
34
|
+
{
|
|
35
|
+
"logic": "AND" | "OR",
|
|
36
|
+
"conditions": [
|
|
37
|
+
{ "field": "plan", "operator": "equals", "value": "pro" },
|
|
38
|
+
{ "field": "country", "operator": "in", "value": ["US", "CA"] }
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
Operators for entry_filter:
|
|
43
|
+
- equals, not_equals (aliases: eq, neq)
|
|
44
|
+
- contains, not_contains, starts_with, ends_with
|
|
45
|
+
- greater_than, less_than, greater_than_or_equals, less_than_or_equals (aliases: gt, lt, gte, lte)
|
|
46
|
+
- is_set, is_not_set
|
|
47
|
+
- in, not_in
|
|
48
|
+
|
|
49
|
+
=== TYPED CONDITIONS (for condition steps) ===
|
|
50
|
+
IMPORTANT: condition_filter in condition steps uses TYPED conditions, not simple field/value!
|
|
51
|
+
|
|
52
|
+
The condition_filter must have "type": "group" at the top level, and each condition
|
|
53
|
+
must specify its type ("event" or "property").
|
|
54
|
+
|
|
55
|
+
Event condition - check if contact performed an event:
|
|
56
|
+
{
|
|
57
|
+
"type": "group",
|
|
58
|
+
"logic": "AND",
|
|
59
|
+
"conditions": [{
|
|
60
|
+
"type": "event",
|
|
61
|
+
"event_name": "subscription.created",
|
|
62
|
+
"operator": "has_done", // or "has_not_done", "count_greater_than", "count_less_than"
|
|
63
|
+
"timeframe": { "since": "flow_start" }, // or { "days": 7 }, or "ever"
|
|
64
|
+
"properties": { "plan": "pro" } // optional: filter by event properties
|
|
65
|
+
}]
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
Property condition - check a contact property:
|
|
69
|
+
{
|
|
70
|
+
"type": "group",
|
|
71
|
+
"logic": "AND",
|
|
72
|
+
"conditions": [{
|
|
73
|
+
"type": "property",
|
|
74
|
+
"field": "cso_email",
|
|
75
|
+
"operator": "is_set" // or any standard operator with "value"
|
|
76
|
+
}]
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
Event operators:
|
|
80
|
+
- has_done, has_not_done: Check if event occurred
|
|
81
|
+
- count_greater_than, count_less_than: Check event count (requires "count" field)
|
|
82
|
+
|
|
83
|
+
Timeframe options:
|
|
84
|
+
- { "since": "flow_start" }: Since the contact entered this flow
|
|
85
|
+
- { "days": N }: Within the last N days
|
|
86
|
+
- "ever": Any time in history
|
|
87
|
+
|
|
88
|
+
=== FULL EXAMPLE WITH CONDITION STEPS ===
|
|
89
|
+
{
|
|
90
|
+
"name": "Trial Expiration Reminder",
|
|
91
|
+
"trigger_type": "event",
|
|
92
|
+
"trigger_event": "trial.started",
|
|
93
|
+
"entry_filter": {
|
|
94
|
+
"logic": "AND",
|
|
95
|
+
"conditions": [
|
|
96
|
+
{ "field": "plan", "operator": "equals", "value": "trial" }
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
"steps": [
|
|
100
|
+
{ "step_id": "welcome", "step_order": 0, "action_type": "email" },
|
|
101
|
+
{ "step_id": "wait-3-days", "step_order": 1, "action_type": "delay", "delay_seconds": 259200 },
|
|
102
|
+
{
|
|
103
|
+
"step_id": "check-converted",
|
|
104
|
+
"step_order": 2,
|
|
105
|
+
"action_type": "condition",
|
|
106
|
+
"condition_filter": {
|
|
107
|
+
"type": "group",
|
|
108
|
+
"logic": "AND",
|
|
109
|
+
"conditions": [{
|
|
110
|
+
"type": "event",
|
|
111
|
+
"event_name": "subscription.created",
|
|
112
|
+
"operator": "has_done",
|
|
113
|
+
"timeframe": { "since": "flow_start" }
|
|
114
|
+
}]
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{ "step_id": "reminder", "step_order": 3, "action_type": "email" }
|
|
118
|
+
]
|
|
119
|
+
}`,
|
|
120
|
+
inputSchema: createFlowInputSchema,
|
|
121
|
+
},
|
|
122
|
+
handler: createFlowHandler,
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* kelpi_list_flows tool definition and handler
|
|
126
|
+
*
|
|
127
|
+
* Lists all flows in the workspace with optional filtering.
|
|
128
|
+
*/
|
|
129
|
+
export const kelpiListFlows = {
|
|
130
|
+
definition: {
|
|
131
|
+
name: 'kelpi_list_flows',
|
|
132
|
+
description: `List all flows in the workspace with optional filtering.
|
|
133
|
+
|
|
134
|
+
Returns a paginated list of flows with their:
|
|
135
|
+
- ID, name, and slug
|
|
136
|
+
- Trigger type (event or segment)
|
|
137
|
+
- Current status (draft, active, paused, archived)
|
|
138
|
+
- Step count
|
|
139
|
+
- Creation and update timestamps
|
|
140
|
+
|
|
141
|
+
Optional filters:
|
|
142
|
+
- status: "draft", "active", "paused", or "archived"
|
|
143
|
+
- trigger_type: "event" or "segment"
|
|
144
|
+
- limit: Max results (1-250, default 50)
|
|
145
|
+
- offset: Skip N results (for pagination)
|
|
146
|
+
- order_by: "created_at", "updated_at", "name", or "status"
|
|
147
|
+
- order_direction: "asc" or "desc"`,
|
|
148
|
+
inputSchema: listFlowsInputSchema,
|
|
149
|
+
},
|
|
150
|
+
handler: listFlowsHandler,
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* kelpi_activate_flow tool definition and handler
|
|
154
|
+
*
|
|
155
|
+
* Activates a draft flow so it starts processing events.
|
|
156
|
+
*/
|
|
157
|
+
export const kelpiActivateFlow = {
|
|
158
|
+
definition: {
|
|
159
|
+
name: 'kelpi_activate_flow',
|
|
160
|
+
description: `Activate a draft flow so it starts processing events.
|
|
161
|
+
|
|
162
|
+
Once activated, the flow will:
|
|
163
|
+
- Listen for its configured trigger events
|
|
164
|
+
- Start enrolling contacts that match entry criteria
|
|
165
|
+
- Execute flow steps for enrolled contacts
|
|
166
|
+
|
|
167
|
+
This operation is idempotent - activating an already-active flow returns success.
|
|
168
|
+
|
|
169
|
+
Requirements:
|
|
170
|
+
- Flow must exist
|
|
171
|
+
- Flow should have at least one step (recommended)
|
|
172
|
+
- Flow cannot be archived`,
|
|
173
|
+
inputSchema: activateFlowInputSchema,
|
|
174
|
+
},
|
|
175
|
+
handler: activateFlowHandler,
|
|
176
|
+
};
|
|
177
|
+
// Re-export schemas
|
|
178
|
+
export * from './schemas.js';
|
|
179
|
+
// Re-export handler factories for testing
|
|
180
|
+
export { createCreateFlowHandler } from './create.js';
|
|
181
|
+
export { createListFlowsHandler } from './list.js';
|
|
182
|
+
export { createActivateFlowHandler } from './activate.js';
|
|
183
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/flows/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0Gf;QACE,WAAW,EAAE,qBAAqB;KACnC;IACD,OAAO,EAAE,iBAAiB;CAC3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,UAAU,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE;;;;;;;;;;;;;;;mCAekB;QAC/B,WAAW,EAAE,oBAAoB;KAClC;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE;;;;;;;;;;;;0BAYS;QACtB,WAAW,EAAE,uBAAuB;KACrC;IACD,OAAO,EAAE,mBAAmB;CAC7B,CAAC;AAEF,oBAAoB;AACpB,cAAc,cAAc,CAAC;AAE7B,0CAA0C;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ToolHandler } from '../../lib/tool-registry.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a list flows handler.
|
|
4
|
+
* This factory function allows for dependency injection in tests.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createListFlowsHandler(): ToolHandler;
|
|
7
|
+
/**
|
|
8
|
+
* Default list flows handler
|
|
9
|
+
*/
|
|
10
|
+
export declare const listFlowsHandler: ToolHandler;
|
|
11
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/tools/flows/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,4BAA4B,CAAC;AAI1E;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,WAAW,CA2BpD;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAA2B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { withAuth, successResponse, handleApiError } from '../../lib/tool-helpers.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a list flows handler.
|
|
4
|
+
* This factory function allows for dependency injection in tests.
|
|
5
|
+
*/
|
|
6
|
+
export function createListFlowsHandler() {
|
|
7
|
+
return async (input) => {
|
|
8
|
+
return withAuth('listing flows', async ({ client }) => {
|
|
9
|
+
// Build query parameters
|
|
10
|
+
const queryParams = {};
|
|
11
|
+
if (input.status && typeof input.status === 'string') {
|
|
12
|
+
queryParams.status = input.status;
|
|
13
|
+
}
|
|
14
|
+
if (input.limit !== undefined && typeof input.limit === 'number') {
|
|
15
|
+
queryParams.limit = String(input.limit);
|
|
16
|
+
}
|
|
17
|
+
if (input.offset !== undefined && typeof input.offset === 'number') {
|
|
18
|
+
queryParams.offset = String(input.offset);
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const response = await client.get('/api/v1/flows', Object.keys(queryParams).length > 0 ? queryParams : undefined);
|
|
22
|
+
return successResponse(response.data);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
return handleApiError(err, 'list flows');
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Default list flows handler
|
|
32
|
+
*/
|
|
33
|
+
export const listFlowsHandler = createListFlowsHandler();
|
|
34
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/tools/flows/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGtF;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,KAAK,EAAE,KAA8B,EAAuB,EAAE;QACnE,OAAO,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpD,yBAAyB;YACzB,MAAM,WAAW,GAA2B,EAAE,CAAC;YAE/C,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACrD,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACpC,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACjE,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACnE,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,eAAe,EACf,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;gBACF,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,cAAc,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC"}
|