@drawcall/design 0.9.0 → 0.10.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.
@@ -140,6 +140,20 @@ export declare const contract: {
140
140
  viewUrl: z.ZodString;
141
141
  createdAt: z.ZodString;
142
142
  updatedAt: z.ZodString;
143
+ type: z.ZodLiteral<"markdown">;
144
+ contentRevision: z.ZodNumber;
145
+ }, z.core.$strip>, z.ZodObject<{
146
+ id: z.ZodString;
147
+ projectId: z.ZodString;
148
+ name: z.ZodString;
149
+ x: z.ZodNumber;
150
+ y: z.ZodNumber;
151
+ width: z.ZodNumber;
152
+ height: z.ZodNumber;
153
+ viewUrl: z.ZodString;
154
+ contentRevision: z.ZodOptional<z.ZodNumber>;
155
+ createdAt: z.ZodString;
156
+ updatedAt: z.ZodString;
143
157
  type: z.ZodLiteral<"image">;
144
158
  file: z.ZodString;
145
159
  provenance: z.ZodOptional<z.ZodObject<{
@@ -174,6 +188,7 @@ export declare const contract: {
174
188
  width: z.ZodNumber;
175
189
  height: z.ZodNumber;
176
190
  viewUrl: z.ZodString;
191
+ contentRevision: z.ZodOptional<z.ZodNumber>;
177
192
  createdAt: z.ZodString;
178
193
  updatedAt: z.ZodString;
179
194
  type: z.ZodLiteral<"market">;
@@ -187,6 +202,14 @@ export declare const contract: {
187
202
  type: z.ZodLiteral<"glts">;
188
203
  width: z.ZodNumber;
189
204
  height: z.ZodNumber;
205
+ }, z.core.$strict>, z.ZodObject<{
206
+ project: z.ZodString;
207
+ name: z.ZodString;
208
+ x: z.ZodOptional<z.ZodNumber>;
209
+ y: z.ZodOptional<z.ZodNumber>;
210
+ type: z.ZodLiteral<"markdown">;
211
+ width: z.ZodNumber;
212
+ height: z.ZodNumber;
190
213
  }, z.core.$strict>, z.ZodObject<{
191
214
  project: z.ZodString;
192
215
  name: z.ZodString;
@@ -238,6 +261,20 @@ export declare const contract: {
238
261
  viewUrl: z.ZodString;
239
262
  createdAt: z.ZodString;
240
263
  updatedAt: z.ZodString;
264
+ type: z.ZodLiteral<"markdown">;
265
+ contentRevision: z.ZodNumber;
266
+ }, z.core.$strip>, z.ZodObject<{
267
+ id: z.ZodString;
268
+ projectId: z.ZodString;
269
+ name: z.ZodString;
270
+ x: z.ZodNumber;
271
+ y: z.ZodNumber;
272
+ width: z.ZodNumber;
273
+ height: z.ZodNumber;
274
+ viewUrl: z.ZodString;
275
+ contentRevision: z.ZodOptional<z.ZodNumber>;
276
+ createdAt: z.ZodString;
277
+ updatedAt: z.ZodString;
241
278
  type: z.ZodLiteral<"image">;
242
279
  file: z.ZodString;
243
280
  provenance: z.ZodOptional<z.ZodObject<{
@@ -272,6 +309,7 @@ export declare const contract: {
272
309
  width: z.ZodNumber;
273
310
  height: z.ZodNumber;
274
311
  viewUrl: z.ZodString;
312
+ contentRevision: z.ZodOptional<z.ZodNumber>;
275
313
  createdAt: z.ZodString;
276
314
  updatedAt: z.ZodString;
277
315
  type: z.ZodLiteral<"market">;
@@ -343,6 +381,20 @@ export declare const contract: {
343
381
  viewUrl: z.ZodString;
344
382
  createdAt: z.ZodString;
345
383
  updatedAt: z.ZodString;
384
+ type: z.ZodLiteral<"markdown">;
385
+ contentRevision: z.ZodNumber;
386
+ }, z.core.$strip>, z.ZodObject<{
387
+ id: z.ZodString;
388
+ projectId: z.ZodString;
389
+ name: z.ZodString;
390
+ x: z.ZodNumber;
391
+ y: z.ZodNumber;
392
+ width: z.ZodNumber;
393
+ height: z.ZodNumber;
394
+ viewUrl: z.ZodString;
395
+ contentRevision: z.ZodOptional<z.ZodNumber>;
396
+ createdAt: z.ZodString;
397
+ updatedAt: z.ZodString;
346
398
  type: z.ZodLiteral<"image">;
347
399
  file: z.ZodString;
348
400
  provenance: z.ZodOptional<z.ZodObject<{
@@ -377,6 +429,7 @@ export declare const contract: {
377
429
  width: z.ZodNumber;
378
430
  height: z.ZodNumber;
379
431
  viewUrl: z.ZodString;
432
+ contentRevision: z.ZodOptional<z.ZodNumber>;
380
433
  createdAt: z.ZodString;
381
434
  updatedAt: z.ZodString;
382
435
  type: z.ZodLiteral<"market">;
@@ -423,6 +476,20 @@ export declare const contract: {
423
476
  viewUrl: z.ZodString;
424
477
  createdAt: z.ZodString;
425
478
  updatedAt: z.ZodString;
479
+ type: z.ZodLiteral<"markdown">;
480
+ contentRevision: z.ZodNumber;
481
+ }, z.core.$strip>, z.ZodObject<{
482
+ id: z.ZodString;
483
+ projectId: z.ZodString;
484
+ name: z.ZodString;
485
+ x: z.ZodNumber;
486
+ y: z.ZodNumber;
487
+ width: z.ZodNumber;
488
+ height: z.ZodNumber;
489
+ viewUrl: z.ZodString;
490
+ contentRevision: z.ZodOptional<z.ZodNumber>;
491
+ createdAt: z.ZodString;
492
+ updatedAt: z.ZodString;
426
493
  type: z.ZodLiteral<"image">;
427
494
  file: z.ZodString;
428
495
  provenance: z.ZodOptional<z.ZodObject<{
@@ -457,6 +524,7 @@ export declare const contract: {
457
524
  width: z.ZodNumber;
458
525
  height: z.ZodNumber;
459
526
  viewUrl: z.ZodString;
527
+ contentRevision: z.ZodOptional<z.ZodNumber>;
460
528
  createdAt: z.ZodString;
461
529
  updatedAt: z.ZodString;
462
530
  type: z.ZodLiteral<"market">;
@@ -517,6 +585,20 @@ export declare const contract: {
517
585
  viewUrl: z.ZodString;
518
586
  createdAt: z.ZodString;
519
587
  updatedAt: z.ZodString;
588
+ type: z.ZodLiteral<"markdown">;
589
+ contentRevision: z.ZodNumber;
590
+ }, z.core.$strip>, z.ZodObject<{
591
+ id: z.ZodString;
592
+ projectId: z.ZodString;
593
+ name: z.ZodString;
594
+ x: z.ZodNumber;
595
+ y: z.ZodNumber;
596
+ width: z.ZodNumber;
597
+ height: z.ZodNumber;
598
+ viewUrl: z.ZodString;
599
+ contentRevision: z.ZodOptional<z.ZodNumber>;
600
+ createdAt: z.ZodString;
601
+ updatedAt: z.ZodString;
520
602
  type: z.ZodLiteral<"image">;
521
603
  file: z.ZodString;
522
604
  provenance: z.ZodOptional<z.ZodObject<{
@@ -551,6 +633,7 @@ export declare const contract: {
551
633
  width: z.ZodNumber;
552
634
  height: z.ZodNumber;
553
635
  viewUrl: z.ZodString;
636
+ contentRevision: z.ZodOptional<z.ZodNumber>;
554
637
  createdAt: z.ZodString;
555
638
  updatedAt: z.ZodString;
556
639
  type: z.ZodLiteral<"market">;
@@ -600,6 +683,20 @@ export declare const contract: {
600
683
  viewUrl: z.ZodString;
601
684
  createdAt: z.ZodString;
602
685
  updatedAt: z.ZodString;
686
+ type: z.ZodLiteral<"markdown">;
687
+ contentRevision: z.ZodNumber;
688
+ }, z.core.$strip>, z.ZodObject<{
689
+ id: z.ZodString;
690
+ projectId: z.ZodString;
691
+ name: z.ZodString;
692
+ x: z.ZodNumber;
693
+ y: z.ZodNumber;
694
+ width: z.ZodNumber;
695
+ height: z.ZodNumber;
696
+ viewUrl: z.ZodString;
697
+ contentRevision: z.ZodOptional<z.ZodNumber>;
698
+ createdAt: z.ZodString;
699
+ updatedAt: z.ZodString;
603
700
  type: z.ZodLiteral<"image">;
604
701
  file: z.ZodString;
605
702
  provenance: z.ZodOptional<z.ZodObject<{
@@ -634,6 +731,7 @@ export declare const contract: {
634
731
  width: z.ZodNumber;
635
732
  height: z.ZodNumber;
636
733
  viewUrl: z.ZodString;
734
+ contentRevision: z.ZodOptional<z.ZodNumber>;
637
735
  createdAt: z.ZodString;
638
736
  updatedAt: z.ZodString;
639
737
  type: z.ZodLiteral<"market">;
@@ -675,6 +773,16 @@ export declare const contract: {
675
773
  url: z.ZodString;
676
774
  mediaType: z.ZodLiteral<"application/zip">;
677
775
  }, z.core.$strict>>;
776
+ }, z.core.$strip>, z.ZodObject<{
777
+ frameId: z.ZodString;
778
+ frameName: z.ZodString;
779
+ projectId: z.ZodString;
780
+ type: z.ZodLiteral<"markdown">;
781
+ source: z.ZodNullable<z.ZodObject<{
782
+ filename: z.ZodString;
783
+ url: z.ZodString;
784
+ mediaType: z.ZodLiteral<"text/markdown">;
785
+ }, z.core.$strict>>;
678
786
  }, z.core.$strip>, z.ZodObject<{
679
787
  frameId: z.ZodString;
680
788
  frameName: z.ZodString;
@@ -702,6 +810,272 @@ export declare const contract: {
702
810
  }, z.core.$strict>;
703
811
  }, z.core.$strip>], "type">, Record<never, never>, Record<never, never>>;
704
812
  };
813
+ comment: {
814
+ list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
815
+ project: z.ZodString;
816
+ frame: z.ZodOptional<z.ZodString>;
817
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
818
+ id: z.ZodString;
819
+ projectId: z.ZodString;
820
+ frameId: z.ZodString;
821
+ body: z.ZodString;
822
+ author: z.ZodObject<{
823
+ id: z.ZodString;
824
+ name: z.ZodString;
825
+ image: z.ZodNullable<z.ZodString>;
826
+ }, z.core.$strict>;
827
+ position: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
828
+ kind: z.ZodLiteral<"2d">;
829
+ x: z.ZodNumber;
830
+ y: z.ZodNumber;
831
+ frameContentRevision: z.ZodNumber;
832
+ }, z.core.$strict>, z.ZodObject<{
833
+ kind: z.ZodLiteral<"3d">;
834
+ x: z.ZodNumber;
835
+ y: z.ZodNumber;
836
+ z: z.ZodNumber;
837
+ frameContentRevision: z.ZodNumber;
838
+ }, z.core.$strict>], "kind">>;
839
+ replies: z.ZodArray<z.ZodObject<{
840
+ id: z.ZodString;
841
+ commentId: z.ZodString;
842
+ body: z.ZodString;
843
+ author: z.ZodObject<{
844
+ id: z.ZodString;
845
+ name: z.ZodString;
846
+ image: z.ZodNullable<z.ZodString>;
847
+ }, z.core.$strict>;
848
+ createdAt: z.ZodString;
849
+ updatedAt: z.ZodString;
850
+ }, z.core.$strict>>;
851
+ resolution: z.ZodOptional<z.ZodObject<{
852
+ resolvedAt: z.ZodString;
853
+ resolvedBy: z.ZodObject<{
854
+ id: z.ZodString;
855
+ name: z.ZodString;
856
+ image: z.ZodNullable<z.ZodString>;
857
+ }, z.core.$strict>;
858
+ }, z.core.$strict>>;
859
+ createdAt: z.ZodString;
860
+ updatedAt: z.ZodString;
861
+ }, z.core.$strict>>, Record<never, never>, Record<never, never>>;
862
+ get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
863
+ project: z.ZodString;
864
+ comment: z.ZodString;
865
+ }, z.core.$strip>, z.ZodObject<{
866
+ id: z.ZodString;
867
+ projectId: z.ZodString;
868
+ frameId: z.ZodString;
869
+ body: z.ZodString;
870
+ author: z.ZodObject<{
871
+ id: z.ZodString;
872
+ name: z.ZodString;
873
+ image: z.ZodNullable<z.ZodString>;
874
+ }, z.core.$strict>;
875
+ position: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
876
+ kind: z.ZodLiteral<"2d">;
877
+ x: z.ZodNumber;
878
+ y: z.ZodNumber;
879
+ frameContentRevision: z.ZodNumber;
880
+ }, z.core.$strict>, z.ZodObject<{
881
+ kind: z.ZodLiteral<"3d">;
882
+ x: z.ZodNumber;
883
+ y: z.ZodNumber;
884
+ z: z.ZodNumber;
885
+ frameContentRevision: z.ZodNumber;
886
+ }, z.core.$strict>], "kind">>;
887
+ replies: z.ZodArray<z.ZodObject<{
888
+ id: z.ZodString;
889
+ commentId: z.ZodString;
890
+ body: z.ZodString;
891
+ author: z.ZodObject<{
892
+ id: z.ZodString;
893
+ name: z.ZodString;
894
+ image: z.ZodNullable<z.ZodString>;
895
+ }, z.core.$strict>;
896
+ createdAt: z.ZodString;
897
+ updatedAt: z.ZodString;
898
+ }, z.core.$strict>>;
899
+ resolution: z.ZodOptional<z.ZodObject<{
900
+ resolvedAt: z.ZodString;
901
+ resolvedBy: z.ZodObject<{
902
+ id: z.ZodString;
903
+ name: z.ZodString;
904
+ image: z.ZodNullable<z.ZodString>;
905
+ }, z.core.$strict>;
906
+ }, z.core.$strict>>;
907
+ createdAt: z.ZodString;
908
+ updatedAt: z.ZodString;
909
+ }, z.core.$strict>, Record<never, never>, Record<never, never>>;
910
+ create: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodUnion<readonly [z.ZodObject<{
911
+ project: z.ZodString;
912
+ frame: z.ZodString;
913
+ body: z.ZodString;
914
+ position: z.ZodDiscriminatedUnion<[z.ZodObject<{
915
+ kind: z.ZodLiteral<"2d">;
916
+ x: z.ZodNumber;
917
+ y: z.ZodNumber;
918
+ }, z.core.$strict>, z.ZodObject<{
919
+ kind: z.ZodLiteral<"3d">;
920
+ x: z.ZodNumber;
921
+ y: z.ZodNumber;
922
+ z: z.ZodNumber;
923
+ }, z.core.$strict>], "kind">;
924
+ expectedContentRevision: z.ZodNumber;
925
+ }, z.core.$strict>, z.ZodObject<{
926
+ project: z.ZodString;
927
+ frame: z.ZodString;
928
+ body: z.ZodString;
929
+ }, z.core.$strict>]>, z.ZodObject<{
930
+ id: z.ZodString;
931
+ projectId: z.ZodString;
932
+ frameId: z.ZodString;
933
+ body: z.ZodString;
934
+ author: z.ZodObject<{
935
+ id: z.ZodString;
936
+ name: z.ZodString;
937
+ image: z.ZodNullable<z.ZodString>;
938
+ }, z.core.$strict>;
939
+ position: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
940
+ kind: z.ZodLiteral<"2d">;
941
+ x: z.ZodNumber;
942
+ y: z.ZodNumber;
943
+ frameContentRevision: z.ZodNumber;
944
+ }, z.core.$strict>, z.ZodObject<{
945
+ kind: z.ZodLiteral<"3d">;
946
+ x: z.ZodNumber;
947
+ y: z.ZodNumber;
948
+ z: z.ZodNumber;
949
+ frameContentRevision: z.ZodNumber;
950
+ }, z.core.$strict>], "kind">>;
951
+ replies: z.ZodArray<z.ZodObject<{
952
+ id: z.ZodString;
953
+ commentId: z.ZodString;
954
+ body: z.ZodString;
955
+ author: z.ZodObject<{
956
+ id: z.ZodString;
957
+ name: z.ZodString;
958
+ image: z.ZodNullable<z.ZodString>;
959
+ }, z.core.$strict>;
960
+ createdAt: z.ZodString;
961
+ updatedAt: z.ZodString;
962
+ }, z.core.$strict>>;
963
+ resolution: z.ZodOptional<z.ZodObject<{
964
+ resolvedAt: z.ZodString;
965
+ resolvedBy: z.ZodObject<{
966
+ id: z.ZodString;
967
+ name: z.ZodString;
968
+ image: z.ZodNullable<z.ZodString>;
969
+ }, z.core.$strict>;
970
+ }, z.core.$strict>>;
971
+ createdAt: z.ZodString;
972
+ updatedAt: z.ZodString;
973
+ }, z.core.$strict>, Record<never, never>, Record<never, never>>;
974
+ reply: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
975
+ project: z.ZodString;
976
+ comment: z.ZodString;
977
+ body: z.ZodString;
978
+ }, z.core.$strip>, z.ZodObject<{
979
+ id: z.ZodString;
980
+ projectId: z.ZodString;
981
+ frameId: z.ZodString;
982
+ body: z.ZodString;
983
+ author: z.ZodObject<{
984
+ id: z.ZodString;
985
+ name: z.ZodString;
986
+ image: z.ZodNullable<z.ZodString>;
987
+ }, z.core.$strict>;
988
+ position: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
989
+ kind: z.ZodLiteral<"2d">;
990
+ x: z.ZodNumber;
991
+ y: z.ZodNumber;
992
+ frameContentRevision: z.ZodNumber;
993
+ }, z.core.$strict>, z.ZodObject<{
994
+ kind: z.ZodLiteral<"3d">;
995
+ x: z.ZodNumber;
996
+ y: z.ZodNumber;
997
+ z: z.ZodNumber;
998
+ frameContentRevision: z.ZodNumber;
999
+ }, z.core.$strict>], "kind">>;
1000
+ replies: z.ZodArray<z.ZodObject<{
1001
+ id: z.ZodString;
1002
+ commentId: z.ZodString;
1003
+ body: z.ZodString;
1004
+ author: z.ZodObject<{
1005
+ id: z.ZodString;
1006
+ name: z.ZodString;
1007
+ image: z.ZodNullable<z.ZodString>;
1008
+ }, z.core.$strict>;
1009
+ createdAt: z.ZodString;
1010
+ updatedAt: z.ZodString;
1011
+ }, z.core.$strict>>;
1012
+ resolution: z.ZodOptional<z.ZodObject<{
1013
+ resolvedAt: z.ZodString;
1014
+ resolvedBy: z.ZodObject<{
1015
+ id: z.ZodString;
1016
+ name: z.ZodString;
1017
+ image: z.ZodNullable<z.ZodString>;
1018
+ }, z.core.$strict>;
1019
+ }, z.core.$strict>>;
1020
+ createdAt: z.ZodString;
1021
+ updatedAt: z.ZodString;
1022
+ }, z.core.$strict>, Record<never, never>, Record<never, never>>;
1023
+ setResolved: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1024
+ project: z.ZodString;
1025
+ comment: z.ZodString;
1026
+ resolved: z.ZodBoolean;
1027
+ }, z.core.$strip>, z.ZodObject<{
1028
+ id: z.ZodString;
1029
+ projectId: z.ZodString;
1030
+ frameId: z.ZodString;
1031
+ body: z.ZodString;
1032
+ author: z.ZodObject<{
1033
+ id: z.ZodString;
1034
+ name: z.ZodString;
1035
+ image: z.ZodNullable<z.ZodString>;
1036
+ }, z.core.$strict>;
1037
+ position: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1038
+ kind: z.ZodLiteral<"2d">;
1039
+ x: z.ZodNumber;
1040
+ y: z.ZodNumber;
1041
+ frameContentRevision: z.ZodNumber;
1042
+ }, z.core.$strict>, z.ZodObject<{
1043
+ kind: z.ZodLiteral<"3d">;
1044
+ x: z.ZodNumber;
1045
+ y: z.ZodNumber;
1046
+ z: z.ZodNumber;
1047
+ frameContentRevision: z.ZodNumber;
1048
+ }, z.core.$strict>], "kind">>;
1049
+ replies: z.ZodArray<z.ZodObject<{
1050
+ id: z.ZodString;
1051
+ commentId: z.ZodString;
1052
+ body: z.ZodString;
1053
+ author: z.ZodObject<{
1054
+ id: z.ZodString;
1055
+ name: z.ZodString;
1056
+ image: z.ZodNullable<z.ZodString>;
1057
+ }, z.core.$strict>;
1058
+ createdAt: z.ZodString;
1059
+ updatedAt: z.ZodString;
1060
+ }, z.core.$strict>>;
1061
+ resolution: z.ZodOptional<z.ZodObject<{
1062
+ resolvedAt: z.ZodString;
1063
+ resolvedBy: z.ZodObject<{
1064
+ id: z.ZodString;
1065
+ name: z.ZodString;
1066
+ image: z.ZodNullable<z.ZodString>;
1067
+ }, z.core.$strict>;
1068
+ }, z.core.$strict>>;
1069
+ createdAt: z.ZodString;
1070
+ updatedAt: z.ZodString;
1071
+ }, z.core.$strict>, Record<never, never>, Record<never, never>>;
1072
+ delete: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1073
+ project: z.ZodString;
1074
+ comment: z.ZodString;
1075
+ }, z.core.$strip>, z.ZodObject<{
1076
+ id: z.ZodString;
1077
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
1078
+ };
705
1079
  filesystem: {
706
1080
  list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
707
1081
  project: z.ZodString;
@@ -716,7 +1090,10 @@ export declare const contract: {
716
1090
  type: z.ZodLiteral<"text">;
717
1091
  path: z.ZodString;
718
1092
  text: z.ZodString;
719
- mediaType: z.ZodLiteral<"text/plain">;
1093
+ mediaType: z.ZodEnum<{
1094
+ "text/plain": "text/plain";
1095
+ "text/markdown": "text/markdown";
1096
+ }>;
720
1097
  }, z.core.$strip>, z.ZodObject<{
721
1098
  type: z.ZodLiteral<"binary">;
722
1099
  path: z.ZodString;
@@ -1,9 +1,12 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { z } from "zod";
3
3
  import { projectFrameLayoutSchema } from "../project-state.js";
4
- import { cameraPoseSchema, createFrameSchema, createProjectFromBriefSchema, designIdSchema, fileListSchema, fileMutationSchema, fileSchema, fileTextSchema, frameExportSchema, frameNameSchema, frameSchema, generateImageSchema, projectDirectoryPathSchema, projectFilePathSchema, projectNameSchema, projectSchema, screenshotSchema, userSchema, } from "./schemas.js";
4
+ import { cameraPoseSchema, commentBodySchema, commentSchema, createFrameSchema, createCommentSchema, createProjectFromBriefSchema, designIdSchema, fileListSchema, fileMutationSchema, fileSchema, fileTextSchema, frameExportSchema, frameNameSchema, frameSchema, generateImageSchema, projectDirectoryPathSchema, projectFilePathSchema, projectNameSchema, projectSchema, screenshotSchema, userSchema, } from "./schemas.js";
5
5
  const projectInputSchema = z.object({ project: designIdSchema });
6
6
  const frameInputSchema = projectInputSchema.extend({ frame: designIdSchema });
7
+ const commentInputSchema = projectInputSchema.extend({
8
+ comment: designIdSchema,
9
+ });
7
10
  const fileInputSchema = projectInputSchema.extend({
8
11
  path: projectFilePathSchema,
9
12
  });
@@ -97,6 +100,44 @@ export const contract = {
97
100
  .input(frameInputSchema)
98
101
  .output(frameExportSchema),
99
102
  },
103
+ comment: {
104
+ list: oc
105
+ .route({ method: "GET", path: "/projects/{project}/comments" })
106
+ .input(projectInputSchema.extend({ frame: designIdSchema.optional() }))
107
+ .output(z.array(commentSchema)),
108
+ get: oc
109
+ .route({
110
+ method: "GET",
111
+ path: "/projects/{project}/comments/{comment}",
112
+ })
113
+ .input(commentInputSchema)
114
+ .output(commentSchema),
115
+ create: oc
116
+ .route({ method: "POST", path: "/projects/{project}/comments" })
117
+ .input(createCommentSchema)
118
+ .output(commentSchema),
119
+ reply: oc
120
+ .route({
121
+ method: "POST",
122
+ path: "/projects/{project}/comments/{comment}/replies",
123
+ })
124
+ .input(commentInputSchema.extend({ body: commentBodySchema }))
125
+ .output(commentSchema),
126
+ setResolved: oc
127
+ .route({
128
+ method: "PUT",
129
+ path: "/projects/{project}/comments/{comment}/resolution",
130
+ })
131
+ .input(commentInputSchema.extend({ resolved: z.boolean() }))
132
+ .output(commentSchema),
133
+ delete: oc
134
+ .route({
135
+ method: "DELETE",
136
+ path: "/projects/{project}/comments/{comment}",
137
+ })
138
+ .input(commentInputSchema)
139
+ .output(deletedSchema),
140
+ },
100
141
  filesystem: {
101
142
  list: oc
102
143
  .route({ method: "GET", path: "/projects/{project}/files" })