@qikdev/mcp 6.7.5 → 6.7.7

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.
@@ -1,16 +1,24 @@
1
1
  import { ConfigManager } from "../config.js";
2
- import { handleListContent } from "./list.js";
3
2
  export const updateContentTool = {
4
3
  name: "update_content",
5
4
  description: `Update existing content items in Qik.
6
5
 
6
+ **Endpoint:** PATCH /content/:contentId (partial update) or PUT /content/:contentId (full replacement)
7
+
8
+ **Required:**
9
+ - contentId: The ID of the content item to update
10
+
11
+ **Optional:**
12
+ - updateMethod: "patch" (default) for partial updates, "put" for full replacement
13
+
14
+ All other properties are passed directly to the API as the update payload.
15
+
7
16
  **Tags Shorthand:**
8
- You can pass \`tags: ['green', 'red']\` as string names and the backend will automatically create those tags if they don't exist, then attach their IDs to meta.tags.
17
+ Pass \`tags: ['green', 'red']\` as string names and the backend auto-creates tags.
9
18
 
10
19
  **Example:**
11
20
  \`\`\`json
12
21
  {
13
- "typeKey": "article",
14
22
  "contentId": "abc123",
15
23
  "title": "Updated Title",
16
24
  "tags": ["featured", "breaking"]
@@ -19,26 +27,9 @@ You can pass \`tags: ['green', 'red']\` as string names and the backend will aut
19
27
  inputSchema: {
20
28
  type: "object",
21
29
  properties: {
22
- typeKey: {
23
- type: "string",
24
- description: "The content type key (e.g., 'article', 'profile') OR natural language (e.g., 'blog posts')"
25
- },
26
30
  contentId: {
27
31
  type: "string",
28
- description: "The ID of the content item to update. If not provided, will search for content."
29
- },
30
- tags: {
31
- type: "array",
32
- items: { type: "string" },
33
- description: "Tag names - backend auto-creates tags and attaches IDs to meta.tags"
34
- },
35
- searchCriteria: {
36
- type: "object",
37
- description: "Search criteria to find content (used when contentId is not provided)",
38
- properties: {
39
- search: { type: "string", description: "Keywords to search for" },
40
- filters: { type: "array", description: "Filter conditions to apply" }
41
- }
32
+ description: "The ID of the content item to update"
42
33
  },
43
34
  updateMethod: {
44
35
  type: "string",
@@ -46,7 +37,7 @@ You can pass \`tags: ['green', 'red']\` as string names and the backend will aut
46
37
  description: "'patch' for partial updates (default), 'put' for full replacement"
47
38
  }
48
39
  },
49
- required: ["typeKey"],
40
+ required: ["contentId"],
50
41
  additionalProperties: true
51
42
  },
52
43
  };
@@ -57,334 +48,28 @@ export async function handleUpdateContent(args) {
57
48
  if (!config) {
58
49
  throw new Error('Qik MCP server not configured. Run setup first.');
59
50
  }
60
- // Extract the natural language description
61
- const naturalLanguage = args.typeKey;
62
- if (!naturalLanguage || typeof naturalLanguage !== 'string') {
63
- return createErrorResponse('Please provide a description of what you want to update (e.g., "article", "profile")');
64
- }
65
- // STEP 1: Translate natural language to content type and get detailed info
66
- const contentType = await findContentTypeFromNaturalLanguage(config, naturalLanguage);
67
- if (!contentType) {
68
- return createErrorResponse(`I couldn't find a content type matching "${naturalLanguage}". Please check available types using get_glossary.`);
69
- }
70
- // STEP 2: Find the content to update
71
- let targetContent = null;
72
- if (args.contentId) {
73
- // Direct ID lookup
74
- targetContent = await getContentById(config, contentType.key, args.contentId);
75
- if (!targetContent) {
76
- return createErrorResponse(`Content with ID "${args.contentId}" not found.`);
77
- }
78
- }
79
- else {
80
- // Search for content to update
81
- const searchResults = await findContentToUpdate(args, contentType, naturalLanguage);
82
- if (searchResults.error) {
83
- return searchResults;
84
- }
85
- if (searchResults.needsSelection) {
86
- return searchResults;
87
- }
88
- targetContent = searchResults.content;
89
- }
90
- // STEP 3: If we haven't confirmed the update yet, show the content and ask for confirmation
91
- if (!args.confirmUpdate) {
92
- return createUpdateConfirmationPrompt(contentType, targetContent, args);
93
- }
94
- // STEP 4: Extract field values from user input (everything except control fields)
95
- const { typeKey, contentId, searchCriteria, updateMethod, confirmUpdate, ...userFieldValues } = args;
96
- // STEP 4.5: Handle reference field searches before building payload
97
- const referenceSearchResult = await handleReferenceFieldSearches(contentType, userFieldValues, naturalLanguage);
98
- if (referenceSearchResult) {
99
- return referenceSearchResult;
51
+ const { contentId, updateMethod, ...payload } = args;
52
+ if (!contentId) {
53
+ throw new Error('contentId is required');
100
54
  }
101
- // STEP 5: Build the update payload
102
- const updatePayload = await buildUpdatePayload(contentType, targetContent, userFieldValues, args.updateMethod || 'patch');
103
- // STEP 6: Execute the update
104
- const updatedContent = await executeUpdate(config, targetContent._id, updatePayload, args.updateMethod || 'patch');
105
- return createUpdateSuccessResponse(contentType, updatedContent, args.updateMethod || 'patch');
106
- }
107
- catch (error) {
108
- return createErrorResponse(`Failed to update content: ${error.message}`);
109
- }
110
- }
111
- // Find content type from natural language and get detailed info
112
- async function findContentTypeFromNaturalLanguage(config, naturalLanguage) {
113
- // Get the glossary index
114
- const indexResponse = await fetch(`${config.apiUrl || 'https://api.qik.dev'}/glossary/ai`, {
115
- headers: {
116
- 'Authorization': `Bearer ${config.accessToken}`,
117
- 'Content-Type': 'application/json',
118
- },
119
- });
120
- if (!indexResponse.ok) {
121
- throw new Error(`Failed to fetch glossary: HTTP ${indexResponse.status}`);
122
- }
123
- const glossary = await indexResponse.json();
124
- // Find matching content type
125
- const searchTerm = naturalLanguage.toLowerCase().trim();
126
- let matchedType = null;
127
- // Try exact key match first
128
- matchedType = glossary.find(ct => ct.key === searchTerm);
129
- // Try fuzzy matching on title, plural, and key
130
- if (!matchedType) {
131
- matchedType = glossary.find(ct => {
132
- const title = (ct.title || '').toLowerCase();
133
- const plural = (ct.plural || '').toLowerCase();
134
- const key = (ct.key || '').toLowerCase();
135
- return title.includes(searchTerm) ||
136
- plural.includes(searchTerm) ||
137
- key.includes(searchTerm) ||
138
- searchTerm.includes(title) ||
139
- searchTerm.includes(plural) ||
140
- searchTerm.includes(key);
55
+ const method = (updateMethod || 'patch').toUpperCase();
56
+ const response = await fetch(`${config.apiUrl || 'https://api.qik.dev'}/content/${contentId}`, {
57
+ method,
58
+ headers: {
59
+ 'Authorization': `Bearer ${config.accessToken}`,
60
+ 'Content-Type': 'application/json',
61
+ },
62
+ body: JSON.stringify(payload)
141
63
  });
142
- }
143
- if (!matchedType) {
144
- return null;
145
- }
146
- // Fetch detailed documentation with examples
147
- const detailResponse = await fetch(matchedType.urls.documentation.url, {
148
- headers: {
149
- 'Authorization': `Bearer ${config.accessToken}`,
150
- 'Content-Type': 'application/json',
151
- },
152
- });
153
- if (!detailResponse.ok) {
154
- throw new Error(`Failed to fetch content type details: HTTP ${detailResponse.status}`);
155
- }
156
- const detailData = await detailResponse.json();
157
- return {
158
- ...detailData,
159
- title: matchedType.title,
160
- plural: matchedType.plural,
161
- urls: matchedType.urls
162
- };
163
- }
164
- // Get content by ID
165
- async function getContentById(config, contentTypeKey, contentId) {
166
- const response = await fetch(`${config.apiUrl || 'https://api.qik.dev'}/content/${contentId}`, {
167
- headers: {
168
- 'Authorization': `Bearer ${config.accessToken}`,
169
- 'Content-Type': 'application/json',
170
- },
171
- });
172
- if (!response.ok) {
173
- if (response.status === 404) {
174
- return null;
175
- }
176
- throw new Error(`HTTP ${response.status} - ${await response.text()}`);
177
- }
178
- return await response.json();
179
- }
180
- // Find content to update using search criteria
181
- async function findContentToUpdate(args, contentType, naturalLanguage) {
182
- // Build search arguments for the list function
183
- const listArgs = {
184
- typeKey: naturalLanguage,
185
- page: { size: 10, index: 1 } // Limit results for selection
186
- };
187
- // Add search criteria if provided
188
- if (args.searchCriteria) {
189
- if (args.searchCriteria.search) {
190
- listArgs.search = args.searchCriteria.search;
64
+ if (!response.ok) {
65
+ const errorText = await response.text();
66
+ throw new Error(`HTTP ${response.status}: ${errorText}`);
191
67
  }
192
- if (args.searchCriteria.filters) {
193
- listArgs.filters = args.searchCriteria.filters;
194
- }
195
- }
196
- // If no specific search criteria, try to infer from the request
197
- if (!args.searchCriteria && !listArgs.search) {
198
- // Look for any field values that might help identify the content
199
- const { typeKey, contentId, searchCriteria, updateMethod, confirmUpdate, ...fieldValues } = args;
200
- // If there's a title field, use it for search
201
- if (fieldValues.title) {
202
- listArgs.search = fieldValues.title;
203
- }
204
- else {
205
- // Ask user to provide search criteria
206
- return createSearchCriteriaPrompt(contentType, naturalLanguage);
207
- }
208
- }
209
- // Execute the search using the list function
210
- const searchResponse = await handleListContent(listArgs);
211
- // Parse the response to extract content items
212
- const responseText = searchResponse.content[0]?.text || '';
213
- if (responseText.includes('No ') && responseText.includes('found matching')) {
214
- return createErrorResponse(`No ${contentType.plural || contentType.title} found matching your search criteria. Please refine your search or provide a specific content ID.`);
215
- }
216
- // For now, we'll ask the user to provide the specific ID
217
- // In a more advanced implementation, we could parse the list response and extract IDs
218
- return createContentSelectionPrompt(contentType, responseText, naturalLanguage);
219
- }
220
- // Build update payload based on method (PATCH vs PUT)
221
- async function buildUpdatePayload(contentType, existingContent, userFieldValues, method) {
222
- if (method === 'put') {
223
- // For PUT, we need to provide the complete content
224
- // Start with existing content and apply user changes
225
- const payload = JSON.parse(JSON.stringify(existingContent));
226
- // Apply user field values
227
- for (const [key, value] of Object.entries(userFieldValues)) {
228
- setValueAtPath(payload, key, value);
229
- }
230
- // Update the modified timestamp
231
- if (payload.meta) {
232
- payload.meta.updated = new Date().toISOString();
233
- }
234
- return payload;
235
- }
236
- else {
237
- // For PATCH, we only send the fields that are changing
238
- // Use the same structure as create requests - no nested data object
239
- const payload = {};
240
- // Apply user field values directly to the payload (same as create)
241
- for (const [key, value] of Object.entries(userFieldValues)) {
242
- setValueAtPath(payload, key, value);
243
- }
244
- return payload;
245
- }
246
- }
247
- // Execute the update via API
248
- async function executeUpdate(config, contentId, payload, method) {
249
- const httpMethod = method.toUpperCase();
250
- const response = await fetch(`${config.apiUrl || 'https://api.qik.dev'}/content/${contentId}`, {
251
- method: httpMethod,
252
- headers: {
253
- 'Authorization': `Bearer ${config.accessToken}`,
254
- 'Content-Type': 'application/json',
255
- },
256
- body: JSON.stringify(payload)
257
- });
258
- if (!response.ok) {
259
- const errorText = await response.text();
260
- throw new Error(`HTTP ${response.status} - ${errorText}`);
261
- }
262
- return await response.json();
263
- }
264
- // Helper function to set value at a specific path
265
- function setValueAtPath(obj, path, value) {
266
- const parts = path.split('.');
267
- let current = obj;
268
- for (let i = 0; i < parts.length - 1; i++) {
269
- const part = parts[i];
270
- if (!current[part]) {
271
- current[part] = {};
272
- }
273
- current = current[part];
274
- }
275
- const finalPart = parts[parts.length - 1];
276
- current[finalPart] = value;
277
- }
278
- // Helper functions for responses
279
- function createErrorResponse(message) {
280
- return {
281
- content: [{
282
- type: "text",
283
- text: JSON.stringify({ error: message }, null, 2)
284
- }]
285
- };
286
- }
287
- function createSearchCriteriaPrompt(contentType, naturalLanguage) {
288
- return {
289
- content: [{
290
- type: "text",
291
- text: JSON.stringify({
292
- needsSearchCriteria: true,
293
- contentTitle: contentType.title,
294
- typeKey: naturalLanguage
295
- }, null, 2)
296
- }]
297
- };
298
- }
299
- function createContentSelectionPrompt(contentType, searchResults, naturalLanguage) {
300
- return {
301
- content: [{
302
- type: "text",
303
- text: JSON.stringify({
304
- needsSelection: true,
305
- contentTitle: contentType.title,
306
- plural: contentType.plural,
307
- searchResults: JSON.parse(searchResults),
308
- typeKey: naturalLanguage
309
- }, null, 2)
310
- }]
311
- };
312
- }
313
- function createUpdateConfirmationPrompt(contentType, targetContent, args) {
314
- const { typeKey, contentId, searchCriteria, updateMethod, confirmUpdate, ...fieldUpdates } = args;
315
- return {
316
- content: [{
317
- type: "text",
318
- text: JSON.stringify({
319
- needsConfirmation: true,
320
- contentTitle: contentType.title,
321
- currentContent: targetContent,
322
- proposedChanges: fieldUpdates,
323
- updateMethod: args.updateMethod || 'patch',
324
- typeKey,
325
- contentId: targetContent._id
326
- }, null, 2)
327
- }]
328
- };
329
- }
330
- function createUpdateSuccessResponse(contentType, updatedContent, method) {
331
- return {
332
- content: [{
333
- type: "text",
334
- text: JSON.stringify(updatedContent, null, 2)
335
- }]
336
- };
337
- }
338
- // Handle reference field searches in update context
339
- async function handleReferenceFieldSearches(contentType, userFieldValues, naturalLanguage) {
340
- // Check if any field values are reference search requests
341
- for (const [key, value] of Object.entries(userFieldValues)) {
342
- if (typeof value === 'string' && value.startsWith('search for:')) {
343
- // Find the field definition for this key
344
- const field = contentType.fields?.find(f => f.path === key ||
345
- f.title === key ||
346
- f.path.split('.').pop() === key);
347
- if (field && field.type === 'reference') {
348
- const searchTerm = value.replace('search for:', '').trim();
349
- if (searchTerm) {
350
- return await handleUpdateReferenceFieldSearch(field, searchTerm, naturalLanguage, key);
351
- }
352
- }
353
- }
354
- }
355
- return null;
356
- }
357
- // Handle reference field search for update operations
358
- async function handleUpdateReferenceFieldSearch(field, searchTerm, naturalLanguage, fieldKey) {
359
- try {
360
- if (!field.referenceType) {
361
- return {
362
- content: [{
363
- type: "text",
364
- text: JSON.stringify({ error: `Cannot search for ${field.path} references - no reference type specified in field definition.` }, null, 2)
365
- }]
366
- };
367
- }
368
- // Use the list function to search for references
369
- const listArgs = {
370
- typeKey: field.referenceType,
371
- search: searchTerm,
372
- page: { size: 10, index: 1 }
373
- };
374
- const searchResults = await handleListContent(listArgs);
68
+ const data = await response.json();
375
69
  return {
376
70
  content: [{
377
71
  type: "text",
378
- text: JSON.stringify({
379
- referenceSearch: true,
380
- field: field.path,
381
- fieldTitle: field.title,
382
- fieldKey,
383
- referenceType: field.referenceType,
384
- searchTerm,
385
- results: JSON.parse(searchResults.content[0]?.text || '{}'),
386
- typeKey: naturalLanguage
387
- }, null, 2)
72
+ text: JSON.stringify(data, null, 2)
388
73
  }]
389
74
  };
390
75
  }
@@ -392,7 +77,7 @@ async function handleUpdateReferenceFieldSearch(field, searchTerm, naturalLangua
392
77
  return {
393
78
  content: [{
394
79
  type: "text",
395
- text: JSON.stringify({ error: `Failed to search for ${field.path} references: ${error.message}` }, null, 2)
80
+ text: JSON.stringify({ error: error.message }, null, 2)
396
81
  }]
397
82
  };
398
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/tools/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/tools/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;OAsBR;IACL,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sCAAsC;aACpD;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;gBACtB,WAAW,EAAE,mEAAmE;aACjF;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;QACvB,oBAAoB,EAAE,IAAI;KAC3B;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAS;IACjD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;QAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,qBAAqB,YAAY,SAAS,EAAE,EAAE;YAC7F,MAAM;YACN,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE;gBAC/C,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBACpC,CAAC;SACH,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxD,CAAC;SACH,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ interface WorkflowStep {
3
+ title: string;
4
+ key?: string;
5
+ color?: string;
6
+ description?: string;
7
+ assignees?: string[];
8
+ assigneeBehaviour?: "" | "leave" | "remove";
9
+ dueDateBehaviour?: "" | "period" | "point";
10
+ dueDateQuantity?: number;
11
+ dueDateUnit?: string;
12
+ dueDateReplacement?: "" | "leave";
13
+ hasRequiredTasks?: boolean;
14
+ requireTasks?: Array<{
15
+ title: string;
16
+ description?: string;
17
+ }>;
18
+ hasRequiredForms?: boolean;
19
+ requireForms?: any[];
20
+ hasRequiredCriteria?: boolean;
21
+ completionCriteria?: any[];
22
+ completionWhen?: "" | "immediate" | "wait";
23
+ entryFunctions?: any[];
24
+ exitFunctions?: any[];
25
+ successFunctions?: any[];
26
+ failFunctions?: any[];
27
+ successAction?: "" | "next" | "previous" | "step" | "archive";
28
+ successTargetStep?: string;
29
+ failureAction?: "" | "next" | "previous" | "step" | "archive";
30
+ failureTargetStep?: string;
31
+ }
32
+ interface WorkflowColumn {
33
+ title: string;
34
+ description?: string;
35
+ steps: WorkflowStep[];
36
+ }
37
+ interface ListWorkflowsArgs {
38
+ search?: string;
39
+ category?: string;
40
+ page?: {
41
+ size: number;
42
+ index: number;
43
+ };
44
+ }
45
+ interface GetWorkflowArgs {
46
+ workflowId?: string;
47
+ workflowKey?: string;
48
+ workflowTitle?: string;
49
+ }
50
+ interface CreateWorkflowArgs {
51
+ title: string;
52
+ plural?: string;
53
+ category?: string;
54
+ workflow: WorkflowColumn[];
55
+ scope?: string;
56
+ }
57
+ interface UpdateWorkflowArgs {
58
+ workflowId?: string;
59
+ workflowKey?: string;
60
+ workflowTitle?: string;
61
+ title?: string;
62
+ category?: string;
63
+ addColumns?: Array<{
64
+ title: string;
65
+ description?: string;
66
+ steps: WorkflowStep[];
67
+ insertAfter?: string;
68
+ }>;
69
+ removeColumns?: string[];
70
+ addSteps?: Array<{
71
+ columnTitle: string;
72
+ step: WorkflowStep;
73
+ insertAfter?: string;
74
+ }>;
75
+ removeSteps?: string[];
76
+ updateSteps?: Array<{
77
+ stepKey: string;
78
+ changes: Partial<WorkflowStep>;
79
+ }>;
80
+ }
81
+ export declare const listWorkflowsTool: Tool;
82
+ export declare const getWorkflowTool: Tool;
83
+ export declare const createWorkflowTool: Tool;
84
+ export declare const updateWorkflowTool: Tool;
85
+ export declare function handleListWorkflows(args: ListWorkflowsArgs): Promise<{
86
+ content: Array<{
87
+ type: string;
88
+ text: string;
89
+ }>;
90
+ }>;
91
+ export declare function handleGetWorkflow(args: GetWorkflowArgs): Promise<{
92
+ content: Array<{
93
+ type: string;
94
+ text: string;
95
+ }>;
96
+ }>;
97
+ export declare function handleCreateWorkflow(args: CreateWorkflowArgs): Promise<{
98
+ content: Array<{
99
+ type: string;
100
+ text: string;
101
+ }>;
102
+ }>;
103
+ export declare function handleUpdateWorkflow(args: UpdateWorkflowArgs): Promise<{
104
+ content: Array<{
105
+ type: string;
106
+ text: string;
107
+ }>;
108
+ }>;
109
+ export {};
110
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../src/tools/workflow.ts"],"names":[],"mappings":"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"}