@heyseo/mcp-server 0.1.1 → 0.1.3
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 +46 -5
- package/dist/index.js +36 -1
- package/dist/index.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +38 -0
- package/dist/prompts/index.js.map +1 -1
- package/dist/tools/gsc.d.ts +52 -0
- package/dist/tools/gsc.d.ts.map +1 -1
- package/dist/tools/gsc.js +143 -0
- package/dist/tools/gsc.js.map +1 -1
- package/dist/tools/index.d.ts +243 -3
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +11 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/tasks.d.ts +350 -2
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +443 -4
- package/dist/tools/tasks.js.map +1 -1
- package/dist/utils/api-client.d.ts +36 -0
- package/dist/utils/api-client.d.ts.map +1 -1
- package/dist/utils/api-client.js +90 -1
- package/dist/utils/api-client.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/tasks.js
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
* Tools for creating and managing SEO tasks in HeySeo Kanban
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
+
// Common enums
|
|
7
|
+
const statusEnum = z.enum(['todo', 'in_progress', 'done']);
|
|
8
|
+
const priorityEnum = z.enum(['low', 'medium', 'high']);
|
|
9
|
+
const categoryEnum = z.enum(['technical', 'content', 'links', 'ux']);
|
|
6
10
|
// Schema for create task tool
|
|
7
11
|
export const createTaskSchema = z.object({
|
|
8
12
|
siteId: z.string().describe('The ID of the site this task is for'),
|
|
@@ -12,17 +16,69 @@ export const createTaskSchema = z.object({
|
|
|
12
16
|
.max(2000)
|
|
13
17
|
.optional()
|
|
14
18
|
.describe('Detailed task description with context and steps'),
|
|
15
|
-
priority:
|
|
16
|
-
.enum(['low', 'medium', 'high'])
|
|
19
|
+
priority: priorityEnum
|
|
17
20
|
.optional()
|
|
18
21
|
.default('medium')
|
|
19
22
|
.describe('Task priority level'),
|
|
20
|
-
category:
|
|
21
|
-
.enum(['technical', 'content', 'links', 'ux'])
|
|
23
|
+
category: categoryEnum
|
|
22
24
|
.optional()
|
|
23
25
|
.default('technical')
|
|
24
26
|
.describe('Task category for organization'),
|
|
25
27
|
});
|
|
28
|
+
// Schema for list tasks tool
|
|
29
|
+
export const listTasksSchema = z.object({
|
|
30
|
+
siteId: z.string().describe('The ID of the site to list tasks for'),
|
|
31
|
+
status: statusEnum.optional().describe('Filter by task status'),
|
|
32
|
+
priority: priorityEnum.optional().describe('Filter by task priority'),
|
|
33
|
+
category: categoryEnum.optional().describe('Filter by task category'),
|
|
34
|
+
});
|
|
35
|
+
// Schema for get task tool
|
|
36
|
+
export const getTaskSchema = z.object({
|
|
37
|
+
taskId: z.string().describe('The ID of the task to retrieve'),
|
|
38
|
+
});
|
|
39
|
+
// Schema for update task tool
|
|
40
|
+
export const updateTaskSchema = z.object({
|
|
41
|
+
taskId: z.string().describe('The ID of the task to update'),
|
|
42
|
+
title: z.string().min(1).max(200).optional().describe('New task title'),
|
|
43
|
+
description: z
|
|
44
|
+
.string()
|
|
45
|
+
.max(2000)
|
|
46
|
+
.optional()
|
|
47
|
+
.describe('New task description'),
|
|
48
|
+
status: statusEnum.optional().describe('New task status'),
|
|
49
|
+
priority: priorityEnum.optional().describe('New task priority'),
|
|
50
|
+
category: categoryEnum.optional().describe('New task category'),
|
|
51
|
+
});
|
|
52
|
+
// Schema for delete task tool
|
|
53
|
+
export const deleteTaskSchema = z.object({
|
|
54
|
+
taskId: z.string().describe('The ID of the task to delete'),
|
|
55
|
+
});
|
|
56
|
+
// Schema for bulk create tasks tool
|
|
57
|
+
export const bulkCreateTasksSchema = z.object({
|
|
58
|
+
siteId: z.string().describe('The ID of the site these tasks are for'),
|
|
59
|
+
tasks: z
|
|
60
|
+
.array(z.object({
|
|
61
|
+
title: z.string().min(1).max(200).describe('Task title'),
|
|
62
|
+
description: z.string().max(2000).optional().describe('Task description'),
|
|
63
|
+
priority: priorityEnum.optional().default('medium').describe('Task priority'),
|
|
64
|
+
category: categoryEnum.optional().default('technical').describe('Task category'),
|
|
65
|
+
}))
|
|
66
|
+
.min(1)
|
|
67
|
+
.max(10)
|
|
68
|
+
.describe('Array of tasks to create (max 10)'),
|
|
69
|
+
});
|
|
70
|
+
// Schema for bulk update tasks tool
|
|
71
|
+
export const bulkUpdateTasksSchema = z.object({
|
|
72
|
+
taskIds: z
|
|
73
|
+
.array(z.string())
|
|
74
|
+
.min(1)
|
|
75
|
+
.max(10)
|
|
76
|
+
.describe('Array of task IDs to update (max 10)'),
|
|
77
|
+
updates: z.object({
|
|
78
|
+
status: statusEnum.optional().describe('New status for all tasks'),
|
|
79
|
+
priority: priorityEnum.optional().describe('New priority for all tasks'),
|
|
80
|
+
}),
|
|
81
|
+
});
|
|
26
82
|
/**
|
|
27
83
|
* Execute create task tool
|
|
28
84
|
*/
|
|
@@ -57,6 +113,173 @@ export async function executeCreateTask(client, input) {
|
|
|
57
113
|
});
|
|
58
114
|
}
|
|
59
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Execute list tasks tool
|
|
118
|
+
*/
|
|
119
|
+
export async function executeListTasks(client, input) {
|
|
120
|
+
try {
|
|
121
|
+
const tasks = await client.getTasks(input.siteId, {
|
|
122
|
+
status: input.status,
|
|
123
|
+
priority: input.priority,
|
|
124
|
+
category: input.category,
|
|
125
|
+
});
|
|
126
|
+
return JSON.stringify({
|
|
127
|
+
success: true,
|
|
128
|
+
count: tasks.length,
|
|
129
|
+
tasks: tasks.map((task) => ({
|
|
130
|
+
id: task.id,
|
|
131
|
+
title: task.title,
|
|
132
|
+
description: task.description,
|
|
133
|
+
status: task.status,
|
|
134
|
+
priority: task.priority,
|
|
135
|
+
category: task.category,
|
|
136
|
+
createdAt: task.createdAt,
|
|
137
|
+
updatedAt: task.updatedAt,
|
|
138
|
+
})),
|
|
139
|
+
}, null, 2);
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
return JSON.stringify({
|
|
143
|
+
success: false,
|
|
144
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Execute get task tool
|
|
150
|
+
*/
|
|
151
|
+
export async function executeGetTask(client, input) {
|
|
152
|
+
try {
|
|
153
|
+
const task = await client.getTask(input.taskId);
|
|
154
|
+
return JSON.stringify({
|
|
155
|
+
success: true,
|
|
156
|
+
task: {
|
|
157
|
+
id: task.id,
|
|
158
|
+
title: task.title,
|
|
159
|
+
description: task.description,
|
|
160
|
+
status: task.status,
|
|
161
|
+
priority: task.priority,
|
|
162
|
+
category: task.category,
|
|
163
|
+
siteId: task.siteId,
|
|
164
|
+
createdAt: task.createdAt,
|
|
165
|
+
updatedAt: task.updatedAt,
|
|
166
|
+
},
|
|
167
|
+
}, null, 2);
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
return JSON.stringify({
|
|
171
|
+
success: false,
|
|
172
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Execute update task tool
|
|
178
|
+
*/
|
|
179
|
+
export async function executeUpdateTask(client, input) {
|
|
180
|
+
try {
|
|
181
|
+
const updates = {};
|
|
182
|
+
if (input.title !== undefined)
|
|
183
|
+
updates.title = input.title;
|
|
184
|
+
if (input.description !== undefined)
|
|
185
|
+
updates.description = input.description;
|
|
186
|
+
if (input.status !== undefined)
|
|
187
|
+
updates.status = input.status;
|
|
188
|
+
if (input.priority !== undefined)
|
|
189
|
+
updates.priority = input.priority;
|
|
190
|
+
if (input.category !== undefined)
|
|
191
|
+
updates.category = input.category;
|
|
192
|
+
const task = await client.updateTask(input.taskId, updates);
|
|
193
|
+
return JSON.stringify({
|
|
194
|
+
success: true,
|
|
195
|
+
message: 'Task updated successfully',
|
|
196
|
+
task: {
|
|
197
|
+
id: task.id,
|
|
198
|
+
title: task.title,
|
|
199
|
+
description: task.description,
|
|
200
|
+
status: task.status,
|
|
201
|
+
priority: task.priority,
|
|
202
|
+
category: task.category,
|
|
203
|
+
updatedAt: task.updatedAt,
|
|
204
|
+
},
|
|
205
|
+
}, null, 2);
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
return JSON.stringify({
|
|
209
|
+
success: false,
|
|
210
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Execute delete task tool
|
|
216
|
+
*/
|
|
217
|
+
export async function executeDeleteTask(client, input) {
|
|
218
|
+
try {
|
|
219
|
+
await client.deleteTask(input.taskId);
|
|
220
|
+
return JSON.stringify({
|
|
221
|
+
success: true,
|
|
222
|
+
message: 'Task deleted successfully',
|
|
223
|
+
taskId: input.taskId,
|
|
224
|
+
}, null, 2);
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
return JSON.stringify({
|
|
228
|
+
success: false,
|
|
229
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Execute bulk create tasks tool
|
|
235
|
+
*/
|
|
236
|
+
export async function executeBulkCreateTasks(client, input) {
|
|
237
|
+
try {
|
|
238
|
+
const createdTasks = await client.bulkCreateTasks(input.siteId, input.tasks);
|
|
239
|
+
return JSON.stringify({
|
|
240
|
+
success: true,
|
|
241
|
+
message: `Successfully created ${createdTasks.length} tasks`,
|
|
242
|
+
tasks: createdTasks.map((task) => ({
|
|
243
|
+
id: task.id,
|
|
244
|
+
title: task.title,
|
|
245
|
+
priority: task.priority,
|
|
246
|
+
category: task.category,
|
|
247
|
+
status: task.status,
|
|
248
|
+
})),
|
|
249
|
+
}, null, 2);
|
|
250
|
+
}
|
|
251
|
+
catch (error) {
|
|
252
|
+
return JSON.stringify({
|
|
253
|
+
success: false,
|
|
254
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Execute bulk update tasks tool
|
|
260
|
+
*/
|
|
261
|
+
export async function executeBulkUpdateTasks(client, input) {
|
|
262
|
+
try {
|
|
263
|
+
const updatedTasks = await client.bulkUpdateTasks(input.taskIds, input.updates);
|
|
264
|
+
return JSON.stringify({
|
|
265
|
+
success: true,
|
|
266
|
+
message: `Successfully updated ${updatedTasks.length} tasks`,
|
|
267
|
+
tasks: updatedTasks.map((task) => ({
|
|
268
|
+
id: task.id,
|
|
269
|
+
title: task.title,
|
|
270
|
+
status: task.status,
|
|
271
|
+
priority: task.priority,
|
|
272
|
+
updatedAt: task.updatedAt,
|
|
273
|
+
})),
|
|
274
|
+
}, null, 2);
|
|
275
|
+
}
|
|
276
|
+
catch (error) {
|
|
277
|
+
return JSON.stringify({
|
|
278
|
+
success: false,
|
|
279
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
}
|
|
60
283
|
/**
|
|
61
284
|
* Task tool definitions for MCP
|
|
62
285
|
*/
|
|
@@ -112,5 +335,221 @@ Example tasks:
|
|
|
112
335
|
required: ['siteId', 'title'],
|
|
113
336
|
},
|
|
114
337
|
},
|
|
338
|
+
{
|
|
339
|
+
name: 'heyseo_list_tasks',
|
|
340
|
+
description: `List all SEO tasks for a site from the HeySeo Kanban board.
|
|
341
|
+
|
|
342
|
+
Retrieve tasks with optional filtering by status, priority, or category.
|
|
343
|
+
Use this to review existing tasks, check progress, or find tasks to work on.
|
|
344
|
+
|
|
345
|
+
Status values:
|
|
346
|
+
- todo: Tasks that haven't been started
|
|
347
|
+
- in_progress: Tasks currently being worked on
|
|
348
|
+
- done: Completed tasks`,
|
|
349
|
+
inputSchema: {
|
|
350
|
+
type: 'object',
|
|
351
|
+
properties: {
|
|
352
|
+
siteId: {
|
|
353
|
+
type: 'string',
|
|
354
|
+
description: 'The ID of the site to list tasks for',
|
|
355
|
+
},
|
|
356
|
+
status: {
|
|
357
|
+
type: 'string',
|
|
358
|
+
enum: ['todo', 'in_progress', 'done'],
|
|
359
|
+
description: 'Filter by task status',
|
|
360
|
+
},
|
|
361
|
+
priority: {
|
|
362
|
+
type: 'string',
|
|
363
|
+
enum: ['low', 'medium', 'high'],
|
|
364
|
+
description: 'Filter by task priority',
|
|
365
|
+
},
|
|
366
|
+
category: {
|
|
367
|
+
type: 'string',
|
|
368
|
+
enum: ['technical', 'content', 'links', 'ux'],
|
|
369
|
+
description: 'Filter by task category',
|
|
370
|
+
},
|
|
371
|
+
},
|
|
372
|
+
required: ['siteId'],
|
|
373
|
+
},
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
name: 'heyseo_get_task',
|
|
377
|
+
description: `Get detailed information about a specific task.
|
|
378
|
+
|
|
379
|
+
Retrieve all details of a single task by its ID, including full description,
|
|
380
|
+
status, priority, category, and timestamps.`,
|
|
381
|
+
inputSchema: {
|
|
382
|
+
type: 'object',
|
|
383
|
+
properties: {
|
|
384
|
+
taskId: {
|
|
385
|
+
type: 'string',
|
|
386
|
+
description: 'The ID of the task to retrieve',
|
|
387
|
+
},
|
|
388
|
+
},
|
|
389
|
+
required: ['taskId'],
|
|
390
|
+
},
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
name: 'heyseo_update_task',
|
|
394
|
+
description: `Update an existing task in the HeySeo Kanban board.
|
|
395
|
+
|
|
396
|
+
Modify any combination of: title, description, status, priority, or category.
|
|
397
|
+
Use this to:
|
|
398
|
+
- Change task status (todo → in_progress → done)
|
|
399
|
+
- Adjust priority based on new insights
|
|
400
|
+
- Update descriptions with more details
|
|
401
|
+
- Recategorize tasks`,
|
|
402
|
+
inputSchema: {
|
|
403
|
+
type: 'object',
|
|
404
|
+
properties: {
|
|
405
|
+
taskId: {
|
|
406
|
+
type: 'string',
|
|
407
|
+
description: 'The ID of the task to update',
|
|
408
|
+
},
|
|
409
|
+
title: {
|
|
410
|
+
type: 'string',
|
|
411
|
+
minLength: 1,
|
|
412
|
+
maxLength: 200,
|
|
413
|
+
description: 'New task title',
|
|
414
|
+
},
|
|
415
|
+
description: {
|
|
416
|
+
type: 'string',
|
|
417
|
+
maxLength: 2000,
|
|
418
|
+
description: 'New task description',
|
|
419
|
+
},
|
|
420
|
+
status: {
|
|
421
|
+
type: 'string',
|
|
422
|
+
enum: ['todo', 'in_progress', 'done'],
|
|
423
|
+
description: 'New task status',
|
|
424
|
+
},
|
|
425
|
+
priority: {
|
|
426
|
+
type: 'string',
|
|
427
|
+
enum: ['low', 'medium', 'high'],
|
|
428
|
+
description: 'New task priority',
|
|
429
|
+
},
|
|
430
|
+
category: {
|
|
431
|
+
type: 'string',
|
|
432
|
+
enum: ['technical', 'content', 'links', 'ux'],
|
|
433
|
+
description: 'New task category',
|
|
434
|
+
},
|
|
435
|
+
},
|
|
436
|
+
required: ['taskId'],
|
|
437
|
+
},
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
name: 'heyseo_delete_task',
|
|
441
|
+
description: `Delete a task from the HeySeo Kanban board.
|
|
442
|
+
|
|
443
|
+
Permanently remove a task by its ID. Use with caution as this action cannot be undone.
|
|
444
|
+
Consider marking tasks as "done" instead if you want to keep a record.`,
|
|
445
|
+
inputSchema: {
|
|
446
|
+
type: 'object',
|
|
447
|
+
properties: {
|
|
448
|
+
taskId: {
|
|
449
|
+
type: 'string',
|
|
450
|
+
description: 'The ID of the task to delete',
|
|
451
|
+
},
|
|
452
|
+
},
|
|
453
|
+
required: ['taskId'],
|
|
454
|
+
},
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
name: 'heyseo_bulk_create_tasks',
|
|
458
|
+
description: `Create multiple SEO tasks at once from opportunities or audit findings.
|
|
459
|
+
|
|
460
|
+
Efficiently batch-create up to 10 tasks in a single call. Ideal for:
|
|
461
|
+
- Converting SEO audit findings into actionable tasks
|
|
462
|
+
- Creating tasks from identified opportunities
|
|
463
|
+
- Setting up initial task lists for new projects
|
|
464
|
+
|
|
465
|
+
Each task can have its own title, description, priority, and category.`,
|
|
466
|
+
inputSchema: {
|
|
467
|
+
type: 'object',
|
|
468
|
+
properties: {
|
|
469
|
+
siteId: {
|
|
470
|
+
type: 'string',
|
|
471
|
+
description: 'The ID of the site these tasks are for',
|
|
472
|
+
},
|
|
473
|
+
tasks: {
|
|
474
|
+
type: 'array',
|
|
475
|
+
minItems: 1,
|
|
476
|
+
maxItems: 10,
|
|
477
|
+
items: {
|
|
478
|
+
type: 'object',
|
|
479
|
+
properties: {
|
|
480
|
+
title: {
|
|
481
|
+
type: 'string',
|
|
482
|
+
minLength: 1,
|
|
483
|
+
maxLength: 200,
|
|
484
|
+
description: 'Task title',
|
|
485
|
+
},
|
|
486
|
+
description: {
|
|
487
|
+
type: 'string',
|
|
488
|
+
maxLength: 2000,
|
|
489
|
+
description: 'Task description',
|
|
490
|
+
},
|
|
491
|
+
priority: {
|
|
492
|
+
type: 'string',
|
|
493
|
+
enum: ['low', 'medium', 'high'],
|
|
494
|
+
default: 'medium',
|
|
495
|
+
description: 'Task priority',
|
|
496
|
+
},
|
|
497
|
+
category: {
|
|
498
|
+
type: 'string',
|
|
499
|
+
enum: ['technical', 'content', 'links', 'ux'],
|
|
500
|
+
default: 'technical',
|
|
501
|
+
description: 'Task category',
|
|
502
|
+
},
|
|
503
|
+
},
|
|
504
|
+
required: ['title'],
|
|
505
|
+
},
|
|
506
|
+
description: 'Array of tasks to create (max 10)',
|
|
507
|
+
},
|
|
508
|
+
},
|
|
509
|
+
required: ['siteId', 'tasks'],
|
|
510
|
+
},
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
name: 'heyseo_bulk_update_tasks',
|
|
514
|
+
description: `Update multiple tasks at once with the same changes.
|
|
515
|
+
|
|
516
|
+
Efficiently batch-update up to 10 tasks. Ideal for:
|
|
517
|
+
- Marking multiple completed tasks as "done"
|
|
518
|
+
- Changing priority of related tasks
|
|
519
|
+
- Moving tasks through workflow stages together
|
|
520
|
+
|
|
521
|
+
All specified tasks will receive the same status and/or priority update.`,
|
|
522
|
+
inputSchema: {
|
|
523
|
+
type: 'object',
|
|
524
|
+
properties: {
|
|
525
|
+
taskIds: {
|
|
526
|
+
type: 'array',
|
|
527
|
+
minItems: 1,
|
|
528
|
+
maxItems: 10,
|
|
529
|
+
items: {
|
|
530
|
+
type: 'string',
|
|
531
|
+
},
|
|
532
|
+
description: 'Array of task IDs to update (max 10)',
|
|
533
|
+
},
|
|
534
|
+
updates: {
|
|
535
|
+
type: 'object',
|
|
536
|
+
properties: {
|
|
537
|
+
status: {
|
|
538
|
+
type: 'string',
|
|
539
|
+
enum: ['todo', 'in_progress', 'done'],
|
|
540
|
+
description: 'New status for all tasks',
|
|
541
|
+
},
|
|
542
|
+
priority: {
|
|
543
|
+
type: 'string',
|
|
544
|
+
enum: ['low', 'medium', 'high'],
|
|
545
|
+
description: 'New priority for all tasks',
|
|
546
|
+
},
|
|
547
|
+
},
|
|
548
|
+
description: 'Updates to apply to all tasks',
|
|
549
|
+
},
|
|
550
|
+
},
|
|
551
|
+
required: ['taskIds', 'updates'],
|
|
552
|
+
},
|
|
553
|
+
},
|
|
115
554
|
];
|
|
116
555
|
//# sourceMappingURL=tasks.js.map
|
package/dist/tools/tasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAe;AACf,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3D,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACvD,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAErE,8BAA8B;AAC9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAClE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;IACxD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,QAAQ,EAAE,YAAY;SACnB,QAAQ,EAAE;SACV,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,qBAAqB,CAAC;IAClC,QAAQ,EAAE,YAAY;SACnB,QAAQ,EAAE;SACV,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,CAAC,gCAAgC,CAAC;CAC9C,CAAC,CAAC;AAEH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnE,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC/D,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACrE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACtE,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CAC9D,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACvE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,sBAAsB,CAAC;IACnC,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACzD,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;CAChE,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAC5D,CAAC,CAAC;AAEH,oCAAoC;AACpC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACrE,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACzE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC7E,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;KACjF,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,mCAAmC,CAAC;CACjD,CAAC,CAAC;AAEH,oCAAoC;AACpC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,sCAAsC,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAClE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KACzE,CAAC;CACH,CAAC,CAAC;AAUH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,KAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;YACnC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ;YACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,WAAW;YACvC,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,2BAA2B;YACpC,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;SACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAuB,EACvB,KAAqB;IAErB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YAChD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;SACJ,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,KAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;SACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,KAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3D,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9D,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACpE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEpE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,2BAA2B;YACpC,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;SACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,KAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,2BAA2B;YACpC,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAuB,EACvB,KAA2B;IAE3B,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAE7E,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,wBAAwB,YAAY,CAAC,MAAM,QAAQ;YAC5D,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;SACJ,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAuB,EACvB,KAA2B;IAE3B,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEhF,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,wBAAwB,YAAY,CAAC,MAAM,QAAQ;YAC5D,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;SACJ,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE;;;;;;;;;;;;;;0DAcyC;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qCAAqC;iBACnD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,GAAG;oBACd,WAAW,EAAE,oBAAoB;iBAClC;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,+DAA+D;iBAC7E;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;oBAC/B,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,eAAe;iBAC7B;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;oBAC7C,OAAO,EAAE,WAAW;oBACpB,WAAW,EAAE,eAAe;iBAC7B;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC9B;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE;;;;;;;;wBAQO;QACpB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sCAAsC;iBACpD;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC;oBACrC,WAAW,EAAE,uBAAuB;iBACrC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;oBAC/B,WAAW,EAAE,yBAAyB;iBACvC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;oBAC7C,WAAW,EAAE,yBAAyB;iBACvC;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE;;;4CAG2B;QACxC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE;;;;;;;qBAOI;QACjB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,GAAG;oBACd,WAAW,EAAE,gBAAgB;iBAC9B;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,sBAAsB;iBACpC;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC;oBACrC,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;oBAC/B,WAAW,EAAE,mBAAmB;iBACjC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;oBAC7C,WAAW,EAAE,mBAAmB;iBACjC;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE;;;uEAGsD;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE;;;;;;;uEAOsD;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,SAAS,EAAE,CAAC;gCACZ,SAAS,EAAE,GAAG;gCACd,WAAW,EAAE,YAAY;6BAC1B;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,SAAS,EAAE,IAAI;gCACf,WAAW,EAAE,kBAAkB;6BAChC;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;gCAC/B,OAAO,EAAE,QAAQ;gCACjB,WAAW,EAAE,eAAe;6BAC7B;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;gCAC7C,OAAO,EAAE,WAAW;gCACpB,WAAW,EAAE,eAAe;6BAC7B;yBACF;wBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;qBACpB;oBACD,WAAW,EAAE,mCAAmC;iBACjD;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC9B;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE;;;;;;;yEAOwD;QACrE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE,sCAAsC;iBACpD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC;4BACrC,WAAW,EAAE,0BAA0B;yBACxC;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;4BAC/B,WAAW,EAAE,4BAA4B;yBAC1C;qBACF;oBACD,WAAW,EAAE,+BAA+B;iBAC7C;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;SACjC;KACF;CACF,CAAC"}
|
|
@@ -35,6 +35,42 @@ export declare class HeySeoApiClient {
|
|
|
35
35
|
* Create a Kanban task
|
|
36
36
|
*/
|
|
37
37
|
createTask(task: Omit<KanbanTask, 'id' | 'createdAt' | 'updatedAt'>): Promise<KanbanTask>;
|
|
38
|
+
/**
|
|
39
|
+
* Get all tasks for a site
|
|
40
|
+
*/
|
|
41
|
+
getTasks(siteId: string, options?: {
|
|
42
|
+
status?: 'todo' | 'in_progress' | 'done';
|
|
43
|
+
priority?: 'low' | 'medium' | 'high';
|
|
44
|
+
category?: 'technical' | 'content' | 'links' | 'ux';
|
|
45
|
+
}): Promise<KanbanTask[]>;
|
|
46
|
+
/**
|
|
47
|
+
* Get a single task by ID
|
|
48
|
+
*/
|
|
49
|
+
getTask(taskId: string): Promise<KanbanTask>;
|
|
50
|
+
/**
|
|
51
|
+
* Update a Kanban task
|
|
52
|
+
*/
|
|
53
|
+
updateTask(taskId: string, updates: Partial<Pick<KanbanTask, 'title' | 'description' | 'status' | 'priority' | 'category'>>): Promise<KanbanTask>;
|
|
54
|
+
/**
|
|
55
|
+
* Delete a Kanban task
|
|
56
|
+
*/
|
|
57
|
+
deleteTask(taskId: string): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Bulk create multiple tasks
|
|
60
|
+
*/
|
|
61
|
+
bulkCreateTasks(siteId: string, tasks: Array<{
|
|
62
|
+
title: string;
|
|
63
|
+
description?: string;
|
|
64
|
+
priority?: 'low' | 'medium' | 'high';
|
|
65
|
+
category?: 'technical' | 'content' | 'links' | 'ux';
|
|
66
|
+
}>): Promise<KanbanTask[]>;
|
|
67
|
+
/**
|
|
68
|
+
* Bulk update multiple tasks
|
|
69
|
+
*/
|
|
70
|
+
bulkUpdateTasks(taskIds: string[], updates: {
|
|
71
|
+
status?: 'todo' | 'in_progress' | 'done';
|
|
72
|
+
priority?: 'low' | 'medium' | 'high';
|
|
73
|
+
}): Promise<KanbanTask[]>;
|
|
38
74
|
/**
|
|
39
75
|
* Get top keywords for a site
|
|
40
76
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,MAAM,EACN,eAAe,EACf,cAAc,EACd,UAAU,EAEX,MAAM,aAAa,CAAC;AAErB,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;YAIlB,OAAO;IAuBrB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAQvC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAUlD;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAqB/D;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAyBzD;;OAEG;IACG,gBAAgB,CACpB,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,QAAQ,GAAG,SAAoB,GACxC,OAAO,CAAC,eAAe,CAAC;IAc3B;;OAEG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAClD,OAAO,CAAC,cAAc,EAAE,CAAC;IAW5B;;OAEG;IACG,UAAU,CACd,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GACvD,OAAO,CAAC,UAAU,CAAC;IActB;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC,cAAc,CAAC;IAgB1B;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC,cAAc,CAAC;IAgB1B;;OAEG;IACG,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GACL,OAAO,CAAC;QACT,GAAG,EAAE,cAAc,CAAC;QACpB,GAAG,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;CA+BH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,eAAe,CAWnF"}
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/api-client.js
CHANGED
|
@@ -124,6 +124,95 @@ export class HeySeoApiClient {
|
|
|
124
124
|
}
|
|
125
125
|
return response.data;
|
|
126
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Get all tasks for a site
|
|
129
|
+
*/
|
|
130
|
+
async getTasks(siteId, options = {}) {
|
|
131
|
+
const queryParams = new URLSearchParams();
|
|
132
|
+
queryParams.append('siteId', siteId);
|
|
133
|
+
if (options.status)
|
|
134
|
+
queryParams.append('status', options.status);
|
|
135
|
+
if (options.priority)
|
|
136
|
+
queryParams.append('priority', options.priority);
|
|
137
|
+
if (options.category)
|
|
138
|
+
queryParams.append('category', options.category);
|
|
139
|
+
const response = await this.request(`/api/mcp/tasks?${queryParams.toString()}`);
|
|
140
|
+
if (!response.success || !response.data) {
|
|
141
|
+
throw new Error(response.error || 'Failed to fetch tasks');
|
|
142
|
+
}
|
|
143
|
+
return response.data;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Get a single task by ID
|
|
147
|
+
*/
|
|
148
|
+
async getTask(taskId) {
|
|
149
|
+
const response = await this.request(`/api/mcp/tasks/${taskId}`);
|
|
150
|
+
if (!response.success || !response.data) {
|
|
151
|
+
throw new Error(response.error || 'Failed to fetch task');
|
|
152
|
+
}
|
|
153
|
+
return response.data;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Update a Kanban task
|
|
157
|
+
*/
|
|
158
|
+
async updateTask(taskId, updates) {
|
|
159
|
+
const response = await this.request(`/api/mcp/tasks/${taskId}`, {
|
|
160
|
+
method: 'PATCH',
|
|
161
|
+
body: JSON.stringify(updates),
|
|
162
|
+
});
|
|
163
|
+
if (!response.success || !response.data) {
|
|
164
|
+
throw new Error(response.error || 'Failed to update task');
|
|
165
|
+
}
|
|
166
|
+
return response.data;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Delete a Kanban task
|
|
170
|
+
*/
|
|
171
|
+
async deleteTask(taskId) {
|
|
172
|
+
const response = await this.request(`/api/mcp/tasks/${taskId}`, {
|
|
173
|
+
method: 'DELETE',
|
|
174
|
+
});
|
|
175
|
+
if (!response.success) {
|
|
176
|
+
throw new Error(response.error || 'Failed to delete task');
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Bulk create multiple tasks
|
|
181
|
+
*/
|
|
182
|
+
async bulkCreateTasks(siteId, tasks) {
|
|
183
|
+
const response = await this.request('/api/mcp/tasks/bulk', {
|
|
184
|
+
method: 'POST',
|
|
185
|
+
body: JSON.stringify({
|
|
186
|
+
siteId,
|
|
187
|
+
tasks: tasks.map((task) => ({
|
|
188
|
+
...task,
|
|
189
|
+
status: 'todo',
|
|
190
|
+
priority: task.priority || 'medium',
|
|
191
|
+
category: task.category || 'technical',
|
|
192
|
+
})),
|
|
193
|
+
}),
|
|
194
|
+
});
|
|
195
|
+
if (!response.success || !response.data) {
|
|
196
|
+
throw new Error(response.error || 'Failed to bulk create tasks');
|
|
197
|
+
}
|
|
198
|
+
return response.data;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Bulk update multiple tasks
|
|
202
|
+
*/
|
|
203
|
+
async bulkUpdateTasks(taskIds, updates) {
|
|
204
|
+
const response = await this.request('/api/mcp/tasks/bulk', {
|
|
205
|
+
method: 'PATCH',
|
|
206
|
+
body: JSON.stringify({
|
|
207
|
+
taskIds,
|
|
208
|
+
updates,
|
|
209
|
+
}),
|
|
210
|
+
});
|
|
211
|
+
if (!response.success || !response.data) {
|
|
212
|
+
throw new Error(response.error || 'Failed to bulk update tasks');
|
|
213
|
+
}
|
|
214
|
+
return response.data;
|
|
215
|
+
}
|
|
127
216
|
/**
|
|
128
217
|
* Get top keywords for a site
|
|
129
218
|
*/
|
|
@@ -193,7 +282,7 @@ export class HeySeoApiClient {
|
|
|
193
282
|
*/
|
|
194
283
|
export function createApiClient(config = {}) {
|
|
195
284
|
const apiKey = config.apiKey || process.env.HEYSEO_API_KEY;
|
|
196
|
-
const baseUrl = config.baseUrl || process.env.HEYSEO_API_URL || 'https://heyseo.app';
|
|
285
|
+
const baseUrl = config.baseUrl || process.env.HEYSEO_API_URL || 'https://www.heyseo.app';
|
|
197
286
|
if (!apiKey) {
|
|
198
287
|
throw new Error('HeySeo API key is required. Set HEYSEO_API_KEY environment variable or pass apiKey in config.');
|
|
199
288
|
}
|