@anchrd/colab-sdk 0.1.17 → 0.1.18

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.
@@ -29,6 +29,50 @@ export declare const BoardCreateInput: z.ZodObject<{
29
29
  visible: z.ZodOptional<z.ZodBoolean>;
30
30
  description: z.ZodOptional<z.ZodString>;
31
31
  }, z.core.$strict>>>;
32
+ cardKinds: z.ZodOptional<z.ZodArray<z.ZodObject<{
33
+ kindId: z.ZodOptional<z.ZodTemplateLiteral<`kind_${string}`>>;
34
+ name: z.ZodString;
35
+ icon: z.ZodOptional<z.ZodEnum<{
36
+ message: "message";
37
+ user: "user";
38
+ package: "package";
39
+ target: "target";
40
+ search: "search";
41
+ flag: "flag";
42
+ route: "route";
43
+ "arrow-right": "arrow-right";
44
+ "square-check": "square-check";
45
+ "file-text": "file-text";
46
+ bulb: "bulb";
47
+ calendar: "calendar";
48
+ star: "star";
49
+ bolt: "bolt";
50
+ bug: "bug";
51
+ rocket: "rocket";
52
+ }>>;
53
+ description: z.ZodOptional<z.ZodString>;
54
+ standard: z.ZodOptional<z.ZodBoolean>;
55
+ fields: z.ZodArray<z.ZodObject<{
56
+ fieldId: z.ZodOptional<z.ZodTemplateLiteral<`field_${string}`>>;
57
+ name: z.ZodString;
58
+ type: z.ZodEnum<{
59
+ number: "number";
60
+ date: "date";
61
+ list: "list";
62
+ link: "link";
63
+ text: "text";
64
+ checklist: "checklist";
65
+ select: "select";
66
+ }>;
67
+ description: z.ZodOptional<z.ZodString>;
68
+ required: z.ZodOptional<z.ZodBoolean>;
69
+ visible: z.ZodOptional<z.ZodBoolean>;
70
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
71
+ optionId: z.ZodOptional<z.ZodTemplateLiteral<`option_${string}`>>;
72
+ name: z.ZodString;
73
+ }, z.core.$strict>>>;
74
+ }, z.core.$strict>>;
75
+ }, z.core.$strict>>>;
32
76
  idempotencyKey: z.ZodString;
33
77
  }, z.core.$strict>;
34
78
  export type BoardCreateInput = z.infer<typeof BoardCreateInput>;
@@ -93,6 +137,7 @@ export declare const BoardUpdateInput: z.ZodObject<{
93
137
  message: "message";
94
138
  user: "user";
95
139
  package: "package";
140
+ target: "target";
96
141
  search: "search";
97
142
  flag: "flag";
98
143
  route: "route";
@@ -100,7 +145,6 @@ export declare const BoardUpdateInput: z.ZodObject<{
100
145
  "square-check": "square-check";
101
146
  "file-text": "file-text";
102
147
  bulb: "bulb";
103
- target: "target";
104
148
  calendar: "calendar";
105
149
  star: "star";
106
150
  bolt: "bolt";
@@ -166,8 +210,48 @@ export declare const ProcessCheck: z.ZodObject<{
166
210
  name: z.ZodString;
167
211
  }, z.core.$strip>>;
168
212
  responsibleWrites: z.ZodBoolean;
213
+ missing: z.ZodArray<z.ZodObject<{
214
+ code: z.ZodEnum<{
215
+ test_failed: "test_failed";
216
+ no_role: "no_role";
217
+ no_folder: "no_folder";
218
+ credential_invalid: "credential_invalid";
219
+ incomplete: "incomplete";
220
+ no_right: "no_right";
221
+ no_kind: "no_kind";
222
+ no_assignee: "no_assignee";
223
+ no_machine: "no_machine";
224
+ }>;
225
+ machineId: z.ZodOptional<z.ZodTemplateLiteral<`user_${string}`>>;
226
+ credentialId: z.ZodOptional<z.ZodTemplateLiteral<`credential_${string}`>>;
227
+ connectorId: z.ZodOptional<z.ZodString>;
228
+ connectionId: z.ZodOptional<z.ZodTemplateLiteral<`connection_${string}`>>;
229
+ taskId: z.ZodOptional<z.ZodTemplateLiteral<`node_${string}`>>;
230
+ documentId: z.ZodOptional<z.ZodTemplateLiteral<`node_${string}`>>;
231
+ userId: z.ZodOptional<z.ZodTemplateLiteral<`user_${string}`>>;
232
+ nodeId: z.ZodOptional<z.ZodTemplateLiteral<`node_${string}`>>;
233
+ message: z.ZodString;
234
+ right: z.ZodOptional<z.ZodString>;
235
+ givenBy: z.ZodOptional<z.ZodArray<z.ZodObject<{
236
+ userId: z.ZodString;
237
+ name: z.ZodString;
238
+ }, z.core.$strip>>>;
239
+ call: z.ZodOptional<z.ZodObject<{
240
+ tool: z.ZodString;
241
+ arguments: z.ZodRecord<z.ZodString, z.ZodUnknown>;
242
+ }, z.core.$strip>>;
243
+ }, z.core.$strip>>;
169
244
  }, z.core.$strip>;
170
245
  export type ProcessCheck = z.infer<typeof ProcessCheck>;
246
+ export declare const TemplateNote: z.ZodObject<{
247
+ message: z.ZodString;
248
+ runs: z.ZodArray<z.ZodObject<{
249
+ runId: z.ZodTemplateLiteral<`run_${string}`>;
250
+ startedAt: z.ZodISODateTime;
251
+ dueAt: z.ZodNullable<z.ZodISODateTime>;
252
+ }, z.core.$strip>>;
253
+ }, z.core.$strip>;
254
+ export type TemplateNote = z.infer<typeof TemplateNote>;
171
255
  export declare const BoardDetail: z.ZodObject<{
172
256
  boardId: z.ZodTemplateLiteral<`node_${string}`>;
173
257
  name: z.ZodString;
@@ -217,6 +301,37 @@ export declare const BoardDetail: z.ZodObject<{
217
301
  name: z.ZodString;
218
302
  }, z.core.$strip>>;
219
303
  responsibleWrites: z.ZodBoolean;
304
+ missing: z.ZodArray<z.ZodObject<{
305
+ code: z.ZodEnum<{
306
+ test_failed: "test_failed";
307
+ no_role: "no_role";
308
+ no_folder: "no_folder";
309
+ credential_invalid: "credential_invalid";
310
+ incomplete: "incomplete";
311
+ no_right: "no_right";
312
+ no_kind: "no_kind";
313
+ no_assignee: "no_assignee";
314
+ no_machine: "no_machine";
315
+ }>;
316
+ machineId: z.ZodOptional<z.ZodTemplateLiteral<`user_${string}`>>;
317
+ credentialId: z.ZodOptional<z.ZodTemplateLiteral<`credential_${string}`>>;
318
+ connectorId: z.ZodOptional<z.ZodString>;
319
+ connectionId: z.ZodOptional<z.ZodTemplateLiteral<`connection_${string}`>>;
320
+ taskId: z.ZodOptional<z.ZodTemplateLiteral<`node_${string}`>>;
321
+ documentId: z.ZodOptional<z.ZodTemplateLiteral<`node_${string}`>>;
322
+ userId: z.ZodOptional<z.ZodTemplateLiteral<`user_${string}`>>;
323
+ nodeId: z.ZodOptional<z.ZodTemplateLiteral<`node_${string}`>>;
324
+ message: z.ZodString;
325
+ right: z.ZodOptional<z.ZodString>;
326
+ givenBy: z.ZodOptional<z.ZodArray<z.ZodObject<{
327
+ userId: z.ZodString;
328
+ name: z.ZodString;
329
+ }, z.core.$strip>>>;
330
+ call: z.ZodOptional<z.ZodObject<{
331
+ tool: z.ZodString;
332
+ arguments: z.ZodRecord<z.ZodString, z.ZodUnknown>;
333
+ }, z.core.$strip>>;
334
+ }, z.core.$strip>>;
220
335
  }, z.core.$strip>;
221
336
  validator: z.ZodNullable<z.ZodObject<{
222
337
  userId: z.ZodString;
@@ -256,6 +371,7 @@ export declare const BoardDetail: z.ZodObject<{
256
371
  message: "message";
257
372
  user: "user";
258
373
  package: "package";
374
+ target: "target";
259
375
  search: "search";
260
376
  flag: "flag";
261
377
  route: "route";
@@ -263,7 +379,6 @@ export declare const BoardDetail: z.ZodObject<{
263
379
  "square-check": "square-check";
264
380
  "file-text": "file-text";
265
381
  bulb: "bulb";
266
- target: "target";
267
382
  calendar: "calendar";
268
383
  star: "star";
269
384
  bolt: "bolt";
@@ -302,8 +417,17 @@ export declare const BoardDetail: z.ZodObject<{
302
417
  }, z.core.$strip>;
303
418
  rev: z.ZodNumber;
304
419
  updatedAt: z.ZodISODateTime;
420
+ template: z.ZodOptional<z.ZodObject<{
421
+ message: z.ZodString;
422
+ runs: z.ZodArray<z.ZodObject<{
423
+ runId: z.ZodTemplateLiteral<`run_${string}`>;
424
+ startedAt: z.ZodISODateTime;
425
+ dueAt: z.ZodNullable<z.ZodISODateTime>;
426
+ }, z.core.$strip>>;
427
+ }, z.core.$strip>>;
305
428
  }, z.core.$strip>;
306
429
  export type BoardDetail = z.infer<typeof BoardDetail>;
430
+ export declare const compactTaskLimit = 50;
307
431
  export declare const maxBulkTasks = 100;
308
432
  export declare const BoardTaskListInput: z.ZodObject<{
309
433
  boardId: z.ZodTemplateLiteral<`node_${string}`>;
@@ -325,6 +449,7 @@ export declare const BoardTaskListInput: z.ZodObject<{
325
449
  content: z.ZodOptional<z.ZodPreprocess<z.ZodBoolean, unknown>>;
326
450
  cursor: z.ZodOptional<z.ZodString>;
327
451
  limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
452
+ known: z.ZodOptional<z.ZodPreprocess<z.ZodArray<z.ZodString>, unknown>>;
328
453
  }, z.core.$strict>;
329
454
  export type BoardTaskListInput = z.infer<typeof BoardTaskListInput>;
330
455
  export declare const BoardTaskCreateInput: z.ZodObject<{
@@ -372,6 +497,7 @@ export declare const BoardTaskCreated: z.ZodObject<{
372
497
  export type BoardTaskCreated = z.infer<typeof BoardTaskCreated>;
373
498
  export declare const TaskGetInput: z.ZodObject<{
374
499
  taskId: z.ZodTemplateLiteral<`node_${string}`>;
500
+ known: z.ZodOptional<z.ZodPreprocess<z.ZodArray<z.ZodString>, unknown>>;
375
501
  }, z.core.$strict>;
376
502
  export type TaskGetInput = z.infer<typeof TaskGetInput>;
377
503
  export declare const TaskUpdateInput: z.ZodObject<{
@@ -481,6 +607,7 @@ export declare const BoardTaskItem: z.ZodObject<{
481
607
  message: "message";
482
608
  user: "user";
483
609
  package: "package";
610
+ target: "target";
484
611
  search: "search";
485
612
  flag: "flag";
486
613
  route: "route";
@@ -488,7 +615,6 @@ export declare const BoardTaskItem: z.ZodObject<{
488
615
  "square-check": "square-check";
489
616
  "file-text": "file-text";
490
617
  bulb: "bulb";
491
- target: "target";
492
618
  calendar: "calendar";
493
619
  star: "star";
494
620
  bolt: "bolt";
@@ -581,6 +707,7 @@ export declare const BoardTaskList: z.ZodObject<{
581
707
  message: "message";
582
708
  user: "user";
583
709
  package: "package";
710
+ target: "target";
584
711
  search: "search";
585
712
  flag: "flag";
586
713
  route: "route";
@@ -588,7 +715,6 @@ export declare const BoardTaskList: z.ZodObject<{
588
715
  "square-check": "square-check";
589
716
  "file-text": "file-text";
590
717
  bulb: "bulb";
591
- target: "target";
592
718
  calendar: "calendar";
593
719
  star: "star";
594
720
  bolt: "bolt";
@@ -632,7 +758,13 @@ export declare const BoardTaskList: z.ZodObject<{
632
758
  content: z.ZodOptional<z.ZodString>;
633
759
  }, z.core.$strip>>;
634
760
  nextCursor: z.ZodNullable<z.ZodString>;
635
- instruction: z.ZodOptional<z.ZodNullable<z.ZodString>>;
761
+ instruction: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodObject<{
762
+ digest: z.ZodString;
763
+ markdown: z.ZodString;
764
+ }, z.core.$strip>, z.ZodObject<{
765
+ digest: z.ZodString;
766
+ known: z.ZodLiteral<true>;
767
+ }, z.core.$strip>]>>>;
636
768
  columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
637
769
  columnId: z.ZodTemplateLiteral<`column_${string}`>;
638
770
  name: z.ZodString;
@@ -648,8 +780,103 @@ export declare const BoardTaskList: z.ZodObject<{
648
780
  visible: z.ZodBoolean;
649
781
  description: z.ZodString;
650
782
  }, z.core.$strip>>>;
783
+ template: z.ZodOptional<z.ZodObject<{
784
+ message: z.ZodString;
785
+ runs: z.ZodArray<z.ZodObject<{
786
+ runId: z.ZodTemplateLiteral<`run_${string}`>;
787
+ startedAt: z.ZodISODateTime;
788
+ dueAt: z.ZodNullable<z.ZodISODateTime>;
789
+ }, z.core.$strip>>;
790
+ }, z.core.$strip>>;
651
791
  }, z.core.$strip>;
652
792
  export type BoardTaskList = z.infer<typeof BoardTaskList>;
793
+ export declare const BoardTaskBrief: z.ZodObject<{
794
+ column: z.ZodObject<{
795
+ columnId: z.ZodTemplateLiteral<`column_${string}`>;
796
+ name: z.ZodString;
797
+ type: z.ZodEnum<{
798
+ backlog: "backlog";
799
+ open: "open";
800
+ progress: "progress";
801
+ done: "done";
802
+ discarded: "discarded";
803
+ blocked: "blocked";
804
+ archive: "archive";
805
+ }>;
806
+ }, z.core.$strip>;
807
+ taskId: z.ZodTemplateLiteral<`node_${string}`>;
808
+ rev: z.ZodNumber;
809
+ title: z.ZodString;
810
+ assignee: z.ZodObject<{
811
+ userId: z.ZodString;
812
+ name: z.ZodNullable<z.ZodString>;
813
+ kind: z.ZodNullable<z.ZodEnum<{
814
+ machine: "machine";
815
+ human: "human";
816
+ }>>;
817
+ }, z.core.$strip>;
818
+ }, z.core.$strip>;
819
+ export type BoardTaskBrief = z.infer<typeof BoardTaskBrief>;
820
+ export declare const BoardTaskBriefList: z.ZodObject<{
821
+ nextCursor: z.ZodNullable<z.ZodString>;
822
+ instruction: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodObject<{
823
+ digest: z.ZodString;
824
+ markdown: z.ZodString;
825
+ }, z.core.$strip>, z.ZodObject<{
826
+ digest: z.ZodString;
827
+ known: z.ZodLiteral<true>;
828
+ }, z.core.$strip>]>>>;
829
+ columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
830
+ columnId: z.ZodTemplateLiteral<`column_${string}`>;
831
+ name: z.ZodString;
832
+ type: z.ZodEnum<{
833
+ backlog: "backlog";
834
+ open: "open";
835
+ progress: "progress";
836
+ done: "done";
837
+ discarded: "discarded";
838
+ blocked: "blocked";
839
+ archive: "archive";
840
+ }>;
841
+ visible: z.ZodBoolean;
842
+ description: z.ZodString;
843
+ }, z.core.$strip>>>;
844
+ template: z.ZodOptional<z.ZodObject<{
845
+ message: z.ZodString;
846
+ runs: z.ZodArray<z.ZodObject<{
847
+ runId: z.ZodTemplateLiteral<`run_${string}`>;
848
+ startedAt: z.ZodISODateTime;
849
+ dueAt: z.ZodNullable<z.ZodISODateTime>;
850
+ }, z.core.$strip>>;
851
+ }, z.core.$strip>>;
852
+ items: z.ZodArray<z.ZodObject<{
853
+ column: z.ZodObject<{
854
+ columnId: z.ZodTemplateLiteral<`column_${string}`>;
855
+ name: z.ZodString;
856
+ type: z.ZodEnum<{
857
+ backlog: "backlog";
858
+ open: "open";
859
+ progress: "progress";
860
+ done: "done";
861
+ discarded: "discarded";
862
+ blocked: "blocked";
863
+ archive: "archive";
864
+ }>;
865
+ }, z.core.$strip>;
866
+ taskId: z.ZodTemplateLiteral<`node_${string}`>;
867
+ rev: z.ZodNumber;
868
+ title: z.ZodString;
869
+ assignee: z.ZodObject<{
870
+ userId: z.ZodString;
871
+ name: z.ZodNullable<z.ZodString>;
872
+ kind: z.ZodNullable<z.ZodEnum<{
873
+ machine: "machine";
874
+ human: "human";
875
+ }>>;
876
+ }, z.core.$strip>;
877
+ }, z.core.$strip>>;
878
+ }, z.core.$strip>;
879
+ export type BoardTaskBriefList = z.infer<typeof BoardTaskBriefList>;
653
880
  export declare const TaskDetail: z.ZodObject<{
654
881
  taskId: z.ZodTemplateLiteral<`node_${string}`>;
655
882
  boardId: z.ZodTemplateLiteral<`node_${string}`>;
@@ -733,6 +960,7 @@ export declare const TaskDetail: z.ZodObject<{
733
960
  message: "message";
734
961
  user: "user";
735
962
  package: "package";
963
+ target: "target";
736
964
  search: "search";
737
965
  flag: "flag";
738
966
  route: "route";
@@ -740,7 +968,6 @@ export declare const TaskDetail: z.ZodObject<{
740
968
  "square-check": "square-check";
741
969
  "file-text": "file-text";
742
970
  bulb: "bulb";
743
- target: "target";
744
971
  calendar: "calendar";
745
972
  star: "star";
746
973
  bolt: "bolt";
@@ -775,6 +1002,7 @@ export declare const TaskDetail: z.ZodObject<{
775
1002
  message: "message";
776
1003
  user: "user";
777
1004
  package: "package";
1005
+ target: "target";
778
1006
  search: "search";
779
1007
  flag: "flag";
780
1008
  route: "route";
@@ -782,7 +1010,6 @@ export declare const TaskDetail: z.ZodObject<{
782
1010
  "square-check": "square-check";
783
1011
  "file-text": "file-text";
784
1012
  bulb: "bulb";
785
- target: "target";
786
1013
  calendar: "calendar";
787
1014
  star: "star";
788
1015
  bolt: "bolt";
@@ -806,6 +1033,7 @@ export declare const TaskDetail: z.ZodObject<{
806
1033
  message: "message";
807
1034
  user: "user";
808
1035
  package: "package";
1036
+ target: "target";
809
1037
  search: "search";
810
1038
  flag: "flag";
811
1039
  route: "route";
@@ -813,7 +1041,6 @@ export declare const TaskDetail: z.ZodObject<{
813
1041
  "square-check": "square-check";
814
1042
  "file-text": "file-text";
815
1043
  bulb: "bulb";
816
- target: "target";
817
1044
  calendar: "calendar";
818
1045
  star: "star";
819
1046
  bolt: "bolt";
@@ -913,7 +1140,13 @@ export declare const TaskDetail: z.ZodObject<{
913
1140
  archivedAt: z.ZodNullable<z.ZodISODateTime>;
914
1141
  createdAt: z.ZodISODateTime;
915
1142
  updatedAt: z.ZodISODateTime;
916
- instruction: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1143
+ instruction: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodObject<{
1144
+ digest: z.ZodString;
1145
+ markdown: z.ZodString;
1146
+ }, z.core.$strip>, z.ZodObject<{
1147
+ digest: z.ZodString;
1148
+ known: z.ZodLiteral<true>;
1149
+ }, z.core.$strip>]>>>;
917
1150
  columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
918
1151
  columnId: z.ZodTemplateLiteral<`column_${string}`>;
919
1152
  name: z.ZodString;
@@ -932,14 +1165,3 @@ export declare const TaskDetail: z.ZodObject<{
932
1165
  }, z.core.$strip>>>;
933
1166
  }, z.core.$strip>;
934
1167
  export type TaskDetail = z.infer<typeof TaskDetail>;
935
- export declare const TaskSaved: z.ZodObject<{
936
- taskId: z.ZodTemplateLiteral<`node_${string}`>;
937
- rev: z.ZodNumber;
938
- warnings: z.ZodArray<z.ZodObject<{
939
- code: z.ZodEnum<{
940
- followup_failed: "followup_failed";
941
- }>;
942
- message: z.ZodString;
943
- }, z.core.$strip>>;
944
- }, z.core.$strip>;
945
- export type TaskSaved = z.infer<typeof TaskSaved>;
@@ -1,9 +1,10 @@
1
1
  import { z } from "zod";
2
2
  import { CardKind, CardKindsInput, TaskFields, TaskFieldsInput, TaskKind, TaskKindInput, } from "../card-kinds/card-kinds.js";
3
3
  import { ColumnId, ColumnType, TaskColumn } from "../columns/columns.js";
4
- import { Warning } from "../error/error.js";
5
4
  import { idSchema } from "../ids/ids.js";
5
+ import { InstructionRead, Known } from "../instructions/instructions.js";
6
6
  import { Flag } from "../list-input.js";
7
+ import { Missing } from "../missing/missing.js";
7
8
  import { BoardShownKind, BoardSystem, NodeId, NodePerson } from "../nodes/nodes.js";
8
9
  import { IdempotencyKey, Rev } from "../primitives/primitives.js";
9
10
  import { Schedule } from "../schedule/schedule.js";
@@ -54,7 +55,9 @@ export const BoardCreateInput = z.strictObject({
54
55
  // ⚠️ Required and nullable (trap C015): null is the top level of Shared.
55
56
  parentId: NodeId.nullable().describe("The folder to create the board in, one you can write to; null creates it on the top level of Shared, visible to you until you share it."),
56
57
  name: Name.describe("The board's name as people read it."),
57
- columns: Columns.optional().describe("The board's columns in their order, without columnId. Exactly one of type archive, last. Leaving it out gives Backlog, Open, In progress, Done and Archive, named in your language."),
58
+ columns: Columns.optional().describe("The board's columns in their order, without columnId, each with its description if it has one. Exactly one of type archive, last. Leaving it out gives Backlog, Open, In progress, Done and Archive, named in your language."),
59
+ // #675: a copied template has its kinds with the create, not with a second call.
60
+ cardKinds: CardKindsInput.optional().describe("The board's card kinds in their order, each with its fields, as intelligence_board_update takes them but without kindId, fieldId and optionId. The first is the standard unless one says standard. Leaving it out makes a board of free cards."),
58
61
  idempotencyKey: IdempotencyKey,
59
62
  });
60
63
  export const BoardGetInput = z.strictObject({ boardId: BoardId });
@@ -69,7 +72,7 @@ export const BoardUpdateInput = z.strictObject({
69
72
  .optional()
70
73
  .describe("The process's responsible: a person or machine who writes on the board, `user_…`; null for nobody, then whoever made it a process gets the hints. They get the start of a run and a run that stands as an Action and open its first checkpoints. Only with a process. Leaving it out keeps it; a board made a process without one gets whoever makes it a process, when they write on it."),
71
74
  schedule: Schedule.optional().describe("When a run of the process or of the validation falls due (Ausführung). Leaving it out keeps it; a board made a process without one runs by hand."),
72
- instruction: BoardInstruction.optional().describe("The board's instruction, Markdown: what the board is about and how every AI working on it goes about it. It comes along with every read of the board and its tasks over MCP. On the validation board only an admin in admin mode changes it. An empty text removes it; leaving it out keeps it."),
75
+ instruction: BoardInstruction.optional().describe("The board's instruction, Markdown: what the board is about and how every AI working on it goes about it. It comes along with every read of the board and its tasks over MCP, as only its digest where the read sends that digest under known. On the validation board only an admin in admin mode changes it. An empty text removes it; leaving it out keeps it."),
73
76
  columns: Columns.optional(),
74
77
  cardKinds: CardKindsInput.optional(),
75
78
  labels: z
@@ -106,6 +109,24 @@ export const ProcessCheck = z.object({
106
109
  // The process's responsible writes on the board (E125); true without one and on a board that is
107
110
  // no process.
108
111
  responsibleWrites: z.boolean(),
112
+ // The template check of a process (#675): what a run of its template needs and Colab can check
113
+ // without knowing what a field means, each entry with the card's `taskId`: a card without a kind
114
+ // on a board with kinds, an empty required field, an assignee who is gone or does not write on the
115
+ // board, a node a link field names that the assignee cannot read. The same entries a save of the
116
+ // process and a template card's create answer under `missing`. Empty on a board that is no process.
117
+ missing: z.array(Missing),
118
+ });
119
+ // A process read without `runId` is its template, not a run (#678): said so over MCP, with the runs
120
+ // that run now, so an AI works on a run's cards and not on the template's. Absent on a board that is
121
+ // no process, and with `runId`.
122
+ export const TemplateNote = z.object({
123
+ message: z.string(),
124
+ runs: z.array(z.object({
125
+ runId: RunRef,
126
+ startedAt: z.iso.datetime(),
127
+ // The moment of the schedule the run stands for; null for one started by hand.
128
+ dueAt: z.iso.datetime().nullable(),
129
+ })),
109
130
  });
110
131
  export const BoardDetail = z.object({
111
132
  boardId: NodeId,
@@ -134,6 +155,8 @@ export const BoardDetail = z.object({
134
155
  rights: z.object({ write: z.boolean() }),
135
156
  rev: z.number().int(),
136
157
  updatedAt: z.iso.datetime(),
158
+ // Over MCP only, on a process (#678): this is the template, and the runs that run now.
159
+ template: TemplateNote.optional(),
137
160
  });
138
161
  // The most one page of a board's tasks holds: a board is read whole for the kanban.
139
162
  const TaskLimit = z.coerce
@@ -141,7 +164,10 @@ const TaskLimit = z.coerce
141
164
  .int()
142
165
  .min(1)
143
166
  .max(500)
144
- .describe("How many tasks one page holds, 1 to 500. Leaving it out gives 200. With content at most 100, and leaving it out gives 100.");
167
+ .describe("How many tasks one page holds, 1 to 500. Leaving it out gives 50 over MCP and 200 over the API. With content at most 100, and leaving it out gives 100.");
168
+ // Over MCP a page without `content` holds this many tasks unless `limit` says otherwise (E127,
169
+ // #674); the board view, a gadget and every other caller keep 200.
170
+ export const compactTaskLimit = 50;
145
171
  // The most tasks one call reads by id, creates or changes (#625, E114).
146
172
  export const maxBulkTasks = 100;
147
173
  export const BoardTaskListInput = z.strictObject({
@@ -157,13 +183,14 @@ export const BoardTaskListInput = z.strictObject({
157
183
  .preprocess((value) => (typeof value === "string" ? value.split(",") : value), z.array(TaskId).min(1).max(maxBulkTasks))
158
184
  .optional()
159
185
  .describe("Only these tasks of the board (of the run, with runId), 1 to 100, also from the archive column: one you cannot read or that is not there is left out without a note."),
160
- content: Flag.optional().describe("true: every task also carries its Markdown text as content, beside its rev, so you check a whole board without reading task by task. A page then holds at most 100 tasks."),
186
+ content: Flag.optional().describe("true: every task comes whole, with its dates, labels, subtask depth, readiness, images, card kind and fields, and its Markdown text as content, so you check a whole board without reading task by task. A page then holds at most 100 tasks. Without it each task is compact: taskId, title, column, assignee and rev."),
161
187
  cursor: z
162
188
  .string()
163
189
  .max(1000)
164
190
  .optional()
165
191
  .describe("The nextCursor of the previous page, unchanged. Leaving it out starts at the top."),
166
192
  limit: TaskLimit.optional(),
193
+ known: Known.optional(),
167
194
  });
168
195
  const Title = z.string().max(500).describe("The task's title.");
169
196
  const Content = z
@@ -185,7 +212,7 @@ const Position = z
185
212
  .string()
186
213
  .min(1)
187
214
  .max(100)
188
- .describe("The place in the column: a fractional-indexing key between the positions of the neighbours, as intelligence_board_task_list returns them. Leaving it out puts the task at the end of its column.");
215
+ .describe("The place in the column: a fractional-indexing key between the positions of the neighbours, as intelligence_board_task_list returns them with content: true, or intelligence_task_get. Leaving it out puts the task at the end of its column.");
189
216
  const Assignee = idSchema("user").describe("The one person responsible for the task, someone who can read the board. Leaving it out on create makes it you, on a process the first machine that can write on it.");
190
217
  // The fields of one new task, alone or as an entry of `tasks` (#625).
191
218
  const newTask = {
@@ -235,7 +262,7 @@ export const BoardTaskCreateInput = z.strictObject({
235
262
  export const BoardTaskCreated = z.object({
236
263
  tasks: z.array(z.object({ ref: z.string(), taskId: NodeId, rev: z.number().int() })),
237
264
  });
238
- export const TaskGetInput = z.strictObject({ taskId: TaskId });
265
+ export const TaskGetInput = z.strictObject({ taskId: TaskId, known: Known.optional() });
239
266
  export const TaskUpdateInput = z.strictObject({
240
267
  taskId: TaskId,
241
268
  rev: Rev,
@@ -329,12 +356,25 @@ export const BoardTaskList = z.object({
329
356
  items: z.array(BoardTaskItem),
330
357
  nextCursor: z.string().nullable(),
331
358
  // Over MCP only (E87, #354): the board's instruction, a run's copy of it with `runId`; null
332
- // without one.
333
- instruction: z.string().nullable().optional(),
359
+ // without one, the reference when known (E123, #677).
360
+ instruction: InstructionRead.optional(),
334
361
  // Over MCP only (#624): every column of the board (of the run, with `runId`) in order, with its
335
362
  // description, once per page.
336
363
  columns: z.array(BoardColumn).optional(),
364
+ // Over MCP only, on a process without `runId` (#678): these are the template's cards, and the runs
365
+ // that run now.
366
+ template: TemplateNote.optional(),
367
+ });
368
+ // A card as the list answers it over MCP without `content` (E127, #674): what finds a card and moves
369
+ // it on, without its text and the rest of the card.
370
+ export const BoardTaskBrief = BoardTaskItem.pick({
371
+ taskId: true,
372
+ title: true,
373
+ column: true,
374
+ assignee: true,
375
+ rev: true,
337
376
  });
377
+ export const BoardTaskBriefList = BoardTaskList.extend({ items: z.array(BoardTaskBrief) });
338
378
  // A subtask or a task waited for; `kind` its card kind (#638), null without one.
339
379
  const TaskRef = z.object({
340
380
  taskId: NodeId,
@@ -390,16 +430,9 @@ export const TaskDetail = z.object({
390
430
  createdAt: z.iso.datetime(),
391
431
  updatedAt: z.iso.datetime(),
392
432
  // Over MCP only (E87, #354): the instruction of the task's board, of its run for a run's task;
393
- // null without one.
394
- instruction: z.string().nullable().optional(),
433
+ // null without one, the reference when known (E123, #677).
434
+ instruction: InstructionRead.optional(),
395
435
  // Over MCP only (#624): every column of the task's board (of its run for a run's task) in order,
396
436
  // with its description; `current` marks the task's own.
397
437
  columns: z.array(BoardColumn.extend({ current: z.boolean() })).optional(),
398
438
  });
399
- // `intelligence_task_update` in place of the task when the change is saved and a step after the
400
- // save failed (#623): the task's id, the rev for its next change and the warning that says so.
401
- export const TaskSaved = z.object({
402
- taskId: NodeId,
403
- rev: z.number().int(),
404
- warnings: z.array(Warning),
405
- });
@@ -21,6 +21,7 @@ export declare const CardKindIcon: z.ZodEnum<{
21
21
  message: "message";
22
22
  user: "user";
23
23
  package: "package";
24
+ target: "target";
24
25
  search: "search";
25
26
  flag: "flag";
26
27
  route: "route";
@@ -28,7 +29,6 @@ export declare const CardKindIcon: z.ZodEnum<{
28
29
  "square-check": "square-check";
29
30
  "file-text": "file-text";
30
31
  bulb: "bulb";
31
- target: "target";
32
32
  calendar: "calendar";
33
33
  star: "star";
34
34
  bolt: "bolt";
@@ -68,6 +68,7 @@ export declare const CardKindInput: z.ZodObject<{
68
68
  message: "message";
69
69
  user: "user";
70
70
  package: "package";
71
+ target: "target";
71
72
  search: "search";
72
73
  flag: "flag";
73
74
  route: "route";
@@ -75,7 +76,6 @@ export declare const CardKindInput: z.ZodObject<{
75
76
  "square-check": "square-check";
76
77
  "file-text": "file-text";
77
78
  bulb: "bulb";
78
- target: "target";
79
79
  calendar: "calendar";
80
80
  star: "star";
81
81
  bolt: "bolt";
@@ -113,6 +113,7 @@ export declare const CardKindsInput: z.ZodArray<z.ZodObject<{
113
113
  message: "message";
114
114
  user: "user";
115
115
  package: "package";
116
+ target: "target";
116
117
  search: "search";
117
118
  flag: "flag";
118
119
  route: "route";
@@ -120,7 +121,6 @@ export declare const CardKindsInput: z.ZodArray<z.ZodObject<{
120
121
  "square-check": "square-check";
121
122
  "file-text": "file-text";
122
123
  bulb: "bulb";
123
- target: "target";
124
124
  calendar: "calendar";
125
125
  star: "star";
126
126
  bolt: "bolt";
@@ -183,6 +183,7 @@ export declare const CardKind: z.ZodObject<{
183
183
  message: "message";
184
184
  user: "user";
185
185
  package: "package";
186
+ target: "target";
186
187
  search: "search";
187
188
  flag: "flag";
188
189
  route: "route";
@@ -190,7 +191,6 @@ export declare const CardKind: z.ZodObject<{
190
191
  "square-check": "square-check";
191
192
  "file-text": "file-text";
192
193
  bulb: "bulb";
193
- target: "target";
194
194
  calendar: "calendar";
195
195
  star: "star";
196
196
  bolt: "bolt";
@@ -228,6 +228,7 @@ export declare const TaskKind: z.ZodObject<{
228
228
  message: "message";
229
229
  user: "user";
230
230
  package: "package";
231
+ target: "target";
231
232
  search: "search";
232
233
  flag: "flag";
233
234
  route: "route";
@@ -235,7 +236,6 @@ export declare const TaskKind: z.ZodObject<{
235
236
  "square-check": "square-check";
236
237
  "file-text": "file-text";
237
238
  bulb: "bulb";
238
- target: "target";
239
239
  calendar: "calendar";
240
240
  star: "star";
241
241
  bolt: "bolt";