@anchrd/intel-contract 0.2.2 → 0.3.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.
@@ -23,12 +23,6 @@ export declare const KnowledgeNodeKind: z.ZodEnum<{
23
23
  table: "table";
24
24
  }>;
25
25
  export type KnowledgeNodeKind = z.infer<typeof KnowledgeNodeKind>;
26
- export declare const ContextPolicy: z.ZodEnum<{
27
- pinned: "pinned";
28
- relevant: "relevant";
29
- explicit: "explicit";
30
- }>;
31
- export type ContextPolicy = z.infer<typeof ContextPolicy>;
32
26
  export declare const ResourceVerb: z.ZodEnum<{
33
27
  read: "read";
34
28
  write: "write";
@@ -57,11 +51,6 @@ export declare const KnowledgeNode: z.ZodObject<{
57
51
  }>;
58
52
  title: z.ZodString;
59
53
  description: z.ZodNullable<z.ZodString>;
60
- contextPolicy: z.ZodEnum<{
61
- pinned: "pinned";
62
- relevant: "relevant";
63
- explicit: "explicit";
64
- }>;
65
54
  ownerId: z.ZodString;
66
55
  currentVersionId: z.ZodNullable<z.ZodString>;
67
56
  createdAt: z.ZodISODateTime;
@@ -104,11 +93,6 @@ export declare const CreateKnowledgeNodeInput: z.ZodObject<{
104
93
  }>;
105
94
  title: z.ZodString;
106
95
  description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
107
- contextPolicy: z.ZodDefault<z.ZodEnum<{
108
- pinned: "pinned";
109
- relevant: "relevant";
110
- explicit: "explicit";
111
- }>>;
112
96
  idempotencyKey: z.ZodString;
113
97
  }, z.core.$strict>;
114
98
  export type CreateKnowledgeNodeInput = z.infer<typeof CreateKnowledgeNodeInput>;
@@ -133,11 +117,6 @@ export declare const UpdateKnowledgeNodeInput: z.ZodObject<{
133
117
  baseUpdatedAt: z.ZodISODateTime;
134
118
  title: z.ZodOptional<z.ZodString>;
135
119
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
136
- contextPolicy: z.ZodOptional<z.ZodEnum<{
137
- pinned: "pinned";
138
- relevant: "relevant";
139
- explicit: "explicit";
140
- }>>;
141
120
  parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
142
121
  idempotencyKey: z.ZodString;
143
122
  }, z.core.$strict>;
@@ -161,11 +140,6 @@ export declare const KnowledgeNodeList: z.ZodObject<{
161
140
  }>;
162
141
  title: z.ZodString;
163
142
  description: z.ZodNullable<z.ZodString>;
164
- contextPolicy: z.ZodEnum<{
165
- pinned: "pinned";
166
- relevant: "relevant";
167
- explicit: "explicit";
168
- }>;
169
143
  ownerId: z.ZodString;
170
144
  currentVersionId: z.ZodNullable<z.ZodString>;
171
145
  createdAt: z.ZodISODateTime;
@@ -200,11 +174,6 @@ export declare const KnowledgeDocument: z.ZodObject<{
200
174
  }>;
201
175
  title: z.ZodString;
202
176
  description: z.ZodNullable<z.ZodString>;
203
- contextPolicy: z.ZodEnum<{
204
- pinned: "pinned";
205
- relevant: "relevant";
206
- explicit: "explicit";
207
- }>;
208
177
  ownerId: z.ZodString;
209
178
  currentVersionId: z.ZodNullable<z.ZodString>;
210
179
  createdAt: z.ZodISODateTime;
@@ -237,11 +206,6 @@ export declare const KnowledgeAttachment: z.ZodObject<{
237
206
  }>;
238
207
  title: z.ZodString;
239
208
  description: z.ZodNullable<z.ZodString>;
240
- contextPolicy: z.ZodEnum<{
241
- pinned: "pinned";
242
- relevant: "relevant";
243
- explicit: "explicit";
244
- }>;
245
209
  ownerId: z.ZodString;
246
210
  currentVersionId: z.ZodNullable<z.ZodString>;
247
211
  createdAt: z.ZodISODateTime;
@@ -294,11 +258,6 @@ export declare const KnowledgeTable: z.ZodObject<{
294
258
  }>;
295
259
  title: z.ZodString;
296
260
  description: z.ZodNullable<z.ZodString>;
297
- contextPolicy: z.ZodEnum<{
298
- pinned: "pinned";
299
- relevant: "relevant";
300
- explicit: "explicit";
301
- }>;
302
261
  ownerId: z.ZodString;
303
262
  currentVersionId: z.ZodNullable<z.ZodString>;
304
263
  createdAt: z.ZodISODateTime;
@@ -322,11 +281,6 @@ export declare const AppendKnowledgeTableRowsResult: z.ZodObject<{
322
281
  }>;
323
282
  title: z.ZodString;
324
283
  description: z.ZodNullable<z.ZodString>;
325
- contextPolicy: z.ZodEnum<{
326
- pinned: "pinned";
327
- relevant: "relevant";
328
- explicit: "explicit";
329
- }>;
330
284
  ownerId: z.ZodString;
331
285
  currentVersionId: z.ZodNullable<z.ZodString>;
332
286
  createdAt: z.ZodISODateTime;
@@ -432,11 +386,6 @@ export declare const KnowledgeGraph: z.ZodObject<{
432
386
  }>;
433
387
  title: z.ZodString;
434
388
  description: z.ZodNullable<z.ZodString>;
435
- contextPolicy: z.ZodEnum<{
436
- pinned: "pinned";
437
- relevant: "relevant";
438
- explicit: "explicit";
439
- }>;
440
389
  ownerId: z.ZodString;
441
390
  currentVersionId: z.ZodNullable<z.ZodString>;
442
391
  createdAt: z.ZodISODateTime;
@@ -699,9 +648,9 @@ export declare const FlowPosition: z.ZodObject<{
699
648
  y: z.ZodNumber;
700
649
  }, z.core.$strict>;
701
650
  export declare const SubflowVersionMode: z.ZodEnum<{
702
- pinned: "pinned";
703
651
  latest: "latest";
704
652
  follows: "follows";
653
+ pinned: "pinned";
705
654
  }>;
706
655
  export type SubflowVersionMode = z.infer<typeof SubflowVersionMode>;
707
656
  export declare const SubflowVersion: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -713,6 +662,24 @@ export declare const SubflowVersion: z.ZodDiscriminatedUnion<[z.ZodObject<{
713
662
  versionId: z.ZodString;
714
663
  }, z.core.$strict>], "mode">;
715
664
  export type SubflowVersion = z.infer<typeof SubflowVersion>;
665
+ export declare const FlowNodeLayer: z.ZodEnum<{
666
+ marker: "marker";
667
+ step: "step";
668
+ link: "link";
669
+ }>;
670
+ export type FlowNodeLayer = z.infer<typeof FlowNodeLayer>;
671
+ export declare const flowNodeLayer: {
672
+ readonly trigger: "marker";
673
+ readonly output: "marker";
674
+ readonly instruction: "step";
675
+ readonly condition: "step";
676
+ readonly subflow: "step";
677
+ readonly folder: "link";
678
+ readonly document: "link";
679
+ readonly upload: "link";
680
+ readonly table: "link";
681
+ readonly tool: "link";
682
+ };
716
683
  export declare const FlowNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
717
684
  kind: z.ZodLiteral<"trigger">;
718
685
  configuration: z.ZodObject<{
@@ -736,14 +703,9 @@ export declare const FlowNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
736
703
  }, z.core.$strict>;
737
704
  label: z.ZodString;
738
705
  }, z.core.$strict>, z.ZodObject<{
739
- kind: z.ZodLiteral<"knowledge">;
706
+ kind: z.ZodLiteral<"folder">;
740
707
  configuration: z.ZodObject<{
741
- resourceIds: z.ZodArray<z.ZodString>;
742
- mode: z.ZodEnum<{
743
- relevant: "relevant";
744
- full: "full";
745
- }>;
746
- query: z.ZodDefault<z.ZodNullable<z.ZodString>>;
708
+ resourceId: z.ZodString;
747
709
  }, z.core.$strict>;
748
710
  id: z.ZodString;
749
711
  position: z.ZodObject<{
@@ -752,11 +714,9 @@ export declare const FlowNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
752
714
  }, z.core.$strict>;
753
715
  label: z.ZodString;
754
716
  }, z.core.$strict>, z.ZodObject<{
755
- kind: z.ZodLiteral<"tool">;
717
+ kind: z.ZodLiteral<"document">;
756
718
  configuration: z.ZodObject<{
757
- toolName: z.ZodString;
758
- fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
759
- arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
719
+ resourceId: z.ZodString;
760
720
  }, z.core.$strict>;
761
721
  id: z.ZodString;
762
722
  position: z.ZodObject<{
@@ -765,10 +725,9 @@ export declare const FlowNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
765
725
  }, z.core.$strict>;
766
726
  label: z.ZodString;
767
727
  }, z.core.$strict>, z.ZodObject<{
768
- kind: z.ZodLiteral<"condition">;
728
+ kind: z.ZodLiteral<"upload">;
769
729
  configuration: z.ZodObject<{
770
- mode: z.ZodLiteral<"semantic">;
771
- instruction: z.ZodString;
730
+ resourceId: z.ZodString;
772
731
  }, z.core.$strict>;
773
732
  id: z.ZodString;
774
733
  position: z.ZodObject<{
@@ -777,10 +736,34 @@ export declare const FlowNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
777
736
  }, z.core.$strict>;
778
737
  label: z.ZodString;
779
738
  }, z.core.$strict>, z.ZodObject<{
780
- kind: z.ZodLiteral<"approval">;
739
+ kind: z.ZodLiteral<"table">;
781
740
  configuration: z.ZodObject<{
782
- prompt: z.ZodString;
783
- timeout: z.ZodString;
741
+ resourceId: z.ZodString;
742
+ }, z.core.$strict>;
743
+ id: z.ZodString;
744
+ position: z.ZodObject<{
745
+ x: z.ZodNumber;
746
+ y: z.ZodNumber;
747
+ }, z.core.$strict>;
748
+ label: z.ZodString;
749
+ }, z.core.$strict>, z.ZodObject<{
750
+ kind: z.ZodLiteral<"tool">;
751
+ configuration: z.ZodObject<{
752
+ toolName: z.ZodString;
753
+ fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
754
+ arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
755
+ }, z.core.$strict>;
756
+ id: z.ZodString;
757
+ position: z.ZodObject<{
758
+ x: z.ZodNumber;
759
+ y: z.ZodNumber;
760
+ }, z.core.$strict>;
761
+ label: z.ZodString;
762
+ }, z.core.$strict>, z.ZodObject<{
763
+ kind: z.ZodLiteral<"condition">;
764
+ configuration: z.ZodObject<{
765
+ mode: z.ZodLiteral<"semantic">;
766
+ instruction: z.ZodString;
784
767
  }, z.core.$strict>;
785
768
  id: z.ZodString;
786
769
  position: z.ZodObject<{
@@ -809,9 +792,7 @@ export declare const FlowNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
809
792
  label: z.ZodString;
810
793
  }, z.core.$strict>, z.ZodObject<{
811
794
  kind: z.ZodLiteral<"output">;
812
- configuration: z.ZodObject<{
813
- template: z.ZodDefault<z.ZodString>;
814
- }, z.core.$strict>;
795
+ configuration: z.ZodObject<{}, z.core.$strict>;
815
796
  id: z.ZodString;
816
797
  position: z.ZodObject<{
817
798
  x: z.ZodNumber;
@@ -861,14 +842,9 @@ export declare const FlowGraph: z.ZodObject<{
861
842
  }, z.core.$strict>;
862
843
  label: z.ZodString;
863
844
  }, z.core.$strict>, z.ZodObject<{
864
- kind: z.ZodLiteral<"knowledge">;
845
+ kind: z.ZodLiteral<"folder">;
865
846
  configuration: z.ZodObject<{
866
- resourceIds: z.ZodArray<z.ZodString>;
867
- mode: z.ZodEnum<{
868
- relevant: "relevant";
869
- full: "full";
870
- }>;
871
- query: z.ZodDefault<z.ZodNullable<z.ZodString>>;
847
+ resourceId: z.ZodString;
872
848
  }, z.core.$strict>;
873
849
  id: z.ZodString;
874
850
  position: z.ZodObject<{
@@ -877,11 +853,9 @@ export declare const FlowGraph: z.ZodObject<{
877
853
  }, z.core.$strict>;
878
854
  label: z.ZodString;
879
855
  }, z.core.$strict>, z.ZodObject<{
880
- kind: z.ZodLiteral<"tool">;
856
+ kind: z.ZodLiteral<"document">;
881
857
  configuration: z.ZodObject<{
882
- toolName: z.ZodString;
883
- fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
884
- arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
858
+ resourceId: z.ZodString;
885
859
  }, z.core.$strict>;
886
860
  id: z.ZodString;
887
861
  position: z.ZodObject<{
@@ -890,10 +864,9 @@ export declare const FlowGraph: z.ZodObject<{
890
864
  }, z.core.$strict>;
891
865
  label: z.ZodString;
892
866
  }, z.core.$strict>, z.ZodObject<{
893
- kind: z.ZodLiteral<"condition">;
867
+ kind: z.ZodLiteral<"upload">;
894
868
  configuration: z.ZodObject<{
895
- mode: z.ZodLiteral<"semantic">;
896
- instruction: z.ZodString;
869
+ resourceId: z.ZodString;
897
870
  }, z.core.$strict>;
898
871
  id: z.ZodString;
899
872
  position: z.ZodObject<{
@@ -902,10 +875,34 @@ export declare const FlowGraph: z.ZodObject<{
902
875
  }, z.core.$strict>;
903
876
  label: z.ZodString;
904
877
  }, z.core.$strict>, z.ZodObject<{
905
- kind: z.ZodLiteral<"approval">;
878
+ kind: z.ZodLiteral<"table">;
906
879
  configuration: z.ZodObject<{
907
- prompt: z.ZodString;
908
- timeout: z.ZodString;
880
+ resourceId: z.ZodString;
881
+ }, z.core.$strict>;
882
+ id: z.ZodString;
883
+ position: z.ZodObject<{
884
+ x: z.ZodNumber;
885
+ y: z.ZodNumber;
886
+ }, z.core.$strict>;
887
+ label: z.ZodString;
888
+ }, z.core.$strict>, z.ZodObject<{
889
+ kind: z.ZodLiteral<"tool">;
890
+ configuration: z.ZodObject<{
891
+ toolName: z.ZodString;
892
+ fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
893
+ arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
894
+ }, z.core.$strict>;
895
+ id: z.ZodString;
896
+ position: z.ZodObject<{
897
+ x: z.ZodNumber;
898
+ y: z.ZodNumber;
899
+ }, z.core.$strict>;
900
+ label: z.ZodString;
901
+ }, z.core.$strict>, z.ZodObject<{
902
+ kind: z.ZodLiteral<"condition">;
903
+ configuration: z.ZodObject<{
904
+ mode: z.ZodLiteral<"semantic">;
905
+ instruction: z.ZodString;
909
906
  }, z.core.$strict>;
910
907
  id: z.ZodString;
911
908
  position: z.ZodObject<{
@@ -934,9 +931,7 @@ export declare const FlowGraph: z.ZodObject<{
934
931
  label: z.ZodString;
935
932
  }, z.core.$strict>, z.ZodObject<{
936
933
  kind: z.ZodLiteral<"output">;
937
- configuration: z.ZodObject<{
938
- template: z.ZodDefault<z.ZodString>;
939
- }, z.core.$strict>;
934
+ configuration: z.ZodObject<{}, z.core.$strict>;
940
935
  id: z.ZodString;
941
936
  position: z.ZodObject<{
942
937
  x: z.ZodNumber;
@@ -998,14 +993,9 @@ export declare const FlowVersion: z.ZodObject<{
998
993
  }, z.core.$strict>;
999
994
  label: z.ZodString;
1000
995
  }, z.core.$strict>, z.ZodObject<{
1001
- kind: z.ZodLiteral<"knowledge">;
996
+ kind: z.ZodLiteral<"folder">;
1002
997
  configuration: z.ZodObject<{
1003
- resourceIds: z.ZodArray<z.ZodString>;
1004
- mode: z.ZodEnum<{
1005
- relevant: "relevant";
1006
- full: "full";
1007
- }>;
1008
- query: z.ZodDefault<z.ZodNullable<z.ZodString>>;
998
+ resourceId: z.ZodString;
1009
999
  }, z.core.$strict>;
1010
1000
  id: z.ZodString;
1011
1001
  position: z.ZodObject<{
@@ -1014,11 +1004,9 @@ export declare const FlowVersion: z.ZodObject<{
1014
1004
  }, z.core.$strict>;
1015
1005
  label: z.ZodString;
1016
1006
  }, z.core.$strict>, z.ZodObject<{
1017
- kind: z.ZodLiteral<"tool">;
1007
+ kind: z.ZodLiteral<"document">;
1018
1008
  configuration: z.ZodObject<{
1019
- toolName: z.ZodString;
1020
- fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1021
- arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1009
+ resourceId: z.ZodString;
1022
1010
  }, z.core.$strict>;
1023
1011
  id: z.ZodString;
1024
1012
  position: z.ZodObject<{
@@ -1027,10 +1015,9 @@ export declare const FlowVersion: z.ZodObject<{
1027
1015
  }, z.core.$strict>;
1028
1016
  label: z.ZodString;
1029
1017
  }, z.core.$strict>, z.ZodObject<{
1030
- kind: z.ZodLiteral<"condition">;
1018
+ kind: z.ZodLiteral<"upload">;
1031
1019
  configuration: z.ZodObject<{
1032
- mode: z.ZodLiteral<"semantic">;
1033
- instruction: z.ZodString;
1020
+ resourceId: z.ZodString;
1034
1021
  }, z.core.$strict>;
1035
1022
  id: z.ZodString;
1036
1023
  position: z.ZodObject<{
@@ -1039,10 +1026,34 @@ export declare const FlowVersion: z.ZodObject<{
1039
1026
  }, z.core.$strict>;
1040
1027
  label: z.ZodString;
1041
1028
  }, z.core.$strict>, z.ZodObject<{
1042
- kind: z.ZodLiteral<"approval">;
1029
+ kind: z.ZodLiteral<"table">;
1043
1030
  configuration: z.ZodObject<{
1044
- prompt: z.ZodString;
1045
- timeout: z.ZodString;
1031
+ resourceId: z.ZodString;
1032
+ }, z.core.$strict>;
1033
+ id: z.ZodString;
1034
+ position: z.ZodObject<{
1035
+ x: z.ZodNumber;
1036
+ y: z.ZodNumber;
1037
+ }, z.core.$strict>;
1038
+ label: z.ZodString;
1039
+ }, z.core.$strict>, z.ZodObject<{
1040
+ kind: z.ZodLiteral<"tool">;
1041
+ configuration: z.ZodObject<{
1042
+ toolName: z.ZodString;
1043
+ fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1044
+ arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1045
+ }, z.core.$strict>;
1046
+ id: z.ZodString;
1047
+ position: z.ZodObject<{
1048
+ x: z.ZodNumber;
1049
+ y: z.ZodNumber;
1050
+ }, z.core.$strict>;
1051
+ label: z.ZodString;
1052
+ }, z.core.$strict>, z.ZodObject<{
1053
+ kind: z.ZodLiteral<"condition">;
1054
+ configuration: z.ZodObject<{
1055
+ mode: z.ZodLiteral<"semantic">;
1056
+ instruction: z.ZodString;
1046
1057
  }, z.core.$strict>;
1047
1058
  id: z.ZodString;
1048
1059
  position: z.ZodObject<{
@@ -1071,9 +1082,7 @@ export declare const FlowVersion: z.ZodObject<{
1071
1082
  label: z.ZodString;
1072
1083
  }, z.core.$strict>, z.ZodObject<{
1073
1084
  kind: z.ZodLiteral<"output">;
1074
- configuration: z.ZodObject<{
1075
- template: z.ZodDefault<z.ZodString>;
1076
- }, z.core.$strict>;
1085
+ configuration: z.ZodObject<{}, z.core.$strict>;
1077
1086
  id: z.ZodString;
1078
1087
  position: z.ZodObject<{
1079
1088
  x: z.ZodNumber;
@@ -1138,14 +1147,9 @@ export declare const FlowDocument: z.ZodObject<{
1138
1147
  }, z.core.$strict>;
1139
1148
  label: z.ZodString;
1140
1149
  }, z.core.$strict>, z.ZodObject<{
1141
- kind: z.ZodLiteral<"knowledge">;
1150
+ kind: z.ZodLiteral<"folder">;
1142
1151
  configuration: z.ZodObject<{
1143
- resourceIds: z.ZodArray<z.ZodString>;
1144
- mode: z.ZodEnum<{
1145
- relevant: "relevant";
1146
- full: "full";
1147
- }>;
1148
- query: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1152
+ resourceId: z.ZodString;
1149
1153
  }, z.core.$strict>;
1150
1154
  id: z.ZodString;
1151
1155
  position: z.ZodObject<{
@@ -1154,11 +1158,9 @@ export declare const FlowDocument: z.ZodObject<{
1154
1158
  }, z.core.$strict>;
1155
1159
  label: z.ZodString;
1156
1160
  }, z.core.$strict>, z.ZodObject<{
1157
- kind: z.ZodLiteral<"tool">;
1161
+ kind: z.ZodLiteral<"document">;
1158
1162
  configuration: z.ZodObject<{
1159
- toolName: z.ZodString;
1160
- fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1161
- arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1163
+ resourceId: z.ZodString;
1162
1164
  }, z.core.$strict>;
1163
1165
  id: z.ZodString;
1164
1166
  position: z.ZodObject<{
@@ -1167,10 +1169,9 @@ export declare const FlowDocument: z.ZodObject<{
1167
1169
  }, z.core.$strict>;
1168
1170
  label: z.ZodString;
1169
1171
  }, z.core.$strict>, z.ZodObject<{
1170
- kind: z.ZodLiteral<"condition">;
1172
+ kind: z.ZodLiteral<"upload">;
1171
1173
  configuration: z.ZodObject<{
1172
- mode: z.ZodLiteral<"semantic">;
1173
- instruction: z.ZodString;
1174
+ resourceId: z.ZodString;
1174
1175
  }, z.core.$strict>;
1175
1176
  id: z.ZodString;
1176
1177
  position: z.ZodObject<{
@@ -1179,10 +1180,34 @@ export declare const FlowDocument: z.ZodObject<{
1179
1180
  }, z.core.$strict>;
1180
1181
  label: z.ZodString;
1181
1182
  }, z.core.$strict>, z.ZodObject<{
1182
- kind: z.ZodLiteral<"approval">;
1183
+ kind: z.ZodLiteral<"table">;
1183
1184
  configuration: z.ZodObject<{
1184
- prompt: z.ZodString;
1185
- timeout: z.ZodString;
1185
+ resourceId: z.ZodString;
1186
+ }, z.core.$strict>;
1187
+ id: z.ZodString;
1188
+ position: z.ZodObject<{
1189
+ x: z.ZodNumber;
1190
+ y: z.ZodNumber;
1191
+ }, z.core.$strict>;
1192
+ label: z.ZodString;
1193
+ }, z.core.$strict>, z.ZodObject<{
1194
+ kind: z.ZodLiteral<"tool">;
1195
+ configuration: z.ZodObject<{
1196
+ toolName: z.ZodString;
1197
+ fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1198
+ arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1199
+ }, z.core.$strict>;
1200
+ id: z.ZodString;
1201
+ position: z.ZodObject<{
1202
+ x: z.ZodNumber;
1203
+ y: z.ZodNumber;
1204
+ }, z.core.$strict>;
1205
+ label: z.ZodString;
1206
+ }, z.core.$strict>, z.ZodObject<{
1207
+ kind: z.ZodLiteral<"condition">;
1208
+ configuration: z.ZodObject<{
1209
+ mode: z.ZodLiteral<"semantic">;
1210
+ instruction: z.ZodString;
1186
1211
  }, z.core.$strict>;
1187
1212
  id: z.ZodString;
1188
1213
  position: z.ZodObject<{
@@ -1211,9 +1236,7 @@ export declare const FlowDocument: z.ZodObject<{
1211
1236
  label: z.ZodString;
1212
1237
  }, z.core.$strict>, z.ZodObject<{
1213
1238
  kind: z.ZodLiteral<"output">;
1214
- configuration: z.ZodObject<{
1215
- template: z.ZodDefault<z.ZodString>;
1216
- }, z.core.$strict>;
1239
+ configuration: z.ZodObject<{}, z.core.$strict>;
1217
1240
  id: z.ZodString;
1218
1241
  position: z.ZodObject<{
1219
1242
  x: z.ZodNumber;
@@ -1269,6 +1292,16 @@ export declare const FlowRequirements: z.ZodObject<{
1269
1292
  tools: z.ZodArray<z.ZodString>;
1270
1293
  }, z.core.$strict>;
1271
1294
  export type FlowRequirements = z.infer<typeof FlowRequirements>;
1295
+ export declare const FlowValidation: z.ZodObject<{
1296
+ flowId: z.ZodString;
1297
+ versionId: z.ZodNullable<z.ZodString>;
1298
+ problems: z.ZodArray<z.ZodObject<{
1299
+ code: z.ZodString;
1300
+ detail: z.ZodString;
1301
+ }, z.core.$strict>>;
1302
+ checkedAt: z.ZodISODateTime;
1303
+ }, z.core.$strict>;
1304
+ export type FlowValidation = z.infer<typeof FlowValidation>;
1272
1305
  export declare const CreateFlowInput: z.ZodObject<{
1273
1306
  parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1274
1307
  title: z.ZodString;
@@ -1320,14 +1353,9 @@ export declare const SaveFlowVersionInput: z.ZodObject<{
1320
1353
  }, z.core.$strict>;
1321
1354
  label: z.ZodString;
1322
1355
  }, z.core.$strict>, z.ZodObject<{
1323
- kind: z.ZodLiteral<"knowledge">;
1356
+ kind: z.ZodLiteral<"folder">;
1324
1357
  configuration: z.ZodObject<{
1325
- resourceIds: z.ZodArray<z.ZodString>;
1326
- mode: z.ZodEnum<{
1327
- relevant: "relevant";
1328
- full: "full";
1329
- }>;
1330
- query: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1358
+ resourceId: z.ZodString;
1331
1359
  }, z.core.$strict>;
1332
1360
  id: z.ZodString;
1333
1361
  position: z.ZodObject<{
@@ -1336,11 +1364,9 @@ export declare const SaveFlowVersionInput: z.ZodObject<{
1336
1364
  }, z.core.$strict>;
1337
1365
  label: z.ZodString;
1338
1366
  }, z.core.$strict>, z.ZodObject<{
1339
- kind: z.ZodLiteral<"tool">;
1367
+ kind: z.ZodLiteral<"document">;
1340
1368
  configuration: z.ZodObject<{
1341
- toolName: z.ZodString;
1342
- fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1343
- arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1369
+ resourceId: z.ZodString;
1344
1370
  }, z.core.$strict>;
1345
1371
  id: z.ZodString;
1346
1372
  position: z.ZodObject<{
@@ -1349,10 +1375,9 @@ export declare const SaveFlowVersionInput: z.ZodObject<{
1349
1375
  }, z.core.$strict>;
1350
1376
  label: z.ZodString;
1351
1377
  }, z.core.$strict>, z.ZodObject<{
1352
- kind: z.ZodLiteral<"condition">;
1378
+ kind: z.ZodLiteral<"upload">;
1353
1379
  configuration: z.ZodObject<{
1354
- mode: z.ZodLiteral<"semantic">;
1355
- instruction: z.ZodString;
1380
+ resourceId: z.ZodString;
1356
1381
  }, z.core.$strict>;
1357
1382
  id: z.ZodString;
1358
1383
  position: z.ZodObject<{
@@ -1361,10 +1386,34 @@ export declare const SaveFlowVersionInput: z.ZodObject<{
1361
1386
  }, z.core.$strict>;
1362
1387
  label: z.ZodString;
1363
1388
  }, z.core.$strict>, z.ZodObject<{
1364
- kind: z.ZodLiteral<"approval">;
1389
+ kind: z.ZodLiteral<"table">;
1365
1390
  configuration: z.ZodObject<{
1366
- prompt: z.ZodString;
1367
- timeout: z.ZodString;
1391
+ resourceId: z.ZodString;
1392
+ }, z.core.$strict>;
1393
+ id: z.ZodString;
1394
+ position: z.ZodObject<{
1395
+ x: z.ZodNumber;
1396
+ y: z.ZodNumber;
1397
+ }, z.core.$strict>;
1398
+ label: z.ZodString;
1399
+ }, z.core.$strict>, z.ZodObject<{
1400
+ kind: z.ZodLiteral<"tool">;
1401
+ configuration: z.ZodObject<{
1402
+ toolName: z.ZodString;
1403
+ fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1404
+ arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1405
+ }, z.core.$strict>;
1406
+ id: z.ZodString;
1407
+ position: z.ZodObject<{
1408
+ x: z.ZodNumber;
1409
+ y: z.ZodNumber;
1410
+ }, z.core.$strict>;
1411
+ label: z.ZodString;
1412
+ }, z.core.$strict>, z.ZodObject<{
1413
+ kind: z.ZodLiteral<"condition">;
1414
+ configuration: z.ZodObject<{
1415
+ mode: z.ZodLiteral<"semantic">;
1416
+ instruction: z.ZodString;
1368
1417
  }, z.core.$strict>;
1369
1418
  id: z.ZodString;
1370
1419
  position: z.ZodObject<{
@@ -1393,9 +1442,7 @@ export declare const SaveFlowVersionInput: z.ZodObject<{
1393
1442
  label: z.ZodString;
1394
1443
  }, z.core.$strict>, z.ZodObject<{
1395
1444
  kind: z.ZodLiteral<"output">;
1396
- configuration: z.ZodObject<{
1397
- template: z.ZodDefault<z.ZodString>;
1398
- }, z.core.$strict>;
1445
+ configuration: z.ZodObject<{}, z.core.$strict>;
1399
1446
  id: z.ZodString;
1400
1447
  position: z.ZodObject<{
1401
1448
  x: z.ZodNumber;
@@ -1435,9 +1482,9 @@ export declare const FlowPublishCall: z.ZodObject<{
1435
1482
  calleeId: z.ZodString;
1436
1483
  calleeTitle: z.ZodString;
1437
1484
  mode: z.ZodEnum<{
1438
- pinned: "pinned";
1439
1485
  latest: "latest";
1440
1486
  follows: "follows";
1487
+ pinned: "pinned";
1441
1488
  }>;
1442
1489
  versionId: z.ZodNullable<z.ZodString>;
1443
1490
  versionSequence: z.ZodNullable<z.ZodNumber>;
@@ -1454,9 +1501,9 @@ export declare const FlowPublishPreview: z.ZodObject<{
1454
1501
  calleeId: z.ZodString;
1455
1502
  calleeTitle: z.ZodString;
1456
1503
  mode: z.ZodEnum<{
1457
- pinned: "pinned";
1458
1504
  latest: "latest";
1459
1505
  follows: "follows";
1506
+ pinned: "pinned";
1460
1507
  }>;
1461
1508
  versionId: z.ZodNullable<z.ZodString>;
1462
1509
  versionSequence: z.ZodNullable<z.ZodNumber>;
@@ -1551,7 +1598,6 @@ export type RelationGraph = z.infer<typeof RelationGraph>;
1551
1598
  export declare const FlowRunStatus: z.ZodEnum<{
1552
1599
  queued: "queued";
1553
1600
  running: "running";
1554
- waiting: "waiting";
1555
1601
  completed: "completed";
1556
1602
  failed: "failed";
1557
1603
  cancelled: "cancelled";
@@ -1564,7 +1610,6 @@ export declare const FlowRun: z.ZodObject<{
1564
1610
  status: z.ZodEnum<{
1565
1611
  queued: "queued";
1566
1612
  running: "running";
1567
- waiting: "waiting";
1568
1613
  completed: "completed";
1569
1614
  failed: "failed";
1570
1615
  cancelled: "cancelled";
@@ -1597,7 +1642,6 @@ export declare const FlowRunStep: z.ZodObject<{
1597
1642
  status: z.ZodEnum<{
1598
1643
  queued: "queued";
1599
1644
  running: "running";
1600
- waiting: "waiting";
1601
1645
  completed: "completed";
1602
1646
  failed: "failed";
1603
1647
  cancelled: "cancelled";
@@ -1636,14 +1680,9 @@ export declare const FlowRunStep: z.ZodObject<{
1636
1680
  }, z.core.$strict>;
1637
1681
  label: z.ZodString;
1638
1682
  }, z.core.$strict>, z.ZodObject<{
1639
- kind: z.ZodLiteral<"knowledge">;
1683
+ kind: z.ZodLiteral<"folder">;
1640
1684
  configuration: z.ZodObject<{
1641
- resourceIds: z.ZodArray<z.ZodString>;
1642
- mode: z.ZodEnum<{
1643
- relevant: "relevant";
1644
- full: "full";
1645
- }>;
1646
- query: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1685
+ resourceId: z.ZodString;
1647
1686
  }, z.core.$strict>;
1648
1687
  id: z.ZodString;
1649
1688
  position: z.ZodObject<{
@@ -1652,11 +1691,9 @@ export declare const FlowRunStep: z.ZodObject<{
1652
1691
  }, z.core.$strict>;
1653
1692
  label: z.ZodString;
1654
1693
  }, z.core.$strict>, z.ZodObject<{
1655
- kind: z.ZodLiteral<"tool">;
1694
+ kind: z.ZodLiteral<"document">;
1656
1695
  configuration: z.ZodObject<{
1657
- toolName: z.ZodString;
1658
- fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1659
- arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1696
+ resourceId: z.ZodString;
1660
1697
  }, z.core.$strict>;
1661
1698
  id: z.ZodString;
1662
1699
  position: z.ZodObject<{
@@ -1665,10 +1702,9 @@ export declare const FlowRunStep: z.ZodObject<{
1665
1702
  }, z.core.$strict>;
1666
1703
  label: z.ZodString;
1667
1704
  }, z.core.$strict>, z.ZodObject<{
1668
- kind: z.ZodLiteral<"condition">;
1705
+ kind: z.ZodLiteral<"upload">;
1669
1706
  configuration: z.ZodObject<{
1670
- mode: z.ZodLiteral<"semantic">;
1671
- instruction: z.ZodString;
1707
+ resourceId: z.ZodString;
1672
1708
  }, z.core.$strict>;
1673
1709
  id: z.ZodString;
1674
1710
  position: z.ZodObject<{
@@ -1677,10 +1713,34 @@ export declare const FlowRunStep: z.ZodObject<{
1677
1713
  }, z.core.$strict>;
1678
1714
  label: z.ZodString;
1679
1715
  }, z.core.$strict>, z.ZodObject<{
1680
- kind: z.ZodLiteral<"approval">;
1716
+ kind: z.ZodLiteral<"table">;
1681
1717
  configuration: z.ZodObject<{
1682
- prompt: z.ZodString;
1683
- timeout: z.ZodString;
1718
+ resourceId: z.ZodString;
1719
+ }, z.core.$strict>;
1720
+ id: z.ZodString;
1721
+ position: z.ZodObject<{
1722
+ x: z.ZodNumber;
1723
+ y: z.ZodNumber;
1724
+ }, z.core.$strict>;
1725
+ label: z.ZodString;
1726
+ }, z.core.$strict>, z.ZodObject<{
1727
+ kind: z.ZodLiteral<"tool">;
1728
+ configuration: z.ZodObject<{
1729
+ toolName: z.ZodString;
1730
+ fingerprint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1731
+ arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1732
+ }, z.core.$strict>;
1733
+ id: z.ZodString;
1734
+ position: z.ZodObject<{
1735
+ x: z.ZodNumber;
1736
+ y: z.ZodNumber;
1737
+ }, z.core.$strict>;
1738
+ label: z.ZodString;
1739
+ }, z.core.$strict>, z.ZodObject<{
1740
+ kind: z.ZodLiteral<"condition">;
1741
+ configuration: z.ZodObject<{
1742
+ mode: z.ZodLiteral<"semantic">;
1743
+ instruction: z.ZodString;
1684
1744
  }, z.core.$strict>;
1685
1745
  id: z.ZodString;
1686
1746
  position: z.ZodObject<{
@@ -1709,9 +1769,7 @@ export declare const FlowRunStep: z.ZodObject<{
1709
1769
  label: z.ZodString;
1710
1770
  }, z.core.$strict>, z.ZodObject<{
1711
1771
  kind: z.ZodLiteral<"output">;
1712
- configuration: z.ZodObject<{
1713
- template: z.ZodDefault<z.ZodString>;
1714
- }, z.core.$strict>;
1772
+ configuration: z.ZodObject<{}, z.core.$strict>;
1715
1773
  id: z.ZodString;
1716
1774
  position: z.ZodObject<{
1717
1775
  x: z.ZodNumber;
@@ -1774,7 +1832,6 @@ export declare const FlowRunSummary: z.ZodObject<{
1774
1832
  status: z.ZodEnum<{
1775
1833
  queued: "queued";
1776
1834
  running: "running";
1777
- waiting: "waiting";
1778
1835
  completed: "completed";
1779
1836
  failed: "failed";
1780
1837
  cancelled: "cancelled";
@@ -1811,7 +1868,6 @@ export declare const FlowRunList: z.ZodObject<{
1811
1868
  status: z.ZodEnum<{
1812
1869
  queued: "queued";
1813
1870
  running: "running";
1814
- waiting: "waiting";
1815
1871
  completed: "completed";
1816
1872
  failed: "failed";
1817
1873
  cancelled: "cancelled";
@@ -1854,7 +1910,6 @@ export declare const FlowRunHistory: z.ZodObject<{
1854
1910
  status: z.ZodEnum<{
1855
1911
  queued: "queued";
1856
1912
  running: "running";
1857
- waiting: "waiting";
1858
1913
  completed: "completed";
1859
1914
  failed: "failed";
1860
1915
  cancelled: "cancelled";
@@ -20,7 +20,12 @@ export const SessionUser = z.strictObject({
20
20
  // folder tree, inherits the same folder grants, carries the same immutable versions and the same
21
21
  // R2 body as a document (ADR-0004 §1). Only its media type and the one operation below differ.
22
22
  export const KnowledgeNodeKind = z.enum(["folder", "document", "attachment", "table"]);
23
- export const ContextPolicy = z.enum(["pinned", "relevant", "explicit"]);
23
+ // ⚠️ There is no `ContextPolicy`, and it is not coming back in this shape (#76). It said whether a
24
+ // document should be pinned into a context, be found by relevance, or be named explicitly — an
25
+ // instruction to a retrieval Intel does not perform. Intel hands out references and the agent
26
+ // fetches what it needs (D24), so nothing here could ever have read it, and nothing did.
27
+ //
28
+ // Semantic search stays: as an MCP tool the agent calls, over everything or over one area.
24
29
  // One verb per grant, granted independently (ADR-0004 §2). Not a ladder: seeing a process must be
25
30
  // separable from being allowed to start it, and `execute` is meaningful only where a flow can live.
26
31
  export const ResourceVerb = z.enum(["read", "write", "execute", "share"]);
@@ -35,7 +40,6 @@ export const KnowledgeNode = z.strictObject({
35
40
  kind: KnowledgeNodeKind,
36
41
  title: z.string().min(1).max(240),
37
42
  description: z.string().max(2_000).nullable(),
38
- contextPolicy: ContextPolicy,
39
43
  ownerId: IntelId,
40
44
  currentVersionId: IntelId.nullable(),
41
45
  createdAt: IsoDateTime,
@@ -64,7 +68,6 @@ export const CreateKnowledgeNodeInput = z.strictObject({
64
68
  kind: KnowledgeNodeKind,
65
69
  title: z.string().trim().min(1).max(240),
66
70
  description: z.string().trim().max(2_000).nullable().default(null),
67
- contextPolicy: ContextPolicy.default("relevant"),
68
71
  idempotencyKey: z.string().min(8).max(200),
69
72
  });
70
73
  export const SaveKnowledgeVersionInput = z.strictObject({
@@ -87,14 +90,10 @@ export const UpdateKnowledgeNodeInput = z
87
90
  baseUpdatedAt: IsoDateTime,
88
91
  title: z.string().trim().min(1).max(240).optional(),
89
92
  description: z.string().trim().max(2_000).nullable().optional(),
90
- contextPolicy: ContextPolicy.optional(),
91
93
  parentId: IntelId.nullable().optional(),
92
94
  idempotencyKey: z.string().min(8).max(200),
93
95
  })
94
- .refine((input) => input.title !== undefined ||
95
- input.description !== undefined ||
96
- input.contextPolicy !== undefined ||
97
- input.parentId !== undefined, { message: "At least one change is required" });
96
+ .refine((input) => input.title !== undefined || input.description !== undefined || input.parentId !== undefined, { message: "At least one change is required" });
98
97
  export const ArchiveKnowledgeNodeInput = z.strictObject({
99
98
  nodeId: IntelId,
100
99
  baseUpdatedAt: IsoDateTime,
@@ -387,6 +386,33 @@ export const SubflowVersion = z.discriminatedUnion("mode", [
387
386
  z.strictObject({ mode: z.literal("follows") }),
388
387
  z.strictObject({ mode: z.literal("pinned"), versionId: IntelId }),
389
388
  ]);
389
+ // The three layers a node can belong to (D25). Which one a kind is in decides what it may carry and
390
+ // where it may sit, and both rules are enforced in `compileFlow` rather than only drawn in the
391
+ // editor — a graph arrives over MCP as readily as from the canvas.
392
+ //
393
+ // ⚠️ A LINK never stands in the chain. It hangs off a step on a `context` edge, and that is the
394
+ // distinction the graph has drawn since #37 without anyone enforcing it — which is exactly how a
395
+ // start with an attachment once began its run at the attachment (the "flow edges only" comments in
396
+ // `flows.ts`). Marker and step keep the chain; a link is what a step works with.
397
+ export const FlowNodeLayer = z.enum(["marker", "step", "link"]);
398
+ export const flowNodeLayer = {
399
+ trigger: "marker",
400
+ output: "marker",
401
+ instruction: "step",
402
+ condition: "step",
403
+ subflow: "step",
404
+ folder: "link",
405
+ document: "link",
406
+ upload: "link",
407
+ table: "link",
408
+ tool: "link",
409
+ };
410
+ // One reference, never a list. The old `knowledge` node carried up to a hundred, plus a retrieval
411
+ // mode and a query that nothing read — three things in one, and the last two describing a retrieval
412
+ // Intel does not perform (D24: the agent fetches, Intel does not put anything into a context).
413
+ // Splitting by kind is what makes "exactly one" sayable at all, and it lets the editor filter the
414
+ // picker by what the node is for.
415
+ const LinkConfiguration = z.strictObject({ resourceId: IntelId });
390
416
  export const FlowNode = z.discriminatedUnion("kind", [
391
417
  z.strictObject({
392
418
  ...FlowNodeBase,
@@ -403,15 +429,17 @@ export const FlowNode = z.discriminatedUnion("kind", [
403
429
  kind: z.literal("instruction"),
404
430
  configuration: z.strictObject({ prompt: z.string().min(1).max(50_000) }),
405
431
  }),
432
+ // The four link kinds that name something in the shared tree. They are separate kinds rather than
433
+ // one with a `kind` field so the canvas, the palette and the picker can each say what they mean
434
+ // without reading into a configuration — and so a stored graph says it too.
435
+ z.strictObject({ ...FlowNodeBase, kind: z.literal("folder"), configuration: LinkConfiguration }),
406
436
  z.strictObject({
407
437
  ...FlowNodeBase,
408
- kind: z.literal("knowledge"),
409
- configuration: z.strictObject({
410
- resourceIds: z.array(IntelId).min(1).max(100),
411
- mode: z.enum(["full", "relevant"]),
412
- query: z.string().max(1_000).nullable().default(null),
413
- }),
438
+ kind: z.literal("document"),
439
+ configuration: LinkConfiguration,
414
440
  }),
441
+ z.strictObject({ ...FlowNodeBase, kind: z.literal("upload"), configuration: LinkConfiguration }),
442
+ z.strictObject({ ...FlowNodeBase, kind: z.literal("table"), configuration: LinkConfiguration }),
415
443
  z.strictObject({
416
444
  ...FlowNodeBase,
417
445
  kind: z.literal("tool"),
@@ -433,16 +461,15 @@ export const FlowNode = z.discriminatedUnion("kind", [
433
461
  instruction: z.string().min(1).max(10_000),
434
462
  }),
435
463
  }),
436
- z.strictObject({
437
- ...FlowNodeBase,
438
- kind: z.literal("approval"),
439
- configuration: z.strictObject({
440
- prompt: z.string().min(1).max(10_000),
441
- timeout: z.string().regex(/^\d+\s+(minute|minutes|hour|hours|day|days)$/),
442
- }),
443
- }),
444
- // The eighth kind: one flow calls another (ADR-0004 §3). A schema addition, not hidden behavior in
445
- // a generic code node — which flow is called has to be readable from the graph, or neither the
464
+ // ⚠️ There is no `approval` kind, and adding one back is a product decision rather than a schema
465
+ // addition (#73). It waited on a named person with a deadline, which needs a queue, a
466
+ // notification, a stand-in and an answer to "the deadline passed" — none of which exist. Without
467
+ // it, D24 holds without exception: nothing in Intel waits. A stored graph that still carries one
468
+ // is rewritten to a `condition` by migration 0007, because the question it asked is one the agent
469
+ // can answer.
470
+ //
471
+ // The seventh kind: one flow calls another (ADR-0004 §3). A schema addition, not hidden behavior
472
+ // in a generic code node — which flow is called has to be readable from the graph, or neither the
446
473
  // publish-time call rule nor the sidebar could see it.
447
474
  z.strictObject({
448
475
  ...FlowNodeBase,
@@ -454,10 +481,13 @@ export const FlowNode = z.discriminatedUnion("kind", [
454
481
  version: SubflowVersion.default({ mode: "latest" }),
455
482
  }),
456
483
  }),
484
+ // ⚠️ The end marks, it does not make. It used to carry a `template` that nothing ever read, and a
485
+ // node called "Result" that appeared to produce one is what everybody read it as. The result of a
486
+ // run is what the last step before it hands in (D25) — `completeStep` carries that forward.
457
487
  z.strictObject({
458
488
  ...FlowNodeBase,
459
489
  kind: z.literal("output"),
460
- configuration: z.strictObject({ template: z.string().max(50_000).default("") }),
490
+ configuration: z.strictObject({}),
461
491
  }),
462
492
  ]);
463
493
  // The two things an edge can mean (#37). `flow` is the order of work — "and then". `context` is what
@@ -526,6 +556,22 @@ export const FlowRequirements = z.strictObject({
526
556
  hiddenKnowledge: z.number().int().nonnegative(),
527
557
  tools: z.array(ToolName),
528
558
  });
559
+ // What stands between this flow and a run, asked on demand and answered for the person asking.
560
+ //
561
+ // ⚠️ A snapshot, and it says so. The tool catalog is a live query with the requesting user's own
562
+ // token (ADR-0003), so what is reachable now can be different tomorrow, and the same flow answers
563
+ // differently for two people. That is why this is a question one asks rather than a badge on the
564
+ // flow: a standing "this flow has conflicts" would be wrong for tools by construction (#72, D24).
565
+ export const FlowValidation = z.strictObject({
566
+ flowId: IntelId,
567
+ versionId: IntelId.nullable(),
568
+ // Empty means it would start now — for this person, at this moment.
569
+ problems: z.array(z.strictObject({
570
+ code: z.string().min(1).max(80),
571
+ detail: z.string().min(1).max(2_000),
572
+ })),
573
+ checkedAt: IsoDateTime,
574
+ });
529
575
  export const CreateFlowInput = z.strictObject({
530
576
  parentId: IntelId.nullable().default(null),
531
577
  title: z.string().trim().min(1).max(240),
@@ -631,14 +677,12 @@ export const RelationGraph = z.strictObject({
631
677
  omitted: z.number().int().nonnegative(),
632
678
  limit: z.number().int().positive(),
633
679
  });
634
- export const FlowRunStatus = z.enum([
635
- "queued",
636
- "running",
637
- "waiting",
638
- "completed",
639
- "failed",
640
- "cancelled",
641
- ]);
680
+ // ⚠️ No `waiting`. It was written for the approval node and never set by anything — the two places
681
+ // that tested for it only ever saw `running` (#73). The column's CHECK constraint still allows the
682
+ // value, deliberately: rewriting it means rebuilding the table in D1 for a value nothing writes,
683
+ // and migration 0007 turns any row that somehow carries it into `failed` rather than leave a status
684
+ // the contract cannot parse.
685
+ export const FlowRunStatus = z.enum(["queued", "running", "completed", "failed", "cancelled"]);
642
686
  export const FlowRun = z.strictObject({
643
687
  id: IntelId,
644
688
  flowId: IntelId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anchrd/intel-contract",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {