@intangle/mcp-server 2.6.12 → 2.6.14
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/highq-tool-definitions.js +127 -27
- package/dist/tool-definitions.js +598 -790
- package/package.json +2 -2
package/dist/tool-definitions.js
CHANGED
|
@@ -1,154 +1,6 @@
|
|
|
1
|
+
// Generated from mcp-contract/tool-catalog.json. Do not edit this projection directly.
|
|
1
2
|
import { HIGHQ_DIRECT_TOOLS } from "./highq-tool-definitions.js";
|
|
2
|
-
const
|
|
3
|
-
type: "object",
|
|
4
|
-
additionalProperties: false,
|
|
5
|
-
properties: {
|
|
6
|
-
status: {
|
|
7
|
-
type: "string",
|
|
8
|
-
enum: ["pending", "in_progress", "completed", "invalidated"]
|
|
9
|
-
},
|
|
10
|
-
priority: {
|
|
11
|
-
type: "string",
|
|
12
|
-
enum: ["urgent", "high", "medium", "low"]
|
|
13
|
-
},
|
|
14
|
-
assignee: {
|
|
15
|
-
type: ["object", "null"],
|
|
16
|
-
additionalProperties: false,
|
|
17
|
-
properties: {
|
|
18
|
-
id: { type: ["string", "null"] },
|
|
19
|
-
type: { type: ["string", "null"], enum: ["agent", "user", null] }
|
|
20
|
-
},
|
|
21
|
-
required: ["id", "type"]
|
|
22
|
-
},
|
|
23
|
-
pinned: { type: "boolean" },
|
|
24
|
-
presentation: {
|
|
25
|
-
type: "string",
|
|
26
|
-
enum: ["item", "group", "project", "folder"],
|
|
27
|
-
description: "Item presentation only; never a separate entity or hierarchy authority."
|
|
28
|
-
},
|
|
29
|
-
icon: { type: "string" },
|
|
30
|
-
color: { type: "string" },
|
|
31
|
-
topics: {
|
|
32
|
-
type: "array",
|
|
33
|
-
items: { type: "string" },
|
|
34
|
-
description: "Topic tags stored on the Item and its topic relationships."
|
|
35
|
-
},
|
|
36
|
-
importance: {
|
|
37
|
-
type: "number",
|
|
38
|
-
minimum: 0,
|
|
39
|
-
maximum: 1,
|
|
40
|
-
description: "Optional importance score for an insight Item."
|
|
41
|
-
},
|
|
42
|
-
confidence: {
|
|
43
|
-
type: "number",
|
|
44
|
-
minimum: 0,
|
|
45
|
-
maximum: 1,
|
|
46
|
-
description: "Optional confidence score for an insight Item."
|
|
47
|
-
},
|
|
48
|
-
category: {
|
|
49
|
-
type: "string",
|
|
50
|
-
description: "Optional category for an insight Item."
|
|
51
|
-
},
|
|
52
|
-
source_type: {
|
|
53
|
-
type: "string",
|
|
54
|
-
description: "Optional provenance category for an insight Item."
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
const itemIdsSchema = {
|
|
59
|
-
type: "array",
|
|
60
|
-
minItems: 1,
|
|
61
|
-
maxItems: 100,
|
|
62
|
-
items: { type: "string" }
|
|
63
|
-
};
|
|
64
|
-
const updateItemOperationSchema = {
|
|
65
|
-
oneOf: [
|
|
66
|
-
{
|
|
67
|
-
type: "object",
|
|
68
|
-
additionalProperties: false,
|
|
69
|
-
required: ["op", "title"],
|
|
70
|
-
properties: {
|
|
71
|
-
op: { type: "string", const: "create" },
|
|
72
|
-
title: { type: "string" },
|
|
73
|
-
content: { type: "string" },
|
|
74
|
-
type: {
|
|
75
|
-
type: "string",
|
|
76
|
-
enum: ["context", "task", "skill", "artifact", "insight"],
|
|
77
|
-
description: "Durable Item content kind. Skill and insight remain Items/Rooms, not separate product entities."
|
|
78
|
-
},
|
|
79
|
-
parent_id: { type: ["string", "null"] },
|
|
80
|
-
presentation: {
|
|
81
|
-
type: "string",
|
|
82
|
-
enum: ["item", "group", "project", "folder"],
|
|
83
|
-
description: "Optional Item presentation; this does not create a separate entity type."
|
|
84
|
-
},
|
|
85
|
-
attributes: itemAttributesSchema
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
type: "object",
|
|
90
|
-
additionalProperties: false,
|
|
91
|
-
required: ["op", "id"],
|
|
92
|
-
properties: {
|
|
93
|
-
op: { type: "string", const: "update" },
|
|
94
|
-
id: { type: "string" },
|
|
95
|
-
title: { type: "string" },
|
|
96
|
-
content: { type: "string" },
|
|
97
|
-
attributes: itemAttributesSchema
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
type: "object",
|
|
102
|
-
additionalProperties: false,
|
|
103
|
-
required: ["op", "new_parent_id"],
|
|
104
|
-
oneOf: [{ required: ["ids"] }, { required: ["criteria"] }],
|
|
105
|
-
properties: {
|
|
106
|
-
op: { type: "string", const: "move" },
|
|
107
|
-
ids: itemIdsSchema,
|
|
108
|
-
criteria: {
|
|
109
|
-
type: "object",
|
|
110
|
-
additionalProperties: false,
|
|
111
|
-
minProperties: 1,
|
|
112
|
-
properties: {
|
|
113
|
-
source_parent_id: {
|
|
114
|
-
type: ["string", "null"],
|
|
115
|
-
description: "Select Items whose authoritative parent_id is this Item. Null selects Space-root Items."
|
|
116
|
-
},
|
|
117
|
-
under: {
|
|
118
|
-
type: "string",
|
|
119
|
-
description: "Direct-parent alias for source_parent_id. The current Space ID selects Space-root Items."
|
|
120
|
-
},
|
|
121
|
-
ungrouped: { type: "boolean" },
|
|
122
|
-
type: { type: ["string", "null"] },
|
|
123
|
-
status: { type: ["string", "null"] }
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
new_parent_id: { type: ["string", "null"] },
|
|
127
|
-
relative_to_id: { type: ["string", "null"] },
|
|
128
|
-
position: {
|
|
129
|
-
type: ["string", "null"],
|
|
130
|
-
enum: ["before", "after", null]
|
|
131
|
-
},
|
|
132
|
-
dry_run: { type: "boolean" },
|
|
133
|
-
count_only: { type: "boolean" },
|
|
134
|
-
confirm_token: { type: ["string", "null"] },
|
|
135
|
-
limit: { type: "integer", minimum: 1, maximum: 500 },
|
|
136
|
-
operation_id: { type: ["string", "null"] }
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
type: "object",
|
|
141
|
-
additionalProperties: false,
|
|
142
|
-
required: ["op", "ids"],
|
|
143
|
-
properties: {
|
|
144
|
-
op: { type: "string", const: "delete" },
|
|
145
|
-
ids: itemIdsSchema
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
]
|
|
149
|
-
};
|
|
150
|
-
// Tools definition - matches the stdio server
|
|
151
|
-
const TOOL_DEFINITIONS = [
|
|
3
|
+
const BASE_TOOLS = [
|
|
152
4
|
{
|
|
153
5
|
name: "search",
|
|
154
6
|
title: "Search Space",
|
|
@@ -159,24 +11,44 @@ const TOOL_DEFINITIONS = [
|
|
|
159
11
|
properties: {
|
|
160
12
|
query: {
|
|
161
13
|
oneOf: [
|
|
162
|
-
{
|
|
163
|
-
|
|
14
|
+
{
|
|
15
|
+
type: "string"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: "array",
|
|
19
|
+
items: {
|
|
20
|
+
type: "string"
|
|
21
|
+
},
|
|
22
|
+
minItems: 1
|
|
23
|
+
}
|
|
164
24
|
],
|
|
165
25
|
description: "One query or several queries merged into one ranked result set"
|
|
166
26
|
},
|
|
167
27
|
mode: {
|
|
168
28
|
type: "string",
|
|
169
|
-
enum: [
|
|
29
|
+
enum: [
|
|
30
|
+
"auto",
|
|
31
|
+
"semantic",
|
|
32
|
+
"lexical",
|
|
33
|
+
"recent"
|
|
34
|
+
],
|
|
170
35
|
default: "auto"
|
|
171
36
|
},
|
|
172
37
|
under: {
|
|
173
38
|
type: "string",
|
|
174
39
|
description: "Exact Item/Room subtree root"
|
|
175
40
|
},
|
|
176
|
-
depth: {
|
|
41
|
+
depth: {
|
|
42
|
+
type: "integer",
|
|
43
|
+
minimum: 1,
|
|
44
|
+
maximum: 512,
|
|
45
|
+
default: 512
|
|
46
|
+
},
|
|
177
47
|
spaces: {
|
|
178
48
|
type: "array",
|
|
179
|
-
items: {
|
|
49
|
+
items: {
|
|
50
|
+
type: "string"
|
|
51
|
+
},
|
|
180
52
|
minItems: 1,
|
|
181
53
|
description: "Defaults to the current Space; cross-Space search fails closed"
|
|
182
54
|
},
|
|
@@ -184,23 +56,56 @@ const TOOL_DEFINITIONS = [
|
|
|
184
56
|
type: "object",
|
|
185
57
|
additionalProperties: false,
|
|
186
58
|
properties: {
|
|
187
|
-
status: {
|
|
188
|
-
|
|
189
|
-
|
|
59
|
+
status: {
|
|
60
|
+
type: "string"
|
|
61
|
+
},
|
|
62
|
+
priority: {
|
|
63
|
+
type: "string"
|
|
64
|
+
},
|
|
65
|
+
assignee: {
|
|
66
|
+
type: "string"
|
|
67
|
+
},
|
|
190
68
|
dates: {
|
|
191
69
|
type: "object",
|
|
192
70
|
additionalProperties: false,
|
|
193
71
|
properties: {
|
|
194
72
|
from: {
|
|
195
|
-
oneOf: [
|
|
73
|
+
oneOf: [
|
|
74
|
+
{
|
|
75
|
+
type: "string"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
type: "number"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
196
81
|
},
|
|
197
|
-
to: {
|
|
82
|
+
to: {
|
|
83
|
+
oneOf: [
|
|
84
|
+
{
|
|
85
|
+
type: "string"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
type: "number"
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
topics: {
|
|
95
|
+
type: "array",
|
|
96
|
+
items: {
|
|
97
|
+
type: "string"
|
|
198
98
|
}
|
|
199
99
|
},
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
100
|
+
category: {
|
|
101
|
+
type: "string"
|
|
102
|
+
},
|
|
103
|
+
source: {
|
|
104
|
+
type: "string"
|
|
105
|
+
},
|
|
106
|
+
has_parent: {
|
|
107
|
+
type: "boolean"
|
|
108
|
+
},
|
|
204
109
|
legacy_label: {
|
|
205
110
|
type: "array",
|
|
206
111
|
minItems: 1,
|
|
@@ -223,22 +128,53 @@ const TOOL_DEFINITIONS = [
|
|
|
223
128
|
}
|
|
224
129
|
}
|
|
225
130
|
},
|
|
226
|
-
expand: {
|
|
131
|
+
expand: {
|
|
132
|
+
type: "integer",
|
|
133
|
+
enum: [
|
|
134
|
+
0,
|
|
135
|
+
1
|
|
136
|
+
],
|
|
137
|
+
default: 0
|
|
138
|
+
},
|
|
227
139
|
sort: {
|
|
228
140
|
type: "string",
|
|
229
|
-
enum: [
|
|
141
|
+
enum: [
|
|
142
|
+
"relevance",
|
|
143
|
+
"recent",
|
|
144
|
+
"oldest",
|
|
145
|
+
"priority"
|
|
146
|
+
]
|
|
230
147
|
},
|
|
231
148
|
include: {
|
|
232
149
|
type: "string",
|
|
233
|
-
enum: [
|
|
150
|
+
enum: [
|
|
151
|
+
"ids",
|
|
152
|
+
"titles",
|
|
153
|
+
"snippets",
|
|
154
|
+
"full"
|
|
155
|
+
],
|
|
234
156
|
default: "snippets"
|
|
235
157
|
},
|
|
236
|
-
limit: {
|
|
237
|
-
|
|
158
|
+
limit: {
|
|
159
|
+
type: "integer",
|
|
160
|
+
minimum: 1,
|
|
161
|
+
maximum: 100,
|
|
162
|
+
default: 20
|
|
163
|
+
},
|
|
164
|
+
offset: {
|
|
165
|
+
type: "integer",
|
|
166
|
+
minimum: 0,
|
|
167
|
+
maximum: 10000,
|
|
168
|
+
default: 0
|
|
169
|
+
}
|
|
238
170
|
},
|
|
239
171
|
required: []
|
|
240
172
|
},
|
|
241
|
-
annotations: {
|
|
173
|
+
annotations: {
|
|
174
|
+
readOnlyHint: true,
|
|
175
|
+
idempotentHint: true,
|
|
176
|
+
openWorldHint: true
|
|
177
|
+
}
|
|
242
178
|
},
|
|
243
179
|
{
|
|
244
180
|
name: "get_items",
|
|
@@ -260,16 +196,30 @@ const TOOL_DEFINITIONS = [
|
|
|
260
196
|
type: "array",
|
|
261
197
|
minItems: 1,
|
|
262
198
|
maxItems: 500,
|
|
263
|
-
items: {
|
|
199
|
+
items: {
|
|
200
|
+
type: "string"
|
|
201
|
+
},
|
|
264
202
|
description: "Exact canonical or legacy Item IDs, returned in requested order."
|
|
265
203
|
},
|
|
266
204
|
under: {
|
|
267
205
|
type: "string",
|
|
268
206
|
description: "Exact Space ID or canonical/legacy Item ID to browse under."
|
|
269
207
|
},
|
|
270
|
-
depth: {
|
|
271
|
-
|
|
272
|
-
|
|
208
|
+
depth: {
|
|
209
|
+
type: "integer",
|
|
210
|
+
minimum: 0,
|
|
211
|
+
maximum: 20
|
|
212
|
+
},
|
|
213
|
+
limit: {
|
|
214
|
+
type: "integer",
|
|
215
|
+
minimum: 1,
|
|
216
|
+
maximum: 200
|
|
217
|
+
},
|
|
218
|
+
offset: {
|
|
219
|
+
type: "integer",
|
|
220
|
+
minimum: 0,
|
|
221
|
+
maximum: 5000
|
|
222
|
+
},
|
|
273
223
|
include: {
|
|
274
224
|
type: "array",
|
|
275
225
|
uniqueItems: true,
|
|
@@ -288,7 +238,14 @@ const TOOL_DEFINITIONS = [
|
|
|
288
238
|
}
|
|
289
239
|
}
|
|
290
240
|
},
|
|
291
|
-
required: [
|
|
241
|
+
required: [
|
|
242
|
+
"space_id"
|
|
243
|
+
]
|
|
244
|
+
},
|
|
245
|
+
annotations: {
|
|
246
|
+
readOnlyHint: true,
|
|
247
|
+
idempotentHint: true,
|
|
248
|
+
openWorldHint: true
|
|
292
249
|
}
|
|
293
250
|
},
|
|
294
251
|
{
|
|
@@ -311,64 +268,425 @@ const TOOL_DEFINITIONS = [
|
|
|
311
268
|
type: "array",
|
|
312
269
|
minItems: 1,
|
|
313
270
|
maxItems: 100,
|
|
314
|
-
items:
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
271
|
+
items: {
|
|
272
|
+
oneOf: [
|
|
273
|
+
{
|
|
274
|
+
type: "object",
|
|
275
|
+
additionalProperties: false,
|
|
276
|
+
required: [
|
|
277
|
+
"op",
|
|
278
|
+
"title"
|
|
279
|
+
],
|
|
280
|
+
properties: {
|
|
281
|
+
op: {
|
|
282
|
+
type: "string",
|
|
283
|
+
const: "create"
|
|
284
|
+
},
|
|
285
|
+
title: {
|
|
286
|
+
type: "string"
|
|
287
|
+
},
|
|
288
|
+
content: {
|
|
289
|
+
type: "string"
|
|
290
|
+
},
|
|
291
|
+
type: {
|
|
292
|
+
type: "string",
|
|
293
|
+
enum: [
|
|
294
|
+
"context",
|
|
295
|
+
"task",
|
|
296
|
+
"skill",
|
|
297
|
+
"artifact",
|
|
298
|
+
"insight"
|
|
299
|
+
],
|
|
300
|
+
description: "Durable Item content kind. Skill and insight remain Items/Rooms, not separate product entities."
|
|
301
|
+
},
|
|
302
|
+
parent_id: {
|
|
303
|
+
type: [
|
|
304
|
+
"string",
|
|
305
|
+
"null"
|
|
306
|
+
]
|
|
307
|
+
},
|
|
308
|
+
presentation: {
|
|
309
|
+
type: "string",
|
|
310
|
+
enum: [
|
|
311
|
+
"item",
|
|
312
|
+
"group",
|
|
313
|
+
"project",
|
|
314
|
+
"folder"
|
|
315
|
+
],
|
|
316
|
+
description: "Optional Item presentation; this does not create a separate entity type."
|
|
317
|
+
},
|
|
318
|
+
attributes: {
|
|
319
|
+
type: "object",
|
|
320
|
+
additionalProperties: false,
|
|
321
|
+
properties: {
|
|
322
|
+
status: {
|
|
323
|
+
type: "string",
|
|
324
|
+
enum: [
|
|
325
|
+
"pending",
|
|
326
|
+
"in_progress",
|
|
327
|
+
"completed",
|
|
328
|
+
"invalidated"
|
|
329
|
+
]
|
|
330
|
+
},
|
|
331
|
+
priority: {
|
|
332
|
+
type: "string",
|
|
333
|
+
enum: [
|
|
334
|
+
"urgent",
|
|
335
|
+
"high",
|
|
336
|
+
"medium",
|
|
337
|
+
"low"
|
|
338
|
+
]
|
|
339
|
+
},
|
|
340
|
+
assignee: {
|
|
341
|
+
type: [
|
|
342
|
+
"object",
|
|
343
|
+
"null"
|
|
344
|
+
],
|
|
345
|
+
additionalProperties: false,
|
|
346
|
+
properties: {
|
|
347
|
+
id: {
|
|
348
|
+
type: [
|
|
349
|
+
"string",
|
|
350
|
+
"null"
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
type: {
|
|
354
|
+
type: [
|
|
355
|
+
"string",
|
|
356
|
+
"null"
|
|
357
|
+
],
|
|
358
|
+
enum: [
|
|
359
|
+
"agent",
|
|
360
|
+
"user",
|
|
361
|
+
null
|
|
362
|
+
]
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
required: [
|
|
366
|
+
"id",
|
|
367
|
+
"type"
|
|
368
|
+
]
|
|
369
|
+
},
|
|
370
|
+
pinned: {
|
|
371
|
+
type: "boolean"
|
|
372
|
+
},
|
|
373
|
+
presentation: {
|
|
374
|
+
type: "string",
|
|
375
|
+
enum: [
|
|
376
|
+
"item",
|
|
377
|
+
"group",
|
|
378
|
+
"project",
|
|
379
|
+
"folder"
|
|
380
|
+
],
|
|
381
|
+
description: "Item presentation only; never a separate entity or hierarchy authority."
|
|
382
|
+
},
|
|
383
|
+
icon: {
|
|
384
|
+
type: "string"
|
|
385
|
+
},
|
|
386
|
+
color: {
|
|
387
|
+
type: "string"
|
|
388
|
+
},
|
|
389
|
+
topics: {
|
|
390
|
+
type: "array",
|
|
391
|
+
items: {
|
|
392
|
+
type: "string"
|
|
393
|
+
},
|
|
394
|
+
description: "Topic tags stored on the Item and its topic relationships."
|
|
395
|
+
},
|
|
396
|
+
importance: {
|
|
397
|
+
type: "number",
|
|
398
|
+
minimum: 0,
|
|
399
|
+
maximum: 1,
|
|
400
|
+
description: "Optional importance score for an insight Item."
|
|
401
|
+
},
|
|
402
|
+
confidence: {
|
|
403
|
+
type: "number",
|
|
404
|
+
minimum: 0,
|
|
405
|
+
maximum: 1,
|
|
406
|
+
description: "Optional confidence score for an insight Item."
|
|
407
|
+
},
|
|
408
|
+
category: {
|
|
409
|
+
type: "string",
|
|
410
|
+
description: "Optional category for an insight Item."
|
|
411
|
+
},
|
|
412
|
+
source_type: {
|
|
413
|
+
type: "string",
|
|
414
|
+
description: "Optional provenance category for an insight Item."
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
type: "object",
|
|
422
|
+
additionalProperties: false,
|
|
423
|
+
required: [
|
|
424
|
+
"op",
|
|
425
|
+
"id"
|
|
426
|
+
],
|
|
427
|
+
properties: {
|
|
428
|
+
op: {
|
|
429
|
+
type: "string",
|
|
430
|
+
const: "update"
|
|
431
|
+
},
|
|
432
|
+
id: {
|
|
433
|
+
type: "string"
|
|
434
|
+
},
|
|
435
|
+
title: {
|
|
436
|
+
type: "string"
|
|
437
|
+
},
|
|
438
|
+
content: {
|
|
439
|
+
type: "string"
|
|
440
|
+
},
|
|
441
|
+
attributes: {
|
|
442
|
+
type: "object",
|
|
443
|
+
additionalProperties: false,
|
|
444
|
+
properties: {
|
|
445
|
+
status: {
|
|
446
|
+
type: "string",
|
|
447
|
+
enum: [
|
|
448
|
+
"pending",
|
|
449
|
+
"in_progress",
|
|
450
|
+
"completed",
|
|
451
|
+
"invalidated"
|
|
452
|
+
]
|
|
453
|
+
},
|
|
454
|
+
priority: {
|
|
455
|
+
type: "string",
|
|
456
|
+
enum: [
|
|
457
|
+
"urgent",
|
|
458
|
+
"high",
|
|
459
|
+
"medium",
|
|
460
|
+
"low"
|
|
461
|
+
]
|
|
462
|
+
},
|
|
463
|
+
assignee: {
|
|
464
|
+
type: [
|
|
465
|
+
"object",
|
|
466
|
+
"null"
|
|
467
|
+
],
|
|
468
|
+
additionalProperties: false,
|
|
469
|
+
properties: {
|
|
470
|
+
id: {
|
|
471
|
+
type: [
|
|
472
|
+
"string",
|
|
473
|
+
"null"
|
|
474
|
+
]
|
|
475
|
+
},
|
|
476
|
+
type: {
|
|
477
|
+
type: [
|
|
478
|
+
"string",
|
|
479
|
+
"null"
|
|
480
|
+
],
|
|
481
|
+
enum: [
|
|
482
|
+
"agent",
|
|
483
|
+
"user",
|
|
484
|
+
null
|
|
485
|
+
]
|
|
486
|
+
}
|
|
487
|
+
},
|
|
488
|
+
required: [
|
|
489
|
+
"id",
|
|
490
|
+
"type"
|
|
491
|
+
]
|
|
492
|
+
},
|
|
493
|
+
pinned: {
|
|
494
|
+
type: "boolean"
|
|
495
|
+
},
|
|
496
|
+
presentation: {
|
|
497
|
+
type: "string",
|
|
498
|
+
enum: [
|
|
499
|
+
"item",
|
|
500
|
+
"group",
|
|
501
|
+
"project",
|
|
502
|
+
"folder"
|
|
503
|
+
],
|
|
504
|
+
description: "Item presentation only; never a separate entity or hierarchy authority."
|
|
505
|
+
},
|
|
506
|
+
icon: {
|
|
507
|
+
type: "string"
|
|
508
|
+
},
|
|
509
|
+
color: {
|
|
510
|
+
type: "string"
|
|
511
|
+
},
|
|
512
|
+
topics: {
|
|
513
|
+
type: "array",
|
|
514
|
+
items: {
|
|
515
|
+
type: "string"
|
|
516
|
+
},
|
|
517
|
+
description: "Topic tags stored on the Item and its topic relationships."
|
|
518
|
+
},
|
|
519
|
+
importance: {
|
|
520
|
+
type: "number",
|
|
521
|
+
minimum: 0,
|
|
522
|
+
maximum: 1,
|
|
523
|
+
description: "Optional importance score for an insight Item."
|
|
524
|
+
},
|
|
525
|
+
confidence: {
|
|
526
|
+
type: "number",
|
|
527
|
+
minimum: 0,
|
|
528
|
+
maximum: 1,
|
|
529
|
+
description: "Optional confidence score for an insight Item."
|
|
530
|
+
},
|
|
531
|
+
category: {
|
|
532
|
+
type: "string",
|
|
533
|
+
description: "Optional category for an insight Item."
|
|
534
|
+
},
|
|
535
|
+
source_type: {
|
|
536
|
+
type: "string",
|
|
537
|
+
description: "Optional provenance category for an insight Item."
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
type: "object",
|
|
545
|
+
additionalProperties: false,
|
|
546
|
+
required: [
|
|
547
|
+
"op",
|
|
548
|
+
"new_parent_id"
|
|
549
|
+
],
|
|
550
|
+
oneOf: [
|
|
551
|
+
{
|
|
552
|
+
required: [
|
|
553
|
+
"ids"
|
|
554
|
+
]
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
required: [
|
|
558
|
+
"criteria"
|
|
559
|
+
]
|
|
560
|
+
}
|
|
561
|
+
],
|
|
562
|
+
properties: {
|
|
563
|
+
op: {
|
|
564
|
+
type: "string",
|
|
565
|
+
const: "move"
|
|
566
|
+
},
|
|
567
|
+
ids: {
|
|
568
|
+
type: "array",
|
|
569
|
+
minItems: 1,
|
|
570
|
+
maxItems: 100,
|
|
571
|
+
items: {
|
|
572
|
+
type: "string"
|
|
573
|
+
}
|
|
574
|
+
},
|
|
575
|
+
criteria: {
|
|
576
|
+
type: "object",
|
|
577
|
+
additionalProperties: false,
|
|
578
|
+
minProperties: 1,
|
|
579
|
+
properties: {
|
|
580
|
+
source_parent_id: {
|
|
581
|
+
type: [
|
|
582
|
+
"string",
|
|
583
|
+
"null"
|
|
584
|
+
],
|
|
585
|
+
description: "Select Items whose authoritative parent_id is this Item. Null selects Space-root Items."
|
|
586
|
+
},
|
|
587
|
+
under: {
|
|
588
|
+
type: "string",
|
|
589
|
+
description: "Direct-parent alias for source_parent_id. The current Space ID selects Space-root Items."
|
|
590
|
+
},
|
|
591
|
+
ungrouped: {
|
|
592
|
+
type: "boolean"
|
|
593
|
+
},
|
|
594
|
+
type: {
|
|
595
|
+
type: [
|
|
596
|
+
"string",
|
|
597
|
+
"null"
|
|
598
|
+
]
|
|
599
|
+
},
|
|
600
|
+
status: {
|
|
601
|
+
type: [
|
|
602
|
+
"string",
|
|
603
|
+
"null"
|
|
604
|
+
]
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
new_parent_id: {
|
|
609
|
+
type: [
|
|
610
|
+
"string",
|
|
611
|
+
"null"
|
|
612
|
+
]
|
|
613
|
+
},
|
|
614
|
+
relative_to_id: {
|
|
615
|
+
type: [
|
|
616
|
+
"string",
|
|
617
|
+
"null"
|
|
618
|
+
]
|
|
619
|
+
},
|
|
620
|
+
position: {
|
|
621
|
+
type: [
|
|
622
|
+
"string",
|
|
623
|
+
"null"
|
|
624
|
+
],
|
|
625
|
+
enum: [
|
|
626
|
+
"before",
|
|
627
|
+
"after",
|
|
628
|
+
null
|
|
629
|
+
]
|
|
630
|
+
},
|
|
631
|
+
dry_run: {
|
|
632
|
+
type: "boolean"
|
|
633
|
+
},
|
|
634
|
+
count_only: {
|
|
635
|
+
type: "boolean"
|
|
636
|
+
},
|
|
637
|
+
confirm_token: {
|
|
638
|
+
type: [
|
|
639
|
+
"string",
|
|
640
|
+
"null"
|
|
641
|
+
]
|
|
642
|
+
},
|
|
643
|
+
limit: {
|
|
644
|
+
type: "integer",
|
|
645
|
+
minimum: 1,
|
|
646
|
+
maximum: 500
|
|
647
|
+
},
|
|
648
|
+
operation_id: {
|
|
649
|
+
type: [
|
|
650
|
+
"string",
|
|
651
|
+
"null"
|
|
652
|
+
]
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
type: "object",
|
|
658
|
+
additionalProperties: false,
|
|
659
|
+
required: [
|
|
660
|
+
"op",
|
|
661
|
+
"ids"
|
|
662
|
+
],
|
|
663
|
+
properties: {
|
|
664
|
+
op: {
|
|
665
|
+
type: "string",
|
|
666
|
+
const: "delete"
|
|
667
|
+
},
|
|
668
|
+
ids: {
|
|
669
|
+
type: "array",
|
|
670
|
+
minItems: 1,
|
|
671
|
+
maxItems: 100,
|
|
672
|
+
items: {
|
|
673
|
+
type: "string"
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
]
|
|
679
|
+
}
|
|
369
680
|
}
|
|
370
681
|
},
|
|
371
|
-
required: [
|
|
682
|
+
required: [
|
|
683
|
+
"space_id",
|
|
684
|
+
"operations"
|
|
685
|
+
]
|
|
686
|
+
},
|
|
687
|
+
annotations: {
|
|
688
|
+
destructiveHint: true,
|
|
689
|
+
openWorldHint: true
|
|
372
690
|
}
|
|
373
691
|
},
|
|
374
692
|
{
|
|
@@ -380,7 +698,9 @@ const TOOL_DEFINITIONS = [
|
|
|
380
698
|
properties: {}
|
|
381
699
|
},
|
|
382
700
|
annotations: {
|
|
383
|
-
readOnlyHint: true
|
|
701
|
+
readOnlyHint: true,
|
|
702
|
+
idempotentHint: true,
|
|
703
|
+
openWorldHint: true
|
|
384
704
|
}
|
|
385
705
|
},
|
|
386
706
|
{
|
|
@@ -411,7 +731,15 @@ const TOOL_DEFINITIONS = [
|
|
|
411
731
|
description: "Optional page size from 1 to 200 (default 50)."
|
|
412
732
|
}
|
|
413
733
|
},
|
|
414
|
-
required: [
|
|
734
|
+
required: [
|
|
735
|
+
"space_id",
|
|
736
|
+
"conversation_id"
|
|
737
|
+
]
|
|
738
|
+
},
|
|
739
|
+
annotations: {
|
|
740
|
+
readOnlyHint: true,
|
|
741
|
+
idempotentHint: true,
|
|
742
|
+
openWorldHint: true
|
|
415
743
|
}
|
|
416
744
|
},
|
|
417
745
|
{
|
|
@@ -450,7 +778,13 @@ const TOOL_DEFINITIONS = [
|
|
|
450
778
|
description: "Optional. Defaults to true. When true, the subscription starts caught up at the current latest message."
|
|
451
779
|
}
|
|
452
780
|
},
|
|
453
|
-
required: [
|
|
781
|
+
required: [
|
|
782
|
+
"space_id",
|
|
783
|
+
"conversation_id"
|
|
784
|
+
]
|
|
785
|
+
},
|
|
786
|
+
annotations: {
|
|
787
|
+
openWorldHint: true
|
|
454
788
|
}
|
|
455
789
|
},
|
|
456
790
|
{
|
|
@@ -493,7 +827,14 @@ const TOOL_DEFINITIONS = [
|
|
|
493
827
|
description: "Optional page size from 1 to 200 (default 50)."
|
|
494
828
|
}
|
|
495
829
|
},
|
|
496
|
-
required: [
|
|
830
|
+
required: [
|
|
831
|
+
"space_id"
|
|
832
|
+
]
|
|
833
|
+
},
|
|
834
|
+
annotations: {
|
|
835
|
+
readOnlyHint: true,
|
|
836
|
+
idempotentHint: true,
|
|
837
|
+
openWorldHint: true
|
|
497
838
|
}
|
|
498
839
|
},
|
|
499
840
|
{
|
|
@@ -532,209 +873,13 @@ const TOOL_DEFINITIONS = [
|
|
|
532
873
|
description: "Optional millisecond cursor to advance to. If omitted, the conversation is marked read through its latest message."
|
|
533
874
|
}
|
|
534
875
|
},
|
|
535
|
-
required: [
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
inputSchema: {
|
|
543
|
-
type: "object",
|
|
544
|
-
properties: {
|
|
545
|
-
space_id: {
|
|
546
|
-
type: "string",
|
|
547
|
-
description: "REQUIRED: Space to list groups from (use view_spaces to see available options)"
|
|
548
|
-
}
|
|
549
|
-
},
|
|
550
|
-
required: ["space_id"]
|
|
551
|
-
}
|
|
552
|
-
},
|
|
553
|
-
{
|
|
554
|
-
name: "create_group",
|
|
555
|
-
title: "Create Group",
|
|
556
|
-
description: "Create a new group inside a space.",
|
|
557
|
-
inputSchema: {
|
|
558
|
-
type: "object",
|
|
559
|
-
properties: {
|
|
560
|
-
space_id: {
|
|
561
|
-
type: "string",
|
|
562
|
-
description: "REQUIRED: Space to create the group in."
|
|
563
|
-
},
|
|
564
|
-
name: {
|
|
565
|
-
type: "string",
|
|
566
|
-
description: "Name for the new group."
|
|
567
|
-
}
|
|
568
|
-
},
|
|
569
|
-
required: ["space_id", "name"]
|
|
570
|
-
}
|
|
571
|
-
},
|
|
572
|
-
{
|
|
573
|
-
name: "rename_group",
|
|
574
|
-
title: "Rename Group",
|
|
575
|
-
description: "Rename an existing group.",
|
|
576
|
-
inputSchema: {
|
|
577
|
-
type: "object",
|
|
578
|
-
properties: {
|
|
579
|
-
space_id: {
|
|
580
|
-
type: "string",
|
|
581
|
-
description: "REQUIRED: Space containing the group."
|
|
582
|
-
},
|
|
583
|
-
group_id: {
|
|
584
|
-
type: "string",
|
|
585
|
-
description: "REQUIRED: Group ID to rename."
|
|
586
|
-
},
|
|
587
|
-
name: {
|
|
588
|
-
type: "string",
|
|
589
|
-
description: "REQUIRED: New group name."
|
|
590
|
-
}
|
|
591
|
-
},
|
|
592
|
-
required: ["space_id", "group_id", "name"]
|
|
593
|
-
}
|
|
594
|
-
},
|
|
595
|
-
{
|
|
596
|
-
name: "delete_group",
|
|
597
|
-
title: "Delete Group",
|
|
598
|
-
description: "Delete a group. Projects inside it are preserved and become ungrouped.",
|
|
599
|
-
inputSchema: {
|
|
600
|
-
type: "object",
|
|
601
|
-
properties: {
|
|
602
|
-
space_id: {
|
|
603
|
-
type: "string",
|
|
604
|
-
description: "REQUIRED: Space containing the group."
|
|
605
|
-
},
|
|
606
|
-
group_id: {
|
|
607
|
-
type: "string",
|
|
608
|
-
description: "REQUIRED: Group ID to delete."
|
|
609
|
-
}
|
|
610
|
-
},
|
|
611
|
-
required: ["space_id", "group_id"]
|
|
612
|
-
}
|
|
613
|
-
},
|
|
614
|
-
{
|
|
615
|
-
name: "view_projects",
|
|
616
|
-
title: "View Projects",
|
|
617
|
-
description: "List all projects in a space, including which group each project belongs to.",
|
|
618
|
-
inputSchema: {
|
|
619
|
-
type: "object",
|
|
620
|
-
properties: {
|
|
621
|
-
space_id: {
|
|
622
|
-
type: "string",
|
|
623
|
-
description: "REQUIRED: Space to list projects from (use view_spaces to see available options)"
|
|
624
|
-
}
|
|
625
|
-
},
|
|
626
|
-
required: ["space_id"]
|
|
627
|
-
}
|
|
628
|
-
},
|
|
629
|
-
{
|
|
630
|
-
name: "view_project",
|
|
631
|
-
title: "View Project",
|
|
632
|
-
description: "View a specific project with all its items. Use fetch_items to retrieve full content for specific item IDs.",
|
|
633
|
-
inputSchema: {
|
|
634
|
-
type: "object",
|
|
635
|
-
properties: {
|
|
636
|
-
project_id: {
|
|
637
|
-
type: "string",
|
|
638
|
-
description: "Project ID to view (e.g., 'proj_123...'). Get project IDs from view_projects."
|
|
639
|
-
},
|
|
640
|
-
space_id: {
|
|
641
|
-
type: "string",
|
|
642
|
-
description: "REQUIRED: Space containing the project."
|
|
643
|
-
},
|
|
644
|
-
slug: {
|
|
645
|
-
type: "string",
|
|
646
|
-
description: "Optional: Project slug (URL-friendly name)."
|
|
647
|
-
}
|
|
648
|
-
},
|
|
649
|
-
required: ["space_id"]
|
|
650
|
-
}
|
|
651
|
-
},
|
|
652
|
-
{
|
|
653
|
-
name: "create_project",
|
|
654
|
-
title: "Create Project",
|
|
655
|
-
description: "Create a new project in a space. Optionally place it inside a group immediately.",
|
|
656
|
-
inputSchema: {
|
|
657
|
-
type: "object",
|
|
658
|
-
properties: {
|
|
659
|
-
space_id: {
|
|
660
|
-
type: "string",
|
|
661
|
-
description: "REQUIRED: Space to create the project in."
|
|
662
|
-
},
|
|
663
|
-
name: {
|
|
664
|
-
type: "string",
|
|
665
|
-
description: "REQUIRED: Project name."
|
|
666
|
-
},
|
|
667
|
-
group_id: {
|
|
668
|
-
type: "string",
|
|
669
|
-
description: "Optional: Group ID to place the project inside."
|
|
670
|
-
}
|
|
671
|
-
},
|
|
672
|
-
required: ["space_id", "name"]
|
|
673
|
-
}
|
|
674
|
-
},
|
|
675
|
-
{
|
|
676
|
-
name: "rename_project",
|
|
677
|
-
title: "Rename Project",
|
|
678
|
-
description: "Rename an existing project.",
|
|
679
|
-
inputSchema: {
|
|
680
|
-
type: "object",
|
|
681
|
-
properties: {
|
|
682
|
-
space_id: {
|
|
683
|
-
type: "string",
|
|
684
|
-
description: "REQUIRED: Space containing the project."
|
|
685
|
-
},
|
|
686
|
-
project_id: {
|
|
687
|
-
type: "string",
|
|
688
|
-
description: "REQUIRED: Project ID to rename."
|
|
689
|
-
},
|
|
690
|
-
name: {
|
|
691
|
-
type: "string",
|
|
692
|
-
description: "REQUIRED: New project name."
|
|
693
|
-
}
|
|
694
|
-
},
|
|
695
|
-
required: ["space_id", "project_id", "name"]
|
|
696
|
-
}
|
|
697
|
-
},
|
|
698
|
-
{
|
|
699
|
-
name: "delete_project",
|
|
700
|
-
title: "Delete Project",
|
|
701
|
-
description: "Delete an existing project from a space.",
|
|
702
|
-
inputSchema: {
|
|
703
|
-
type: "object",
|
|
704
|
-
properties: {
|
|
705
|
-
space_id: {
|
|
706
|
-
type: "string",
|
|
707
|
-
description: "REQUIRED: Space containing the project."
|
|
708
|
-
},
|
|
709
|
-
project_id: {
|
|
710
|
-
type: "string",
|
|
711
|
-
description: "REQUIRED: Project ID to delete."
|
|
712
|
-
}
|
|
713
|
-
},
|
|
714
|
-
required: ["space_id", "project_id"]
|
|
715
|
-
}
|
|
716
|
-
},
|
|
717
|
-
{
|
|
718
|
-
name: "assign_project_to_group",
|
|
719
|
-
title: "Assign Project To Group",
|
|
720
|
-
description: "Move a project into a group. Omit group_id to make the project ungrouped.",
|
|
721
|
-
inputSchema: {
|
|
722
|
-
type: "object",
|
|
723
|
-
properties: {
|
|
724
|
-
space_id: {
|
|
725
|
-
type: "string",
|
|
726
|
-
description: "REQUIRED: Space containing the project."
|
|
727
|
-
},
|
|
728
|
-
project_id: {
|
|
729
|
-
type: "string",
|
|
730
|
-
description: "REQUIRED: Project ID to move."
|
|
731
|
-
},
|
|
732
|
-
group_id: {
|
|
733
|
-
type: "string",
|
|
734
|
-
description: "Optional: Target group ID. Omit this to ungroup the project."
|
|
735
|
-
}
|
|
736
|
-
},
|
|
737
|
-
required: ["space_id", "project_id"]
|
|
876
|
+
required: [
|
|
877
|
+
"space_id",
|
|
878
|
+
"conversation_id"
|
|
879
|
+
]
|
|
880
|
+
},
|
|
881
|
+
annotations: {
|
|
882
|
+
openWorldHint: true
|
|
738
883
|
}
|
|
739
884
|
},
|
|
740
885
|
{
|
|
@@ -744,277 +889,11 @@ const TOOL_DEFINITIONS = [
|
|
|
744
889
|
inputSchema: {
|
|
745
890
|
type: "object",
|
|
746
891
|
properties: {}
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
description: "View detailed information about a space including configuration and overview. Use this when you need the exact active scope before saving memory or communicating and collaborating with Tan agent.",
|
|
753
|
-
inputSchema: {
|
|
754
|
-
type: "object",
|
|
755
|
-
properties: {
|
|
756
|
-
space_id: {
|
|
757
|
-
type: "string",
|
|
758
|
-
description: "ID of space to get info for"
|
|
759
|
-
}
|
|
760
|
-
},
|
|
761
|
-
required: ["space_id"]
|
|
762
|
-
}
|
|
763
|
-
},
|
|
764
|
-
{
|
|
765
|
-
name: "update_memory",
|
|
766
|
-
title: "Update Memory",
|
|
767
|
-
description: "Add, update, or delete items in a space. Supports any combination of operations in a single call.\n\nIMPORTANT: Include at least one operation: add, update, or delete.\n\nTIPS FOR RICH MEMORY: The more context you provide, the smarter the system becomes:\n- Include WHY something matters, not just WHAT it is\n- Note user preferences, patterns, and approaches you observe\n- Describe repeatable workflows as skills (step-by-step procedures)\n- Link related items using parent_id or linkedItemIds\n- Prefer updating an existing related memory when the new information refines or extends it instead of creating a duplicate\n- Use descriptive titles that capture the essence\n- Add context about decisions, reasoning, and outcomes\n- Every write should reassess the surrounding scope and improve organization when possible: prefer updating, merging, linking, reparenting, or retitling existing items over spraying disconnected new ones\n\nUse project_id and group_id when you know the active project or group scope. The system learns from patterns - sharing how the user works helps it anticipate their needs.",
|
|
768
|
-
inputSchema: {
|
|
769
|
-
type: "object",
|
|
770
|
-
properties: {
|
|
771
|
-
space_id: {
|
|
772
|
-
type: "string",
|
|
773
|
-
description: "REQUIRED: Space to operate in (use view_spaces to see available options)"
|
|
774
|
-
},
|
|
775
|
-
project_id: {
|
|
776
|
-
type: "string",
|
|
777
|
-
description: "Optional: Project to add items to. All items created in this request will be linked to this project and appear on its canvas. Get project IDs from view_projects or search."
|
|
778
|
-
},
|
|
779
|
-
group_id: {
|
|
780
|
-
type: "string",
|
|
781
|
-
description: "Optional: Group to add items to. Use this alongside project_id when the current item belongs in a group."
|
|
782
|
-
},
|
|
783
|
-
add: {
|
|
784
|
-
type: "object",
|
|
785
|
-
description: "Add new items. ALWAYS pass 'type' field on each item to skip expensive auto-classification.",
|
|
786
|
-
properties: {
|
|
787
|
-
items: {
|
|
788
|
-
type: "array",
|
|
789
|
-
items: {
|
|
790
|
-
type: "object",
|
|
791
|
-
properties: {
|
|
792
|
-
title: { type: "string", description: "Item title" },
|
|
793
|
-
content: {
|
|
794
|
-
type: "string",
|
|
795
|
-
description: "Item content. VALUABLE CONTENT INCLUDES: decisions and their reasoning, user preferences observed, lessons learned, process descriptions, meeting outcomes, project context, expertise areas, working patterns, and anything that would help future sessions understand this user/space better."
|
|
796
|
-
},
|
|
797
|
-
type: {
|
|
798
|
-
type: "string",
|
|
799
|
-
enum: ["task", "context", "skill", "document", "insight"],
|
|
800
|
-
description: "REQUIRED: Item type. 'task' for actionable items, 'context' for knowledge/facts, 'skill' for workflows, 'document' for long-form reference material, 'insight' for durable patterns/principles. Omitting this triggers expensive auto-classification."
|
|
801
|
-
},
|
|
802
|
-
subtasks: {
|
|
803
|
-
type: "array",
|
|
804
|
-
items: {
|
|
805
|
-
type: "object",
|
|
806
|
-
properties: {
|
|
807
|
-
title: { type: "string", description: "Subtask title" },
|
|
808
|
-
content: {
|
|
809
|
-
type: "string",
|
|
810
|
-
description: "Subtask details"
|
|
811
|
-
}
|
|
812
|
-
},
|
|
813
|
-
required: ["title"]
|
|
814
|
-
},
|
|
815
|
-
description: "Optional: Array of subtasks for task items. Each subtask becomes a linked child task."
|
|
816
|
-
},
|
|
817
|
-
parent_id: {
|
|
818
|
-
type: "string",
|
|
819
|
-
description: "Optional: Parent item ID (mem_*, task_*, or skill_*). Links this item as a child of the parent."
|
|
820
|
-
},
|
|
821
|
-
assignee_id: {
|
|
822
|
-
type: "string",
|
|
823
|
-
description: "Optional: Assignee ID (user or agent ID) for task assignment on creation."
|
|
824
|
-
},
|
|
825
|
-
assignee_type: {
|
|
826
|
-
type: "string",
|
|
827
|
-
enum: ["agent", "user"],
|
|
828
|
-
description: "Optional: Type of assignee (agent or user). Required if assignee_id provided."
|
|
829
|
-
},
|
|
830
|
-
linkedItemIds: {
|
|
831
|
-
type: "array",
|
|
832
|
-
items: { type: "string" },
|
|
833
|
-
description: "Optional: Array of item IDs to create explicit LINKED_TO relationships with."
|
|
834
|
-
}
|
|
835
|
-
},
|
|
836
|
-
required: ["title", "content", "type"]
|
|
837
|
-
},
|
|
838
|
-
description: "Array of items to add. ALWAYS pass 'type' field to skip auto-classification. System suggests 1-3 relevant topics based on content. Tasks can include subtasks array for hierarchical task management. Before adding, check whether updating, merging, linking, or reparenting an existing item would keep the touched scope cleaner."
|
|
839
|
-
}
|
|
840
|
-
}
|
|
841
|
-
},
|
|
842
|
-
update: {
|
|
843
|
-
type: "object",
|
|
844
|
-
description: "Update existing items (context, tasks, or skills) - system detects type from ID prefix",
|
|
845
|
-
properties: {
|
|
846
|
-
items: {
|
|
847
|
-
type: "array",
|
|
848
|
-
items: {
|
|
849
|
-
type: "object",
|
|
850
|
-
properties: {
|
|
851
|
-
id: {
|
|
852
|
-
type: "string",
|
|
853
|
-
description: "Item ID to update (mem_* for context, task_* for tasks, skill_* for skills)"
|
|
854
|
-
},
|
|
855
|
-
title: {
|
|
856
|
-
type: "string",
|
|
857
|
-
description: "New title (optional)"
|
|
858
|
-
},
|
|
859
|
-
content: {
|
|
860
|
-
type: "string",
|
|
861
|
-
description: "New content (optional)"
|
|
862
|
-
},
|
|
863
|
-
topics: {
|
|
864
|
-
type: "array",
|
|
865
|
-
items: { type: "string" },
|
|
866
|
-
description: "New topics (optional)"
|
|
867
|
-
},
|
|
868
|
-
status: {
|
|
869
|
-
type: "string",
|
|
870
|
-
enum: [
|
|
871
|
-
"pending",
|
|
872
|
-
"in_progress",
|
|
873
|
-
"completed",
|
|
874
|
-
"invalidated"
|
|
875
|
-
],
|
|
876
|
-
description: "New status (optional, tasks only)"
|
|
877
|
-
},
|
|
878
|
-
priority: {
|
|
879
|
-
type: "string",
|
|
880
|
-
enum: ["urgent", "high", "medium", "low"],
|
|
881
|
-
description: "New priority (optional, tasks only)"
|
|
882
|
-
},
|
|
883
|
-
assignee_id: {
|
|
884
|
-
type: "string",
|
|
885
|
-
description: "Assignee ID (user or agent ID). Set to null to unassign. (optional, tasks only)"
|
|
886
|
-
},
|
|
887
|
-
assignee_type: {
|
|
888
|
-
type: "string",
|
|
889
|
-
enum: ["agent", "user"],
|
|
890
|
-
description: "Type of assignee (optional, tasks only)"
|
|
891
|
-
},
|
|
892
|
-
parent_id: {
|
|
893
|
-
type: "string",
|
|
894
|
-
description: "Optional: Parent item ID (mem_*, task_*, or skill_*). Links this item as a child of the parent."
|
|
895
|
-
},
|
|
896
|
-
linkedItemIds: {
|
|
897
|
-
type: "array",
|
|
898
|
-
items: { type: "string" },
|
|
899
|
-
description: "Optional: Array of item IDs to create explicit LINKED_TO relationships with."
|
|
900
|
-
}
|
|
901
|
-
},
|
|
902
|
-
required: ["id"]
|
|
903
|
-
},
|
|
904
|
-
description: "Array of items to update. Type automatically detected from ID prefix (mem_* = context, task_* = task, skill_* = skill). For context/skill items, status/priority/assignee are ignored. Treat updates as a chance to improve title clarity, links, parent placement, deduplication, and overall organization of the touched scope."
|
|
905
|
-
}
|
|
906
|
-
}
|
|
907
|
-
},
|
|
908
|
-
delete: {
|
|
909
|
-
type: "object",
|
|
910
|
-
description: "Delete items by ID - system detects type from ID prefix",
|
|
911
|
-
properties: {
|
|
912
|
-
item_ids: {
|
|
913
|
-
type: "array",
|
|
914
|
-
items: { type: "string" },
|
|
915
|
-
description: "Array of item IDs to delete (mem_* for context, task_* for tasks, skill_* for skills). Type automatically detected from ID prefix."
|
|
916
|
-
}
|
|
917
|
-
}
|
|
918
|
-
}
|
|
919
|
-
},
|
|
920
|
-
required: ["space_id"]
|
|
921
|
-
}
|
|
922
|
-
},
|
|
923
|
-
{
|
|
924
|
-
name: "update_folders",
|
|
925
|
-
title: "Update Folders",
|
|
926
|
-
description: "Unified folder management. Supports list, create, rename, move_items, and delete operations in one call so external MCP callers can organize memory the same way as the in-app assistant.",
|
|
927
|
-
inputSchema: {
|
|
928
|
-
type: "object",
|
|
929
|
-
properties: {
|
|
930
|
-
space_id: {
|
|
931
|
-
type: "string",
|
|
932
|
-
description: "REQUIRED: Space to operate in (use view_spaces to see available options)."
|
|
933
|
-
},
|
|
934
|
-
list: {
|
|
935
|
-
type: "object",
|
|
936
|
-
description: "Optional list operation. Use this first to discover existing folders and IDs.",
|
|
937
|
-
properties: {
|
|
938
|
-
section_type: {
|
|
939
|
-
type: "string",
|
|
940
|
-
enum: [
|
|
941
|
-
"projects",
|
|
942
|
-
"insights",
|
|
943
|
-
"insights_space",
|
|
944
|
-
"insights_user",
|
|
945
|
-
"agents",
|
|
946
|
-
"skills",
|
|
947
|
-
"dashboard"
|
|
948
|
-
],
|
|
949
|
-
description: "Optional: filter folders by sidebar section."
|
|
950
|
-
}
|
|
951
|
-
}
|
|
952
|
-
},
|
|
953
|
-
create: {
|
|
954
|
-
type: "array",
|
|
955
|
-
description: "Optional create operations.",
|
|
956
|
-
items: {
|
|
957
|
-
type: "object",
|
|
958
|
-
properties: {
|
|
959
|
-
name: { type: "string", description: "Folder name." },
|
|
960
|
-
section_type: {
|
|
961
|
-
type: "string",
|
|
962
|
-
enum: [
|
|
963
|
-
"projects",
|
|
964
|
-
"insights",
|
|
965
|
-
"insights_space",
|
|
966
|
-
"insights_user",
|
|
967
|
-
"agents",
|
|
968
|
-
"skills",
|
|
969
|
-
"dashboard"
|
|
970
|
-
],
|
|
971
|
-
description: "Sidebar section this folder belongs to."
|
|
972
|
-
},
|
|
973
|
-
parent_id: {
|
|
974
|
-
type: "string",
|
|
975
|
-
description: "Optional parent folder ID for nesting."
|
|
976
|
-
}
|
|
977
|
-
},
|
|
978
|
-
required: ["name", "section_type"]
|
|
979
|
-
}
|
|
980
|
-
},
|
|
981
|
-
rename: {
|
|
982
|
-
type: "array",
|
|
983
|
-
description: "Optional rename operations.",
|
|
984
|
-
items: {
|
|
985
|
-
type: "object",
|
|
986
|
-
properties: {
|
|
987
|
-
folder_id: {
|
|
988
|
-
type: "string",
|
|
989
|
-
description: "Folder ID to rename."
|
|
990
|
-
},
|
|
991
|
-
new_name: { type: "string", description: "New folder name." }
|
|
992
|
-
},
|
|
993
|
-
required: ["folder_id", "new_name"]
|
|
994
|
-
}
|
|
995
|
-
},
|
|
996
|
-
move_items: {
|
|
997
|
-
type: "array",
|
|
998
|
-
description: "Optional item move operations. Omit folder_id to move an item back to root.",
|
|
999
|
-
items: {
|
|
1000
|
-
type: "object",
|
|
1001
|
-
properties: {
|
|
1002
|
-
item_id: { type: "string", description: "Item ID to move." },
|
|
1003
|
-
folder_id: {
|
|
1004
|
-
type: "string",
|
|
1005
|
-
description: "Optional target folder ID. Omit this field to remove the item from its current folder."
|
|
1006
|
-
}
|
|
1007
|
-
},
|
|
1008
|
-
required: ["item_id"]
|
|
1009
|
-
}
|
|
1010
|
-
},
|
|
1011
|
-
delete: {
|
|
1012
|
-
type: "array",
|
|
1013
|
-
description: "Optional delete operations (folder IDs).",
|
|
1014
|
-
items: { type: "string" }
|
|
1015
|
-
}
|
|
1016
|
-
},
|
|
1017
|
-
required: ["space_id"]
|
|
892
|
+
},
|
|
893
|
+
annotations: {
|
|
894
|
+
readOnlyHint: true,
|
|
895
|
+
idempotentHint: true,
|
|
896
|
+
openWorldHint: true
|
|
1018
897
|
}
|
|
1019
898
|
},
|
|
1020
899
|
{
|
|
@@ -1098,86 +977,15 @@ const TOOL_DEFINITIONS = [
|
|
|
1098
977
|
description: "Optional IANA timezone for assistant context."
|
|
1099
978
|
}
|
|
1100
979
|
},
|
|
1101
|
-
required: [
|
|
980
|
+
required: [
|
|
981
|
+
"space_id",
|
|
982
|
+
"content",
|
|
983
|
+
"idempotency_key"
|
|
984
|
+
]
|
|
985
|
+
},
|
|
986
|
+
annotations: {
|
|
987
|
+
openWorldHint: true
|
|
1102
988
|
}
|
|
1103
|
-
},
|
|
1104
|
-
...HIGHQ_DIRECT_TOOLS
|
|
1105
|
-
// DISABLED: memory_action tool is broken and causing errors.
|
|
1106
|
-
// Pending OHM protocol fix. Use update_memory, search, or fetch_items instead.
|
|
1107
|
-
// {
|
|
1108
|
-
// name: "memory_action",
|
|
1109
|
-
// title: "Memory Action (OHM Protocol)",
|
|
1110
|
-
// description:
|
|
1111
|
-
// "Perform memory operations using natural language. Add, update, delete items, fetch details, view topics. The system parses your intent into structured actions. Do NOT use for search - context comes from background activation.",
|
|
1112
|
-
// inputSchema: {
|
|
1113
|
-
// type: "object",
|
|
1114
|
-
// properties: {
|
|
1115
|
-
// space_id: {
|
|
1116
|
-
// type: "string",
|
|
1117
|
-
// description: "The space to operate in"
|
|
1118
|
-
// },
|
|
1119
|
-
// intent: {
|
|
1120
|
-
// type: "string",
|
|
1121
|
-
// description:
|
|
1122
|
-
// "Natural language description of the memory operation (e.g., 'add a task to fix the login bug', 'mark task_123 as completed', 'delete mem_456')"
|
|
1123
|
-
// }
|
|
1124
|
-
// },
|
|
1125
|
-
// required: ["space_id", "intent"]
|
|
1126
|
-
// }
|
|
1127
|
-
// }
|
|
1128
|
-
];
|
|
1129
|
-
// Retain implementation dispatch for stored calls and older clients while
|
|
1130
|
-
// removing the superseded names from model-facing MCP discovery.
|
|
1131
|
-
const PUBLIC_COMPATIBILITY_ALIASES = new Set([
|
|
1132
|
-
"assign_project_to_group",
|
|
1133
|
-
"create_group",
|
|
1134
|
-
"create_project",
|
|
1135
|
-
"delete_group",
|
|
1136
|
-
"delete_project",
|
|
1137
|
-
"fetch_items",
|
|
1138
|
-
"read_artifact",
|
|
1139
|
-
"rename_group",
|
|
1140
|
-
"rename_project",
|
|
1141
|
-
"update_folders",
|
|
1142
|
-
"update_memory",
|
|
1143
|
-
"view_groups",
|
|
1144
|
-
"view_project",
|
|
1145
|
-
"view_projects",
|
|
1146
|
-
"view_space"
|
|
1147
|
-
]);
|
|
1148
|
-
const READ_ONLY_TOOLS = new Set([
|
|
1149
|
-
"search",
|
|
1150
|
-
"get_items",
|
|
1151
|
-
"usage_status",
|
|
1152
|
-
"fetch_conversation_messages",
|
|
1153
|
-
"list_conversation_inbox",
|
|
1154
|
-
"view_spaces",
|
|
1155
|
-
"view_space",
|
|
1156
|
-
"HIGHQ_LIST_PENDING_REVIEWS",
|
|
1157
|
-
"HIGHQ_RESOLVE_FOLDER_PATH",
|
|
1158
|
-
"HIGHQ_LIST_FOLDER_FILES",
|
|
1159
|
-
"HIGHQ_GET_FILE_CONTENT"
|
|
1160
|
-
]);
|
|
1161
|
-
const DESTRUCTIVE_TOOLS = new Set(["update_items", "HIGHQ_FILL_LEGAL_REPORT"]);
|
|
1162
|
-
const IDEMPOTENT_TOOLS = new Set([
|
|
1163
|
-
"search",
|
|
1164
|
-
"get_items",
|
|
1165
|
-
"usage_status",
|
|
1166
|
-
"fetch_conversation_messages",
|
|
1167
|
-
"list_conversation_inbox",
|
|
1168
|
-
"view_spaces",
|
|
1169
|
-
"view_space",
|
|
1170
|
-
"HIGHQ_LIST_PENDING_REVIEWS",
|
|
1171
|
-
"HIGHQ_RESOLVE_FOLDER_PATH",
|
|
1172
|
-
"HIGHQ_LIST_FOLDER_FILES",
|
|
1173
|
-
"HIGHQ_GET_FILE_CONTENT"
|
|
1174
|
-
]);
|
|
1175
|
-
export const TOOLS = TOOL_DEFINITIONS.filter((tool) => !PUBLIC_COMPATIBILITY_ALIASES.has(tool.name)).map((tool) => ({
|
|
1176
|
-
...tool,
|
|
1177
|
-
annotations: {
|
|
1178
|
-
...(READ_ONLY_TOOLS.has(tool.name) ? { readOnlyHint: true } : {}),
|
|
1179
|
-
...(DESTRUCTIVE_TOOLS.has(tool.name) ? { destructiveHint: true } : {}),
|
|
1180
|
-
...(IDEMPOTENT_TOOLS.has(tool.name) ? { idempotentHint: true } : {}),
|
|
1181
|
-
openWorldHint: true
|
|
1182
989
|
}
|
|
1183
|
-
|
|
990
|
+
];
|
|
991
|
+
export const TOOLS = [...BASE_TOOLS, ...HIGHQ_DIRECT_TOOLS];
|