@intangle/mcp-server 1.0.7 → 1.0.8
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/dist/index.js +200 -68
- package/index.ts +208 -69
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -22,7 +22,7 @@ if (!MCP_API_KEY) {
|
|
|
22
22
|
console.log("Intangle MCP Server starting - connecting to", API_BASE_URL);
|
|
23
23
|
// Version checking
|
|
24
24
|
// IMPORTANT: Update BOTH package.json version AND this constant when bumping version
|
|
25
|
-
const CURRENT_VERSION = "1.0.
|
|
25
|
+
const CURRENT_VERSION = "1.0.8";
|
|
26
26
|
let latestVersion = null;
|
|
27
27
|
let versionCheckDone = false;
|
|
28
28
|
async function checkVersion() {
|
|
@@ -75,29 +75,62 @@ const server = new Server({
|
|
|
75
75
|
const TOOLS = [
|
|
76
76
|
{
|
|
77
77
|
name: "add_memory",
|
|
78
|
-
description: "Store
|
|
78
|
+
description: "Store one or more memories in the user's memory graph with flexible topics. Accepts a single memory object or an array of memory objects for batch creation. REQUIRES space_id parameter.",
|
|
79
79
|
inputSchema: {
|
|
80
80
|
type: "object",
|
|
81
81
|
properties: {
|
|
82
82
|
space_id: {
|
|
83
83
|
type: "string",
|
|
84
|
-
description: "REQUIRED: Space to store memory in (use list_spaces to see available options)",
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
84
|
+
description: "REQUIRED: Space to store memory/memories in (use list_spaces to see available options)",
|
|
85
|
+
},
|
|
86
|
+
memories: {
|
|
87
|
+
oneOf: [
|
|
88
|
+
{
|
|
89
|
+
type: "object",
|
|
90
|
+
properties: {
|
|
91
|
+
title: {
|
|
92
|
+
type: "string",
|
|
93
|
+
description: "Title/summary of the memory",
|
|
94
|
+
},
|
|
95
|
+
content: {
|
|
96
|
+
type: "string",
|
|
97
|
+
description: "Detailed content of the memory",
|
|
98
|
+
},
|
|
99
|
+
topics: {
|
|
100
|
+
type: "array",
|
|
101
|
+
items: { type: "string" },
|
|
102
|
+
description: "Flexible topics/tags for organization (e.g., ['coding', 'react'])",
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
required: ["title", "content"],
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: "array",
|
|
109
|
+
items: {
|
|
110
|
+
type: "object",
|
|
111
|
+
properties: {
|
|
112
|
+
title: {
|
|
113
|
+
type: "string",
|
|
114
|
+
description: "Title/summary of the memory",
|
|
115
|
+
},
|
|
116
|
+
content: {
|
|
117
|
+
type: "string",
|
|
118
|
+
description: "Detailed content of the memory",
|
|
119
|
+
},
|
|
120
|
+
topics: {
|
|
121
|
+
type: "array",
|
|
122
|
+
items: { type: "string" },
|
|
123
|
+
description: "Flexible topics/tags for organization (e.g., ['coding', 'react'])",
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
required: ["title", "content"],
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
description: "Single memory object or array of memory objects to create",
|
|
98
131
|
},
|
|
99
132
|
},
|
|
100
|
-
required: ["space_id", "
|
|
133
|
+
required: ["space_id", "memories"],
|
|
101
134
|
},
|
|
102
135
|
},
|
|
103
136
|
{
|
|
@@ -276,39 +309,82 @@ const TOOLS = [
|
|
|
276
309
|
},
|
|
277
310
|
{
|
|
278
311
|
name: "add_task",
|
|
279
|
-
description: "Create
|
|
312
|
+
description: "Create one or more tasks in your space with status tracking. Accepts a single task object or an array of task objects for batch creation. Tasks have graph relationships like memories (entities, topics, temporal). REQUIRES space_id parameter.",
|
|
280
313
|
inputSchema: {
|
|
281
314
|
type: "object",
|
|
282
315
|
properties: {
|
|
283
316
|
space_id: {
|
|
284
317
|
type: "string",
|
|
285
|
-
description: "REQUIRED: Space to create task in (use list_spaces to see available options)",
|
|
286
|
-
},
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
318
|
+
description: "REQUIRED: Space to create task/tasks in (use list_spaces to see available options)",
|
|
319
|
+
},
|
|
320
|
+
tasks: {
|
|
321
|
+
oneOf: [
|
|
322
|
+
{
|
|
323
|
+
type: "object",
|
|
324
|
+
properties: {
|
|
325
|
+
title: {
|
|
326
|
+
type: "string",
|
|
327
|
+
description: "Task title/summary",
|
|
328
|
+
},
|
|
329
|
+
content: {
|
|
330
|
+
type: "string",
|
|
331
|
+
description: "Detailed task description",
|
|
332
|
+
},
|
|
333
|
+
topics: {
|
|
334
|
+
type: "array",
|
|
335
|
+
items: { type: "string" },
|
|
336
|
+
description: "Optional topics/tags for organization",
|
|
337
|
+
},
|
|
338
|
+
status: {
|
|
339
|
+
type: "string",
|
|
340
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
341
|
+
description: "Task status (default: pending)",
|
|
342
|
+
default: "pending",
|
|
343
|
+
},
|
|
344
|
+
parent_id: {
|
|
345
|
+
type: "string",
|
|
346
|
+
description: "Optional parent task ID to create this as a subtask",
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
required: ["title", "content"],
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
type: "array",
|
|
353
|
+
items: {
|
|
354
|
+
type: "object",
|
|
355
|
+
properties: {
|
|
356
|
+
title: {
|
|
357
|
+
type: "string",
|
|
358
|
+
description: "Task title/summary",
|
|
359
|
+
},
|
|
360
|
+
content: {
|
|
361
|
+
type: "string",
|
|
362
|
+
description: "Detailed task description",
|
|
363
|
+
},
|
|
364
|
+
topics: {
|
|
365
|
+
type: "array",
|
|
366
|
+
items: { type: "string" },
|
|
367
|
+
description: "Optional topics/tags for organization",
|
|
368
|
+
},
|
|
369
|
+
status: {
|
|
370
|
+
type: "string",
|
|
371
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
372
|
+
description: "Task status (default: pending)",
|
|
373
|
+
default: "pending",
|
|
374
|
+
},
|
|
375
|
+
parent_id: {
|
|
376
|
+
type: "string",
|
|
377
|
+
description: "Optional parent task ID to create this as a subtask",
|
|
378
|
+
},
|
|
379
|
+
},
|
|
380
|
+
required: ["title", "content"],
|
|
381
|
+
},
|
|
382
|
+
},
|
|
383
|
+
],
|
|
384
|
+
description: "Single task object or array of task objects to create",
|
|
309
385
|
},
|
|
310
386
|
},
|
|
311
|
-
required: ["space_id", "
|
|
387
|
+
required: ["space_id", "tasks"],
|
|
312
388
|
},
|
|
313
389
|
},
|
|
314
390
|
{
|
|
@@ -332,29 +408,66 @@ const TOOLS = [
|
|
|
332
408
|
},
|
|
333
409
|
{
|
|
334
410
|
name: "update_task",
|
|
335
|
-
description: "Update
|
|
411
|
+
description: "Update one or more tasks. Accepts a single update object or an array of update objects for batch updates. Each update must include task_id.",
|
|
336
412
|
inputSchema: {
|
|
337
413
|
type: "object",
|
|
338
414
|
properties: {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
415
|
+
updates: {
|
|
416
|
+
oneOf: [
|
|
417
|
+
{
|
|
418
|
+
type: "object",
|
|
419
|
+
properties: {
|
|
420
|
+
task_id: {
|
|
421
|
+
type: "string",
|
|
422
|
+
description: "Task ID to update",
|
|
423
|
+
},
|
|
424
|
+
title: {
|
|
425
|
+
type: "string",
|
|
426
|
+
description: "New title (optional)",
|
|
427
|
+
},
|
|
428
|
+
content: {
|
|
429
|
+
type: "string",
|
|
430
|
+
description: "New content (optional)",
|
|
431
|
+
},
|
|
432
|
+
topics: {
|
|
433
|
+
type: "array",
|
|
434
|
+
items: { type: "string" },
|
|
435
|
+
description: "New topics array (optional)",
|
|
436
|
+
},
|
|
437
|
+
},
|
|
438
|
+
required: ["task_id"],
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
type: "array",
|
|
442
|
+
items: {
|
|
443
|
+
type: "object",
|
|
444
|
+
properties: {
|
|
445
|
+
task_id: {
|
|
446
|
+
type: "string",
|
|
447
|
+
description: "Task ID to update",
|
|
448
|
+
},
|
|
449
|
+
title: {
|
|
450
|
+
type: "string",
|
|
451
|
+
description: "New title (optional)",
|
|
452
|
+
},
|
|
453
|
+
content: {
|
|
454
|
+
type: "string",
|
|
455
|
+
description: "New content (optional)",
|
|
456
|
+
},
|
|
457
|
+
topics: {
|
|
458
|
+
type: "array",
|
|
459
|
+
items: { type: "string" },
|
|
460
|
+
description: "New topics array (optional)",
|
|
461
|
+
},
|
|
462
|
+
},
|
|
463
|
+
required: ["task_id"],
|
|
464
|
+
},
|
|
465
|
+
},
|
|
466
|
+
],
|
|
467
|
+
description: "Single update object or array of update objects",
|
|
355
468
|
},
|
|
356
469
|
},
|
|
357
|
-
required: ["
|
|
470
|
+
required: ["updates"],
|
|
358
471
|
},
|
|
359
472
|
},
|
|
360
473
|
{
|
|
@@ -424,11 +537,14 @@ async function handleAddMemory(args) {
|
|
|
424
537
|
if (!args.space_id) {
|
|
425
538
|
throw new Error("space_id is required. Use list_spaces to see available options.");
|
|
426
539
|
}
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
return makeApiCall("add-memory",
|
|
540
|
+
if (!args.memories) {
|
|
541
|
+
throw new Error("memories parameter is required (single object or array)");
|
|
542
|
+
}
|
|
543
|
+
// Pass through to API
|
|
544
|
+
return makeApiCall("add-memory", {
|
|
545
|
+
space_id: args.space_id,
|
|
546
|
+
memories: args.memories,
|
|
547
|
+
});
|
|
432
548
|
}
|
|
433
549
|
async function handleSearchMemories(args) {
|
|
434
550
|
const { space_id, space_ids, query, topics, max_results = 10, } = args;
|
|
@@ -482,13 +598,29 @@ async function handleStart(args) {
|
|
|
482
598
|
return makeApiCall("start", { space_id });
|
|
483
599
|
}
|
|
484
600
|
async function handleAddTask(args) {
|
|
485
|
-
|
|
601
|
+
if (!args.space_id) {
|
|
602
|
+
throw new Error("space_id is required. Use list_spaces to see available options.");
|
|
603
|
+
}
|
|
604
|
+
if (!args.tasks) {
|
|
605
|
+
throw new Error("tasks parameter is required (single object or array)");
|
|
606
|
+
}
|
|
607
|
+
// Pass through to API
|
|
608
|
+
return makeApiCall("add-task", {
|
|
609
|
+
space_id: args.space_id,
|
|
610
|
+
tasks: args.tasks,
|
|
611
|
+
});
|
|
486
612
|
}
|
|
487
613
|
async function handleUpdateTaskStatus(args) {
|
|
488
614
|
return makeApiCall("update-task-status", args);
|
|
489
615
|
}
|
|
490
616
|
async function handleUpdateTask(args) {
|
|
491
|
-
|
|
617
|
+
if (!args.updates) {
|
|
618
|
+
throw new Error("updates parameter is required (single object or array)");
|
|
619
|
+
}
|
|
620
|
+
// Pass through to API
|
|
621
|
+
return makeApiCall("update-task", {
|
|
622
|
+
updates: args.updates,
|
|
623
|
+
});
|
|
492
624
|
}
|
|
493
625
|
async function handleListTasks(args) {
|
|
494
626
|
return makeApiCall("list-tasks", args);
|
package/index.ts
CHANGED
|
@@ -35,7 +35,7 @@ console.log("Intangle MCP Server starting - connecting to", API_BASE_URL);
|
|
|
35
35
|
|
|
36
36
|
// Version checking
|
|
37
37
|
// IMPORTANT: Update BOTH package.json version AND this constant when bumping version
|
|
38
|
-
const CURRENT_VERSION = "1.0.
|
|
38
|
+
const CURRENT_VERSION = "1.0.8";
|
|
39
39
|
let latestVersion: string | null = null;
|
|
40
40
|
let versionCheckDone = false;
|
|
41
41
|
|
|
@@ -100,31 +100,65 @@ const TOOLS = [
|
|
|
100
100
|
{
|
|
101
101
|
name: "add_memory",
|
|
102
102
|
description:
|
|
103
|
-
"Store
|
|
103
|
+
"Store one or more memories in the user's memory graph with flexible topics. Accepts a single memory object or an array of memory objects for batch creation. REQUIRES space_id parameter.",
|
|
104
104
|
inputSchema: {
|
|
105
105
|
type: "object",
|
|
106
106
|
properties: {
|
|
107
107
|
space_id: {
|
|
108
108
|
type: "string",
|
|
109
109
|
description:
|
|
110
|
-
"REQUIRED: Space to store memory in (use list_spaces to see available options)",
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
110
|
+
"REQUIRED: Space to store memory/memories in (use list_spaces to see available options)",
|
|
111
|
+
},
|
|
112
|
+
memories: {
|
|
113
|
+
oneOf: [
|
|
114
|
+
{
|
|
115
|
+
type: "object",
|
|
116
|
+
properties: {
|
|
117
|
+
title: {
|
|
118
|
+
type: "string",
|
|
119
|
+
description: "Title/summary of the memory",
|
|
120
|
+
},
|
|
121
|
+
content: {
|
|
122
|
+
type: "string",
|
|
123
|
+
description: "Detailed content of the memory",
|
|
124
|
+
},
|
|
125
|
+
topics: {
|
|
126
|
+
type: "array",
|
|
127
|
+
items: { type: "string" },
|
|
128
|
+
description:
|
|
129
|
+
"Flexible topics/tags for organization (e.g., ['coding', 'react'])",
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
required: ["title", "content"],
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: "array",
|
|
136
|
+
items: {
|
|
137
|
+
type: "object",
|
|
138
|
+
properties: {
|
|
139
|
+
title: {
|
|
140
|
+
type: "string",
|
|
141
|
+
description: "Title/summary of the memory",
|
|
142
|
+
},
|
|
143
|
+
content: {
|
|
144
|
+
type: "string",
|
|
145
|
+
description: "Detailed content of the memory",
|
|
146
|
+
},
|
|
147
|
+
topics: {
|
|
148
|
+
type: "array",
|
|
149
|
+
items: { type: "string" },
|
|
150
|
+
description:
|
|
151
|
+
"Flexible topics/tags for organization (e.g., ['coding', 'react'])",
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
required: ["title", "content"],
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
description: "Single memory object or array of memory objects to create",
|
|
125
159
|
},
|
|
126
160
|
},
|
|
127
|
-
required: ["space_id", "
|
|
161
|
+
required: ["space_id", "memories"],
|
|
128
162
|
},
|
|
129
163
|
},
|
|
130
164
|
{
|
|
@@ -315,40 +349,83 @@ const TOOLS = [
|
|
|
315
349
|
{
|
|
316
350
|
name: "add_task",
|
|
317
351
|
description:
|
|
318
|
-
"Create
|
|
352
|
+
"Create one or more tasks in your space with status tracking. Accepts a single task object or an array of task objects for batch creation. Tasks have graph relationships like memories (entities, topics, temporal). REQUIRES space_id parameter.",
|
|
319
353
|
inputSchema: {
|
|
320
354
|
type: "object",
|
|
321
355
|
properties: {
|
|
322
356
|
space_id: {
|
|
323
357
|
type: "string",
|
|
324
358
|
description:
|
|
325
|
-
"REQUIRED: Space to create task in (use list_spaces to see available options)",
|
|
326
|
-
},
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
359
|
+
"REQUIRED: Space to create task/tasks in (use list_spaces to see available options)",
|
|
360
|
+
},
|
|
361
|
+
tasks: {
|
|
362
|
+
oneOf: [
|
|
363
|
+
{
|
|
364
|
+
type: "object",
|
|
365
|
+
properties: {
|
|
366
|
+
title: {
|
|
367
|
+
type: "string",
|
|
368
|
+
description: "Task title/summary",
|
|
369
|
+
},
|
|
370
|
+
content: {
|
|
371
|
+
type: "string",
|
|
372
|
+
description: "Detailed task description",
|
|
373
|
+
},
|
|
374
|
+
topics: {
|
|
375
|
+
type: "array",
|
|
376
|
+
items: { type: "string" },
|
|
377
|
+
description: "Optional topics/tags for organization",
|
|
378
|
+
},
|
|
379
|
+
status: {
|
|
380
|
+
type: "string",
|
|
381
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
382
|
+
description: "Task status (default: pending)",
|
|
383
|
+
default: "pending",
|
|
384
|
+
},
|
|
385
|
+
parent_id: {
|
|
386
|
+
type: "string",
|
|
387
|
+
description: "Optional parent task ID to create this as a subtask",
|
|
388
|
+
},
|
|
389
|
+
},
|
|
390
|
+
required: ["title", "content"],
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
type: "array",
|
|
394
|
+
items: {
|
|
395
|
+
type: "object",
|
|
396
|
+
properties: {
|
|
397
|
+
title: {
|
|
398
|
+
type: "string",
|
|
399
|
+
description: "Task title/summary",
|
|
400
|
+
},
|
|
401
|
+
content: {
|
|
402
|
+
type: "string",
|
|
403
|
+
description: "Detailed task description",
|
|
404
|
+
},
|
|
405
|
+
topics: {
|
|
406
|
+
type: "array",
|
|
407
|
+
items: { type: "string" },
|
|
408
|
+
description: "Optional topics/tags for organization",
|
|
409
|
+
},
|
|
410
|
+
status: {
|
|
411
|
+
type: "string",
|
|
412
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
413
|
+
description: "Task status (default: pending)",
|
|
414
|
+
default: "pending",
|
|
415
|
+
},
|
|
416
|
+
parent_id: {
|
|
417
|
+
type: "string",
|
|
418
|
+
description: "Optional parent task ID to create this as a subtask",
|
|
419
|
+
},
|
|
420
|
+
},
|
|
421
|
+
required: ["title", "content"],
|
|
422
|
+
},
|
|
423
|
+
},
|
|
424
|
+
],
|
|
425
|
+
description: "Single task object or array of task objects to create",
|
|
349
426
|
},
|
|
350
427
|
},
|
|
351
|
-
required: ["space_id", "
|
|
428
|
+
required: ["space_id", "tasks"],
|
|
352
429
|
},
|
|
353
430
|
},
|
|
354
431
|
{
|
|
@@ -372,29 +449,66 @@ const TOOLS = [
|
|
|
372
449
|
},
|
|
373
450
|
{
|
|
374
451
|
name: "update_task",
|
|
375
|
-
description: "Update
|
|
452
|
+
description: "Update one or more tasks. Accepts a single update object or an array of update objects for batch updates. Each update must include task_id.",
|
|
376
453
|
inputSchema: {
|
|
377
454
|
type: "object",
|
|
378
455
|
properties: {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
456
|
+
updates: {
|
|
457
|
+
oneOf: [
|
|
458
|
+
{
|
|
459
|
+
type: "object",
|
|
460
|
+
properties: {
|
|
461
|
+
task_id: {
|
|
462
|
+
type: "string",
|
|
463
|
+
description: "Task ID to update",
|
|
464
|
+
},
|
|
465
|
+
title: {
|
|
466
|
+
type: "string",
|
|
467
|
+
description: "New title (optional)",
|
|
468
|
+
},
|
|
469
|
+
content: {
|
|
470
|
+
type: "string",
|
|
471
|
+
description: "New content (optional)",
|
|
472
|
+
},
|
|
473
|
+
topics: {
|
|
474
|
+
type: "array",
|
|
475
|
+
items: { type: "string" },
|
|
476
|
+
description: "New topics array (optional)",
|
|
477
|
+
},
|
|
478
|
+
},
|
|
479
|
+
required: ["task_id"],
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
type: "array",
|
|
483
|
+
items: {
|
|
484
|
+
type: "object",
|
|
485
|
+
properties: {
|
|
486
|
+
task_id: {
|
|
487
|
+
type: "string",
|
|
488
|
+
description: "Task ID to update",
|
|
489
|
+
},
|
|
490
|
+
title: {
|
|
491
|
+
type: "string",
|
|
492
|
+
description: "New title (optional)",
|
|
493
|
+
},
|
|
494
|
+
content: {
|
|
495
|
+
type: "string",
|
|
496
|
+
description: "New content (optional)",
|
|
497
|
+
},
|
|
498
|
+
topics: {
|
|
499
|
+
type: "array",
|
|
500
|
+
items: { type: "string" },
|
|
501
|
+
description: "New topics array (optional)",
|
|
502
|
+
},
|
|
503
|
+
},
|
|
504
|
+
required: ["task_id"],
|
|
505
|
+
},
|
|
506
|
+
},
|
|
507
|
+
],
|
|
508
|
+
description: "Single update object or array of update objects",
|
|
395
509
|
},
|
|
396
510
|
},
|
|
397
|
-
required: ["
|
|
511
|
+
required: ["updates"],
|
|
398
512
|
},
|
|
399
513
|
},
|
|
400
514
|
{
|
|
@@ -470,11 +584,15 @@ async function handleAddMemory(args: any) {
|
|
|
470
584
|
);
|
|
471
585
|
}
|
|
472
586
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
587
|
+
if (!args.memories) {
|
|
588
|
+
throw new Error("memories parameter is required (single object or array)");
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
// Pass through to API
|
|
592
|
+
return makeApiCall("add-memory", {
|
|
593
|
+
space_id: args.space_id,
|
|
594
|
+
memories: args.memories,
|
|
595
|
+
});
|
|
478
596
|
}
|
|
479
597
|
|
|
480
598
|
async function handleSearchMemories(args: any) {
|
|
@@ -570,7 +688,21 @@ async function handleStart(args: any) {
|
|
|
570
688
|
}
|
|
571
689
|
|
|
572
690
|
async function handleAddTask(args: any) {
|
|
573
|
-
|
|
691
|
+
if (!args.space_id) {
|
|
692
|
+
throw new Error(
|
|
693
|
+
"space_id is required. Use list_spaces to see available options.",
|
|
694
|
+
);
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
if (!args.tasks) {
|
|
698
|
+
throw new Error("tasks parameter is required (single object or array)");
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
// Pass through to API
|
|
702
|
+
return makeApiCall("add-task", {
|
|
703
|
+
space_id: args.space_id,
|
|
704
|
+
tasks: args.tasks,
|
|
705
|
+
});
|
|
574
706
|
}
|
|
575
707
|
|
|
576
708
|
async function handleUpdateTaskStatus(args: any) {
|
|
@@ -578,7 +710,14 @@ async function handleUpdateTaskStatus(args: any) {
|
|
|
578
710
|
}
|
|
579
711
|
|
|
580
712
|
async function handleUpdateTask(args: any) {
|
|
581
|
-
|
|
713
|
+
if (!args.updates) {
|
|
714
|
+
throw new Error("updates parameter is required (single object or array)");
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
// Pass through to API
|
|
718
|
+
return makeApiCall("update-task", {
|
|
719
|
+
updates: args.updates,
|
|
720
|
+
});
|
|
582
721
|
}
|
|
583
722
|
|
|
584
723
|
async function handleListTasks(args: any) {
|