tana-mcp-codemode 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +344 -0
- package/package.json +54 -0
- package/src/api/client.ts +243 -0
- package/src/api/tana.ts +332 -0
- package/src/api/types.ts +207 -0
- package/src/generated/api.d.ts +1425 -0
- package/src/index.ts +90 -0
- package/src/prompts.ts +81 -0
- package/src/sandbox/executor.ts +270 -0
- package/src/sandbox/stdin.ts +69 -0
- package/src/sandbox/workflow.ts +197 -0
- package/src/storage/history.ts +202 -0
- package/src/types.ts +32 -0
|
@@ -0,0 +1,1425 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by openapi-typescript.
|
|
3
|
+
* Do not make direct changes to the file.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export interface paths {
|
|
7
|
+
"/health": {
|
|
8
|
+
parameters: {
|
|
9
|
+
query?: never;
|
|
10
|
+
header?: never;
|
|
11
|
+
path?: never;
|
|
12
|
+
cookie?: never;
|
|
13
|
+
};
|
|
14
|
+
get: operations["health.ping"];
|
|
15
|
+
put?: never;
|
|
16
|
+
post?: never;
|
|
17
|
+
delete?: never;
|
|
18
|
+
options?: never;
|
|
19
|
+
head?: never;
|
|
20
|
+
patch?: never;
|
|
21
|
+
trace?: never;
|
|
22
|
+
};
|
|
23
|
+
"/workspaces": {
|
|
24
|
+
parameters: {
|
|
25
|
+
query?: never;
|
|
26
|
+
header?: never;
|
|
27
|
+
path?: never;
|
|
28
|
+
cookie?: never;
|
|
29
|
+
};
|
|
30
|
+
get: operations["workspaces.list"];
|
|
31
|
+
put?: never;
|
|
32
|
+
post?: never;
|
|
33
|
+
delete?: never;
|
|
34
|
+
options?: never;
|
|
35
|
+
head?: never;
|
|
36
|
+
patch?: never;
|
|
37
|
+
trace?: never;
|
|
38
|
+
};
|
|
39
|
+
"/nodes/search": {
|
|
40
|
+
parameters: {
|
|
41
|
+
query?: never;
|
|
42
|
+
header?: never;
|
|
43
|
+
path?: never;
|
|
44
|
+
cookie?: never;
|
|
45
|
+
};
|
|
46
|
+
get: operations["nodes.search"];
|
|
47
|
+
put?: never;
|
|
48
|
+
post?: never;
|
|
49
|
+
delete?: never;
|
|
50
|
+
options?: never;
|
|
51
|
+
head?: never;
|
|
52
|
+
patch?: never;
|
|
53
|
+
trace?: never;
|
|
54
|
+
};
|
|
55
|
+
"/nodes/{nodeId}": {
|
|
56
|
+
parameters: {
|
|
57
|
+
query?: never;
|
|
58
|
+
header?: never;
|
|
59
|
+
path?: never;
|
|
60
|
+
cookie?: never;
|
|
61
|
+
};
|
|
62
|
+
get: operations["nodes.read"];
|
|
63
|
+
put?: never;
|
|
64
|
+
post?: never;
|
|
65
|
+
delete?: never;
|
|
66
|
+
options?: never;
|
|
67
|
+
head?: never;
|
|
68
|
+
patch?: never;
|
|
69
|
+
trace?: never;
|
|
70
|
+
};
|
|
71
|
+
"/nodes/{nodeId}/children": {
|
|
72
|
+
parameters: {
|
|
73
|
+
query?: never;
|
|
74
|
+
header?: never;
|
|
75
|
+
path?: never;
|
|
76
|
+
cookie?: never;
|
|
77
|
+
};
|
|
78
|
+
get: operations["nodes.getChildren"];
|
|
79
|
+
put?: never;
|
|
80
|
+
post?: never;
|
|
81
|
+
delete?: never;
|
|
82
|
+
options?: never;
|
|
83
|
+
head?: never;
|
|
84
|
+
patch?: never;
|
|
85
|
+
trace?: never;
|
|
86
|
+
};
|
|
87
|
+
"/nodes/{nodeId}/tags": {
|
|
88
|
+
parameters: {
|
|
89
|
+
query?: never;
|
|
90
|
+
header?: never;
|
|
91
|
+
path?: never;
|
|
92
|
+
cookie?: never;
|
|
93
|
+
};
|
|
94
|
+
get?: never;
|
|
95
|
+
put?: never;
|
|
96
|
+
post: operations["nodes.updateTags"];
|
|
97
|
+
delete?: never;
|
|
98
|
+
options?: never;
|
|
99
|
+
head?: never;
|
|
100
|
+
patch?: never;
|
|
101
|
+
trace?: never;
|
|
102
|
+
};
|
|
103
|
+
"/nodes/{nodeId}/fields/{attributeId}/option": {
|
|
104
|
+
parameters: {
|
|
105
|
+
query?: never;
|
|
106
|
+
header?: never;
|
|
107
|
+
path?: never;
|
|
108
|
+
cookie?: never;
|
|
109
|
+
};
|
|
110
|
+
get?: never;
|
|
111
|
+
put?: never;
|
|
112
|
+
post: operations["nodes.setFieldOption"];
|
|
113
|
+
delete?: never;
|
|
114
|
+
options?: never;
|
|
115
|
+
head?: never;
|
|
116
|
+
patch?: never;
|
|
117
|
+
trace?: never;
|
|
118
|
+
};
|
|
119
|
+
"/nodes/{nodeId}/fields/{attributeId}/content": {
|
|
120
|
+
parameters: {
|
|
121
|
+
query?: never;
|
|
122
|
+
header?: never;
|
|
123
|
+
path?: never;
|
|
124
|
+
cookie?: never;
|
|
125
|
+
};
|
|
126
|
+
get?: never;
|
|
127
|
+
put?: never;
|
|
128
|
+
post: operations["nodes.setFieldContent"];
|
|
129
|
+
delete?: never;
|
|
130
|
+
options?: never;
|
|
131
|
+
head?: never;
|
|
132
|
+
patch?: never;
|
|
133
|
+
trace?: never;
|
|
134
|
+
};
|
|
135
|
+
"/nodes/{parentNodeId}/import": {
|
|
136
|
+
parameters: {
|
|
137
|
+
query?: never;
|
|
138
|
+
header?: never;
|
|
139
|
+
path?: never;
|
|
140
|
+
cookie?: never;
|
|
141
|
+
};
|
|
142
|
+
get?: never;
|
|
143
|
+
put?: never;
|
|
144
|
+
post: operations["nodes.importTanaPaste"];
|
|
145
|
+
delete?: never;
|
|
146
|
+
options?: never;
|
|
147
|
+
head?: never;
|
|
148
|
+
patch?: never;
|
|
149
|
+
trace?: never;
|
|
150
|
+
};
|
|
151
|
+
"/nodes/{nodeId}/trash": {
|
|
152
|
+
parameters: {
|
|
153
|
+
query?: never;
|
|
154
|
+
header?: never;
|
|
155
|
+
path?: never;
|
|
156
|
+
cookie?: never;
|
|
157
|
+
};
|
|
158
|
+
get?: never;
|
|
159
|
+
put?: never;
|
|
160
|
+
post: operations["nodes.trash"];
|
|
161
|
+
delete?: never;
|
|
162
|
+
options?: never;
|
|
163
|
+
head?: never;
|
|
164
|
+
patch?: never;
|
|
165
|
+
trace?: never;
|
|
166
|
+
};
|
|
167
|
+
"/nodes/{nodeId}/done": {
|
|
168
|
+
parameters: {
|
|
169
|
+
query?: never;
|
|
170
|
+
header?: never;
|
|
171
|
+
path?: never;
|
|
172
|
+
cookie?: never;
|
|
173
|
+
};
|
|
174
|
+
get?: never;
|
|
175
|
+
put?: never;
|
|
176
|
+
post: operations["nodes.setDone"];
|
|
177
|
+
delete?: never;
|
|
178
|
+
options?: never;
|
|
179
|
+
head?: never;
|
|
180
|
+
patch?: never;
|
|
181
|
+
trace?: never;
|
|
182
|
+
};
|
|
183
|
+
"/nodes/{nodeId}/update": {
|
|
184
|
+
parameters: {
|
|
185
|
+
query?: never;
|
|
186
|
+
header?: never;
|
|
187
|
+
path?: never;
|
|
188
|
+
cookie?: never;
|
|
189
|
+
};
|
|
190
|
+
get?: never;
|
|
191
|
+
put?: never;
|
|
192
|
+
post: operations["nodes.update"];
|
|
193
|
+
delete?: never;
|
|
194
|
+
options?: never;
|
|
195
|
+
head?: never;
|
|
196
|
+
patch?: never;
|
|
197
|
+
trace?: never;
|
|
198
|
+
};
|
|
199
|
+
"/workspaces/{workspaceId}/tags": {
|
|
200
|
+
parameters: {
|
|
201
|
+
query?: never;
|
|
202
|
+
header?: never;
|
|
203
|
+
path?: never;
|
|
204
|
+
cookie?: never;
|
|
205
|
+
};
|
|
206
|
+
get: operations["tags.list"];
|
|
207
|
+
put?: never;
|
|
208
|
+
post: operations["tags.create"];
|
|
209
|
+
delete?: never;
|
|
210
|
+
options?: never;
|
|
211
|
+
head?: never;
|
|
212
|
+
patch?: never;
|
|
213
|
+
trace?: never;
|
|
214
|
+
};
|
|
215
|
+
"/tags/{tagId}/schema": {
|
|
216
|
+
parameters: {
|
|
217
|
+
query?: never;
|
|
218
|
+
header?: never;
|
|
219
|
+
path?: never;
|
|
220
|
+
cookie?: never;
|
|
221
|
+
};
|
|
222
|
+
get: operations["tags.getSchema"];
|
|
223
|
+
put?: never;
|
|
224
|
+
post?: never;
|
|
225
|
+
delete?: never;
|
|
226
|
+
options?: never;
|
|
227
|
+
head?: never;
|
|
228
|
+
patch?: never;
|
|
229
|
+
trace?: never;
|
|
230
|
+
};
|
|
231
|
+
"/tags/{tagId}/fields": {
|
|
232
|
+
parameters: {
|
|
233
|
+
query?: never;
|
|
234
|
+
header?: never;
|
|
235
|
+
path?: never;
|
|
236
|
+
cookie?: never;
|
|
237
|
+
};
|
|
238
|
+
get?: never;
|
|
239
|
+
put?: never;
|
|
240
|
+
post: operations["tags.addField"];
|
|
241
|
+
delete?: never;
|
|
242
|
+
options?: never;
|
|
243
|
+
head?: never;
|
|
244
|
+
patch?: never;
|
|
245
|
+
trace?: never;
|
|
246
|
+
};
|
|
247
|
+
"/tags/{tagId}/checkbox": {
|
|
248
|
+
parameters: {
|
|
249
|
+
query?: never;
|
|
250
|
+
header?: never;
|
|
251
|
+
path?: never;
|
|
252
|
+
cookie?: never;
|
|
253
|
+
};
|
|
254
|
+
get?: never;
|
|
255
|
+
put?: never;
|
|
256
|
+
post: operations["tags.setCheckbox"];
|
|
257
|
+
delete?: never;
|
|
258
|
+
options?: never;
|
|
259
|
+
head?: never;
|
|
260
|
+
patch?: never;
|
|
261
|
+
trace?: never;
|
|
262
|
+
};
|
|
263
|
+
"/workspaces/{workspaceId}/calendar/node": {
|
|
264
|
+
parameters: {
|
|
265
|
+
query?: never;
|
|
266
|
+
header?: never;
|
|
267
|
+
path?: never;
|
|
268
|
+
cookie?: never;
|
|
269
|
+
};
|
|
270
|
+
get: operations["calendar.getNodeId"];
|
|
271
|
+
put?: never;
|
|
272
|
+
post?: never;
|
|
273
|
+
delete?: never;
|
|
274
|
+
options?: never;
|
|
275
|
+
head?: never;
|
|
276
|
+
patch?: never;
|
|
277
|
+
trace?: never;
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
export type webhooks = Record<string, never>;
|
|
281
|
+
export interface components {
|
|
282
|
+
schemas: never;
|
|
283
|
+
responses: never;
|
|
284
|
+
parameters: never;
|
|
285
|
+
requestBodies: never;
|
|
286
|
+
headers: never;
|
|
287
|
+
pathItems: never;
|
|
288
|
+
}
|
|
289
|
+
export type $defs = Record<string, never>;
|
|
290
|
+
export interface operations {
|
|
291
|
+
"health.ping": {
|
|
292
|
+
parameters: {
|
|
293
|
+
query?: never;
|
|
294
|
+
header?: never;
|
|
295
|
+
path?: never;
|
|
296
|
+
cookie?: never;
|
|
297
|
+
};
|
|
298
|
+
requestBody?: never;
|
|
299
|
+
responses: {
|
|
300
|
+
/** @description OK */
|
|
301
|
+
200: {
|
|
302
|
+
headers: {
|
|
303
|
+
[name: string]: unknown;
|
|
304
|
+
};
|
|
305
|
+
content: {
|
|
306
|
+
"application/json": {
|
|
307
|
+
/** @enum {unknown} */
|
|
308
|
+
status: "ok" | "degraded";
|
|
309
|
+
timestamp: string;
|
|
310
|
+
nodeSpaceReady: boolean;
|
|
311
|
+
};
|
|
312
|
+
};
|
|
313
|
+
};
|
|
314
|
+
};
|
|
315
|
+
};
|
|
316
|
+
"workspaces.list": {
|
|
317
|
+
parameters: {
|
|
318
|
+
query?: never;
|
|
319
|
+
header?: never;
|
|
320
|
+
path?: never;
|
|
321
|
+
cookie?: never;
|
|
322
|
+
};
|
|
323
|
+
requestBody?: never;
|
|
324
|
+
responses: {
|
|
325
|
+
/** @description OK */
|
|
326
|
+
200: {
|
|
327
|
+
headers: {
|
|
328
|
+
[name: string]: unknown;
|
|
329
|
+
};
|
|
330
|
+
content: {
|
|
331
|
+
"application/json": {
|
|
332
|
+
id: string;
|
|
333
|
+
name: string;
|
|
334
|
+
homeNodeId: string;
|
|
335
|
+
}[];
|
|
336
|
+
};
|
|
337
|
+
};
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
"nodes.search": {
|
|
341
|
+
parameters: {
|
|
342
|
+
query: {
|
|
343
|
+
query: {
|
|
344
|
+
/** @description All conditions must match */
|
|
345
|
+
and?: {
|
|
346
|
+
/** @description All conditions must match */
|
|
347
|
+
and?: unknown[];
|
|
348
|
+
/** @description At least one condition must match */
|
|
349
|
+
or?: unknown[];
|
|
350
|
+
/** @description Condition must NOT match */
|
|
351
|
+
not?: unknown;
|
|
352
|
+
/** @description Find nodes with a specific type/tag */
|
|
353
|
+
hasType?: string | {
|
|
354
|
+
/** @description Type ID to search for */
|
|
355
|
+
typeId: string;
|
|
356
|
+
/** @description Include nodes with types that extend this type (default: true) */
|
|
357
|
+
includeExtensions?: boolean;
|
|
358
|
+
};
|
|
359
|
+
/** @description Match nodes by field values */
|
|
360
|
+
field?: {
|
|
361
|
+
/** @description Field/attribute ID to match */
|
|
362
|
+
fieldId: string;
|
|
363
|
+
/** @description Match field that references this specific node ID */
|
|
364
|
+
nodeId?: string;
|
|
365
|
+
/** @description Match field with this exact string value (case-insensitive) */
|
|
366
|
+
stringValue?: string;
|
|
367
|
+
/** @description Match field with this exact numeric value */
|
|
368
|
+
numberValue?: number;
|
|
369
|
+
/**
|
|
370
|
+
* @description Field presence state: defined/undefined/set/notSet
|
|
371
|
+
* @enum {unknown}
|
|
372
|
+
*/
|
|
373
|
+
state?: "defined" | "undefined" | "set" | "notSet";
|
|
374
|
+
};
|
|
375
|
+
/** @description Compare field values */
|
|
376
|
+
compare?: {
|
|
377
|
+
/** @description Field/attribute ID to compare */
|
|
378
|
+
fieldId: string;
|
|
379
|
+
/**
|
|
380
|
+
* @description Comparison operator: gt (>), lt (<), eq (=)
|
|
381
|
+
* @enum {unknown}
|
|
382
|
+
*/
|
|
383
|
+
operator: "gt" | "lt" | "eq";
|
|
384
|
+
/** @description Value to compare against */
|
|
385
|
+
value: string | number;
|
|
386
|
+
/**
|
|
387
|
+
* @description Type of comparison
|
|
388
|
+
* @enum {unknown}
|
|
389
|
+
*/
|
|
390
|
+
type: "number" | "date" | "string";
|
|
391
|
+
};
|
|
392
|
+
/** @description Case-insensitive substring match in node names */
|
|
393
|
+
textContains?: string;
|
|
394
|
+
/** @description Regular expression pattern in /pattern/ or /pattern/i format */
|
|
395
|
+
textMatches?: string;
|
|
396
|
+
/** @description Find children of specified nodes */
|
|
397
|
+
childOf?: {
|
|
398
|
+
/** @description Parent node IDs */
|
|
399
|
+
nodeIds: string[];
|
|
400
|
+
/** @description Include all descendants (default: true) */
|
|
401
|
+
recursive?: boolean;
|
|
402
|
+
/** @description Include referenced nodes (default: true) */
|
|
403
|
+
includeRefs?: boolean;
|
|
404
|
+
};
|
|
405
|
+
/** @description Find nodes owned by a specific node */
|
|
406
|
+
ownedBy?: {
|
|
407
|
+
/** @description Owner node ID */
|
|
408
|
+
nodeId: string;
|
|
409
|
+
/** @description Include all descendants (default: true) */
|
|
410
|
+
recursive?: boolean;
|
|
411
|
+
/** @description Include the owner node itself (default: false) */
|
|
412
|
+
includeSelf?: boolean;
|
|
413
|
+
};
|
|
414
|
+
/** @description Find nodes that link to these IDs */
|
|
415
|
+
linksTo?: string[];
|
|
416
|
+
/**
|
|
417
|
+
* @description Special node type filter
|
|
418
|
+
* @enum {unknown}
|
|
419
|
+
*/
|
|
420
|
+
is?: "done" | "todo" | "template" | "field" | "published" | "entity" | "calendarNode" | "onDayNode" | "chat" | "search" | "command" | "inLibrary";
|
|
421
|
+
/**
|
|
422
|
+
* @description Find nodes that have specific content
|
|
423
|
+
* @enum {unknown}
|
|
424
|
+
*/
|
|
425
|
+
has?: "tag" | "field" | "media" | "audio" | "video" | "image";
|
|
426
|
+
/** @description Find nodes created within N days */
|
|
427
|
+
created?: {
|
|
428
|
+
/** @description Number of days */
|
|
429
|
+
last: number;
|
|
430
|
+
};
|
|
431
|
+
/** @description Find nodes edited within time range */
|
|
432
|
+
edited?: {
|
|
433
|
+
/**
|
|
434
|
+
* Format: email
|
|
435
|
+
* @description User email to filter by
|
|
436
|
+
*/
|
|
437
|
+
by?: string;
|
|
438
|
+
/** @description Number of days */
|
|
439
|
+
last?: number;
|
|
440
|
+
/** @description Milliseconds timestamp */
|
|
441
|
+
since?: number;
|
|
442
|
+
};
|
|
443
|
+
/** @description Find nodes marked done within N days */
|
|
444
|
+
done?: {
|
|
445
|
+
/** @description Number of days */
|
|
446
|
+
last: number;
|
|
447
|
+
};
|
|
448
|
+
/** @description Find nodes with matching dates */
|
|
449
|
+
onDate?: string | {
|
|
450
|
+
/** @description ISO date string */
|
|
451
|
+
date: string;
|
|
452
|
+
/** @description Specific field to check */
|
|
453
|
+
fieldId?: string;
|
|
454
|
+
/** @description Check if date ranges overlap */
|
|
455
|
+
overlaps?: boolean;
|
|
456
|
+
};
|
|
457
|
+
/** @description Limit to specific workspace ID */
|
|
458
|
+
inWorkspace?: string;
|
|
459
|
+
/**
|
|
460
|
+
* @description Find tasks with due dates in the past
|
|
461
|
+
* @constant
|
|
462
|
+
*/
|
|
463
|
+
overdue?: true;
|
|
464
|
+
/**
|
|
465
|
+
* @description Find nodes in the library/stash
|
|
466
|
+
* @constant
|
|
467
|
+
*/
|
|
468
|
+
inLibrary?: true;
|
|
469
|
+
}[];
|
|
470
|
+
/** @description At least one condition must match */
|
|
471
|
+
or?: {
|
|
472
|
+
/** @description All conditions must match */
|
|
473
|
+
and?: unknown[];
|
|
474
|
+
/** @description At least one condition must match */
|
|
475
|
+
or?: unknown[];
|
|
476
|
+
/** @description Condition must NOT match */
|
|
477
|
+
not?: unknown;
|
|
478
|
+
/** @description Find nodes with a specific type/tag */
|
|
479
|
+
hasType?: string | {
|
|
480
|
+
/** @description Type ID to search for */
|
|
481
|
+
typeId: string;
|
|
482
|
+
/** @description Include nodes with types that extend this type (default: true) */
|
|
483
|
+
includeExtensions?: boolean;
|
|
484
|
+
};
|
|
485
|
+
/** @description Match nodes by field values */
|
|
486
|
+
field?: {
|
|
487
|
+
/** @description Field/attribute ID to match */
|
|
488
|
+
fieldId: string;
|
|
489
|
+
/** @description Match field that references this specific node ID */
|
|
490
|
+
nodeId?: string;
|
|
491
|
+
/** @description Match field with this exact string value (case-insensitive) */
|
|
492
|
+
stringValue?: string;
|
|
493
|
+
/** @description Match field with this exact numeric value */
|
|
494
|
+
numberValue?: number;
|
|
495
|
+
/**
|
|
496
|
+
* @description Field presence state: defined/undefined/set/notSet
|
|
497
|
+
* @enum {unknown}
|
|
498
|
+
*/
|
|
499
|
+
state?: "defined" | "undefined" | "set" | "notSet";
|
|
500
|
+
};
|
|
501
|
+
/** @description Compare field values */
|
|
502
|
+
compare?: {
|
|
503
|
+
/** @description Field/attribute ID to compare */
|
|
504
|
+
fieldId: string;
|
|
505
|
+
/**
|
|
506
|
+
* @description Comparison operator: gt (>), lt (<), eq (=)
|
|
507
|
+
* @enum {unknown}
|
|
508
|
+
*/
|
|
509
|
+
operator: "gt" | "lt" | "eq";
|
|
510
|
+
/** @description Value to compare against */
|
|
511
|
+
value: string | number;
|
|
512
|
+
/**
|
|
513
|
+
* @description Type of comparison
|
|
514
|
+
* @enum {unknown}
|
|
515
|
+
*/
|
|
516
|
+
type: "number" | "date" | "string";
|
|
517
|
+
};
|
|
518
|
+
/** @description Case-insensitive substring match in node names */
|
|
519
|
+
textContains?: string;
|
|
520
|
+
/** @description Regular expression pattern in /pattern/ or /pattern/i format */
|
|
521
|
+
textMatches?: string;
|
|
522
|
+
/** @description Find children of specified nodes */
|
|
523
|
+
childOf?: {
|
|
524
|
+
/** @description Parent node IDs */
|
|
525
|
+
nodeIds: string[];
|
|
526
|
+
/** @description Include all descendants (default: true) */
|
|
527
|
+
recursive?: boolean;
|
|
528
|
+
/** @description Include referenced nodes (default: true) */
|
|
529
|
+
includeRefs?: boolean;
|
|
530
|
+
};
|
|
531
|
+
/** @description Find nodes owned by a specific node */
|
|
532
|
+
ownedBy?: {
|
|
533
|
+
/** @description Owner node ID */
|
|
534
|
+
nodeId: string;
|
|
535
|
+
/** @description Include all descendants (default: true) */
|
|
536
|
+
recursive?: boolean;
|
|
537
|
+
/** @description Include the owner node itself (default: false) */
|
|
538
|
+
includeSelf?: boolean;
|
|
539
|
+
};
|
|
540
|
+
/** @description Find nodes that link to these IDs */
|
|
541
|
+
linksTo?: string[];
|
|
542
|
+
/**
|
|
543
|
+
* @description Special node type filter
|
|
544
|
+
* @enum {unknown}
|
|
545
|
+
*/
|
|
546
|
+
is?: "done" | "todo" | "template" | "field" | "published" | "entity" | "calendarNode" | "onDayNode" | "chat" | "search" | "command" | "inLibrary";
|
|
547
|
+
/**
|
|
548
|
+
* @description Find nodes that have specific content
|
|
549
|
+
* @enum {unknown}
|
|
550
|
+
*/
|
|
551
|
+
has?: "tag" | "field" | "media" | "audio" | "video" | "image";
|
|
552
|
+
/** @description Find nodes created within N days */
|
|
553
|
+
created?: {
|
|
554
|
+
/** @description Number of days */
|
|
555
|
+
last: number;
|
|
556
|
+
};
|
|
557
|
+
/** @description Find nodes edited within time range */
|
|
558
|
+
edited?: {
|
|
559
|
+
/**
|
|
560
|
+
* Format: email
|
|
561
|
+
* @description User email to filter by
|
|
562
|
+
*/
|
|
563
|
+
by?: string;
|
|
564
|
+
/** @description Number of days */
|
|
565
|
+
last?: number;
|
|
566
|
+
/** @description Milliseconds timestamp */
|
|
567
|
+
since?: number;
|
|
568
|
+
};
|
|
569
|
+
/** @description Find nodes marked done within N days */
|
|
570
|
+
done?: {
|
|
571
|
+
/** @description Number of days */
|
|
572
|
+
last: number;
|
|
573
|
+
};
|
|
574
|
+
/** @description Find nodes with matching dates */
|
|
575
|
+
onDate?: string | {
|
|
576
|
+
/** @description ISO date string */
|
|
577
|
+
date: string;
|
|
578
|
+
/** @description Specific field to check */
|
|
579
|
+
fieldId?: string;
|
|
580
|
+
/** @description Check if date ranges overlap */
|
|
581
|
+
overlaps?: boolean;
|
|
582
|
+
};
|
|
583
|
+
/** @description Limit to specific workspace ID */
|
|
584
|
+
inWorkspace?: string;
|
|
585
|
+
/**
|
|
586
|
+
* @description Find tasks with due dates in the past
|
|
587
|
+
* @constant
|
|
588
|
+
*/
|
|
589
|
+
overdue?: true;
|
|
590
|
+
/**
|
|
591
|
+
* @description Find nodes in the library/stash
|
|
592
|
+
* @constant
|
|
593
|
+
*/
|
|
594
|
+
inLibrary?: true;
|
|
595
|
+
}[];
|
|
596
|
+
/** @description Condition must NOT match */
|
|
597
|
+
not?: {
|
|
598
|
+
/** @description All conditions must match */
|
|
599
|
+
and?: unknown[];
|
|
600
|
+
/** @description At least one condition must match */
|
|
601
|
+
or?: unknown[];
|
|
602
|
+
/** @description Condition must NOT match */
|
|
603
|
+
not?: unknown;
|
|
604
|
+
/** @description Find nodes with a specific type/tag */
|
|
605
|
+
hasType?: string | {
|
|
606
|
+
/** @description Type ID to search for */
|
|
607
|
+
typeId: string;
|
|
608
|
+
/** @description Include nodes with types that extend this type (default: true) */
|
|
609
|
+
includeExtensions?: boolean;
|
|
610
|
+
};
|
|
611
|
+
/** @description Match nodes by field values */
|
|
612
|
+
field?: {
|
|
613
|
+
/** @description Field/attribute ID to match */
|
|
614
|
+
fieldId: string;
|
|
615
|
+
/** @description Match field that references this specific node ID */
|
|
616
|
+
nodeId?: string;
|
|
617
|
+
/** @description Match field with this exact string value (case-insensitive) */
|
|
618
|
+
stringValue?: string;
|
|
619
|
+
/** @description Match field with this exact numeric value */
|
|
620
|
+
numberValue?: number;
|
|
621
|
+
/**
|
|
622
|
+
* @description Field presence state: defined/undefined/set/notSet
|
|
623
|
+
* @enum {unknown}
|
|
624
|
+
*/
|
|
625
|
+
state?: "defined" | "undefined" | "set" | "notSet";
|
|
626
|
+
};
|
|
627
|
+
/** @description Compare field values */
|
|
628
|
+
compare?: {
|
|
629
|
+
/** @description Field/attribute ID to compare */
|
|
630
|
+
fieldId: string;
|
|
631
|
+
/**
|
|
632
|
+
* @description Comparison operator: gt (>), lt (<), eq (=)
|
|
633
|
+
* @enum {unknown}
|
|
634
|
+
*/
|
|
635
|
+
operator: "gt" | "lt" | "eq";
|
|
636
|
+
/** @description Value to compare against */
|
|
637
|
+
value: string | number;
|
|
638
|
+
/**
|
|
639
|
+
* @description Type of comparison
|
|
640
|
+
* @enum {unknown}
|
|
641
|
+
*/
|
|
642
|
+
type: "number" | "date" | "string";
|
|
643
|
+
};
|
|
644
|
+
/** @description Case-insensitive substring match in node names */
|
|
645
|
+
textContains?: string;
|
|
646
|
+
/** @description Regular expression pattern in /pattern/ or /pattern/i format */
|
|
647
|
+
textMatches?: string;
|
|
648
|
+
/** @description Find children of specified nodes */
|
|
649
|
+
childOf?: {
|
|
650
|
+
/** @description Parent node IDs */
|
|
651
|
+
nodeIds: string[];
|
|
652
|
+
/** @description Include all descendants (default: true) */
|
|
653
|
+
recursive?: boolean;
|
|
654
|
+
/** @description Include referenced nodes (default: true) */
|
|
655
|
+
includeRefs?: boolean;
|
|
656
|
+
};
|
|
657
|
+
/** @description Find nodes owned by a specific node */
|
|
658
|
+
ownedBy?: {
|
|
659
|
+
/** @description Owner node ID */
|
|
660
|
+
nodeId: string;
|
|
661
|
+
/** @description Include all descendants (default: true) */
|
|
662
|
+
recursive?: boolean;
|
|
663
|
+
/** @description Include the owner node itself (default: false) */
|
|
664
|
+
includeSelf?: boolean;
|
|
665
|
+
};
|
|
666
|
+
/** @description Find nodes that link to these IDs */
|
|
667
|
+
linksTo?: string[];
|
|
668
|
+
/**
|
|
669
|
+
* @description Special node type filter
|
|
670
|
+
* @enum {unknown}
|
|
671
|
+
*/
|
|
672
|
+
is?: "done" | "todo" | "template" | "field" | "published" | "entity" | "calendarNode" | "onDayNode" | "chat" | "search" | "command" | "inLibrary";
|
|
673
|
+
/**
|
|
674
|
+
* @description Find nodes that have specific content
|
|
675
|
+
* @enum {unknown}
|
|
676
|
+
*/
|
|
677
|
+
has?: "tag" | "field" | "media" | "audio" | "video" | "image";
|
|
678
|
+
/** @description Find nodes created within N days */
|
|
679
|
+
created?: {
|
|
680
|
+
/** @description Number of days */
|
|
681
|
+
last: number;
|
|
682
|
+
};
|
|
683
|
+
/** @description Find nodes edited within time range */
|
|
684
|
+
edited?: {
|
|
685
|
+
/**
|
|
686
|
+
* Format: email
|
|
687
|
+
* @description User email to filter by
|
|
688
|
+
*/
|
|
689
|
+
by?: string;
|
|
690
|
+
/** @description Number of days */
|
|
691
|
+
last?: number;
|
|
692
|
+
/** @description Milliseconds timestamp */
|
|
693
|
+
since?: number;
|
|
694
|
+
};
|
|
695
|
+
/** @description Find nodes marked done within N days */
|
|
696
|
+
done?: {
|
|
697
|
+
/** @description Number of days */
|
|
698
|
+
last: number;
|
|
699
|
+
};
|
|
700
|
+
/** @description Find nodes with matching dates */
|
|
701
|
+
onDate?: string | {
|
|
702
|
+
/** @description ISO date string */
|
|
703
|
+
date: string;
|
|
704
|
+
/** @description Specific field to check */
|
|
705
|
+
fieldId?: string;
|
|
706
|
+
/** @description Check if date ranges overlap */
|
|
707
|
+
overlaps?: boolean;
|
|
708
|
+
};
|
|
709
|
+
/** @description Limit to specific workspace ID */
|
|
710
|
+
inWorkspace?: string;
|
|
711
|
+
/**
|
|
712
|
+
* @description Find tasks with due dates in the past
|
|
713
|
+
* @constant
|
|
714
|
+
*/
|
|
715
|
+
overdue?: true;
|
|
716
|
+
/**
|
|
717
|
+
* @description Find nodes in the library/stash
|
|
718
|
+
* @constant
|
|
719
|
+
*/
|
|
720
|
+
inLibrary?: true;
|
|
721
|
+
};
|
|
722
|
+
/** @description Find nodes with a specific type/tag */
|
|
723
|
+
hasType?: string | {
|
|
724
|
+
/** @description Type ID to search for */
|
|
725
|
+
typeId: string;
|
|
726
|
+
/** @description Include nodes with types that extend this type (default: true) */
|
|
727
|
+
includeExtensions?: boolean;
|
|
728
|
+
};
|
|
729
|
+
/** @description Match nodes by field values */
|
|
730
|
+
field?: {
|
|
731
|
+
/** @description Field/attribute ID to match */
|
|
732
|
+
fieldId: string;
|
|
733
|
+
/** @description Match field that references this specific node ID */
|
|
734
|
+
nodeId?: string;
|
|
735
|
+
/** @description Match field with this exact string value (case-insensitive) */
|
|
736
|
+
stringValue?: string;
|
|
737
|
+
/** @description Match field with this exact numeric value */
|
|
738
|
+
numberValue?: number;
|
|
739
|
+
/**
|
|
740
|
+
* @description Field presence state: defined/undefined/set/notSet
|
|
741
|
+
* @enum {unknown}
|
|
742
|
+
*/
|
|
743
|
+
state?: "defined" | "undefined" | "set" | "notSet";
|
|
744
|
+
};
|
|
745
|
+
/** @description Compare field values */
|
|
746
|
+
compare?: {
|
|
747
|
+
/** @description Field/attribute ID to compare */
|
|
748
|
+
fieldId: string;
|
|
749
|
+
/**
|
|
750
|
+
* @description Comparison operator: gt (>), lt (<), eq (=)
|
|
751
|
+
* @enum {unknown}
|
|
752
|
+
*/
|
|
753
|
+
operator: "gt" | "lt" | "eq";
|
|
754
|
+
/** @description Value to compare against */
|
|
755
|
+
value: string | number;
|
|
756
|
+
/**
|
|
757
|
+
* @description Type of comparison
|
|
758
|
+
* @enum {unknown}
|
|
759
|
+
*/
|
|
760
|
+
type: "number" | "date" | "string";
|
|
761
|
+
};
|
|
762
|
+
/** @description Case-insensitive substring match in node names */
|
|
763
|
+
textContains?: string;
|
|
764
|
+
/** @description Regular expression pattern in /pattern/ or /pattern/i format */
|
|
765
|
+
textMatches?: string;
|
|
766
|
+
/** @description Find children of specified nodes */
|
|
767
|
+
childOf?: {
|
|
768
|
+
/** @description Parent node IDs */
|
|
769
|
+
nodeIds: string[];
|
|
770
|
+
/** @description Include all descendants (default: true) */
|
|
771
|
+
recursive?: boolean;
|
|
772
|
+
/** @description Include referenced nodes (default: true) */
|
|
773
|
+
includeRefs?: boolean;
|
|
774
|
+
};
|
|
775
|
+
/** @description Find nodes owned by a specific node */
|
|
776
|
+
ownedBy?: {
|
|
777
|
+
/** @description Owner node ID */
|
|
778
|
+
nodeId: string;
|
|
779
|
+
/** @description Include all descendants (default: true) */
|
|
780
|
+
recursive?: boolean;
|
|
781
|
+
/** @description Include the owner node itself (default: false) */
|
|
782
|
+
includeSelf?: boolean;
|
|
783
|
+
};
|
|
784
|
+
/** @description Find nodes that link to these IDs */
|
|
785
|
+
linksTo?: string[];
|
|
786
|
+
/**
|
|
787
|
+
* @description Special node type filter
|
|
788
|
+
* @enum {unknown}
|
|
789
|
+
*/
|
|
790
|
+
is?: "done" | "todo" | "template" | "field" | "published" | "entity" | "calendarNode" | "onDayNode" | "chat" | "search" | "command" | "inLibrary";
|
|
791
|
+
/**
|
|
792
|
+
* @description Find nodes that have specific content
|
|
793
|
+
* @enum {unknown}
|
|
794
|
+
*/
|
|
795
|
+
has?: "tag" | "field" | "media" | "audio" | "video" | "image";
|
|
796
|
+
/** @description Find nodes created within N days */
|
|
797
|
+
created?: {
|
|
798
|
+
/** @description Number of days */
|
|
799
|
+
last: number;
|
|
800
|
+
};
|
|
801
|
+
/** @description Find nodes edited within time range */
|
|
802
|
+
edited?: {
|
|
803
|
+
/**
|
|
804
|
+
* Format: email
|
|
805
|
+
* @description User email to filter by
|
|
806
|
+
*/
|
|
807
|
+
by?: string;
|
|
808
|
+
/** @description Number of days */
|
|
809
|
+
last?: number;
|
|
810
|
+
/** @description Milliseconds timestamp */
|
|
811
|
+
since?: number;
|
|
812
|
+
};
|
|
813
|
+
/** @description Find nodes marked done within N days */
|
|
814
|
+
done?: {
|
|
815
|
+
/** @description Number of days */
|
|
816
|
+
last: number;
|
|
817
|
+
};
|
|
818
|
+
/** @description Find nodes with matching dates */
|
|
819
|
+
onDate?: string | {
|
|
820
|
+
/** @description ISO date string */
|
|
821
|
+
date: string;
|
|
822
|
+
/** @description Specific field to check */
|
|
823
|
+
fieldId?: string;
|
|
824
|
+
/** @description Check if date ranges overlap */
|
|
825
|
+
overlaps?: boolean;
|
|
826
|
+
};
|
|
827
|
+
/** @description Limit to specific workspace ID */
|
|
828
|
+
inWorkspace?: string;
|
|
829
|
+
/**
|
|
830
|
+
* @description Find tasks with due dates in the past
|
|
831
|
+
* @constant
|
|
832
|
+
*/
|
|
833
|
+
overdue?: true;
|
|
834
|
+
/**
|
|
835
|
+
* @description Find nodes in the library/stash
|
|
836
|
+
* @constant
|
|
837
|
+
*/
|
|
838
|
+
inLibrary?: true;
|
|
839
|
+
};
|
|
840
|
+
workspaceIds?: string[];
|
|
841
|
+
limit?: number;
|
|
842
|
+
};
|
|
843
|
+
header?: never;
|
|
844
|
+
path?: never;
|
|
845
|
+
cookie?: never;
|
|
846
|
+
};
|
|
847
|
+
requestBody?: never;
|
|
848
|
+
responses: {
|
|
849
|
+
/** @description OK */
|
|
850
|
+
200: {
|
|
851
|
+
headers: {
|
|
852
|
+
[name: string]: unknown;
|
|
853
|
+
};
|
|
854
|
+
content: {
|
|
855
|
+
"application/json": {
|
|
856
|
+
id: string;
|
|
857
|
+
name: string;
|
|
858
|
+
breadcrumb: string[];
|
|
859
|
+
tags: {
|
|
860
|
+
id: string;
|
|
861
|
+
name: string;
|
|
862
|
+
}[];
|
|
863
|
+
tagIds: string[];
|
|
864
|
+
workspaceId: string;
|
|
865
|
+
docType: string;
|
|
866
|
+
description?: string;
|
|
867
|
+
created: string;
|
|
868
|
+
inTrash: boolean;
|
|
869
|
+
}[];
|
|
870
|
+
};
|
|
871
|
+
};
|
|
872
|
+
};
|
|
873
|
+
};
|
|
874
|
+
"nodes.read": {
|
|
875
|
+
parameters: {
|
|
876
|
+
query?: {
|
|
877
|
+
maxDepth?: number;
|
|
878
|
+
};
|
|
879
|
+
header?: never;
|
|
880
|
+
path: {
|
|
881
|
+
nodeId: string;
|
|
882
|
+
};
|
|
883
|
+
cookie?: never;
|
|
884
|
+
};
|
|
885
|
+
requestBody?: never;
|
|
886
|
+
responses: {
|
|
887
|
+
/** @description OK */
|
|
888
|
+
200: {
|
|
889
|
+
headers: {
|
|
890
|
+
[name: string]: unknown;
|
|
891
|
+
};
|
|
892
|
+
content: {
|
|
893
|
+
"application/json": {
|
|
894
|
+
markdown: string;
|
|
895
|
+
/** @description Node name (empty string if unnamed) */
|
|
896
|
+
name?: string;
|
|
897
|
+
/** @description Node description (null if none) */
|
|
898
|
+
description?: string | null;
|
|
899
|
+
};
|
|
900
|
+
};
|
|
901
|
+
};
|
|
902
|
+
};
|
|
903
|
+
};
|
|
904
|
+
"nodes.getChildren": {
|
|
905
|
+
parameters: {
|
|
906
|
+
query?: {
|
|
907
|
+
limit?: number;
|
|
908
|
+
offset?: number;
|
|
909
|
+
};
|
|
910
|
+
header?: never;
|
|
911
|
+
path: {
|
|
912
|
+
nodeId: string;
|
|
913
|
+
};
|
|
914
|
+
cookie?: never;
|
|
915
|
+
};
|
|
916
|
+
requestBody?: never;
|
|
917
|
+
responses: {
|
|
918
|
+
/** @description OK */
|
|
919
|
+
200: {
|
|
920
|
+
headers: {
|
|
921
|
+
[name: string]: unknown;
|
|
922
|
+
};
|
|
923
|
+
content: {
|
|
924
|
+
"application/json": {
|
|
925
|
+
children: {
|
|
926
|
+
id: string;
|
|
927
|
+
name: string;
|
|
928
|
+
tags: {
|
|
929
|
+
id: string;
|
|
930
|
+
name: string;
|
|
931
|
+
}[];
|
|
932
|
+
tagIds: string[];
|
|
933
|
+
childCount: number;
|
|
934
|
+
docType: string;
|
|
935
|
+
description?: string;
|
|
936
|
+
created: string;
|
|
937
|
+
inTrash: boolean;
|
|
938
|
+
}[];
|
|
939
|
+
total: number;
|
|
940
|
+
hasMore: boolean;
|
|
941
|
+
};
|
|
942
|
+
};
|
|
943
|
+
};
|
|
944
|
+
};
|
|
945
|
+
};
|
|
946
|
+
"nodes.updateTags": {
|
|
947
|
+
parameters: {
|
|
948
|
+
query?: never;
|
|
949
|
+
header?: never;
|
|
950
|
+
path: {
|
|
951
|
+
nodeId: string;
|
|
952
|
+
};
|
|
953
|
+
cookie?: never;
|
|
954
|
+
};
|
|
955
|
+
requestBody: {
|
|
956
|
+
content: {
|
|
957
|
+
"application/json": {
|
|
958
|
+
/**
|
|
959
|
+
* @description Action to perform: add or remove tags
|
|
960
|
+
* @enum {unknown}
|
|
961
|
+
*/
|
|
962
|
+
action: "add" | "remove";
|
|
963
|
+
/** @description Array of tag IDs to add/remove */
|
|
964
|
+
tagIds: string[];
|
|
965
|
+
};
|
|
966
|
+
};
|
|
967
|
+
};
|
|
968
|
+
responses: {
|
|
969
|
+
/** @description OK */
|
|
970
|
+
200: {
|
|
971
|
+
headers: {
|
|
972
|
+
[name: string]: unknown;
|
|
973
|
+
};
|
|
974
|
+
content: {
|
|
975
|
+
"application/json": {
|
|
976
|
+
nodeId: string;
|
|
977
|
+
nodeName: string;
|
|
978
|
+
/** @enum {unknown} */
|
|
979
|
+
action: "add" | "remove";
|
|
980
|
+
results: {
|
|
981
|
+
tagId: string;
|
|
982
|
+
tagName: string;
|
|
983
|
+
success: boolean;
|
|
984
|
+
message: string;
|
|
985
|
+
}[];
|
|
986
|
+
};
|
|
987
|
+
};
|
|
988
|
+
};
|
|
989
|
+
};
|
|
990
|
+
};
|
|
991
|
+
"nodes.setFieldOption": {
|
|
992
|
+
parameters: {
|
|
993
|
+
query?: never;
|
|
994
|
+
header?: never;
|
|
995
|
+
path: {
|
|
996
|
+
nodeId: string;
|
|
997
|
+
attributeId: string;
|
|
998
|
+
};
|
|
999
|
+
cookie?: never;
|
|
1000
|
+
};
|
|
1001
|
+
requestBody: {
|
|
1002
|
+
content: {
|
|
1003
|
+
"application/json": {
|
|
1004
|
+
/** @description The node id of the option value to set */
|
|
1005
|
+
optionId: string;
|
|
1006
|
+
};
|
|
1007
|
+
};
|
|
1008
|
+
};
|
|
1009
|
+
responses: {
|
|
1010
|
+
/** @description OK */
|
|
1011
|
+
200: {
|
|
1012
|
+
headers: {
|
|
1013
|
+
[name: string]: unknown;
|
|
1014
|
+
};
|
|
1015
|
+
content: {
|
|
1016
|
+
"application/json": {
|
|
1017
|
+
nodeId: string;
|
|
1018
|
+
attributeId: string;
|
|
1019
|
+
optionId: string;
|
|
1020
|
+
optionName: string;
|
|
1021
|
+
message: string;
|
|
1022
|
+
};
|
|
1023
|
+
};
|
|
1024
|
+
};
|
|
1025
|
+
};
|
|
1026
|
+
};
|
|
1027
|
+
"nodes.setFieldContent": {
|
|
1028
|
+
parameters: {
|
|
1029
|
+
query?: never;
|
|
1030
|
+
header?: never;
|
|
1031
|
+
path: {
|
|
1032
|
+
nodeId: string;
|
|
1033
|
+
attributeId: string;
|
|
1034
|
+
};
|
|
1035
|
+
cookie?: never;
|
|
1036
|
+
};
|
|
1037
|
+
requestBody: {
|
|
1038
|
+
content: {
|
|
1039
|
+
"application/json": {
|
|
1040
|
+
/** @description The string value to set for the field */
|
|
1041
|
+
content: string;
|
|
1042
|
+
};
|
|
1043
|
+
};
|
|
1044
|
+
};
|
|
1045
|
+
responses: {
|
|
1046
|
+
/** @description OK */
|
|
1047
|
+
200: {
|
|
1048
|
+
headers: {
|
|
1049
|
+
[name: string]: unknown;
|
|
1050
|
+
};
|
|
1051
|
+
content: {
|
|
1052
|
+
"application/json": {
|
|
1053
|
+
nodeId: string;
|
|
1054
|
+
attributeId: string;
|
|
1055
|
+
content: string;
|
|
1056
|
+
message: string;
|
|
1057
|
+
};
|
|
1058
|
+
};
|
|
1059
|
+
};
|
|
1060
|
+
};
|
|
1061
|
+
};
|
|
1062
|
+
"nodes.importTanaPaste": {
|
|
1063
|
+
parameters: {
|
|
1064
|
+
query?: never;
|
|
1065
|
+
header?: never;
|
|
1066
|
+
path: {
|
|
1067
|
+
parentNodeId: string;
|
|
1068
|
+
};
|
|
1069
|
+
cookie?: never;
|
|
1070
|
+
};
|
|
1071
|
+
requestBody: {
|
|
1072
|
+
content: {
|
|
1073
|
+
"application/json": {
|
|
1074
|
+
/** @description Tana Paste formatted content to import */
|
|
1075
|
+
content: string;
|
|
1076
|
+
};
|
|
1077
|
+
};
|
|
1078
|
+
};
|
|
1079
|
+
responses: {
|
|
1080
|
+
/** @description OK */
|
|
1081
|
+
200: {
|
|
1082
|
+
headers: {
|
|
1083
|
+
[name: string]: unknown;
|
|
1084
|
+
};
|
|
1085
|
+
content: {
|
|
1086
|
+
"application/json": {
|
|
1087
|
+
parentNodeId: string;
|
|
1088
|
+
targetNodeId: string;
|
|
1089
|
+
createdNodes: {
|
|
1090
|
+
id: string;
|
|
1091
|
+
name: string;
|
|
1092
|
+
}[];
|
|
1093
|
+
message: string;
|
|
1094
|
+
};
|
|
1095
|
+
};
|
|
1096
|
+
};
|
|
1097
|
+
};
|
|
1098
|
+
};
|
|
1099
|
+
"nodes.trash": {
|
|
1100
|
+
parameters: {
|
|
1101
|
+
query?: never;
|
|
1102
|
+
header?: never;
|
|
1103
|
+
path: {
|
|
1104
|
+
nodeId: string;
|
|
1105
|
+
};
|
|
1106
|
+
cookie?: never;
|
|
1107
|
+
};
|
|
1108
|
+
requestBody?: {
|
|
1109
|
+
content: {
|
|
1110
|
+
"application/json": Record<string, never>;
|
|
1111
|
+
};
|
|
1112
|
+
};
|
|
1113
|
+
responses: {
|
|
1114
|
+
/** @description OK */
|
|
1115
|
+
200: {
|
|
1116
|
+
headers: {
|
|
1117
|
+
[name: string]: unknown;
|
|
1118
|
+
};
|
|
1119
|
+
content: {
|
|
1120
|
+
"application/json": {
|
|
1121
|
+
nodeId: string;
|
|
1122
|
+
nodeName: string;
|
|
1123
|
+
trashNodeId: string;
|
|
1124
|
+
message: string;
|
|
1125
|
+
};
|
|
1126
|
+
};
|
|
1127
|
+
};
|
|
1128
|
+
};
|
|
1129
|
+
};
|
|
1130
|
+
"nodes.setDone": {
|
|
1131
|
+
parameters: {
|
|
1132
|
+
query?: never;
|
|
1133
|
+
header?: never;
|
|
1134
|
+
path: {
|
|
1135
|
+
nodeId: string;
|
|
1136
|
+
};
|
|
1137
|
+
cookie?: never;
|
|
1138
|
+
};
|
|
1139
|
+
requestBody: {
|
|
1140
|
+
content: {
|
|
1141
|
+
"application/json": {
|
|
1142
|
+
/** @description true to check/mark done, false to uncheck */
|
|
1143
|
+
done: boolean;
|
|
1144
|
+
};
|
|
1145
|
+
};
|
|
1146
|
+
};
|
|
1147
|
+
responses: {
|
|
1148
|
+
/** @description OK */
|
|
1149
|
+
200: {
|
|
1150
|
+
headers: {
|
|
1151
|
+
[name: string]: unknown;
|
|
1152
|
+
};
|
|
1153
|
+
content: {
|
|
1154
|
+
"application/json": {
|
|
1155
|
+
nodeId: string;
|
|
1156
|
+
nodeName: string;
|
|
1157
|
+
done: boolean;
|
|
1158
|
+
message: string;
|
|
1159
|
+
};
|
|
1160
|
+
};
|
|
1161
|
+
};
|
|
1162
|
+
};
|
|
1163
|
+
};
|
|
1164
|
+
"nodes.update": {
|
|
1165
|
+
parameters: {
|
|
1166
|
+
query?: never;
|
|
1167
|
+
header?: never;
|
|
1168
|
+
path: {
|
|
1169
|
+
nodeId: string;
|
|
1170
|
+
};
|
|
1171
|
+
cookie?: never;
|
|
1172
|
+
};
|
|
1173
|
+
requestBody?: {
|
|
1174
|
+
content: {
|
|
1175
|
+
"application/json": {
|
|
1176
|
+
/** @description New name value (null to clear) */
|
|
1177
|
+
name?: string | null;
|
|
1178
|
+
/** @description New description (null to clear) */
|
|
1179
|
+
description?: string | null;
|
|
1180
|
+
};
|
|
1181
|
+
};
|
|
1182
|
+
};
|
|
1183
|
+
responses: {
|
|
1184
|
+
/** @description OK */
|
|
1185
|
+
200: {
|
|
1186
|
+
headers: {
|
|
1187
|
+
[name: string]: unknown;
|
|
1188
|
+
};
|
|
1189
|
+
content: {
|
|
1190
|
+
"application/json": {
|
|
1191
|
+
nodeId: string;
|
|
1192
|
+
/** @description Updated name (if provided) */
|
|
1193
|
+
name?: string | null;
|
|
1194
|
+
/** @description Updated description (if provided) */
|
|
1195
|
+
description?: string | null;
|
|
1196
|
+
message: string;
|
|
1197
|
+
};
|
|
1198
|
+
};
|
|
1199
|
+
};
|
|
1200
|
+
};
|
|
1201
|
+
};
|
|
1202
|
+
"tags.list": {
|
|
1203
|
+
parameters: {
|
|
1204
|
+
query?: {
|
|
1205
|
+
limit?: number;
|
|
1206
|
+
};
|
|
1207
|
+
header?: never;
|
|
1208
|
+
path: {
|
|
1209
|
+
workspaceId: string;
|
|
1210
|
+
};
|
|
1211
|
+
cookie?: never;
|
|
1212
|
+
};
|
|
1213
|
+
requestBody?: never;
|
|
1214
|
+
responses: {
|
|
1215
|
+
/** @description OK */
|
|
1216
|
+
200: {
|
|
1217
|
+
headers: {
|
|
1218
|
+
[name: string]: unknown;
|
|
1219
|
+
};
|
|
1220
|
+
content: {
|
|
1221
|
+
"application/json": {
|
|
1222
|
+
id: string;
|
|
1223
|
+
name: string;
|
|
1224
|
+
color?: string;
|
|
1225
|
+
}[];
|
|
1226
|
+
};
|
|
1227
|
+
};
|
|
1228
|
+
};
|
|
1229
|
+
};
|
|
1230
|
+
"tags.create": {
|
|
1231
|
+
parameters: {
|
|
1232
|
+
query?: never;
|
|
1233
|
+
header?: never;
|
|
1234
|
+
path: {
|
|
1235
|
+
workspaceId: string;
|
|
1236
|
+
};
|
|
1237
|
+
cookie?: never;
|
|
1238
|
+
};
|
|
1239
|
+
requestBody: {
|
|
1240
|
+
content: {
|
|
1241
|
+
"application/json": {
|
|
1242
|
+
/** @description Name for the new tag */
|
|
1243
|
+
name: string;
|
|
1244
|
+
/** @description Description of the tag */
|
|
1245
|
+
description?: string;
|
|
1246
|
+
/**
|
|
1247
|
+
* @description Tag IDs to extend from (inheritance)
|
|
1248
|
+
* @default []
|
|
1249
|
+
*/
|
|
1250
|
+
extendsTagIds?: string[];
|
|
1251
|
+
/** @description Show a done checkbox on nodes with this tag */
|
|
1252
|
+
showCheckbox?: boolean;
|
|
1253
|
+
};
|
|
1254
|
+
};
|
|
1255
|
+
};
|
|
1256
|
+
responses: {
|
|
1257
|
+
/** @description OK */
|
|
1258
|
+
200: {
|
|
1259
|
+
headers: {
|
|
1260
|
+
[name: string]: unknown;
|
|
1261
|
+
};
|
|
1262
|
+
content: {
|
|
1263
|
+
"application/json": {
|
|
1264
|
+
tagId: string;
|
|
1265
|
+
tagName: string;
|
|
1266
|
+
extendsTagNames?: string[];
|
|
1267
|
+
message: string;
|
|
1268
|
+
};
|
|
1269
|
+
};
|
|
1270
|
+
};
|
|
1271
|
+
};
|
|
1272
|
+
};
|
|
1273
|
+
"tags.getSchema": {
|
|
1274
|
+
parameters: {
|
|
1275
|
+
query?: {
|
|
1276
|
+
includeEditInstructions?: boolean;
|
|
1277
|
+
};
|
|
1278
|
+
header?: never;
|
|
1279
|
+
path: {
|
|
1280
|
+
tagId: string;
|
|
1281
|
+
};
|
|
1282
|
+
cookie?: never;
|
|
1283
|
+
};
|
|
1284
|
+
requestBody?: never;
|
|
1285
|
+
responses: {
|
|
1286
|
+
/** @description OK */
|
|
1287
|
+
200: {
|
|
1288
|
+
headers: {
|
|
1289
|
+
[name: string]: unknown;
|
|
1290
|
+
};
|
|
1291
|
+
content: {
|
|
1292
|
+
"application/json": {
|
|
1293
|
+
markdown: string;
|
|
1294
|
+
};
|
|
1295
|
+
};
|
|
1296
|
+
};
|
|
1297
|
+
};
|
|
1298
|
+
};
|
|
1299
|
+
"tags.addField": {
|
|
1300
|
+
parameters: {
|
|
1301
|
+
query?: never;
|
|
1302
|
+
header?: never;
|
|
1303
|
+
path: {
|
|
1304
|
+
tagId: string;
|
|
1305
|
+
};
|
|
1306
|
+
cookie?: never;
|
|
1307
|
+
};
|
|
1308
|
+
requestBody: {
|
|
1309
|
+
content: {
|
|
1310
|
+
"application/json": {
|
|
1311
|
+
/** @description Name for the new field */
|
|
1312
|
+
name: string;
|
|
1313
|
+
/** @description Description of the field */
|
|
1314
|
+
description?: string;
|
|
1315
|
+
/**
|
|
1316
|
+
* @description Field data type: plain (any content), number, date, url, email, checkbox (boolean), user, instance (reference), options (selection)
|
|
1317
|
+
* @enum {unknown}
|
|
1318
|
+
*/
|
|
1319
|
+
dataType: "plain" | "number" | "date" | "url" | "email" | "checkbox" | "user" | "instance" | "options";
|
|
1320
|
+
/** @description Required for instance type - the tag ID that instances reference */
|
|
1321
|
+
sourceTagId?: string;
|
|
1322
|
+
/** @description Options for options type fields */
|
|
1323
|
+
options?: string[];
|
|
1324
|
+
/** @description Default value for the field */
|
|
1325
|
+
defaultValue?: string | boolean | number;
|
|
1326
|
+
/**
|
|
1327
|
+
* @description Whether the field can have multiple values
|
|
1328
|
+
* @default false
|
|
1329
|
+
*/
|
|
1330
|
+
isMultiValue?: boolean;
|
|
1331
|
+
};
|
|
1332
|
+
};
|
|
1333
|
+
};
|
|
1334
|
+
responses: {
|
|
1335
|
+
/** @description OK */
|
|
1336
|
+
200: {
|
|
1337
|
+
headers: {
|
|
1338
|
+
[name: string]: unknown;
|
|
1339
|
+
};
|
|
1340
|
+
content: {
|
|
1341
|
+
"application/json": {
|
|
1342
|
+
tagId: string;
|
|
1343
|
+
tagName: string;
|
|
1344
|
+
fieldId: string;
|
|
1345
|
+
fieldName: string;
|
|
1346
|
+
dataType: string;
|
|
1347
|
+
message: string;
|
|
1348
|
+
};
|
|
1349
|
+
};
|
|
1350
|
+
};
|
|
1351
|
+
};
|
|
1352
|
+
};
|
|
1353
|
+
"tags.setCheckbox": {
|
|
1354
|
+
parameters: {
|
|
1355
|
+
query?: never;
|
|
1356
|
+
header?: never;
|
|
1357
|
+
path: {
|
|
1358
|
+
tagId: string;
|
|
1359
|
+
};
|
|
1360
|
+
cookie?: never;
|
|
1361
|
+
};
|
|
1362
|
+
requestBody: {
|
|
1363
|
+
content: {
|
|
1364
|
+
"application/json": {
|
|
1365
|
+
/** @description Whether to show checkbox on nodes with this tag */
|
|
1366
|
+
showCheckbox: boolean;
|
|
1367
|
+
/** @description Optional mapping of checkbox state to field values */
|
|
1368
|
+
doneStateMapping?: {
|
|
1369
|
+
/** @description The options field ID to map checkbox state to */
|
|
1370
|
+
fieldId: string;
|
|
1371
|
+
/** @description Option IDs that represent "done" state */
|
|
1372
|
+
checkedValues: string[];
|
|
1373
|
+
/** @description Option IDs that represent "not done" state */
|
|
1374
|
+
uncheckedValues?: string[];
|
|
1375
|
+
};
|
|
1376
|
+
};
|
|
1377
|
+
};
|
|
1378
|
+
};
|
|
1379
|
+
responses: {
|
|
1380
|
+
/** @description OK */
|
|
1381
|
+
200: {
|
|
1382
|
+
headers: {
|
|
1383
|
+
[name: string]: unknown;
|
|
1384
|
+
};
|
|
1385
|
+
content: {
|
|
1386
|
+
"application/json": {
|
|
1387
|
+
tagId: string;
|
|
1388
|
+
tagName: string;
|
|
1389
|
+
showCheckbox: boolean;
|
|
1390
|
+
hasDoneStateMapping: boolean;
|
|
1391
|
+
message: string;
|
|
1392
|
+
};
|
|
1393
|
+
};
|
|
1394
|
+
};
|
|
1395
|
+
};
|
|
1396
|
+
};
|
|
1397
|
+
"calendar.getNodeId": {
|
|
1398
|
+
parameters: {
|
|
1399
|
+
query: {
|
|
1400
|
+
date?: string;
|
|
1401
|
+
granularity: "day" | "week" | "month" | "year";
|
|
1402
|
+
};
|
|
1403
|
+
header?: never;
|
|
1404
|
+
path: {
|
|
1405
|
+
workspaceId: string;
|
|
1406
|
+
};
|
|
1407
|
+
cookie?: never;
|
|
1408
|
+
};
|
|
1409
|
+
requestBody?: never;
|
|
1410
|
+
responses: {
|
|
1411
|
+
/** @description OK */
|
|
1412
|
+
200: {
|
|
1413
|
+
headers: {
|
|
1414
|
+
[name: string]: unknown;
|
|
1415
|
+
};
|
|
1416
|
+
content: {
|
|
1417
|
+
"application/json": {
|
|
1418
|
+
/** @description The calendar node ID */
|
|
1419
|
+
nodeId: string;
|
|
1420
|
+
};
|
|
1421
|
+
};
|
|
1422
|
+
};
|
|
1423
|
+
};
|
|
1424
|
+
};
|
|
1425
|
+
}
|