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.
@@ -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
+ }