@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 function clientFor(command: Command): Promise<{
140
140
  viewUrl: import("zod").ZodString;
141
141
  createdAt: import("zod").ZodString;
142
142
  updatedAt: import("zod").ZodString;
143
+ type: import("zod").ZodLiteral<"markdown">;
144
+ contentRevision: import("zod").ZodNumber;
145
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
146
+ id: import("zod").ZodString;
147
+ projectId: import("zod").ZodString;
148
+ name: import("zod").ZodString;
149
+ x: import("zod").ZodNumber;
150
+ y: import("zod").ZodNumber;
151
+ width: import("zod").ZodNumber;
152
+ height: import("zod").ZodNumber;
153
+ viewUrl: import("zod").ZodString;
154
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
155
+ createdAt: import("zod").ZodString;
156
+ updatedAt: import("zod").ZodString;
143
157
  type: import("zod").ZodLiteral<"image">;
144
158
  file: import("zod").ZodString;
145
159
  provenance: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -174,6 +188,7 @@ export declare function clientFor(command: Command): Promise<{
174
188
  width: import("zod").ZodNumber;
175
189
  height: import("zod").ZodNumber;
176
190
  viewUrl: import("zod").ZodString;
191
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
177
192
  createdAt: import("zod").ZodString;
178
193
  updatedAt: import("zod").ZodString;
179
194
  type: import("zod").ZodLiteral<"market">;
@@ -187,6 +202,14 @@ export declare function clientFor(command: Command): Promise<{
187
202
  type: import("zod").ZodLiteral<"glts">;
188
203
  width: import("zod").ZodNumber;
189
204
  height: import("zod").ZodNumber;
205
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
206
+ project: import("zod").ZodString;
207
+ name: import("zod").ZodString;
208
+ x: import("zod").ZodOptional<import("zod").ZodNumber>;
209
+ y: import("zod").ZodOptional<import("zod").ZodNumber>;
210
+ type: import("zod").ZodLiteral<"markdown">;
211
+ width: import("zod").ZodNumber;
212
+ height: import("zod").ZodNumber;
190
213
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
191
214
  project: import("zod").ZodString;
192
215
  name: import("zod").ZodString;
@@ -238,6 +261,20 @@ export declare function clientFor(command: Command): Promise<{
238
261
  viewUrl: import("zod").ZodString;
239
262
  createdAt: import("zod").ZodString;
240
263
  updatedAt: import("zod").ZodString;
264
+ type: import("zod").ZodLiteral<"markdown">;
265
+ contentRevision: import("zod").ZodNumber;
266
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
267
+ id: import("zod").ZodString;
268
+ projectId: import("zod").ZodString;
269
+ name: import("zod").ZodString;
270
+ x: import("zod").ZodNumber;
271
+ y: import("zod").ZodNumber;
272
+ width: import("zod").ZodNumber;
273
+ height: import("zod").ZodNumber;
274
+ viewUrl: import("zod").ZodString;
275
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
276
+ createdAt: import("zod").ZodString;
277
+ updatedAt: import("zod").ZodString;
241
278
  type: import("zod").ZodLiteral<"image">;
242
279
  file: import("zod").ZodString;
243
280
  provenance: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -272,6 +309,7 @@ export declare function clientFor(command: Command): Promise<{
272
309
  width: import("zod").ZodNumber;
273
310
  height: import("zod").ZodNumber;
274
311
  viewUrl: import("zod").ZodString;
312
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
275
313
  createdAt: import("zod").ZodString;
276
314
  updatedAt: import("zod").ZodString;
277
315
  type: import("zod").ZodLiteral<"market">;
@@ -343,6 +381,20 @@ export declare function clientFor(command: Command): Promise<{
343
381
  viewUrl: import("zod").ZodString;
344
382
  createdAt: import("zod").ZodString;
345
383
  updatedAt: import("zod").ZodString;
384
+ type: import("zod").ZodLiteral<"markdown">;
385
+ contentRevision: import("zod").ZodNumber;
386
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
387
+ id: import("zod").ZodString;
388
+ projectId: import("zod").ZodString;
389
+ name: import("zod").ZodString;
390
+ x: import("zod").ZodNumber;
391
+ y: import("zod").ZodNumber;
392
+ width: import("zod").ZodNumber;
393
+ height: import("zod").ZodNumber;
394
+ viewUrl: import("zod").ZodString;
395
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
396
+ createdAt: import("zod").ZodString;
397
+ updatedAt: import("zod").ZodString;
346
398
  type: import("zod").ZodLiteral<"image">;
347
399
  file: import("zod").ZodString;
348
400
  provenance: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -377,6 +429,7 @@ export declare function clientFor(command: Command): Promise<{
377
429
  width: import("zod").ZodNumber;
378
430
  height: import("zod").ZodNumber;
379
431
  viewUrl: import("zod").ZodString;
432
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
380
433
  createdAt: import("zod").ZodString;
381
434
  updatedAt: import("zod").ZodString;
382
435
  type: import("zod").ZodLiteral<"market">;
@@ -423,6 +476,20 @@ export declare function clientFor(command: Command): Promise<{
423
476
  viewUrl: import("zod").ZodString;
424
477
  createdAt: import("zod").ZodString;
425
478
  updatedAt: import("zod").ZodString;
479
+ type: import("zod").ZodLiteral<"markdown">;
480
+ contentRevision: import("zod").ZodNumber;
481
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
482
+ id: import("zod").ZodString;
483
+ projectId: import("zod").ZodString;
484
+ name: import("zod").ZodString;
485
+ x: import("zod").ZodNumber;
486
+ y: import("zod").ZodNumber;
487
+ width: import("zod").ZodNumber;
488
+ height: import("zod").ZodNumber;
489
+ viewUrl: import("zod").ZodString;
490
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
491
+ createdAt: import("zod").ZodString;
492
+ updatedAt: import("zod").ZodString;
426
493
  type: import("zod").ZodLiteral<"image">;
427
494
  file: import("zod").ZodString;
428
495
  provenance: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -457,6 +524,7 @@ export declare function clientFor(command: Command): Promise<{
457
524
  width: import("zod").ZodNumber;
458
525
  height: import("zod").ZodNumber;
459
526
  viewUrl: import("zod").ZodString;
527
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
460
528
  createdAt: import("zod").ZodString;
461
529
  updatedAt: import("zod").ZodString;
462
530
  type: import("zod").ZodLiteral<"market">;
@@ -517,6 +585,20 @@ export declare function clientFor(command: Command): Promise<{
517
585
  viewUrl: import("zod").ZodString;
518
586
  createdAt: import("zod").ZodString;
519
587
  updatedAt: import("zod").ZodString;
588
+ type: import("zod").ZodLiteral<"markdown">;
589
+ contentRevision: import("zod").ZodNumber;
590
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
591
+ id: import("zod").ZodString;
592
+ projectId: import("zod").ZodString;
593
+ name: import("zod").ZodString;
594
+ x: import("zod").ZodNumber;
595
+ y: import("zod").ZodNumber;
596
+ width: import("zod").ZodNumber;
597
+ height: import("zod").ZodNumber;
598
+ viewUrl: import("zod").ZodString;
599
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
600
+ createdAt: import("zod").ZodString;
601
+ updatedAt: import("zod").ZodString;
520
602
  type: import("zod").ZodLiteral<"image">;
521
603
  file: import("zod").ZodString;
522
604
  provenance: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -551,6 +633,7 @@ export declare function clientFor(command: Command): Promise<{
551
633
  width: import("zod").ZodNumber;
552
634
  height: import("zod").ZodNumber;
553
635
  viewUrl: import("zod").ZodString;
636
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
554
637
  createdAt: import("zod").ZodString;
555
638
  updatedAt: import("zod").ZodString;
556
639
  type: import("zod").ZodLiteral<"market">;
@@ -600,6 +683,20 @@ export declare function clientFor(command: Command): Promise<{
600
683
  viewUrl: import("zod").ZodString;
601
684
  createdAt: import("zod").ZodString;
602
685
  updatedAt: import("zod").ZodString;
686
+ type: import("zod").ZodLiteral<"markdown">;
687
+ contentRevision: import("zod").ZodNumber;
688
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
689
+ id: import("zod").ZodString;
690
+ projectId: import("zod").ZodString;
691
+ name: import("zod").ZodString;
692
+ x: import("zod").ZodNumber;
693
+ y: import("zod").ZodNumber;
694
+ width: import("zod").ZodNumber;
695
+ height: import("zod").ZodNumber;
696
+ viewUrl: import("zod").ZodString;
697
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
698
+ createdAt: import("zod").ZodString;
699
+ updatedAt: import("zod").ZodString;
603
700
  type: import("zod").ZodLiteral<"image">;
604
701
  file: import("zod").ZodString;
605
702
  provenance: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -634,6 +731,7 @@ export declare function clientFor(command: Command): Promise<{
634
731
  width: import("zod").ZodNumber;
635
732
  height: import("zod").ZodNumber;
636
733
  viewUrl: import("zod").ZodString;
734
+ contentRevision: import("zod").ZodOptional<import("zod").ZodNumber>;
637
735
  createdAt: import("zod").ZodString;
638
736
  updatedAt: import("zod").ZodString;
639
737
  type: import("zod").ZodLiteral<"market">;
@@ -675,6 +773,16 @@ export declare function clientFor(command: Command): Promise<{
675
773
  url: import("zod").ZodString;
676
774
  mediaType: import("zod").ZodLiteral<"application/zip">;
677
775
  }, import("zod/v4/core").$strict>>;
776
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
777
+ frameId: import("zod").ZodString;
778
+ frameName: import("zod").ZodString;
779
+ projectId: import("zod").ZodString;
780
+ type: import("zod").ZodLiteral<"markdown">;
781
+ source: import("zod").ZodNullable<import("zod").ZodObject<{
782
+ filename: import("zod").ZodString;
783
+ url: import("zod").ZodString;
784
+ mediaType: import("zod").ZodLiteral<"text/markdown">;
785
+ }, import("zod/v4/core").$strict>>;
678
786
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
679
787
  frameId: import("zod").ZodString;
680
788
  frameName: import("zod").ZodString;
@@ -702,6 +810,272 @@ export declare function clientFor(command: Command): Promise<{
702
810
  }, import("zod/v4/core").$strict>;
703
811
  }, import("zod/v4/core").$strip>], "type">, Record<never, never>>;
704
812
  };
813
+ comment: {
814
+ list: import("@orpc/contract").ContractProcedureClient<Record<never, never>, import("zod").ZodObject<{
815
+ project: import("zod").ZodString;
816
+ frame: import("zod").ZodOptional<import("zod").ZodString>;
817
+ }, import("zod/v4/core").$strip>, import("zod").ZodArray<import("zod").ZodObject<{
818
+ id: import("zod").ZodString;
819
+ projectId: import("zod").ZodString;
820
+ frameId: import("zod").ZodString;
821
+ body: import("zod").ZodString;
822
+ author: import("zod").ZodObject<{
823
+ id: import("zod").ZodString;
824
+ name: import("zod").ZodString;
825
+ image: import("zod").ZodNullable<import("zod").ZodString>;
826
+ }, import("zod/v4/core").$strict>;
827
+ position: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
828
+ kind: import("zod").ZodLiteral<"2d">;
829
+ x: import("zod").ZodNumber;
830
+ y: import("zod").ZodNumber;
831
+ frameContentRevision: import("zod").ZodNumber;
832
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
833
+ kind: import("zod").ZodLiteral<"3d">;
834
+ x: import("zod").ZodNumber;
835
+ y: import("zod").ZodNumber;
836
+ z: import("zod").ZodNumber;
837
+ frameContentRevision: import("zod").ZodNumber;
838
+ }, import("zod/v4/core").$strict>], "kind">>;
839
+ replies: import("zod").ZodArray<import("zod").ZodObject<{
840
+ id: import("zod").ZodString;
841
+ commentId: import("zod").ZodString;
842
+ body: import("zod").ZodString;
843
+ author: import("zod").ZodObject<{
844
+ id: import("zod").ZodString;
845
+ name: import("zod").ZodString;
846
+ image: import("zod").ZodNullable<import("zod").ZodString>;
847
+ }, import("zod/v4/core").$strict>;
848
+ createdAt: import("zod").ZodString;
849
+ updatedAt: import("zod").ZodString;
850
+ }, import("zod/v4/core").$strict>>;
851
+ resolution: import("zod").ZodOptional<import("zod").ZodObject<{
852
+ resolvedAt: import("zod").ZodString;
853
+ resolvedBy: import("zod").ZodObject<{
854
+ id: import("zod").ZodString;
855
+ name: import("zod").ZodString;
856
+ image: import("zod").ZodNullable<import("zod").ZodString>;
857
+ }, import("zod/v4/core").$strict>;
858
+ }, import("zod/v4/core").$strict>>;
859
+ createdAt: import("zod").ZodString;
860
+ updatedAt: import("zod").ZodString;
861
+ }, import("zod/v4/core").$strict>>, Record<never, never>>;
862
+ get: import("@orpc/contract").ContractProcedureClient<Record<never, never>, import("zod").ZodObject<{
863
+ project: import("zod").ZodString;
864
+ comment: import("zod").ZodString;
865
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
866
+ id: import("zod").ZodString;
867
+ projectId: import("zod").ZodString;
868
+ frameId: import("zod").ZodString;
869
+ body: import("zod").ZodString;
870
+ author: import("zod").ZodObject<{
871
+ id: import("zod").ZodString;
872
+ name: import("zod").ZodString;
873
+ image: import("zod").ZodNullable<import("zod").ZodString>;
874
+ }, import("zod/v4/core").$strict>;
875
+ position: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
876
+ kind: import("zod").ZodLiteral<"2d">;
877
+ x: import("zod").ZodNumber;
878
+ y: import("zod").ZodNumber;
879
+ frameContentRevision: import("zod").ZodNumber;
880
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
881
+ kind: import("zod").ZodLiteral<"3d">;
882
+ x: import("zod").ZodNumber;
883
+ y: import("zod").ZodNumber;
884
+ z: import("zod").ZodNumber;
885
+ frameContentRevision: import("zod").ZodNumber;
886
+ }, import("zod/v4/core").$strict>], "kind">>;
887
+ replies: import("zod").ZodArray<import("zod").ZodObject<{
888
+ id: import("zod").ZodString;
889
+ commentId: import("zod").ZodString;
890
+ body: import("zod").ZodString;
891
+ author: import("zod").ZodObject<{
892
+ id: import("zod").ZodString;
893
+ name: import("zod").ZodString;
894
+ image: import("zod").ZodNullable<import("zod").ZodString>;
895
+ }, import("zod/v4/core").$strict>;
896
+ createdAt: import("zod").ZodString;
897
+ updatedAt: import("zod").ZodString;
898
+ }, import("zod/v4/core").$strict>>;
899
+ resolution: import("zod").ZodOptional<import("zod").ZodObject<{
900
+ resolvedAt: import("zod").ZodString;
901
+ resolvedBy: import("zod").ZodObject<{
902
+ id: import("zod").ZodString;
903
+ name: import("zod").ZodString;
904
+ image: import("zod").ZodNullable<import("zod").ZodString>;
905
+ }, import("zod/v4/core").$strict>;
906
+ }, import("zod/v4/core").$strict>>;
907
+ createdAt: import("zod").ZodString;
908
+ updatedAt: import("zod").ZodString;
909
+ }, import("zod/v4/core").$strict>, Record<never, never>>;
910
+ create: import("@orpc/contract").ContractProcedureClient<Record<never, never>, import("zod").ZodUnion<readonly [import("zod").ZodObject<{
911
+ project: import("zod").ZodString;
912
+ frame: import("zod").ZodString;
913
+ body: import("zod").ZodString;
914
+ position: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
915
+ kind: import("zod").ZodLiteral<"2d">;
916
+ x: import("zod").ZodNumber;
917
+ y: import("zod").ZodNumber;
918
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
919
+ kind: import("zod").ZodLiteral<"3d">;
920
+ x: import("zod").ZodNumber;
921
+ y: import("zod").ZodNumber;
922
+ z: import("zod").ZodNumber;
923
+ }, import("zod/v4/core").$strict>], "kind">;
924
+ expectedContentRevision: import("zod").ZodNumber;
925
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
926
+ project: import("zod").ZodString;
927
+ frame: import("zod").ZodString;
928
+ body: import("zod").ZodString;
929
+ }, import("zod/v4/core").$strict>]>, import("zod").ZodObject<{
930
+ id: import("zod").ZodString;
931
+ projectId: import("zod").ZodString;
932
+ frameId: import("zod").ZodString;
933
+ body: import("zod").ZodString;
934
+ author: import("zod").ZodObject<{
935
+ id: import("zod").ZodString;
936
+ name: import("zod").ZodString;
937
+ image: import("zod").ZodNullable<import("zod").ZodString>;
938
+ }, import("zod/v4/core").$strict>;
939
+ position: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
940
+ kind: import("zod").ZodLiteral<"2d">;
941
+ x: import("zod").ZodNumber;
942
+ y: import("zod").ZodNumber;
943
+ frameContentRevision: import("zod").ZodNumber;
944
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
945
+ kind: import("zod").ZodLiteral<"3d">;
946
+ x: import("zod").ZodNumber;
947
+ y: import("zod").ZodNumber;
948
+ z: import("zod").ZodNumber;
949
+ frameContentRevision: import("zod").ZodNumber;
950
+ }, import("zod/v4/core").$strict>], "kind">>;
951
+ replies: import("zod").ZodArray<import("zod").ZodObject<{
952
+ id: import("zod").ZodString;
953
+ commentId: import("zod").ZodString;
954
+ body: import("zod").ZodString;
955
+ author: import("zod").ZodObject<{
956
+ id: import("zod").ZodString;
957
+ name: import("zod").ZodString;
958
+ image: import("zod").ZodNullable<import("zod").ZodString>;
959
+ }, import("zod/v4/core").$strict>;
960
+ createdAt: import("zod").ZodString;
961
+ updatedAt: import("zod").ZodString;
962
+ }, import("zod/v4/core").$strict>>;
963
+ resolution: import("zod").ZodOptional<import("zod").ZodObject<{
964
+ resolvedAt: import("zod").ZodString;
965
+ resolvedBy: import("zod").ZodObject<{
966
+ id: import("zod").ZodString;
967
+ name: import("zod").ZodString;
968
+ image: import("zod").ZodNullable<import("zod").ZodString>;
969
+ }, import("zod/v4/core").$strict>;
970
+ }, import("zod/v4/core").$strict>>;
971
+ createdAt: import("zod").ZodString;
972
+ updatedAt: import("zod").ZodString;
973
+ }, import("zod/v4/core").$strict>, Record<never, never>>;
974
+ reply: import("@orpc/contract").ContractProcedureClient<Record<never, never>, import("zod").ZodObject<{
975
+ project: import("zod").ZodString;
976
+ comment: import("zod").ZodString;
977
+ body: import("zod").ZodString;
978
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
979
+ id: import("zod").ZodString;
980
+ projectId: import("zod").ZodString;
981
+ frameId: import("zod").ZodString;
982
+ body: import("zod").ZodString;
983
+ author: import("zod").ZodObject<{
984
+ id: import("zod").ZodString;
985
+ name: import("zod").ZodString;
986
+ image: import("zod").ZodNullable<import("zod").ZodString>;
987
+ }, import("zod/v4/core").$strict>;
988
+ position: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
989
+ kind: import("zod").ZodLiteral<"2d">;
990
+ x: import("zod").ZodNumber;
991
+ y: import("zod").ZodNumber;
992
+ frameContentRevision: import("zod").ZodNumber;
993
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
994
+ kind: import("zod").ZodLiteral<"3d">;
995
+ x: import("zod").ZodNumber;
996
+ y: import("zod").ZodNumber;
997
+ z: import("zod").ZodNumber;
998
+ frameContentRevision: import("zod").ZodNumber;
999
+ }, import("zod/v4/core").$strict>], "kind">>;
1000
+ replies: import("zod").ZodArray<import("zod").ZodObject<{
1001
+ id: import("zod").ZodString;
1002
+ commentId: import("zod").ZodString;
1003
+ body: import("zod").ZodString;
1004
+ author: import("zod").ZodObject<{
1005
+ id: import("zod").ZodString;
1006
+ name: import("zod").ZodString;
1007
+ image: import("zod").ZodNullable<import("zod").ZodString>;
1008
+ }, import("zod/v4/core").$strict>;
1009
+ createdAt: import("zod").ZodString;
1010
+ updatedAt: import("zod").ZodString;
1011
+ }, import("zod/v4/core").$strict>>;
1012
+ resolution: import("zod").ZodOptional<import("zod").ZodObject<{
1013
+ resolvedAt: import("zod").ZodString;
1014
+ resolvedBy: import("zod").ZodObject<{
1015
+ id: import("zod").ZodString;
1016
+ name: import("zod").ZodString;
1017
+ image: import("zod").ZodNullable<import("zod").ZodString>;
1018
+ }, import("zod/v4/core").$strict>;
1019
+ }, import("zod/v4/core").$strict>>;
1020
+ createdAt: import("zod").ZodString;
1021
+ updatedAt: import("zod").ZodString;
1022
+ }, import("zod/v4/core").$strict>, Record<never, never>>;
1023
+ setResolved: import("@orpc/contract").ContractProcedureClient<Record<never, never>, import("zod").ZodObject<{
1024
+ project: import("zod").ZodString;
1025
+ comment: import("zod").ZodString;
1026
+ resolved: import("zod").ZodBoolean;
1027
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1028
+ id: import("zod").ZodString;
1029
+ projectId: import("zod").ZodString;
1030
+ frameId: import("zod").ZodString;
1031
+ body: import("zod").ZodString;
1032
+ author: import("zod").ZodObject<{
1033
+ id: import("zod").ZodString;
1034
+ name: import("zod").ZodString;
1035
+ image: import("zod").ZodNullable<import("zod").ZodString>;
1036
+ }, import("zod/v4/core").$strict>;
1037
+ position: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1038
+ kind: import("zod").ZodLiteral<"2d">;
1039
+ x: import("zod").ZodNumber;
1040
+ y: import("zod").ZodNumber;
1041
+ frameContentRevision: import("zod").ZodNumber;
1042
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
1043
+ kind: import("zod").ZodLiteral<"3d">;
1044
+ x: import("zod").ZodNumber;
1045
+ y: import("zod").ZodNumber;
1046
+ z: import("zod").ZodNumber;
1047
+ frameContentRevision: import("zod").ZodNumber;
1048
+ }, import("zod/v4/core").$strict>], "kind">>;
1049
+ replies: import("zod").ZodArray<import("zod").ZodObject<{
1050
+ id: import("zod").ZodString;
1051
+ commentId: import("zod").ZodString;
1052
+ body: import("zod").ZodString;
1053
+ author: import("zod").ZodObject<{
1054
+ id: import("zod").ZodString;
1055
+ name: import("zod").ZodString;
1056
+ image: import("zod").ZodNullable<import("zod").ZodString>;
1057
+ }, import("zod/v4/core").$strict>;
1058
+ createdAt: import("zod").ZodString;
1059
+ updatedAt: import("zod").ZodString;
1060
+ }, import("zod/v4/core").$strict>>;
1061
+ resolution: import("zod").ZodOptional<import("zod").ZodObject<{
1062
+ resolvedAt: import("zod").ZodString;
1063
+ resolvedBy: import("zod").ZodObject<{
1064
+ id: import("zod").ZodString;
1065
+ name: import("zod").ZodString;
1066
+ image: import("zod").ZodNullable<import("zod").ZodString>;
1067
+ }, import("zod/v4/core").$strict>;
1068
+ }, import("zod/v4/core").$strict>>;
1069
+ createdAt: import("zod").ZodString;
1070
+ updatedAt: import("zod").ZodString;
1071
+ }, import("zod/v4/core").$strict>, Record<never, never>>;
1072
+ delete: import("@orpc/contract").ContractProcedureClient<Record<never, never>, import("zod").ZodObject<{
1073
+ project: import("zod").ZodString;
1074
+ comment: import("zod").ZodString;
1075
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1076
+ id: import("zod").ZodString;
1077
+ }, import("zod/v4/core").$strip>, Record<never, never>>;
1078
+ };
705
1079
  filesystem: {
706
1080
  list: import("@orpc/contract").ContractProcedureClient<Record<never, never>, import("zod").ZodObject<{
707
1081
  project: import("zod").ZodString;
@@ -716,7 +1090,10 @@ export declare function clientFor(command: Command): Promise<{
716
1090
  type: import("zod").ZodLiteral<"text">;
717
1091
  path: import("zod").ZodString;
718
1092
  text: import("zod").ZodString;
719
- mediaType: import("zod").ZodLiteral<"text/plain">;
1093
+ mediaType: import("zod").ZodEnum<{
1094
+ "text/plain": "text/plain";
1095
+ "text/markdown": "text/markdown";
1096
+ }>;
720
1097
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
721
1098
  type: import("zod").ZodLiteral<"binary">;
722
1099
  path: import("zod").ZodString;
@@ -1,4 +1,5 @@
1
1
  import { clientFor, projectId, requireConfirmation } from "./context.js";
2
+ import { textArgument } from "./input.js";
2
3
  export function registerFilesystemCommands(program) {
3
4
  program
4
5
  .command("ls")
@@ -39,7 +40,7 @@ export function registerFilesystemCommands(program) {
39
40
  await client.filesystem.write({
40
41
  project: projectId(command),
41
42
  path,
42
- text: text === undefined || text === "-" ? await readStdin() : text,
43
+ text: await textArgument(text),
43
44
  });
44
45
  console.log(`Wrote ${path}.`);
45
46
  });
@@ -71,10 +72,3 @@ export function registerFilesystemCommands(program) {
71
72
  console.log(`Deleted ${path}.`);
72
73
  });
73
74
  }
74
- async function readStdin() {
75
- const chunks = [];
76
- for await (const chunk of process.stdin) {
77
- chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
78
- }
79
- return Buffer.concat(chunks).toString("utf8");
80
- }
@@ -21,10 +21,10 @@ export function registerFrameCommands(program) {
21
21
  });
22
22
  frame
23
23
  .command("create")
24
- .description("Create a GLTS, image, or pinned Market frame")
24
+ .description("Create a GLTS, Markdown, image, or pinned Market frame")
25
25
  .argument("<name>", "Frame name")
26
- .requiredOption("-t, --type <type>", "glts, image, or market")
27
- .option("-s, --size <width>x<height>", "GLTS viewport size")
26
+ .requiredOption("-t, --type <type>", "glts, markdown, image, or market")
27
+ .option("-s, --size <width>x<height>", "GLTS or Markdown viewport size")
28
28
  .option("--image <url-or-path>", "Image URL or local PNG, JPEG, or WebP")
29
29
  .option("--asset <name@version>", "Exact public Market asset version")
30
30
  .action(async (name, options, command) => {
@@ -109,6 +109,20 @@ async function createFrameInput(project, name, options) {
109
109
  image: await readImageInput(options.image),
110
110
  };
111
111
  }
112
+ if (options.type === "markdown") {
113
+ if (options.image !== undefined || options.asset !== undefined) {
114
+ throw new Error("Markdown frames do not accept --image or --asset");
115
+ }
116
+ if (options.size === undefined) {
117
+ throw new Error("Markdown frames require --size <width>x<height>");
118
+ }
119
+ return {
120
+ project,
121
+ name,
122
+ type: "markdown",
123
+ ...parseFrameSize(options.size),
124
+ };
125
+ }
112
126
  if (options.type === "market") {
113
127
  if (options.size !== undefined || options.image !== undefined) {
114
128
  throw new Error("Market frames do not accept --size or --image");
@@ -123,5 +137,5 @@ async function createFrameInput(project, name, options) {
123
137
  asset: marketAssetSchema.parse(options.asset),
124
138
  };
125
139
  }
126
- throw new Error("--type must be glts, image, or market");
140
+ throw new Error("--type must be glts, markdown, image, or market");
127
141
  }
@@ -0,0 +1 @@
1
+ export declare function textArgument(value: string | undefined): Promise<string>;
@@ -0,0 +1,9 @@
1
+ export async function textArgument(value) {
2
+ if (value !== undefined && value !== "-")
3
+ return value;
4
+ const chunks = [];
5
+ for await (const chunk of process.stdin) {
6
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
7
+ }
8
+ return Buffer.concat(chunks).toString("utf8");
9
+ }
package/dist/command.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { createRequire } from "node:module";
2
2
  import { Command, Option } from "commander";
3
3
  import { registerFilesystemCommands } from "./command/filesystem.js";
4
+ import { registerCommentCommands } from "./command/comment.js";
4
5
  import { registerFrameCommands } from "./command/frame.js";
5
6
  import { registerProjectCommands } from "./command/project.js";
6
7
  import { cliDesignSkill } from "./skill.generated.js";
@@ -19,6 +20,7 @@ export function createDesignCommand(options = {}) {
19
20
  });
20
21
  registerProjectCommands(program);
21
22
  registerFrameCommands(program);
23
+ registerCommentCommands(program);
22
24
  registerFilesystemCommands(program);
23
25
  return program;
24
26
  }
@@ -0,0 +1,3 @@
1
+ import type { DesignV1Client } from "../v1/client.js";
2
+ import type { DesignMcpServer } from "./types.js";
3
+ export declare function registerCommentTools(server: DesignMcpServer, client: DesignV1Client): void;