@kernhq/module-tracker 0.1.3 → 0.2.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.
Files changed (65) hide show
  1. package/dist/contract/models.d.ts +1185 -136
  2. package/dist/contract/models.d.ts.map +1 -1
  3. package/dist/contract/models.js +131 -29
  4. package/dist/contract/models.js.map +1 -1
  5. package/dist/contract/router.d.ts +1098 -356
  6. package/dist/contract/router.d.ts.map +1 -1
  7. package/dist/contract/router.js +6 -25
  8. package/dist/contract/router.js.map +1 -1
  9. package/dist/kql/fields.d.ts.map +1 -1
  10. package/dist/kql/fields.js +4 -1
  11. package/dist/kql/fields.js.map +1 -1
  12. package/dist/server/index.d.ts.map +1 -1
  13. package/dist/server/index.js +39 -6
  14. package/dist/server/index.js.map +1 -1
  15. package/dist/server/kql/compile.d.ts.map +1 -1
  16. package/dist/server/kql/compile.js +9 -1
  17. package/dist/server/kql/compile.js.map +1 -1
  18. package/dist/server/router.d.ts +1104 -384
  19. package/dist/server/router.d.ts.map +1 -1
  20. package/dist/server/router.js +3 -15
  21. package/dist/server/router.js.map +1 -1
  22. package/dist/server/schema.d.ts +1 -136
  23. package/dist/server/schema.d.ts.map +1 -1
  24. package/dist/server/schema.js +3 -13
  25. package/dist/server/schema.js.map +1 -1
  26. package/dist/server/services/config.d.ts +1 -11
  27. package/dist/server/services/config.d.ts.map +1 -1
  28. package/dist/server/services/config.js +28 -64
  29. package/dist/server/services/config.js.map +1 -1
  30. package/dist/server/services/db.d.ts +2 -4
  31. package/dist/server/services/db.d.ts.map +1 -1
  32. package/dist/server/services/db.js +4 -12
  33. package/dist/server/services/db.js.map +1 -1
  34. package/dist/server/services/imports.d.ts.map +1 -1
  35. package/dist/server/services/imports.js +50 -4
  36. package/dist/server/services/imports.js.map +1 -1
  37. package/dist/server/services/index.d.ts +2 -0
  38. package/dist/server/services/index.d.ts.map +1 -1
  39. package/dist/server/services/index.js +3 -0
  40. package/dist/server/services/index.js.map +1 -1
  41. package/dist/server/services/issues.d.ts +7 -18
  42. package/dist/server/services/issues.d.ts.map +1 -1
  43. package/dist/server/services/issues.js +34 -18
  44. package/dist/server/services/issues.js.map +1 -1
  45. package/dist/server/services/layout.d.ts +25 -0
  46. package/dist/server/services/layout.d.ts.map +1 -0
  47. package/dist/server/services/layout.js +97 -0
  48. package/dist/server/services/layout.js.map +1 -0
  49. package/dist/server/services/projects.d.ts.map +1 -1
  50. package/dist/server/services/projects.js +0 -1
  51. package/dist/server/services/projects.js.map +1 -1
  52. package/dist/server/services/transitions.d.ts.map +1 -1
  53. package/dist/server/services/transitions.js +36 -0
  54. package/dist/server/services/transitions.js.map +1 -1
  55. package/dist/server/services/values.d.ts +37 -0
  56. package/dist/server/services/values.d.ts.map +1 -0
  57. package/dist/server/services/values.js +172 -0
  58. package/dist/server/services/values.js.map +1 -0
  59. package/migrations/0002_field_keys_unique.sql +35 -0
  60. package/migrations/0003_drop_field_schemes.sql +9 -0
  61. package/migrations/meta/_journal.json +14 -0
  62. package/package.json +1 -1
  63. package/src/contract/models.ts +157 -33
  64. package/src/contract/router.ts +6 -27
  65. package/src/kql/fields.ts +5 -1
@@ -115,7 +115,6 @@ export declare const Project: z.ZodObject<{
115
115
  }>;
116
116
  workflowSchemeId: z.ZodNullable<z.ZodUUID>;
117
117
  typeSchemeId: z.ZodNullable<z.ZodUUID>;
118
- fieldSchemeId: z.ZodNullable<z.ZodUUID>;
119
118
  settings: z.ZodObject<{
120
119
  estimation: z.ZodDefault<z.ZodEnum<{
121
120
  none: "none";
@@ -170,6 +169,20 @@ export declare const Project: z.ZodObject<{
170
169
  updatedAt: z.ZodISODateTime;
171
170
  }, z.core.$strip>;
172
171
  export type Project = z.infer<typeof Project>;
172
+ /**
173
+ * The built-in project templates. `software`, `support`, `marketing` and `simple` are the four
174
+ * team shapes the tracker ships with; `kanban` and `blank` are kept because existing projects were
175
+ * created from them.
176
+ */
177
+ export declare const ProjectTemplateId: z.ZodEnum<{
178
+ software: "software";
179
+ support: "support";
180
+ marketing: "marketing";
181
+ simple: "simple";
182
+ kanban: "kanban";
183
+ blank: "blank";
184
+ }>;
185
+ export type ProjectTemplateId = z.infer<typeof ProjectTemplateId>;
173
186
  export declare const CreateProject: z.ZodObject<{
174
187
  key: z.ZodString;
175
188
  name: z.ZodString;
@@ -187,8 +200,10 @@ export declare const CreateProject: z.ZodObject<{
187
200
  }>>;
188
201
  template: z.ZodDefault<z.ZodEnum<{
189
202
  software: "software";
190
- kanban: "kanban";
203
+ support: "support";
204
+ marketing: "marketing";
191
205
  simple: "simple";
206
+ kanban: "kanban";
192
207
  blank: "blank";
193
208
  }>>;
194
209
  templateId: z.ZodOptional<z.ZodUUID>;
@@ -254,7 +269,6 @@ export declare const UpdateProject: z.ZodObject<{
254
269
  }>>;
255
270
  workflowSchemeId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
256
271
  typeSchemeId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
257
- fieldSchemeId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
258
272
  settings: z.ZodOptional<z.ZodObject<{
259
273
  estimation: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
260
274
  none: "none";
@@ -319,22 +333,94 @@ export declare const ProjectMember: z.ZodObject<{
319
333
  addedAt: z.ZodISODateTime;
320
334
  }, z.core.$strip>;
321
335
  export type ProjectMember = z.infer<typeof ProjectMember>;
322
- /** Reusable project blueprint (types, workflow, fields, labels, sample views). */
323
- export declare const ProjectTemplate: z.ZodObject<{
324
- id: z.ZodUUID;
325
- workspaceId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">>;
326
- key: z.ZodString;
327
- name: z.ZodString;
328
- description: z.ZodNullable<z.ZodString>;
329
- icon: z.ZodNullable<z.ZodString>;
330
- body: z.ZodRecord<z.ZodString, z.ZodUnknown>;
331
- builtin: z.ZodBoolean;
332
- createdAt: z.ZodISODateTime;
333
- }, z.core.$strip>;
334
- export type ProjectTemplate = z.infer<typeof ProjectTemplate>;
335
336
  /** -1 sub-item · 0 standard (task/bug/story) · 1 epic · 2 initiative. */
336
337
  export declare const HierarchyLevel: z.ZodNumber;
337
338
  export type HierarchyLevel = z.infer<typeof HierarchyLevel>;
339
+ /**
340
+ * The system fields a work item type may lay out, in their default order.
341
+ *
342
+ * `pinned` fields are always visible: an issue without a title, a status or a type is not an
343
+ * issue. The settings editor does not offer the control, and the resolver ignores a stored
344
+ * instruction that tries to hide one.
345
+ */
346
+ export declare const SYSTEM_LAYOUT_FIELDS: readonly [{
347
+ readonly id: "title";
348
+ readonly section: "main";
349
+ readonly pinned: true;
350
+ }, {
351
+ readonly id: "description";
352
+ readonly section: "main";
353
+ readonly pinned: false;
354
+ }, {
355
+ readonly id: "status";
356
+ readonly section: "sidebar";
357
+ readonly pinned: true;
358
+ }, {
359
+ readonly id: "type";
360
+ readonly section: "sidebar";
361
+ readonly pinned: true;
362
+ }, {
363
+ readonly id: "assignees";
364
+ readonly section: "sidebar";
365
+ readonly pinned: false;
366
+ }, {
367
+ readonly id: "priority";
368
+ readonly section: "sidebar";
369
+ readonly pinned: false;
370
+ }, {
371
+ readonly id: "labels";
372
+ readonly section: "sidebar";
373
+ readonly pinned: false;
374
+ }, {
375
+ readonly id: "components";
376
+ readonly section: "sidebar";
377
+ readonly pinned: false;
378
+ }, {
379
+ readonly id: "versions";
380
+ readonly section: "sidebar";
381
+ readonly pinned: false;
382
+ }, {
383
+ readonly id: "estimate";
384
+ readonly section: "sidebar";
385
+ readonly pinned: false;
386
+ }, {
387
+ readonly id: "startDate";
388
+ readonly section: "sidebar";
389
+ readonly pinned: false;
390
+ }, {
391
+ readonly id: "dueDate";
392
+ readonly section: "sidebar";
393
+ readonly pinned: false;
394
+ }, {
395
+ readonly id: "cycle";
396
+ readonly section: "sidebar";
397
+ readonly pinned: false;
398
+ }, {
399
+ readonly id: "milestone";
400
+ readonly section: "sidebar";
401
+ readonly pinned: false;
402
+ }, {
403
+ readonly id: "parent";
404
+ readonly section: "sidebar";
405
+ readonly pinned: false;
406
+ }, {
407
+ readonly id: "reporter";
408
+ readonly section: "sidebar";
409
+ readonly pinned: false;
410
+ }];
411
+ export declare const SystemFieldId: z.ZodEnum<{
412
+ [x: string]: string;
413
+ }>;
414
+ export type SystemFieldId = (typeof SYSTEM_LAYOUT_FIELDS)[number]['id'];
415
+ /** System field ids that may never be hidden, whatever a stored layout says. */
416
+ export declare const PINNED_FIELD_IDS: readonly string[];
417
+ /**
418
+ * A layout entry's `fieldId` is a *namespaced* name: a system field id (`priority`, `dueDate`) or
419
+ * `cf.<key>` for a custom field. That is the same string KQL, `ViewDisplay.columns` and workflow
420
+ * post-functions already use, so one resolver serves all four.
421
+ */
422
+ export declare const LayoutFieldId: z.ZodString;
423
+ export type LayoutFieldId = z.infer<typeof LayoutFieldId>;
338
424
  export declare const FieldLayoutItem: z.ZodObject<{
339
425
  fieldId: z.ZodString;
340
426
  section: z.ZodDefault<z.ZodEnum<{
@@ -584,15 +670,316 @@ export declare const UpsertFieldDef: z.ZodObject<{
584
670
  order: z.ZodOptional<z.ZodNumber>;
585
671
  }, z.core.$strip>;
586
672
  export type UpsertFieldDef = z.infer<typeof UpsertFieldDef>;
587
- /** Field scheme: which custom fields a project exposes (null = all applicable). */
588
- export declare const FieldScheme: z.ZodObject<{
589
- id: z.ZodUUID;
590
- workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
591
- name: z.ZodString;
592
- fieldIds: z.ZodArray<z.ZodUUID>;
593
- createdAt: z.ZodISODateTime;
673
+ /** One field as an interface should render it, system and custom fields alike. */
674
+ export declare const ResolvedField: z.ZodObject<{
675
+ fieldId: z.ZodString;
676
+ kind: z.ZodEnum<{
677
+ custom: "custom";
678
+ system: "system";
679
+ }>;
680
+ label: z.ZodString;
681
+ section: z.ZodEnum<{
682
+ main: "main";
683
+ sidebar: "sidebar";
684
+ }>;
685
+ order: z.ZodNumber;
686
+ required: z.ZodBoolean;
687
+ pinned: z.ZodBoolean;
688
+ showInCards: z.ZodBoolean;
689
+ field: z.ZodNullable<z.ZodObject<{
690
+ id: z.ZodUUID;
691
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
692
+ projectId: z.ZodNullable<z.ZodUUID>;
693
+ key: z.ZodString;
694
+ name: z.ZodString;
695
+ description: z.ZodNullable<z.ZodString>;
696
+ type: z.ZodEnum<{
697
+ number: "number";
698
+ date: "date";
699
+ text: "text";
700
+ textarea: "textarea";
701
+ datetime: "datetime";
702
+ select: "select";
703
+ multiselect: "multiselect";
704
+ user: "user";
705
+ multiuser: "multiuser";
706
+ label: "label";
707
+ url: "url";
708
+ checkbox: "checkbox";
709
+ relation: "relation";
710
+ formula: "formula";
711
+ }>;
712
+ options: z.ZodArray<z.ZodObject<{
713
+ id: z.ZodString;
714
+ label: z.ZodString;
715
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
716
+ order: z.ZodDefault<z.ZodNumber>;
717
+ archived: z.ZodDefault<z.ZodBoolean>;
718
+ }, z.core.$strip>>;
719
+ defaultValue: z.ZodNullable<z.ZodUnknown>;
720
+ config: z.ZodObject<{
721
+ min: z.ZodOptional<z.ZodNumber>;
722
+ max: z.ZodOptional<z.ZodNumber>;
723
+ precision: z.ZodOptional<z.ZodNumber>;
724
+ unit: z.ZodOptional<z.ZodString>;
725
+ maxLength: z.ZodOptional<z.ZodNumber>;
726
+ pattern: z.ZodOptional<z.ZodString>;
727
+ relationTypeIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
728
+ relationProjectIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
729
+ relationMultiple: z.ZodOptional<z.ZodBoolean>;
730
+ formula: z.ZodOptional<z.ZodString>;
731
+ formulaResult: z.ZodOptional<z.ZodEnum<{
732
+ number: "number";
733
+ boolean: "boolean";
734
+ date: "date";
735
+ text: "text";
736
+ }>>;
737
+ includeTime: z.ZodOptional<z.ZodBoolean>;
738
+ }, z.core.$catchall<z.ZodUnknown>>;
739
+ searchable: z.ZodBoolean;
740
+ required: z.ZodBoolean;
741
+ showInCards: z.ZodBoolean;
742
+ order: z.ZodNumber;
743
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
744
+ createdAt: z.ZodISODateTime;
745
+ updatedAt: z.ZodISODateTime;
746
+ }, z.core.$strip>>;
594
747
  }, z.core.$strip>;
595
- export type FieldScheme = z.infer<typeof FieldScheme>;
748
+ export type ResolvedField = z.infer<typeof ResolvedField>;
749
+ /**
750
+ * The fields of one work item type in one project, already ordered and merged.
751
+ *
752
+ * An **empty stored layout means the default layout** — everything visible. A field the stored
753
+ * layout does not name appends to `sidebar` rather than disappearing, so a newly created field
754
+ * shows up instead of looking broken.
755
+ */
756
+ export declare const ResolvedLayout: z.ZodObject<{
757
+ typeId: z.ZodUUID;
758
+ projectId: z.ZodNullable<z.ZodUUID>;
759
+ main: z.ZodArray<z.ZodObject<{
760
+ fieldId: z.ZodString;
761
+ kind: z.ZodEnum<{
762
+ custom: "custom";
763
+ system: "system";
764
+ }>;
765
+ label: z.ZodString;
766
+ section: z.ZodEnum<{
767
+ main: "main";
768
+ sidebar: "sidebar";
769
+ }>;
770
+ order: z.ZodNumber;
771
+ required: z.ZodBoolean;
772
+ pinned: z.ZodBoolean;
773
+ showInCards: z.ZodBoolean;
774
+ field: z.ZodNullable<z.ZodObject<{
775
+ id: z.ZodUUID;
776
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
777
+ projectId: z.ZodNullable<z.ZodUUID>;
778
+ key: z.ZodString;
779
+ name: z.ZodString;
780
+ description: z.ZodNullable<z.ZodString>;
781
+ type: z.ZodEnum<{
782
+ number: "number";
783
+ date: "date";
784
+ text: "text";
785
+ textarea: "textarea";
786
+ datetime: "datetime";
787
+ select: "select";
788
+ multiselect: "multiselect";
789
+ user: "user";
790
+ multiuser: "multiuser";
791
+ label: "label";
792
+ url: "url";
793
+ checkbox: "checkbox";
794
+ relation: "relation";
795
+ formula: "formula";
796
+ }>;
797
+ options: z.ZodArray<z.ZodObject<{
798
+ id: z.ZodString;
799
+ label: z.ZodString;
800
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
801
+ order: z.ZodDefault<z.ZodNumber>;
802
+ archived: z.ZodDefault<z.ZodBoolean>;
803
+ }, z.core.$strip>>;
804
+ defaultValue: z.ZodNullable<z.ZodUnknown>;
805
+ config: z.ZodObject<{
806
+ min: z.ZodOptional<z.ZodNumber>;
807
+ max: z.ZodOptional<z.ZodNumber>;
808
+ precision: z.ZodOptional<z.ZodNumber>;
809
+ unit: z.ZodOptional<z.ZodString>;
810
+ maxLength: z.ZodOptional<z.ZodNumber>;
811
+ pattern: z.ZodOptional<z.ZodString>;
812
+ relationTypeIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
813
+ relationProjectIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
814
+ relationMultiple: z.ZodOptional<z.ZodBoolean>;
815
+ formula: z.ZodOptional<z.ZodString>;
816
+ formulaResult: z.ZodOptional<z.ZodEnum<{
817
+ number: "number";
818
+ boolean: "boolean";
819
+ date: "date";
820
+ text: "text";
821
+ }>>;
822
+ includeTime: z.ZodOptional<z.ZodBoolean>;
823
+ }, z.core.$catchall<z.ZodUnknown>>;
824
+ searchable: z.ZodBoolean;
825
+ required: z.ZodBoolean;
826
+ showInCards: z.ZodBoolean;
827
+ order: z.ZodNumber;
828
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
829
+ createdAt: z.ZodISODateTime;
830
+ updatedAt: z.ZodISODateTime;
831
+ }, z.core.$strip>>;
832
+ }, z.core.$strip>>;
833
+ sidebar: z.ZodArray<z.ZodObject<{
834
+ fieldId: z.ZodString;
835
+ kind: z.ZodEnum<{
836
+ custom: "custom";
837
+ system: "system";
838
+ }>;
839
+ label: z.ZodString;
840
+ section: z.ZodEnum<{
841
+ main: "main";
842
+ sidebar: "sidebar";
843
+ }>;
844
+ order: z.ZodNumber;
845
+ required: z.ZodBoolean;
846
+ pinned: z.ZodBoolean;
847
+ showInCards: z.ZodBoolean;
848
+ field: z.ZodNullable<z.ZodObject<{
849
+ id: z.ZodUUID;
850
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
851
+ projectId: z.ZodNullable<z.ZodUUID>;
852
+ key: z.ZodString;
853
+ name: z.ZodString;
854
+ description: z.ZodNullable<z.ZodString>;
855
+ type: z.ZodEnum<{
856
+ number: "number";
857
+ date: "date";
858
+ text: "text";
859
+ textarea: "textarea";
860
+ datetime: "datetime";
861
+ select: "select";
862
+ multiselect: "multiselect";
863
+ user: "user";
864
+ multiuser: "multiuser";
865
+ label: "label";
866
+ url: "url";
867
+ checkbox: "checkbox";
868
+ relation: "relation";
869
+ formula: "formula";
870
+ }>;
871
+ options: z.ZodArray<z.ZodObject<{
872
+ id: z.ZodString;
873
+ label: z.ZodString;
874
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
875
+ order: z.ZodDefault<z.ZodNumber>;
876
+ archived: z.ZodDefault<z.ZodBoolean>;
877
+ }, z.core.$strip>>;
878
+ defaultValue: z.ZodNullable<z.ZodUnknown>;
879
+ config: z.ZodObject<{
880
+ min: z.ZodOptional<z.ZodNumber>;
881
+ max: z.ZodOptional<z.ZodNumber>;
882
+ precision: z.ZodOptional<z.ZodNumber>;
883
+ unit: z.ZodOptional<z.ZodString>;
884
+ maxLength: z.ZodOptional<z.ZodNumber>;
885
+ pattern: z.ZodOptional<z.ZodString>;
886
+ relationTypeIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
887
+ relationProjectIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
888
+ relationMultiple: z.ZodOptional<z.ZodBoolean>;
889
+ formula: z.ZodOptional<z.ZodString>;
890
+ formulaResult: z.ZodOptional<z.ZodEnum<{
891
+ number: "number";
892
+ boolean: "boolean";
893
+ date: "date";
894
+ text: "text";
895
+ }>>;
896
+ includeTime: z.ZodOptional<z.ZodBoolean>;
897
+ }, z.core.$catchall<z.ZodUnknown>>;
898
+ searchable: z.ZodBoolean;
899
+ required: z.ZodBoolean;
900
+ showInCards: z.ZodBoolean;
901
+ order: z.ZodNumber;
902
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
903
+ createdAt: z.ZodISODateTime;
904
+ updatedAt: z.ZodISODateTime;
905
+ }, z.core.$strip>>;
906
+ }, z.core.$strip>>;
907
+ hidden: z.ZodArray<z.ZodObject<{
908
+ fieldId: z.ZodString;
909
+ kind: z.ZodEnum<{
910
+ custom: "custom";
911
+ system: "system";
912
+ }>;
913
+ label: z.ZodString;
914
+ section: z.ZodEnum<{
915
+ main: "main";
916
+ sidebar: "sidebar";
917
+ }>;
918
+ order: z.ZodNumber;
919
+ required: z.ZodBoolean;
920
+ pinned: z.ZodBoolean;
921
+ showInCards: z.ZodBoolean;
922
+ field: z.ZodNullable<z.ZodObject<{
923
+ id: z.ZodUUID;
924
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
925
+ projectId: z.ZodNullable<z.ZodUUID>;
926
+ key: z.ZodString;
927
+ name: z.ZodString;
928
+ description: z.ZodNullable<z.ZodString>;
929
+ type: z.ZodEnum<{
930
+ number: "number";
931
+ date: "date";
932
+ text: "text";
933
+ textarea: "textarea";
934
+ datetime: "datetime";
935
+ select: "select";
936
+ multiselect: "multiselect";
937
+ user: "user";
938
+ multiuser: "multiuser";
939
+ label: "label";
940
+ url: "url";
941
+ checkbox: "checkbox";
942
+ relation: "relation";
943
+ formula: "formula";
944
+ }>;
945
+ options: z.ZodArray<z.ZodObject<{
946
+ id: z.ZodString;
947
+ label: z.ZodString;
948
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
949
+ order: z.ZodDefault<z.ZodNumber>;
950
+ archived: z.ZodDefault<z.ZodBoolean>;
951
+ }, z.core.$strip>>;
952
+ defaultValue: z.ZodNullable<z.ZodUnknown>;
953
+ config: z.ZodObject<{
954
+ min: z.ZodOptional<z.ZodNumber>;
955
+ max: z.ZodOptional<z.ZodNumber>;
956
+ precision: z.ZodOptional<z.ZodNumber>;
957
+ unit: z.ZodOptional<z.ZodString>;
958
+ maxLength: z.ZodOptional<z.ZodNumber>;
959
+ pattern: z.ZodOptional<z.ZodString>;
960
+ relationTypeIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
961
+ relationProjectIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
962
+ relationMultiple: z.ZodOptional<z.ZodBoolean>;
963
+ formula: z.ZodOptional<z.ZodString>;
964
+ formulaResult: z.ZodOptional<z.ZodEnum<{
965
+ number: "number";
966
+ boolean: "boolean";
967
+ date: "date";
968
+ text: "text";
969
+ }>>;
970
+ includeTime: z.ZodOptional<z.ZodBoolean>;
971
+ }, z.core.$catchall<z.ZodUnknown>>;
972
+ searchable: z.ZodBoolean;
973
+ required: z.ZodBoolean;
974
+ showInCards: z.ZodBoolean;
975
+ order: z.ZodNumber;
976
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
977
+ createdAt: z.ZodISODateTime;
978
+ updatedAt: z.ZodISODateTime;
979
+ }, z.core.$strip>>;
980
+ }, z.core.$strip>>;
981
+ }, z.core.$strip>;
982
+ export type ResolvedLayout = z.infer<typeof ResolvedLayout>;
596
983
  export declare const Workflow: z.ZodObject<{
597
984
  id: z.ZodUUID;
598
985
  workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
@@ -944,6 +1331,17 @@ export declare const IssueSummary: z.ZodObject<{
944
1331
  updatedAt: z.ZodISODateTime;
945
1332
  archivedAt: z.ZodNullable<z.ZodISODateTime>;
946
1333
  projectId: z.ZodUUID;
1334
+ title: z.ZodString;
1335
+ priority: z.ZodEnum<{
1336
+ none: "none";
1337
+ low: "low";
1338
+ medium: "medium";
1339
+ high: "high";
1340
+ urgent: "urgent";
1341
+ }>;
1342
+ estimate: z.ZodNullable<z.ZodNumber>;
1343
+ startDate: z.ZodNullable<z.ZodString>;
1344
+ dueDate: z.ZodNullable<z.ZodString>;
947
1345
  typeId: z.ZodUUID;
948
1346
  statusCategory: z.ZodEnum<{
949
1347
  backlog: "backlog";
@@ -953,23 +1351,12 @@ export declare const IssueSummary: z.ZodObject<{
953
1351
  cancelled: "cancelled";
954
1352
  triage: "triage";
955
1353
  }>;
956
- priority: z.ZodEnum<{
957
- none: "none";
958
- low: "low";
959
- medium: "medium";
960
- high: "high";
961
- urgent: "urgent";
962
- }>;
963
- title: z.ZodString;
964
1354
  statusId: z.ZodString;
965
1355
  assigneeIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
966
1356
  labelIds: z.ZodArray<z.ZodUUID>;
967
1357
  cycleId: z.ZodNullable<z.ZodUUID>;
968
1358
  parentId: z.ZodNullable<z.ZodUUID>;
969
1359
  rank: z.ZodString;
970
- estimate: z.ZodNullable<z.ZodNumber>;
971
- startDate: z.ZodNullable<z.ZodString>;
972
- dueDate: z.ZodNullable<z.ZodString>;
973
1360
  }, z.core.$strip>;
974
1361
  export type IssueSummary = z.infer<typeof IssueSummary>;
975
1362
  /** Fields an issue may be created with. */
@@ -1129,10 +1516,10 @@ export declare const Comment: z.ZodObject<{
1129
1516
  }, z.core.$strip>>;
1130
1517
  internal: z.ZodBoolean;
1131
1518
  source: z.ZodEnum<{
1519
+ system: "system";
1132
1520
  app: "app";
1133
1521
  email: "email";
1134
1522
  automation: "automation";
1135
- system: "system";
1136
1523
  }>;
1137
1524
  replyCount: z.ZodNumber;
1138
1525
  editedAt: z.ZodNullable<z.ZodISODateTime>;
@@ -1180,6 +1567,17 @@ export declare const RelationView: z.ZodObject<{
1180
1567
  updatedAt: z.ZodISODateTime;
1181
1568
  archivedAt: z.ZodNullable<z.ZodISODateTime>;
1182
1569
  projectId: z.ZodUUID;
1570
+ title: z.ZodString;
1571
+ priority: z.ZodEnum<{
1572
+ none: "none";
1573
+ low: "low";
1574
+ medium: "medium";
1575
+ high: "high";
1576
+ urgent: "urgent";
1577
+ }>;
1578
+ estimate: z.ZodNullable<z.ZodNumber>;
1579
+ startDate: z.ZodNullable<z.ZodString>;
1580
+ dueDate: z.ZodNullable<z.ZodString>;
1183
1581
  typeId: z.ZodUUID;
1184
1582
  statusCategory: z.ZodEnum<{
1185
1583
  backlog: "backlog";
@@ -1189,23 +1587,12 @@ export declare const RelationView: z.ZodObject<{
1189
1587
  cancelled: "cancelled";
1190
1588
  triage: "triage";
1191
1589
  }>;
1192
- priority: z.ZodEnum<{
1193
- none: "none";
1194
- low: "low";
1195
- medium: "medium";
1196
- high: "high";
1197
- urgent: "urgent";
1198
- }>;
1199
- title: z.ZodString;
1200
1590
  statusId: z.ZodString;
1201
1591
  assigneeIds: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>;
1202
1592
  labelIds: z.ZodArray<z.ZodUUID>;
1203
1593
  cycleId: z.ZodNullable<z.ZodUUID>;
1204
1594
  parentId: z.ZodNullable<z.ZodUUID>;
1205
1595
  rank: z.ZodString;
1206
- estimate: z.ZodNullable<z.ZodNumber>;
1207
- startDate: z.ZodNullable<z.ZodString>;
1208
- dueDate: z.ZodNullable<z.ZodString>;
1209
1596
  }, z.core.$strip>;
1210
1597
  createdAt: z.ZodISODateTime;
1211
1598
  }, z.core.$strip>;
@@ -1293,7 +1680,7 @@ export declare const IssueTemplate: z.ZodObject<{
1293
1680
  type: z.ZodLiteral<"doc">;
1294
1681
  content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1295
1682
  }, z.core.$catchall<z.ZodUnknown>>>>>;
1296
- typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1683
+ title: z.ZodOptional<z.ZodString>;
1297
1684
  priority: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1298
1685
  none: "none";
1299
1686
  low: "low";
@@ -1301,7 +1688,10 @@ export declare const IssueTemplate: z.ZodObject<{
1301
1688
  high: "high";
1302
1689
  urgent: "urgent";
1303
1690
  }>>>;
1304
- title: z.ZodOptional<z.ZodString>;
1691
+ estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1692
+ startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1693
+ dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1694
+ typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1305
1695
  statusId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1306
1696
  assigneeIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1307
1697
  reporterId: z.ZodOptional<z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
@@ -1312,9 +1702,6 @@ export declare const IssueTemplate: z.ZodObject<{
1312
1702
  cycleId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1313
1703
  milestoneId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1314
1704
  parentId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1315
- estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1316
- startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1317
- dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1318
1705
  watcherIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1319
1706
  originalEstimateSec: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1320
1707
  rankAfterId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
@@ -1342,7 +1729,7 @@ export declare const UpsertIssueTemplate: z.ZodObject<{
1342
1729
  type: z.ZodLiteral<"doc">;
1343
1730
  content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1344
1731
  }, z.core.$catchall<z.ZodUnknown>>>>>;
1345
- typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1732
+ title: z.ZodOptional<z.ZodString>;
1346
1733
  priority: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1347
1734
  none: "none";
1348
1735
  low: "low";
@@ -1350,7 +1737,10 @@ export declare const UpsertIssueTemplate: z.ZodObject<{
1350
1737
  high: "high";
1351
1738
  urgent: "urgent";
1352
1739
  }>>>;
1353
- title: z.ZodOptional<z.ZodString>;
1740
+ estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1741
+ startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1742
+ dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1743
+ typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1354
1744
  statusId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1355
1745
  assigneeIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1356
1746
  reporterId: z.ZodOptional<z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
@@ -1361,9 +1751,6 @@ export declare const UpsertIssueTemplate: z.ZodObject<{
1361
1751
  cycleId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1362
1752
  milestoneId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1363
1753
  parentId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1364
- estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1365
- startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1366
- dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1367
1754
  watcherIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1368
1755
  originalEstimateSec: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1369
1756
  rankAfterId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
@@ -1417,7 +1804,7 @@ export declare const RecurringIssue: z.ZodObject<{
1417
1804
  type: z.ZodLiteral<"doc">;
1418
1805
  content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1419
1806
  }, z.core.$catchall<z.ZodUnknown>>>>>;
1420
- typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1807
+ title: z.ZodOptional<z.ZodString>;
1421
1808
  priority: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1422
1809
  none: "none";
1423
1810
  low: "low";
@@ -1425,7 +1812,10 @@ export declare const RecurringIssue: z.ZodObject<{
1425
1812
  high: "high";
1426
1813
  urgent: "urgent";
1427
1814
  }>>>;
1428
- title: z.ZodOptional<z.ZodString>;
1815
+ estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1816
+ startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1817
+ dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1818
+ typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1429
1819
  statusId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1430
1820
  assigneeIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1431
1821
  reporterId: z.ZodOptional<z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
@@ -1436,9 +1826,6 @@ export declare const RecurringIssue: z.ZodObject<{
1436
1826
  cycleId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1437
1827
  milestoneId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1438
1828
  parentId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1439
- estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1440
- startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1441
- dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1442
1829
  watcherIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1443
1830
  originalEstimateSec: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1444
1831
  rankAfterId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
@@ -1464,7 +1851,7 @@ export declare const UpsertRecurringIssue: z.ZodObject<{
1464
1851
  type: z.ZodLiteral<"doc">;
1465
1852
  content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1466
1853
  }, z.core.$catchall<z.ZodUnknown>>>>>;
1467
- typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1854
+ title: z.ZodOptional<z.ZodString>;
1468
1855
  priority: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1469
1856
  none: "none";
1470
1857
  low: "low";
@@ -1472,7 +1859,10 @@ export declare const UpsertRecurringIssue: z.ZodObject<{
1472
1859
  high: "high";
1473
1860
  urgent: "urgent";
1474
1861
  }>>>;
1475
- title: z.ZodOptional<z.ZodString>;
1862
+ estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1863
+ startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1864
+ dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1865
+ typeId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
1476
1866
  statusId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1477
1867
  assigneeIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1478
1868
  reporterId: z.ZodOptional<z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>;
@@ -1483,9 +1873,6 @@ export declare const UpsertRecurringIssue: z.ZodObject<{
1483
1873
  cycleId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1484
1874
  milestoneId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1485
1875
  parentId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodUUID>>>;
1486
- estimate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1487
- startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1488
- dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1489
1876
  watcherIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "UserId", "out">>>>;
1490
1877
  originalEstimateSec: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
1491
1878
  rankAfterId: z.ZodOptional<z.ZodOptional<z.ZodUUID>>;
@@ -1680,20 +2067,42 @@ export declare const GroupBy: z.ZodEnum<{
1680
2067
  type: "type";
1681
2068
  none: "none";
1682
2069
  createdAt: "createdAt";
1683
- label: "label";
1684
- statusCategory: "statusCategory";
2070
+ status: "status";
1685
2071
  priority: "priority";
1686
2072
  dueDate: "dueDate";
1687
- status: "status";
1688
- project: "project";
1689
- assignee: "assignee";
1690
2073
  cycle: "cycle";
1691
2074
  milestone: "milestone";
1692
2075
  parent: "parent";
2076
+ label: "label";
2077
+ statusCategory: "statusCategory";
2078
+ project: "project";
2079
+ assignee: "assignee";
1693
2080
  component: "component";
1694
2081
  version: "version";
1695
2082
  }>;
1696
2083
  export type GroupBy = z.infer<typeof GroupBy>;
2084
+ /**
2085
+ * A group key that may also name a custom field. `GroupBy` stays as it was so nothing that accepts
2086
+ * only the built-in keys has to change; views and `issues.query` accept this wider one.
2087
+ */
2088
+ export declare const GroupByValue: z.ZodUnion<readonly [z.ZodEnum<{
2089
+ type: "type";
2090
+ none: "none";
2091
+ createdAt: "createdAt";
2092
+ status: "status";
2093
+ priority: "priority";
2094
+ dueDate: "dueDate";
2095
+ cycle: "cycle";
2096
+ milestone: "milestone";
2097
+ parent: "parent";
2098
+ label: "label";
2099
+ statusCategory: "statusCategory";
2100
+ project: "project";
2101
+ assignee: "assignee";
2102
+ component: "component";
2103
+ version: "version";
2104
+ }>, z.ZodString]>;
2105
+ export type GroupByValue = z.infer<typeof GroupByValue>;
1697
2106
  export declare const OrderBy: z.ZodObject<{
1698
2107
  field: z.ZodString;
1699
2108
  dir: z.ZodDefault<z.ZodEnum<{
@@ -1711,37 +2120,37 @@ export declare const BoardColumn: z.ZodObject<{
1711
2120
  }, z.core.$strip>;
1712
2121
  export type BoardColumn = z.infer<typeof BoardColumn>;
1713
2122
  export declare const ViewDisplay: z.ZodObject<{
1714
- groupBy: z.ZodDefault<z.ZodEnum<{
2123
+ groupBy: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
1715
2124
  type: "type";
1716
2125
  none: "none";
1717
2126
  createdAt: "createdAt";
1718
- label: "label";
1719
- statusCategory: "statusCategory";
2127
+ status: "status";
1720
2128
  priority: "priority";
1721
2129
  dueDate: "dueDate";
1722
- status: "status";
1723
- project: "project";
1724
- assignee: "assignee";
1725
2130
  cycle: "cycle";
1726
2131
  milestone: "milestone";
1727
2132
  parent: "parent";
2133
+ label: "label";
2134
+ statusCategory: "statusCategory";
2135
+ project: "project";
2136
+ assignee: "assignee";
1728
2137
  component: "component";
1729
2138
  version: "version";
1730
- }>>;
2139
+ }>, z.ZodString]>>;
1731
2140
  subGroupBy: z.ZodOptional<z.ZodEnum<{
1732
2141
  type: "type";
1733
2142
  none: "none";
1734
2143
  createdAt: "createdAt";
1735
- label: "label";
1736
- statusCategory: "statusCategory";
2144
+ status: "status";
1737
2145
  priority: "priority";
1738
2146
  dueDate: "dueDate";
1739
- status: "status";
1740
- project: "project";
1741
- assignee: "assignee";
1742
2147
  cycle: "cycle";
1743
2148
  milestone: "milestone";
1744
2149
  parent: "parent";
2150
+ label: "label";
2151
+ statusCategory: "statusCategory";
2152
+ project: "project";
2153
+ assignee: "assignee";
1745
2154
  component: "component";
1746
2155
  version: "version";
1747
2156
  }>>;
@@ -1757,16 +2166,16 @@ export declare const ViewDisplay: z.ZodObject<{
1757
2166
  type: "type";
1758
2167
  none: "none";
1759
2168
  createdAt: "createdAt";
1760
- label: "label";
1761
- statusCategory: "statusCategory";
2169
+ status: "status";
1762
2170
  priority: "priority";
1763
2171
  dueDate: "dueDate";
1764
- status: "status";
1765
- project: "project";
1766
- assignee: "assignee";
1767
2172
  cycle: "cycle";
1768
2173
  milestone: "milestone";
1769
2174
  parent: "parent";
2175
+ label: "label";
2176
+ statusCategory: "statusCategory";
2177
+ project: "project";
2178
+ assignee: "assignee";
1770
2179
  component: "component";
1771
2180
  version: "version";
1772
2181
  }>>;
@@ -1787,11 +2196,13 @@ export declare const ViewDisplay: z.ZodObject<{
1787
2196
  collapsed: z.ZodDefault<z.ZodBoolean>;
1788
2197
  }, z.core.$strip>>>>;
1789
2198
  wipLimits: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1790
- calendarField: z.ZodDefault<z.ZodEnum<{
2199
+ calendarField: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
1791
2200
  createdAt: "createdAt";
2201
+ updatedAt: "updatedAt";
1792
2202
  startDate: "startDate";
1793
2203
  dueDate: "dueDate";
1794
- }>>;
2204
+ resolvedAt: "resolvedAt";
2205
+ }>, z.ZodString]>>;
1795
2206
  showDependencies: z.ZodDefault<z.ZodBoolean>;
1796
2207
  density: z.ZodDefault<z.ZodEnum<{
1797
2208
  compact: "compact";
@@ -1818,37 +2229,37 @@ export declare const View: z.ZodObject<{
1818
2229
  spreadsheet: "spreadsheet";
1819
2230
  }>;
1820
2231
  display: z.ZodObject<{
1821
- groupBy: z.ZodDefault<z.ZodEnum<{
2232
+ groupBy: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
1822
2233
  type: "type";
1823
2234
  none: "none";
1824
2235
  createdAt: "createdAt";
1825
- label: "label";
1826
- statusCategory: "statusCategory";
2236
+ status: "status";
1827
2237
  priority: "priority";
1828
2238
  dueDate: "dueDate";
1829
- status: "status";
1830
- project: "project";
1831
- assignee: "assignee";
1832
2239
  cycle: "cycle";
1833
2240
  milestone: "milestone";
1834
2241
  parent: "parent";
2242
+ label: "label";
2243
+ statusCategory: "statusCategory";
2244
+ project: "project";
2245
+ assignee: "assignee";
1835
2246
  component: "component";
1836
2247
  version: "version";
1837
- }>>;
2248
+ }>, z.ZodString]>>;
1838
2249
  subGroupBy: z.ZodOptional<z.ZodEnum<{
1839
2250
  type: "type";
1840
2251
  none: "none";
1841
2252
  createdAt: "createdAt";
1842
- label: "label";
1843
- statusCategory: "statusCategory";
2253
+ status: "status";
1844
2254
  priority: "priority";
1845
2255
  dueDate: "dueDate";
1846
- status: "status";
1847
- project: "project";
1848
- assignee: "assignee";
1849
2256
  cycle: "cycle";
1850
2257
  milestone: "milestone";
1851
2258
  parent: "parent";
2259
+ label: "label";
2260
+ statusCategory: "statusCategory";
2261
+ project: "project";
2262
+ assignee: "assignee";
1852
2263
  component: "component";
1853
2264
  version: "version";
1854
2265
  }>>;
@@ -1864,16 +2275,16 @@ export declare const View: z.ZodObject<{
1864
2275
  type: "type";
1865
2276
  none: "none";
1866
2277
  createdAt: "createdAt";
1867
- label: "label";
1868
- statusCategory: "statusCategory";
2278
+ status: "status";
1869
2279
  priority: "priority";
1870
2280
  dueDate: "dueDate";
1871
- status: "status";
1872
- project: "project";
1873
- assignee: "assignee";
1874
2281
  cycle: "cycle";
1875
2282
  milestone: "milestone";
1876
2283
  parent: "parent";
2284
+ label: "label";
2285
+ statusCategory: "statusCategory";
2286
+ project: "project";
2287
+ assignee: "assignee";
1877
2288
  component: "component";
1878
2289
  version: "version";
1879
2290
  }>>;
@@ -1894,11 +2305,13 @@ export declare const View: z.ZodObject<{
1894
2305
  collapsed: z.ZodDefault<z.ZodBoolean>;
1895
2306
  }, z.core.$strip>>>>;
1896
2307
  wipLimits: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1897
- calendarField: z.ZodDefault<z.ZodEnum<{
2308
+ calendarField: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
1898
2309
  createdAt: "createdAt";
2310
+ updatedAt: "updatedAt";
1899
2311
  startDate: "startDate";
1900
2312
  dueDate: "dueDate";
1901
- }>>;
2313
+ resolvedAt: "resolvedAt";
2314
+ }>, z.ZodString]>>;
1902
2315
  showDependencies: z.ZodDefault<z.ZodBoolean>;
1903
2316
  density: z.ZodDefault<z.ZodEnum<{
1904
2317
  compact: "compact";
@@ -1934,37 +2347,37 @@ export declare const UpsertView: z.ZodObject<{
1934
2347
  spreadsheet: "spreadsheet";
1935
2348
  }>>;
1936
2349
  display: z.ZodOptional<z.ZodObject<{
1937
- groupBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
2350
+ groupBy: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
1938
2351
  type: "type";
1939
2352
  none: "none";
1940
2353
  createdAt: "createdAt";
1941
- label: "label";
1942
- statusCategory: "statusCategory";
2354
+ status: "status";
1943
2355
  priority: "priority";
1944
2356
  dueDate: "dueDate";
1945
- status: "status";
1946
- project: "project";
1947
- assignee: "assignee";
1948
2357
  cycle: "cycle";
1949
2358
  milestone: "milestone";
1950
2359
  parent: "parent";
2360
+ label: "label";
2361
+ statusCategory: "statusCategory";
2362
+ project: "project";
2363
+ assignee: "assignee";
1951
2364
  component: "component";
1952
2365
  version: "version";
1953
- }>>>;
2366
+ }>, z.ZodString]>>>;
1954
2367
  subGroupBy: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
1955
2368
  type: "type";
1956
2369
  none: "none";
1957
2370
  createdAt: "createdAt";
1958
- label: "label";
1959
- statusCategory: "statusCategory";
2371
+ status: "status";
1960
2372
  priority: "priority";
1961
2373
  dueDate: "dueDate";
1962
- status: "status";
1963
- project: "project";
1964
- assignee: "assignee";
1965
2374
  cycle: "cycle";
1966
2375
  milestone: "milestone";
1967
2376
  parent: "parent";
2377
+ label: "label";
2378
+ statusCategory: "statusCategory";
2379
+ project: "project";
2380
+ assignee: "assignee";
1968
2381
  component: "component";
1969
2382
  version: "version";
1970
2383
  }>>>;
@@ -1980,16 +2393,16 @@ export declare const UpsertView: z.ZodObject<{
1980
2393
  type: "type";
1981
2394
  none: "none";
1982
2395
  createdAt: "createdAt";
1983
- label: "label";
1984
- statusCategory: "statusCategory";
2396
+ status: "status";
1985
2397
  priority: "priority";
1986
2398
  dueDate: "dueDate";
1987
- status: "status";
1988
- project: "project";
1989
- assignee: "assignee";
1990
2399
  cycle: "cycle";
1991
2400
  milestone: "milestone";
1992
2401
  parent: "parent";
2402
+ label: "label";
2403
+ statusCategory: "statusCategory";
2404
+ project: "project";
2405
+ assignee: "assignee";
1993
2406
  component: "component";
1994
2407
  version: "version";
1995
2408
  }>>>;
@@ -2010,11 +2423,13 @@ export declare const UpsertView: z.ZodObject<{
2010
2423
  collapsed: z.ZodDefault<z.ZodBoolean>;
2011
2424
  }, z.core.$strip>>>>>;
2012
2425
  wipLimits: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
2013
- calendarField: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
2426
+ calendarField: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
2014
2427
  createdAt: "createdAt";
2428
+ updatedAt: "updatedAt";
2015
2429
  startDate: "startDate";
2016
2430
  dueDate: "dueDate";
2017
- }>>>;
2431
+ resolvedAt: "resolvedAt";
2432
+ }>, z.ZodString]>>>;
2018
2433
  showDependencies: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2019
2434
  density: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
2020
2435
  compact: "compact";
@@ -2111,16 +2526,16 @@ export declare const IssueQueryInput: z.ZodObject<{
2111
2526
  type: "type";
2112
2527
  none: "none";
2113
2528
  createdAt: "createdAt";
2114
- label: "label";
2115
- statusCategory: "statusCategory";
2529
+ status: "status";
2116
2530
  priority: "priority";
2117
2531
  dueDate: "dueDate";
2118
- status: "status";
2119
- project: "project";
2120
- assignee: "assignee";
2121
2532
  cycle: "cycle";
2122
2533
  milestone: "milestone";
2123
2534
  parent: "parent";
2535
+ label: "label";
2536
+ statusCategory: "statusCategory";
2537
+ project: "project";
2538
+ assignee: "assignee";
2124
2539
  component: "component";
2125
2540
  version: "version";
2126
2541
  }>>;
@@ -2378,13 +2793,13 @@ export declare const VelocityReport: z.ZodObject<{
2378
2793
  number: z.ZodNumber;
2379
2794
  id: z.ZodUUID;
2380
2795
  name: z.ZodString;
2381
- startAt: z.ZodISODateTime;
2382
- endAt: z.ZodISODateTime;
2383
2796
  status: z.ZodEnum<{
2384
2797
  upcoming: "upcoming";
2385
2798
  active: "active";
2386
2799
  completed: "completed";
2387
2800
  }>;
2801
+ startAt: z.ZodISODateTime;
2802
+ endAt: z.ZodISODateTime;
2388
2803
  }, z.core.$strip>;
2389
2804
  committed: z.ZodNumber;
2390
2805
  completed: z.ZodNumber;
@@ -2544,4 +2959,638 @@ export declare const IssueApproval: z.ZodObject<{
2544
2959
  updatedAt: z.ZodISODateTime;
2545
2960
  }, z.core.$strip>;
2546
2961
  export type IssueApproval = z.infer<typeof IssueApproval>;
2962
+ /**
2963
+ * Everything a template seeds into a new project. This is the *only* description of a template's
2964
+ * contents: the built-in four are values of this type in code, and a template saved from an
2965
+ * existing project snapshots into the same shape, so one applier serves both.
2966
+ *
2967
+ * Ids inside a body are template-local. Workflows are named by index, types name their workflow by
2968
+ * that index, and layouts name fields by `cf.<key>` — nothing here refers to a database id, which
2969
+ * is what lets a body created in one workspace apply in another.
2970
+ */
2971
+ export declare const ProjectTemplateBody: z.ZodObject<{
2972
+ version: z.ZodDefault<z.ZodLiteral<1>>;
2973
+ settings: z.ZodOptional<z.ZodObject<{
2974
+ estimation: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
2975
+ none: "none";
2976
+ points: "points";
2977
+ hours: "hours";
2978
+ }>>>;
2979
+ estimateScale: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNumber>>>;
2980
+ cycles: z.ZodOptional<z.ZodDefault<z.ZodObject<{
2981
+ enabled: z.ZodDefault<z.ZodBoolean>;
2982
+ lengthWeeks: z.ZodDefault<z.ZodNumber>;
2983
+ cooldownDays: z.ZodDefault<z.ZodNumber>;
2984
+ autoRoll: z.ZodDefault<z.ZodBoolean>;
2985
+ startDay: z.ZodDefault<z.ZodNumber>;
2986
+ autoCreateUpcoming: z.ZodDefault<z.ZodNumber>;
2987
+ }, z.core.$strip>>>;
2988
+ triage: z.ZodOptional<z.ZodDefault<z.ZodObject<{
2989
+ enabled: z.ZodDefault<z.ZodBoolean>;
2990
+ }, z.core.$strip>>>;
2991
+ sla: z.ZodOptional<z.ZodDefault<z.ZodObject<{
2992
+ enabled: z.ZodDefault<z.ZodBoolean>;
2993
+ goals: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
2994
+ none: "none";
2995
+ low: "low";
2996
+ medium: "medium";
2997
+ high: "high";
2998
+ urgent: "urgent";
2999
+ }> & z.core.$partial, z.ZodObject<{
3000
+ firstResponseHours: z.ZodOptional<z.ZodNumber>;
3001
+ resolveHours: z.ZodOptional<z.ZodNumber>;
3002
+ }, z.core.$strip>>>;
3003
+ pauseInCategories: z.ZodDefault<z.ZodArray<z.ZodEnum<{
3004
+ backlog: "backlog";
3005
+ todo: "todo";
3006
+ in_progress: "in_progress";
3007
+ done: "done";
3008
+ cancelled: "cancelled";
3009
+ triage: "triage";
3010
+ }>>>;
3011
+ }, z.core.$strip>>>;
3012
+ requireResolution: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3013
+ autoCreateIssueChannel: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3014
+ timezone: z.ZodOptional<z.ZodDefault<z.ZodString>>;
3015
+ }, z.core.$strip>>;
3016
+ workflows: z.ZodDefault<z.ZodArray<z.ZodObject<{
3017
+ name: z.ZodString;
3018
+ definition: z.ZodObject<{
3019
+ id: z.ZodString;
3020
+ name: z.ZodString;
3021
+ description: z.ZodOptional<z.ZodString>;
3022
+ statuses: z.ZodArray<z.ZodObject<{
3023
+ id: z.ZodString;
3024
+ name: z.ZodString;
3025
+ category: z.ZodEnum<{
3026
+ backlog: "backlog";
3027
+ todo: "todo";
3028
+ in_progress: "in_progress";
3029
+ done: "done";
3030
+ cancelled: "cancelled";
3031
+ triage: "triage";
3032
+ }>;
3033
+ color: z.ZodOptional<z.ZodString>;
3034
+ order: z.ZodDefault<z.ZodNumber>;
3035
+ initial: z.ZodOptional<z.ZodBoolean>;
3036
+ description: z.ZodOptional<z.ZodString>;
3037
+ }, z.core.$strip>>;
3038
+ transitions: z.ZodDefault<z.ZodArray<z.ZodObject<{
3039
+ id: z.ZodString;
3040
+ name: z.ZodString;
3041
+ from: z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodString>]>;
3042
+ to: z.ZodString;
3043
+ conditions: z.ZodDefault<z.ZodArray<z.ZodObject<{
3044
+ type: z.ZodString;
3045
+ config: z.ZodOptional<z.ZodUnknown>;
3046
+ }, z.core.$strip>>>;
3047
+ validators: z.ZodDefault<z.ZodArray<z.ZodObject<{
3048
+ type: z.ZodString;
3049
+ config: z.ZodOptional<z.ZodUnknown>;
3050
+ }, z.core.$strip>>>;
3051
+ postFunctions: z.ZodDefault<z.ZodArray<z.ZodObject<{
3052
+ type: z.ZodString;
3053
+ config: z.ZodOptional<z.ZodUnknown>;
3054
+ }, z.core.$strip>>>;
3055
+ approval: z.ZodOptional<z.ZodObject<{
3056
+ approvers: z.ZodArray<z.ZodObject<{
3057
+ kind: z.ZodEnum<{
3058
+ user: "user";
3059
+ group: "group";
3060
+ role: "role";
3061
+ assignee: "assignee";
3062
+ reporter: "reporter";
3063
+ projectLead: "projectLead";
3064
+ field: "field";
3065
+ }>;
3066
+ id: z.ZodOptional<z.ZodString>;
3067
+ }, z.core.$strip>>;
3068
+ minApprovals: z.ZodDefault<z.ZodNumber>;
3069
+ rejectOnAnyRejection: z.ZodDefault<z.ZodBoolean>;
3070
+ }, z.core.$strip>>;
3071
+ screen: z.ZodOptional<z.ZodObject<{
3072
+ fields: z.ZodDefault<z.ZodArray<z.ZodString>>;
3073
+ comment: z.ZodDefault<z.ZodBoolean>;
3074
+ }, z.core.$strip>>;
3075
+ description: z.ZodOptional<z.ZodString>;
3076
+ hidden: z.ZodDefault<z.ZodBoolean>;
3077
+ }, z.core.$strip>>>;
3078
+ }, z.core.$strip>;
3079
+ }, z.core.$strip>>>;
3080
+ fields: z.ZodDefault<z.ZodArray<z.ZodObject<{
3081
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
3082
+ key: z.ZodString;
3083
+ name: z.ZodString;
3084
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3085
+ type: z.ZodEnum<{
3086
+ number: "number";
3087
+ date: "date";
3088
+ text: "text";
3089
+ textarea: "textarea";
3090
+ datetime: "datetime";
3091
+ select: "select";
3092
+ multiselect: "multiselect";
3093
+ user: "user";
3094
+ multiuser: "multiuser";
3095
+ label: "label";
3096
+ url: "url";
3097
+ checkbox: "checkbox";
3098
+ relation: "relation";
3099
+ formula: "formula";
3100
+ }>;
3101
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
3102
+ id: z.ZodString;
3103
+ label: z.ZodString;
3104
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3105
+ order: z.ZodDefault<z.ZodNumber>;
3106
+ archived: z.ZodDefault<z.ZodBoolean>;
3107
+ }, z.core.$strip>>>;
3108
+ defaultValue: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
3109
+ config: z.ZodOptional<z.ZodObject<{
3110
+ min: z.ZodOptional<z.ZodNumber>;
3111
+ max: z.ZodOptional<z.ZodNumber>;
3112
+ precision: z.ZodOptional<z.ZodNumber>;
3113
+ unit: z.ZodOptional<z.ZodString>;
3114
+ maxLength: z.ZodOptional<z.ZodNumber>;
3115
+ pattern: z.ZodOptional<z.ZodString>;
3116
+ relationTypeIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
3117
+ relationProjectIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
3118
+ relationMultiple: z.ZodOptional<z.ZodBoolean>;
3119
+ formula: z.ZodOptional<z.ZodString>;
3120
+ formulaResult: z.ZodOptional<z.ZodEnum<{
3121
+ number: "number";
3122
+ boolean: "boolean";
3123
+ date: "date";
3124
+ text: "text";
3125
+ }>>;
3126
+ includeTime: z.ZodOptional<z.ZodBoolean>;
3127
+ }, z.core.$catchall<z.ZodUnknown>>>;
3128
+ searchable: z.ZodOptional<z.ZodBoolean>;
3129
+ required: z.ZodOptional<z.ZodBoolean>;
3130
+ showInCards: z.ZodOptional<z.ZodBoolean>;
3131
+ order: z.ZodOptional<z.ZodNumber>;
3132
+ }, z.core.$strip>>>;
3133
+ types: z.ZodDefault<z.ZodArray<z.ZodObject<{
3134
+ key: z.ZodString;
3135
+ name: z.ZodString;
3136
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3137
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3138
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3139
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
3140
+ order: z.ZodOptional<z.ZodNumber>;
3141
+ level: z.ZodNumber;
3142
+ isDefault: z.ZodOptional<z.ZodBoolean>;
3143
+ fieldLayout: z.ZodOptional<z.ZodArray<z.ZodObject<{
3144
+ fieldId: z.ZodString;
3145
+ section: z.ZodDefault<z.ZodEnum<{
3146
+ main: "main";
3147
+ sidebar: "sidebar";
3148
+ hidden: "hidden";
3149
+ }>>;
3150
+ required: z.ZodDefault<z.ZodBoolean>;
3151
+ hidden: z.ZodDefault<z.ZodBoolean>;
3152
+ order: z.ZodDefault<z.ZodNumber>;
3153
+ }, z.core.$strip>>>;
3154
+ templateBody: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3155
+ type: z.ZodLiteral<"doc">;
3156
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
3157
+ }, z.core.$catchall<z.ZodUnknown>>>>;
3158
+ workflowIndex: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
3159
+ }, z.core.$strip>>>;
3160
+ labels: z.ZodDefault<z.ZodArray<z.ZodObject<{
3161
+ name: z.ZodString;
3162
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3163
+ }, z.core.$strip>>>;
3164
+ views: z.ZodDefault<z.ZodArray<z.ZodObject<{
3165
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
3166
+ name: z.ZodString;
3167
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3168
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3169
+ kql: z.ZodDefault<z.ZodString>;
3170
+ layout: z.ZodDefault<z.ZodEnum<{
3171
+ list: "list";
3172
+ board: "board";
3173
+ calendar: "calendar";
3174
+ timeline: "timeline";
3175
+ spreadsheet: "spreadsheet";
3176
+ }>>;
3177
+ display: z.ZodOptional<z.ZodObject<{
3178
+ groupBy: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
3179
+ type: "type";
3180
+ none: "none";
3181
+ createdAt: "createdAt";
3182
+ status: "status";
3183
+ priority: "priority";
3184
+ dueDate: "dueDate";
3185
+ cycle: "cycle";
3186
+ milestone: "milestone";
3187
+ parent: "parent";
3188
+ label: "label";
3189
+ statusCategory: "statusCategory";
3190
+ project: "project";
3191
+ assignee: "assignee";
3192
+ component: "component";
3193
+ version: "version";
3194
+ }>, z.ZodString]>>>;
3195
+ subGroupBy: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
3196
+ type: "type";
3197
+ none: "none";
3198
+ createdAt: "createdAt";
3199
+ status: "status";
3200
+ priority: "priority";
3201
+ dueDate: "dueDate";
3202
+ cycle: "cycle";
3203
+ milestone: "milestone";
3204
+ parent: "parent";
3205
+ label: "label";
3206
+ statusCategory: "statusCategory";
3207
+ project: "project";
3208
+ assignee: "assignee";
3209
+ component: "component";
3210
+ version: "version";
3211
+ }>>>;
3212
+ orderBy: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
3213
+ field: z.ZodString;
3214
+ dir: z.ZodDefault<z.ZodEnum<{
3215
+ asc: "asc";
3216
+ desc: "desc";
3217
+ }>>;
3218
+ }, z.core.$strip>>>>;
3219
+ columns: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
3220
+ swimlanes: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
3221
+ type: "type";
3222
+ none: "none";
3223
+ createdAt: "createdAt";
3224
+ status: "status";
3225
+ priority: "priority";
3226
+ dueDate: "dueDate";
3227
+ cycle: "cycle";
3228
+ milestone: "milestone";
3229
+ parent: "parent";
3230
+ label: "label";
3231
+ statusCategory: "statusCategory";
3232
+ project: "project";
3233
+ assignee: "assignee";
3234
+ component: "component";
3235
+ version: "version";
3236
+ }>>>;
3237
+ showSubItems: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3238
+ showEmptyGroups: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3239
+ showCompleted: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
3240
+ none: "none";
3241
+ all: "all";
3242
+ "1d": "1d";
3243
+ "7d": "7d";
3244
+ "30d": "30d";
3245
+ }>>>;
3246
+ boardColumns: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodObject<{
3247
+ id: z.ZodString;
3248
+ name: z.ZodString;
3249
+ statusIds: z.ZodArray<z.ZodString>;
3250
+ wipLimit: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
3251
+ collapsed: z.ZodDefault<z.ZodBoolean>;
3252
+ }, z.core.$strip>>>>>;
3253
+ wipLimits: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
3254
+ calendarField: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
3255
+ createdAt: "createdAt";
3256
+ updatedAt: "updatedAt";
3257
+ startDate: "startDate";
3258
+ dueDate: "dueDate";
3259
+ resolvedAt: "resolvedAt";
3260
+ }>, z.ZodString]>>>;
3261
+ showDependencies: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3262
+ density: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
3263
+ compact: "compact";
3264
+ comfortable: "comfortable";
3265
+ }>>>;
3266
+ cardProps: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
3267
+ }, z.core.$strip>>;
3268
+ filters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3269
+ visibility: z.ZodDefault<z.ZodEnum<{
3270
+ workspace: "workspace";
3271
+ private: "private";
3272
+ project: "project";
3273
+ }>>;
3274
+ order: z.ZodOptional<z.ZodNumber>;
3275
+ }, z.core.$strip>>>;
3276
+ }, z.core.$strip>;
3277
+ export type ProjectTemplateBody = z.infer<typeof ProjectTemplateBody>;
3278
+ /** Reusable project blueprint (types, workflow, fields, labels, sample views). */
3279
+ export declare const ProjectTemplate: z.ZodObject<{
3280
+ id: z.ZodUUID;
3281
+ workspaceId: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">>;
3282
+ key: z.ZodString;
3283
+ name: z.ZodString;
3284
+ description: z.ZodNullable<z.ZodString>;
3285
+ icon: z.ZodNullable<z.ZodString>;
3286
+ body: z.ZodObject<{
3287
+ version: z.ZodDefault<z.ZodLiteral<1>>;
3288
+ settings: z.ZodOptional<z.ZodObject<{
3289
+ estimation: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
3290
+ none: "none";
3291
+ points: "points";
3292
+ hours: "hours";
3293
+ }>>>;
3294
+ estimateScale: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNumber>>>;
3295
+ cycles: z.ZodOptional<z.ZodDefault<z.ZodObject<{
3296
+ enabled: z.ZodDefault<z.ZodBoolean>;
3297
+ lengthWeeks: z.ZodDefault<z.ZodNumber>;
3298
+ cooldownDays: z.ZodDefault<z.ZodNumber>;
3299
+ autoRoll: z.ZodDefault<z.ZodBoolean>;
3300
+ startDay: z.ZodDefault<z.ZodNumber>;
3301
+ autoCreateUpcoming: z.ZodDefault<z.ZodNumber>;
3302
+ }, z.core.$strip>>>;
3303
+ triage: z.ZodOptional<z.ZodDefault<z.ZodObject<{
3304
+ enabled: z.ZodDefault<z.ZodBoolean>;
3305
+ }, z.core.$strip>>>;
3306
+ sla: z.ZodOptional<z.ZodDefault<z.ZodObject<{
3307
+ enabled: z.ZodDefault<z.ZodBoolean>;
3308
+ goals: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
3309
+ none: "none";
3310
+ low: "low";
3311
+ medium: "medium";
3312
+ high: "high";
3313
+ urgent: "urgent";
3314
+ }> & z.core.$partial, z.ZodObject<{
3315
+ firstResponseHours: z.ZodOptional<z.ZodNumber>;
3316
+ resolveHours: z.ZodOptional<z.ZodNumber>;
3317
+ }, z.core.$strip>>>;
3318
+ pauseInCategories: z.ZodDefault<z.ZodArray<z.ZodEnum<{
3319
+ backlog: "backlog";
3320
+ todo: "todo";
3321
+ in_progress: "in_progress";
3322
+ done: "done";
3323
+ cancelled: "cancelled";
3324
+ triage: "triage";
3325
+ }>>>;
3326
+ }, z.core.$strip>>>;
3327
+ requireResolution: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3328
+ autoCreateIssueChannel: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3329
+ timezone: z.ZodOptional<z.ZodDefault<z.ZodString>>;
3330
+ }, z.core.$strip>>;
3331
+ workflows: z.ZodDefault<z.ZodArray<z.ZodObject<{
3332
+ name: z.ZodString;
3333
+ definition: z.ZodObject<{
3334
+ id: z.ZodString;
3335
+ name: z.ZodString;
3336
+ description: z.ZodOptional<z.ZodString>;
3337
+ statuses: z.ZodArray<z.ZodObject<{
3338
+ id: z.ZodString;
3339
+ name: z.ZodString;
3340
+ category: z.ZodEnum<{
3341
+ backlog: "backlog";
3342
+ todo: "todo";
3343
+ in_progress: "in_progress";
3344
+ done: "done";
3345
+ cancelled: "cancelled";
3346
+ triage: "triage";
3347
+ }>;
3348
+ color: z.ZodOptional<z.ZodString>;
3349
+ order: z.ZodDefault<z.ZodNumber>;
3350
+ initial: z.ZodOptional<z.ZodBoolean>;
3351
+ description: z.ZodOptional<z.ZodString>;
3352
+ }, z.core.$strip>>;
3353
+ transitions: z.ZodDefault<z.ZodArray<z.ZodObject<{
3354
+ id: z.ZodString;
3355
+ name: z.ZodString;
3356
+ from: z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodString>]>;
3357
+ to: z.ZodString;
3358
+ conditions: z.ZodDefault<z.ZodArray<z.ZodObject<{
3359
+ type: z.ZodString;
3360
+ config: z.ZodOptional<z.ZodUnknown>;
3361
+ }, z.core.$strip>>>;
3362
+ validators: z.ZodDefault<z.ZodArray<z.ZodObject<{
3363
+ type: z.ZodString;
3364
+ config: z.ZodOptional<z.ZodUnknown>;
3365
+ }, z.core.$strip>>>;
3366
+ postFunctions: z.ZodDefault<z.ZodArray<z.ZodObject<{
3367
+ type: z.ZodString;
3368
+ config: z.ZodOptional<z.ZodUnknown>;
3369
+ }, z.core.$strip>>>;
3370
+ approval: z.ZodOptional<z.ZodObject<{
3371
+ approvers: z.ZodArray<z.ZodObject<{
3372
+ kind: z.ZodEnum<{
3373
+ user: "user";
3374
+ group: "group";
3375
+ role: "role";
3376
+ assignee: "assignee";
3377
+ reporter: "reporter";
3378
+ projectLead: "projectLead";
3379
+ field: "field";
3380
+ }>;
3381
+ id: z.ZodOptional<z.ZodString>;
3382
+ }, z.core.$strip>>;
3383
+ minApprovals: z.ZodDefault<z.ZodNumber>;
3384
+ rejectOnAnyRejection: z.ZodDefault<z.ZodBoolean>;
3385
+ }, z.core.$strip>>;
3386
+ screen: z.ZodOptional<z.ZodObject<{
3387
+ fields: z.ZodDefault<z.ZodArray<z.ZodString>>;
3388
+ comment: z.ZodDefault<z.ZodBoolean>;
3389
+ }, z.core.$strip>>;
3390
+ description: z.ZodOptional<z.ZodString>;
3391
+ hidden: z.ZodDefault<z.ZodBoolean>;
3392
+ }, z.core.$strip>>>;
3393
+ }, z.core.$strip>;
3394
+ }, z.core.$strip>>>;
3395
+ fields: z.ZodDefault<z.ZodArray<z.ZodObject<{
3396
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
3397
+ key: z.ZodString;
3398
+ name: z.ZodString;
3399
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3400
+ type: z.ZodEnum<{
3401
+ number: "number";
3402
+ date: "date";
3403
+ text: "text";
3404
+ textarea: "textarea";
3405
+ datetime: "datetime";
3406
+ select: "select";
3407
+ multiselect: "multiselect";
3408
+ user: "user";
3409
+ multiuser: "multiuser";
3410
+ label: "label";
3411
+ url: "url";
3412
+ checkbox: "checkbox";
3413
+ relation: "relation";
3414
+ formula: "formula";
3415
+ }>;
3416
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
3417
+ id: z.ZodString;
3418
+ label: z.ZodString;
3419
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3420
+ order: z.ZodDefault<z.ZodNumber>;
3421
+ archived: z.ZodDefault<z.ZodBoolean>;
3422
+ }, z.core.$strip>>>;
3423
+ defaultValue: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
3424
+ config: z.ZodOptional<z.ZodObject<{
3425
+ min: z.ZodOptional<z.ZodNumber>;
3426
+ max: z.ZodOptional<z.ZodNumber>;
3427
+ precision: z.ZodOptional<z.ZodNumber>;
3428
+ unit: z.ZodOptional<z.ZodString>;
3429
+ maxLength: z.ZodOptional<z.ZodNumber>;
3430
+ pattern: z.ZodOptional<z.ZodString>;
3431
+ relationTypeIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
3432
+ relationProjectIds: z.ZodOptional<z.ZodArray<z.ZodUUID>>;
3433
+ relationMultiple: z.ZodOptional<z.ZodBoolean>;
3434
+ formula: z.ZodOptional<z.ZodString>;
3435
+ formulaResult: z.ZodOptional<z.ZodEnum<{
3436
+ number: "number";
3437
+ boolean: "boolean";
3438
+ date: "date";
3439
+ text: "text";
3440
+ }>>;
3441
+ includeTime: z.ZodOptional<z.ZodBoolean>;
3442
+ }, z.core.$catchall<z.ZodUnknown>>>;
3443
+ searchable: z.ZodOptional<z.ZodBoolean>;
3444
+ required: z.ZodOptional<z.ZodBoolean>;
3445
+ showInCards: z.ZodOptional<z.ZodBoolean>;
3446
+ order: z.ZodOptional<z.ZodNumber>;
3447
+ }, z.core.$strip>>>;
3448
+ types: z.ZodDefault<z.ZodArray<z.ZodObject<{
3449
+ key: z.ZodString;
3450
+ name: z.ZodString;
3451
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3452
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3453
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3454
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
3455
+ order: z.ZodOptional<z.ZodNumber>;
3456
+ level: z.ZodNumber;
3457
+ isDefault: z.ZodOptional<z.ZodBoolean>;
3458
+ fieldLayout: z.ZodOptional<z.ZodArray<z.ZodObject<{
3459
+ fieldId: z.ZodString;
3460
+ section: z.ZodDefault<z.ZodEnum<{
3461
+ main: "main";
3462
+ sidebar: "sidebar";
3463
+ hidden: "hidden";
3464
+ }>>;
3465
+ required: z.ZodDefault<z.ZodBoolean>;
3466
+ hidden: z.ZodDefault<z.ZodBoolean>;
3467
+ order: z.ZodDefault<z.ZodNumber>;
3468
+ }, z.core.$strip>>>;
3469
+ templateBody: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3470
+ type: z.ZodLiteral<"doc">;
3471
+ content: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
3472
+ }, z.core.$catchall<z.ZodUnknown>>>>;
3473
+ workflowIndex: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
3474
+ }, z.core.$strip>>>;
3475
+ labels: z.ZodDefault<z.ZodArray<z.ZodObject<{
3476
+ name: z.ZodString;
3477
+ color: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3478
+ }, z.core.$strip>>>;
3479
+ views: z.ZodDefault<z.ZodArray<z.ZodObject<{
3480
+ projectId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
3481
+ name: z.ZodString;
3482
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3483
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3484
+ kql: z.ZodDefault<z.ZodString>;
3485
+ layout: z.ZodDefault<z.ZodEnum<{
3486
+ list: "list";
3487
+ board: "board";
3488
+ calendar: "calendar";
3489
+ timeline: "timeline";
3490
+ spreadsheet: "spreadsheet";
3491
+ }>>;
3492
+ display: z.ZodOptional<z.ZodObject<{
3493
+ groupBy: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
3494
+ type: "type";
3495
+ none: "none";
3496
+ createdAt: "createdAt";
3497
+ status: "status";
3498
+ priority: "priority";
3499
+ dueDate: "dueDate";
3500
+ cycle: "cycle";
3501
+ milestone: "milestone";
3502
+ parent: "parent";
3503
+ label: "label";
3504
+ statusCategory: "statusCategory";
3505
+ project: "project";
3506
+ assignee: "assignee";
3507
+ component: "component";
3508
+ version: "version";
3509
+ }>, z.ZodString]>>>;
3510
+ subGroupBy: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
3511
+ type: "type";
3512
+ none: "none";
3513
+ createdAt: "createdAt";
3514
+ status: "status";
3515
+ priority: "priority";
3516
+ dueDate: "dueDate";
3517
+ cycle: "cycle";
3518
+ milestone: "milestone";
3519
+ parent: "parent";
3520
+ label: "label";
3521
+ statusCategory: "statusCategory";
3522
+ project: "project";
3523
+ assignee: "assignee";
3524
+ component: "component";
3525
+ version: "version";
3526
+ }>>>;
3527
+ orderBy: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
3528
+ field: z.ZodString;
3529
+ dir: z.ZodDefault<z.ZodEnum<{
3530
+ asc: "asc";
3531
+ desc: "desc";
3532
+ }>>;
3533
+ }, z.core.$strip>>>>;
3534
+ columns: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
3535
+ swimlanes: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
3536
+ type: "type";
3537
+ none: "none";
3538
+ createdAt: "createdAt";
3539
+ status: "status";
3540
+ priority: "priority";
3541
+ dueDate: "dueDate";
3542
+ cycle: "cycle";
3543
+ milestone: "milestone";
3544
+ parent: "parent";
3545
+ label: "label";
3546
+ statusCategory: "statusCategory";
3547
+ project: "project";
3548
+ assignee: "assignee";
3549
+ component: "component";
3550
+ version: "version";
3551
+ }>>>;
3552
+ showSubItems: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3553
+ showEmptyGroups: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3554
+ showCompleted: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
3555
+ none: "none";
3556
+ all: "all";
3557
+ "1d": "1d";
3558
+ "7d": "7d";
3559
+ "30d": "30d";
3560
+ }>>>;
3561
+ boardColumns: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodObject<{
3562
+ id: z.ZodString;
3563
+ name: z.ZodString;
3564
+ statusIds: z.ZodArray<z.ZodString>;
3565
+ wipLimit: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
3566
+ collapsed: z.ZodDefault<z.ZodBoolean>;
3567
+ }, z.core.$strip>>>>>;
3568
+ wipLimits: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
3569
+ calendarField: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
3570
+ createdAt: "createdAt";
3571
+ updatedAt: "updatedAt";
3572
+ startDate: "startDate";
3573
+ dueDate: "dueDate";
3574
+ resolvedAt: "resolvedAt";
3575
+ }>, z.ZodString]>>>;
3576
+ showDependencies: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3577
+ density: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
3578
+ compact: "compact";
3579
+ comfortable: "comfortable";
3580
+ }>>>;
3581
+ cardProps: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
3582
+ }, z.core.$strip>>;
3583
+ filters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3584
+ visibility: z.ZodDefault<z.ZodEnum<{
3585
+ workspace: "workspace";
3586
+ private: "private";
3587
+ project: "project";
3588
+ }>>;
3589
+ order: z.ZodOptional<z.ZodNumber>;
3590
+ }, z.core.$strip>>>;
3591
+ }, z.core.$strip>;
3592
+ builtin: z.ZodBoolean;
3593
+ createdAt: z.ZodISODateTime;
3594
+ }, z.core.$strip>;
3595
+ export type ProjectTemplate = z.infer<typeof ProjectTemplate>;
2547
3596
  //# sourceMappingURL=models.d.ts.map