@vibes.diy/api-types 14.3.8 → 14.3.9

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.
package/app.d.ts CHANGED
@@ -538,6 +538,246 @@ export declare const resGetApplicationChat: import("arktype/internal/variants/ob
538
538
  appSlug?: string | undefined;
539
539
  ownerHandle?: string | undefined;
540
540
  blocks: ({
541
+ blockId: string;
542
+ streamId: string;
543
+ seq: number;
544
+ blockNr: number;
545
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
546
+ type: "block.begin";
547
+ } | {
548
+ blockId: string;
549
+ streamId: string;
550
+ seq: number;
551
+ blockNr: number;
552
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
553
+ type: "block.end";
554
+ stats: {
555
+ toplevel: {
556
+ lines: number;
557
+ bytes: number;
558
+ cnt?: number | undefined;
559
+ };
560
+ code: {
561
+ lines: number;
562
+ bytes: number;
563
+ cnt?: number | undefined;
564
+ };
565
+ image: {
566
+ lines: number;
567
+ bytes: number;
568
+ cnt?: number | undefined;
569
+ };
570
+ total: {
571
+ lines: number;
572
+ bytes: number;
573
+ cnt?: number | undefined;
574
+ };
575
+ };
576
+ usage: {
577
+ given: {
578
+ prompt_tokens: number;
579
+ completion_tokens: number;
580
+ total_tokens: number;
581
+ }[];
582
+ calculated: {
583
+ prompt_tokens: number;
584
+ completion_tokens: number;
585
+ total_tokens: number;
586
+ };
587
+ };
588
+ fsRef?: ((In: {
589
+ appSlug: string;
590
+ ownerHandle?: string | undefined;
591
+ userSlug?: string | undefined;
592
+ mode: "dev" | "production";
593
+ fsId: string;
594
+ }) => import("arktype").Out<{
595
+ appSlug: string;
596
+ mode: "dev" | "production";
597
+ fsId: string;
598
+ ownerHandle: string;
599
+ }>) | undefined;
600
+ touchedPaths?: string[] | undefined;
601
+ settled?: {
602
+ reach: "companion-only" | "entry" | "none" | "server-only";
603
+ entryTouched: boolean;
604
+ touchedCount: number;
605
+ applied: boolean;
606
+ } | undefined;
607
+ } | {
608
+ blockId: string;
609
+ streamId: string;
610
+ seq: number;
611
+ blockNr: number;
612
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
613
+ type: "block.toplevel.begin";
614
+ sectionId: string;
615
+ } | {
616
+ blockId: string;
617
+ streamId: string;
618
+ seq: number;
619
+ blockNr: number;
620
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
621
+ lineNr: number;
622
+ line: string;
623
+ type: "block.toplevel.line";
624
+ sectionId: string;
625
+ } | {
626
+ blockId: string;
627
+ streamId: string;
628
+ seq: number;
629
+ blockNr: number;
630
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
631
+ stats: {
632
+ lines: number;
633
+ bytes: number;
634
+ cnt?: number | undefined;
635
+ };
636
+ type: "block.toplevel.end";
637
+ sectionId: string;
638
+ } | {
639
+ blockId: string;
640
+ streamId: string;
641
+ seq: number;
642
+ blockNr: number;
643
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
644
+ type: "block.code.begin";
645
+ sectionId: string;
646
+ lang: string;
647
+ path?: string | undefined;
648
+ } | {
649
+ blockId: string;
650
+ streamId: string;
651
+ seq: number;
652
+ blockNr: number;
653
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
654
+ lineNr: number;
655
+ line: string;
656
+ type: "block.code.line";
657
+ sectionId: string;
658
+ lang: string;
659
+ path?: string | undefined;
660
+ } | {
661
+ blockId: string;
662
+ streamId: string;
663
+ seq: number;
664
+ blockNr: number;
665
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
666
+ stats: {
667
+ lines: number;
668
+ bytes: number;
669
+ cnt?: number | undefined;
670
+ };
671
+ type: "block.code.end";
672
+ sectionId: string;
673
+ lang: string;
674
+ path?: string | undefined;
675
+ } | {
676
+ blockId: string;
677
+ streamId: string;
678
+ seq: number;
679
+ blockNr: number;
680
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
681
+ type: "block.code.truncated";
682
+ sectionId: string;
683
+ lang: string;
684
+ path?: string | undefined;
685
+ reason: string;
686
+ kind: string;
687
+ truncatedAtLine: number;
688
+ errorCount: number;
689
+ } | {
690
+ blockId: string;
691
+ streamId: string;
692
+ seq: number;
693
+ blockNr: number;
694
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
695
+ stats: {
696
+ lines: number;
697
+ bytes: number;
698
+ cnt?: number | undefined;
699
+ };
700
+ type: "block.image";
701
+ sectionId: string;
702
+ url?: string | undefined;
703
+ uploadId?: string | undefined;
704
+ cid?: string | undefined;
705
+ mimeType?: string | undefined;
706
+ size?: number | undefined;
707
+ docWritten?: boolean | undefined;
708
+ } | {
709
+ blockId: string;
710
+ streamId: string;
711
+ seq: number;
712
+ blockNr: number;
713
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
714
+ type: "block.stats";
715
+ stats: {
716
+ toplevel: {
717
+ lines: number;
718
+ bytes: number;
719
+ cnt?: number | undefined;
720
+ };
721
+ code: {
722
+ lines: number;
723
+ bytes: number;
724
+ cnt?: number | undefined;
725
+ };
726
+ image: {
727
+ lines: number;
728
+ bytes: number;
729
+ cnt?: number | undefined;
730
+ };
731
+ total: {
732
+ lines: number;
733
+ bytes: number;
734
+ cnt?: number | undefined;
735
+ };
736
+ };
737
+ usage: {
738
+ prompt_tokens: number;
739
+ completion_tokens: number;
740
+ total_tokens: number;
741
+ };
742
+ } | {
743
+ type: "prompt.research";
744
+ version: 1;
745
+ streamId: string;
746
+ chatId: string;
747
+ seq: number;
748
+ timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
749
+ researchId: string;
750
+ status: "complete" | "failed" | "partial";
751
+ brief: string;
752
+ sources: {
753
+ url: string;
754
+ finalUrl: string | null;
755
+ contentType: string | null;
756
+ httpStatus: number | null;
757
+ backendFetchable: boolean;
758
+ fetched: boolean;
759
+ errorCode?: string | undefined;
760
+ }[];
761
+ api: {
762
+ method: string;
763
+ path: string;
764
+ description: string;
765
+ fields: string[];
766
+ }[];
767
+ excerpts: {
768
+ sourceUrl: string;
769
+ text: string;
770
+ locator?: string | undefined;
771
+ }[];
772
+ seedRows: {
773
+ sourceUrl: string;
774
+ dbName: string;
775
+ key: string;
776
+ item: unknown;
777
+ }[];
778
+ completedAt: string;
779
+ errorCode?: string | undefined;
780
+ } | {
541
781
  streamId: string;
542
782
  chatId: string;
543
783
  seq: number;
@@ -907,246 +1147,6 @@ export declare const resGetApplicationChat: import("arktype/internal/variants/ob
907
1147
  type: "prompt.notice";
908
1148
  kind: "edits-incomplete";
909
1149
  path?: string | undefined;
910
- } | {
911
- type: "prompt.research";
912
- version: 1;
913
- streamId: string;
914
- chatId: string;
915
- seq: number;
916
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
917
- researchId: string;
918
- status: "complete" | "failed" | "partial";
919
- brief: string;
920
- sources: {
921
- url: string;
922
- finalUrl: string | null;
923
- contentType: string | null;
924
- httpStatus: number | null;
925
- backendFetchable: boolean;
926
- fetched: boolean;
927
- errorCode?: string | undefined;
928
- }[];
929
- api: {
930
- method: string;
931
- path: string;
932
- description: string;
933
- fields: string[];
934
- }[];
935
- excerpts: {
936
- sourceUrl: string;
937
- text: string;
938
- locator?: string | undefined;
939
- }[];
940
- seedRows: {
941
- sourceUrl: string;
942
- dbName: string;
943
- key: string;
944
- item: unknown;
945
- }[];
946
- completedAt: string;
947
- errorCode?: string | undefined;
948
- } | {
949
- blockId: string;
950
- streamId: string;
951
- seq: number;
952
- blockNr: number;
953
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
954
- type: "block.begin";
955
- } | {
956
- blockId: string;
957
- streamId: string;
958
- seq: number;
959
- blockNr: number;
960
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
961
- type: "block.end";
962
- stats: {
963
- toplevel: {
964
- lines: number;
965
- bytes: number;
966
- cnt?: number | undefined;
967
- };
968
- code: {
969
- lines: number;
970
- bytes: number;
971
- cnt?: number | undefined;
972
- };
973
- image: {
974
- lines: number;
975
- bytes: number;
976
- cnt?: number | undefined;
977
- };
978
- total: {
979
- lines: number;
980
- bytes: number;
981
- cnt?: number | undefined;
982
- };
983
- };
984
- usage: {
985
- given: {
986
- prompt_tokens: number;
987
- completion_tokens: number;
988
- total_tokens: number;
989
- }[];
990
- calculated: {
991
- prompt_tokens: number;
992
- completion_tokens: number;
993
- total_tokens: number;
994
- };
995
- };
996
- fsRef?: ((In: {
997
- appSlug: string;
998
- ownerHandle?: string | undefined;
999
- userSlug?: string | undefined;
1000
- mode: "dev" | "production";
1001
- fsId: string;
1002
- }) => import("arktype").Out<{
1003
- appSlug: string;
1004
- mode: "dev" | "production";
1005
- fsId: string;
1006
- ownerHandle: string;
1007
- }>) | undefined;
1008
- touchedPaths?: string[] | undefined;
1009
- settled?: {
1010
- reach: "companion-only" | "entry" | "none" | "server-only";
1011
- entryTouched: boolean;
1012
- touchedCount: number;
1013
- applied: boolean;
1014
- } | undefined;
1015
- } | {
1016
- blockId: string;
1017
- streamId: string;
1018
- seq: number;
1019
- blockNr: number;
1020
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
1021
- type: "block.stats";
1022
- stats: {
1023
- toplevel: {
1024
- lines: number;
1025
- bytes: number;
1026
- cnt?: number | undefined;
1027
- };
1028
- code: {
1029
- lines: number;
1030
- bytes: number;
1031
- cnt?: number | undefined;
1032
- };
1033
- image: {
1034
- lines: number;
1035
- bytes: number;
1036
- cnt?: number | undefined;
1037
- };
1038
- total: {
1039
- lines: number;
1040
- bytes: number;
1041
- cnt?: number | undefined;
1042
- };
1043
- };
1044
- usage: {
1045
- prompt_tokens: number;
1046
- completion_tokens: number;
1047
- total_tokens: number;
1048
- };
1049
- } | {
1050
- blockId: string;
1051
- streamId: string;
1052
- seq: number;
1053
- blockNr: number;
1054
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
1055
- stats: {
1056
- lines: number;
1057
- bytes: number;
1058
- cnt?: number | undefined;
1059
- };
1060
- type: "block.image";
1061
- sectionId: string;
1062
- url?: string | undefined;
1063
- uploadId?: string | undefined;
1064
- cid?: string | undefined;
1065
- mimeType?: string | undefined;
1066
- size?: number | undefined;
1067
- docWritten?: boolean | undefined;
1068
- } | {
1069
- blockId: string;
1070
- streamId: string;
1071
- seq: number;
1072
- blockNr: number;
1073
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
1074
- type: "block.code.begin";
1075
- sectionId: string;
1076
- lang: string;
1077
- path?: string | undefined;
1078
- } | {
1079
- blockId: string;
1080
- streamId: string;
1081
- seq: number;
1082
- blockNr: number;
1083
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
1084
- lineNr: number;
1085
- line: string;
1086
- type: "block.code.line";
1087
- sectionId: string;
1088
- lang: string;
1089
- path?: string | undefined;
1090
- } | {
1091
- blockId: string;
1092
- streamId: string;
1093
- seq: number;
1094
- blockNr: number;
1095
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
1096
- stats: {
1097
- lines: number;
1098
- bytes: number;
1099
- cnt?: number | undefined;
1100
- };
1101
- type: "block.code.end";
1102
- sectionId: string;
1103
- lang: string;
1104
- path?: string | undefined;
1105
- } | {
1106
- blockId: string;
1107
- streamId: string;
1108
- seq: number;
1109
- blockNr: number;
1110
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
1111
- type: "block.code.truncated";
1112
- sectionId: string;
1113
- lang: string;
1114
- path?: string | undefined;
1115
- reason: string;
1116
- kind: string;
1117
- truncatedAtLine: number;
1118
- errorCount: number;
1119
- } | {
1120
- blockId: string;
1121
- streamId: string;
1122
- seq: number;
1123
- blockNr: number;
1124
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
1125
- type: "block.toplevel.begin";
1126
- sectionId: string;
1127
- } | {
1128
- blockId: string;
1129
- streamId: string;
1130
- seq: number;
1131
- blockNr: number;
1132
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
1133
- lineNr: number;
1134
- line: string;
1135
- type: "block.toplevel.line";
1136
- sectionId: string;
1137
- } | {
1138
- blockId: string;
1139
- streamId: string;
1140
- seq: number;
1141
- blockNr: number;
1142
- timestamp: Date | ((In: string) => import("arktype/internal/attributes.ts").To<Date>);
1143
- stats: {
1144
- lines: number;
1145
- bytes: number;
1146
- cnt?: number | undefined;
1147
- };
1148
- type: "block.toplevel.end";
1149
- sectionId: string;
1150
1150
  })[];
1151
1151
  }, {}>;
1152
1152
  export type ResGetApplicationChat = typeof resGetApplicationChat.infer;
package/index.d.ts CHANGED
@@ -59,6 +59,7 @@ export * from "./related-vibes.js";
59
59
  export * from "./direct-channel.js";
60
60
  export * from "./notifications.js";
61
61
  export * from "./signin-ticket.js";
62
+ export * from "./viewer-api-fetch.js";
62
63
  export * from "./email-unsubscribe.js";
63
64
  export * from "./access-function.js";
64
65
  export * from "./shard-policy.js";
package/index.js CHANGED
@@ -58,6 +58,7 @@ export * from "./related-vibes.js";
58
58
  export * from "./direct-channel.js";
59
59
  export * from "./notifications.js";
60
60
  export * from "./signin-ticket.js";
61
+ export * from "./viewer-api-fetch.js";
61
62
  export * from "./email-unsubscribe.js";
62
63
  export * from "./access-function.js";
63
64
  export * from "./shard-policy.js";
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AAGnC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAE5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAEhC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAQzC,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;AACpC,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;AACrC,CAAC;AAUD,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,OAAO,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAC1C,CAAC;AAqDD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,sBAAsB,CAAC;AAErC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AAGnC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAE5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAEhC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAQzC,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;AACpC,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;AACrC,CAAC;AAUD,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,OAAO,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAC1C,CAAC;AAqDD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,sBAAsB,CAAC;AAErC,cAAc,uBAAuB,CAAC"}
package/invite.d.ts CHANGED
@@ -919,101 +919,6 @@ export declare const ActiveSeedControl: import("arktype/internal/variants/object
919
919
  export type ActiveSeedControl = typeof ActiveSeedControl.infer;
920
920
  export declare function isActiveSeedControl(obj: unknown): obj is ActiveSeedControl;
921
921
  export declare const ActiveEntry: import("arktype/internal/variants/object.ts").ObjectType<{
922
- type: "active.style";
923
- palette?: {
924
- hues: [number, ({
925
- mode: "derived";
926
- } | {
927
- mode: "pinned";
928
- h: number;
929
- } | undefined)?, ({
930
- mode: "derived";
931
- } | {
932
- mode: "pinned";
933
- h: number;
934
- } | undefined)?];
935
- character: {
936
- chroma: number;
937
- contrast: number;
938
- neutralTint: number;
939
- surfaceLift: number;
940
- fillLevel: number;
941
- scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
942
- paper?: number | undefined;
943
- fillLift?: number | undefined;
944
- };
945
- } | undefined;
946
- font?: string | undefined;
947
- ornament?: {
948
- pad: {
949
- x: number;
950
- y: number;
951
- };
952
- pins?: {
953
- spacing?: string | undefined;
954
- "font-size-base"?: string | undefined;
955
- radius?: string | undefined;
956
- "radius-sm"?: string | undefined;
957
- "radius-lg"?: string | undefined;
958
- "border-width"?: string | undefined;
959
- shadow?: string | undefined;
960
- "shadow-sm"?: string | undefined;
961
- "shadow-lg"?: string | undefined;
962
- "letter-spacing"?: string | undefined;
963
- "letter-spacing-wide"?: string | undefined;
964
- "font-weight"?: string | undefined;
965
- "text-transform"?: string | undefined;
966
- } | undefined;
967
- } | undefined;
968
- stylePinned?: boolean | undefined;
969
- } | {
970
- type: "draft.style";
971
- palette?: {
972
- hues: [number, ({
973
- mode: "derived";
974
- } | {
975
- mode: "pinned";
976
- h: number;
977
- } | undefined)?, ({
978
- mode: "derived";
979
- } | {
980
- mode: "pinned";
981
- h: number;
982
- } | undefined)?];
983
- character: {
984
- chroma: number;
985
- contrast: number;
986
- neutralTint: number;
987
- surfaceLift: number;
988
- fillLevel: number;
989
- scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
990
- paper?: number | undefined;
991
- fillLift?: number | undefined;
992
- };
993
- } | undefined;
994
- font?: string | undefined;
995
- ornament?: {
996
- pad: {
997
- x: number;
998
- y: number;
999
- };
1000
- pins?: {
1001
- spacing?: string | undefined;
1002
- "font-size-base"?: string | undefined;
1003
- radius?: string | undefined;
1004
- "radius-sm"?: string | undefined;
1005
- "radius-lg"?: string | undefined;
1006
- "border-width"?: string | undefined;
1007
- shadow?: string | undefined;
1008
- "shadow-sm"?: string | undefined;
1009
- "shadow-lg"?: string | undefined;
1010
- "letter-spacing"?: string | undefined;
1011
- "letter-spacing-wide"?: string | undefined;
1012
- "font-weight"?: string | undefined;
1013
- "text-transform"?: string | undefined;
1014
- } | undefined;
1015
- } | undefined;
1016
- } | {
1017
922
  type: "app.public.access";
1018
923
  enable: boolean;
1019
924
  tick?: {
@@ -1325,6 +1230,101 @@ export declare const ActiveEntry: import("arktype/internal/variants/object.ts").
1325
1230
  type: "active.seed-control";
1326
1231
  dontRun?: boolean | undefined;
1327
1232
  suppressed?: string[] | undefined;
1233
+ } | {
1234
+ type: "active.style";
1235
+ palette?: {
1236
+ hues: [number, ({
1237
+ mode: "derived";
1238
+ } | {
1239
+ mode: "pinned";
1240
+ h: number;
1241
+ } | undefined)?, ({
1242
+ mode: "derived";
1243
+ } | {
1244
+ mode: "pinned";
1245
+ h: number;
1246
+ } | undefined)?];
1247
+ character: {
1248
+ chroma: number;
1249
+ contrast: number;
1250
+ neutralTint: number;
1251
+ surfaceLift: number;
1252
+ fillLevel: number;
1253
+ scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
1254
+ paper?: number | undefined;
1255
+ fillLift?: number | undefined;
1256
+ };
1257
+ } | undefined;
1258
+ font?: string | undefined;
1259
+ ornament?: {
1260
+ pad: {
1261
+ x: number;
1262
+ y: number;
1263
+ };
1264
+ pins?: {
1265
+ spacing?: string | undefined;
1266
+ "font-size-base"?: string | undefined;
1267
+ radius?: string | undefined;
1268
+ "radius-sm"?: string | undefined;
1269
+ "radius-lg"?: string | undefined;
1270
+ "border-width"?: string | undefined;
1271
+ shadow?: string | undefined;
1272
+ "shadow-sm"?: string | undefined;
1273
+ "shadow-lg"?: string | undefined;
1274
+ "letter-spacing"?: string | undefined;
1275
+ "letter-spacing-wide"?: string | undefined;
1276
+ "font-weight"?: string | undefined;
1277
+ "text-transform"?: string | undefined;
1278
+ } | undefined;
1279
+ } | undefined;
1280
+ stylePinned?: boolean | undefined;
1281
+ } | {
1282
+ type: "draft.style";
1283
+ palette?: {
1284
+ hues: [number, ({
1285
+ mode: "derived";
1286
+ } | {
1287
+ mode: "pinned";
1288
+ h: number;
1289
+ } | undefined)?, ({
1290
+ mode: "derived";
1291
+ } | {
1292
+ mode: "pinned";
1293
+ h: number;
1294
+ } | undefined)?];
1295
+ character: {
1296
+ chroma: number;
1297
+ contrast: number;
1298
+ neutralTint: number;
1299
+ surfaceLift: number;
1300
+ fillLevel: number;
1301
+ scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
1302
+ paper?: number | undefined;
1303
+ fillLift?: number | undefined;
1304
+ };
1305
+ } | undefined;
1306
+ font?: string | undefined;
1307
+ ornament?: {
1308
+ pad: {
1309
+ x: number;
1310
+ y: number;
1311
+ };
1312
+ pins?: {
1313
+ spacing?: string | undefined;
1314
+ "font-size-base"?: string | undefined;
1315
+ radius?: string | undefined;
1316
+ "radius-sm"?: string | undefined;
1317
+ "radius-lg"?: string | undefined;
1318
+ "border-width"?: string | undefined;
1319
+ shadow?: string | undefined;
1320
+ "shadow-sm"?: string | undefined;
1321
+ "shadow-lg"?: string | undefined;
1322
+ "letter-spacing"?: string | undefined;
1323
+ "letter-spacing-wide"?: string | undefined;
1324
+ "font-weight"?: string | undefined;
1325
+ "text-transform"?: string | undefined;
1326
+ } | undefined;
1327
+ } | undefined;
1328
1328
  } | {
1329
1329
  type: "active.db-acl";
1330
1330
  dbName: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-types",
3
- "version": "14.3.8",
3
+ "version": "14.3.9",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -19,10 +19,10 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "@adviser/cement": "~0.5.34",
22
- "@cloudflare/workers-types": "~5.20260911.1",
23
- "@vibes.diy/call-ai-v2": "14.3.8",
24
- "@vibes.diy/identity": "14.3.8",
25
- "@vibes.diy/vibe-types": "14.3.8",
22
+ "@cloudflare/workers-types": "~5.20260920.1",
23
+ "@vibes.diy/call-ai-v2": "14.3.9",
24
+ "@vibes.diy/identity": "14.3.9",
25
+ "@vibes.diy/vibe-types": "14.3.9",
26
26
  "arktype": "~2.2.3"
27
27
  },
28
28
  "repository": {
package/shard-policy.d.ts CHANGED
@@ -96,6 +96,7 @@ export declare const SHARD_POLICY: {
96
96
  readonly "vibes.diy.req-billing-config": readonly ["codegen", "vibe", "shared"];
97
97
  readonly "vibes.diy.req-billing-redeem": readonly ["codegen", "vibe", "shared"];
98
98
  readonly "vibe.req.whoAmI": readonly ["codegen", "vibe", "shared"];
99
+ readonly "vibes.diy.req-viewer-api-fetch": readonly ["codegen", "vibe", "shared"];
99
100
  readonly "vibe.req.accessFnSource": readonly ["codegen", "vibe", "shared"];
100
101
  readonly "vibe.req.lookupHandles": readonly ["codegen", "vibe", "shared"];
101
102
  readonly "vibe.req.profileInfo": readonly ["codegen", "vibe", "shared"];
package/shard-policy.js CHANGED
@@ -94,6 +94,7 @@ export const SHARD_POLICY = {
94
94
  "vibes.diy.req-billing-config": ALL_SHARDS,
95
95
  "vibes.diy.req-billing-redeem": ALL_SHARDS,
96
96
  "vibe.req.whoAmI": ALL_SHARDS,
97
+ "vibes.diy.req-viewer-api-fetch": ALL_SHARDS,
97
98
  "vibe.req.accessFnSource": ALL_SHARDS,
98
99
  "vibe.req.lookupHandles": ALL_SHARDS,
99
100
  "vibe.req.profileInfo": ALL_SHARDS,
@@ -1 +1 @@
1
- {"version":3,"file":"shard-policy.js","sourceRoot":"","sources":["../jsr/shard-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shard-policy.js","sourceRoot":"","sources":["../jsr/shard-policy.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { ReqDraftRuntime, ResDraftRuntime } from "./draft-runtime.js";
2
2
  import type { ReqGuestBuildStatus, ReqClaimGuestBuild, ResGuestBuildStatus } from "./guest-build.js";
3
+ import type { ReqViewerApiFetch, ResViewerApiFetch } from "./viewer-api-fetch.js";
3
4
  import { Result } from "@adviser/cement";
4
5
  import { VibesDiyError, ResError, VibeFile } from "./common.js";
5
6
  import { ReqEnsureAppSlug, ResEnsureAppSlug, ReqListUserSlugAppSlug, ResListUserSlugAppSlug, ReqListRecentVibes, ResListRecentVibes, ReqPinRecentVibe, ResPinRecentVibe, ReqSetUnpublish, ResSetUnpublish, ReqSetVibeChips, ResSetVibeChips, ReqAppTickStatus, ResAppTickStatus, ReqAppTickRearm, ReqRecaptureScreenshot, ResRecaptureScreenshot, ReqAppTickDisarm, ReqAppLogs, ResAppLogs, ReqGetOpenTurn, ResGetOpenTurn, ResAppTickRearm, ResAppTickDisarm, ReqSetVersionLock, ResSetVersionLock, ReqGetChatDetails, ResGetChatDetails, ReqGetAppByFsId, ResGetAppByFsId, ReqSetModeFs, ResSetModeFs, ReqForkApp, ResForkApp, ReqPublishApp, ResPublishApp, ReqSeedRemove, ResSeedRemove, ReqSeedRerun, ResSeedRerun, ReqListVersions, ResListVersions, ReqListHandleBindings, ResListHandleBindings, ReqCreateHandleBinding, ResCreateHandleBinding, ReqDeleteHandleBinding, ResDeleteHandleBinding, ReqSuggestHandleCandidates, ResSuggestHandleCandidates, ReqConfirmPlaceholderHandle, ResConfirmPlaceholderHandle, ReqGetApplicationChat, ResGetApplicationChat, ReqListNotifications, ResListNotifications, ReqMarkNotificationsRead, ResMarkNotificationsRead } from "./app.js";
@@ -197,6 +198,7 @@ export interface VibesDiyApiIface<_T = unknown> {
197
198
  billingConfig(req: Req<ReqBillingConfig>): Promise<Result<ResBillingConfig, VibesDiyError>>;
198
199
  billingRedeem(req: Req<ReqBillingRedeem>): Promise<Result<ResBillingRedeem, VibesDiyError>>;
199
200
  whoAmI(req: Req<ReqVibeWhoAmI>): Promise<Result<ResVibeWhoAmI, VibesDiyError>>;
201
+ viewerApiFetch(req: Req<ReqViewerApiFetch>): Promise<Result<ResViewerApiFetch, VibesDiyError>>;
200
202
  accessFnSource(req: Req<ReqVibeAccessFnSource>): Promise<Result<ResVibeAccessFnSource, VibesDiyError>>;
201
203
  lookupHandles(req: Req<ReqVibeLookupHandles>): Promise<Result<ResVibeLookupHandles, VibesDiyError>>;
202
204
  profileInfo(req: Req<ReqVibeProfileInfo>): Promise<Result<ResVibeProfileInfo, VibesDiyError>>;
@@ -1 +1 @@
1
- {"version":3,"file":"vibes-diy-api.js","sourceRoot":"","sources":["../jsr/vibes-diy-api.ts"],"names":[],"mappings":"AAsRA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,CACxC,IAAI,CAAC;IACH,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,QAAQ;CAClB,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"vibes-diy-api.js","sourceRoot":"","sources":["../jsr/vibes-diy-api.ts"],"names":[],"mappings":"AAuRA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,CACxC,IAAI,CAAC;IACH,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,QAAQ;CAClB,CAAC,CACH,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { Result } from "@adviser/cement";
2
+ export declare const VIEWER_API_METHODS: readonly ["GET", "POST", "PUT", "PATCH", "DELETE"];
3
+ export type ViewerApiMethod = (typeof VIEWER_API_METHODS)[number];
4
+ export declare function isViewerApiMethod(m: string): m is ViewerApiMethod;
5
+ export declare const VIEWER_API_REQUEST_BODY_MAX_BYTES: number;
6
+ export declare const VIEWER_API_RESPONSE_BODY_MAX_BYTES: number;
7
+ export declare const VIEWER_API_RESPONSE_FRAME_MAX_BYTES: number;
8
+ export declare function isViewerApiTargetName(name: string): boolean;
9
+ export declare const VIEWER_API_PATH_MAX_LENGTH = 2048;
10
+ export declare const VIEWER_API_ERROR: {
11
+ readonly invalidRequest: "viewer-api-invalid-request";
12
+ readonly bodyTooLarge: "viewer-api-body-too-large";
13
+ readonly responseTooLarge: "viewer-api-response-too-large";
14
+ readonly unavailable: "viewer-api-unavailable";
15
+ readonly unreachable: "viewer-api-unreachable";
16
+ readonly authInvalid: "viewer-auth-invalid";
17
+ };
18
+ export declare const VIEWER_API_REQUEST_HEADERS: readonly string[];
19
+ export declare const VIEWER_API_RESPONSE_HEADERS: readonly string[];
20
+ export declare function pickViewerApiRequestHeaders(input: Readonly<Record<string, unknown>> | undefined): Record<string, string>;
21
+ export declare function pickViewerApiResponseHeaders(headers: {
22
+ get(name: string): string | null;
23
+ }): Record<string, string>;
24
+ export declare function checkViewerApiPath(path: string): Result<void>;
25
+ export declare const ReqViewerApiFetch: import("arktype/internal/variants/object.ts").ObjectType<{
26
+ type: "vibes.diy.req-viewer-api-fetch";
27
+ auth?: {
28
+ type: "clerk" | "device-id" | "ucan";
29
+ token: string;
30
+ } | undefined;
31
+ ownerHandle: string;
32
+ appSlug: string;
33
+ method: string;
34
+ path: string;
35
+ headers?: Record<string, string> | undefined;
36
+ body?: string | undefined;
37
+ }, {}>;
38
+ export type ReqViewerApiFetch = typeof ReqViewerApiFetch.infer;
39
+ export declare function isReqViewerApiFetch(obj: unknown): obj is ReqViewerApiFetch;
40
+ export declare const ResViewerApiFetch: import("arktype/internal/variants/object.ts").ObjectType<{
41
+ type: "vibes.diy.res-viewer-api-fetch";
42
+ status: number;
43
+ headers: Record<string, string>;
44
+ body: string;
45
+ }, {}>;
46
+ export type ResViewerApiFetch = typeof ResViewerApiFetch.infer;
47
+ export declare function isResViewerApiFetch(obj: unknown): obj is ResViewerApiFetch;
@@ -0,0 +1,117 @@
1
+ import { Result } from "@adviser/cement";
2
+ import { type } from "arktype";
3
+ import { dashAuthType } from "./common.js";
4
+ import { lazyType } from "./lazy-type.js";
5
+ export const VIEWER_API_METHODS = ["GET", "POST", "PUT", "PATCH", "DELETE"];
6
+ export function isViewerApiMethod(m) {
7
+ return VIEWER_API_METHODS.includes(m);
8
+ }
9
+ export const VIEWER_API_REQUEST_BODY_MAX_BYTES = 128 * 1024;
10
+ export const VIEWER_API_RESPONSE_BODY_MAX_BYTES = 512 * 1024;
11
+ export const VIEWER_API_RESPONSE_FRAME_MAX_BYTES = 1024 * 1024;
12
+ const TARGET_NAME = /^[a-z0-9][a-z0-9._-]{0,63}$/;
13
+ export function isViewerApiTargetName(name) {
14
+ return typeof name === "string" && TARGET_NAME.test(name);
15
+ }
16
+ export const VIEWER_API_PATH_MAX_LENGTH = 2048;
17
+ export const VIEWER_API_ERROR = {
18
+ invalidRequest: "viewer-api-invalid-request",
19
+ bodyTooLarge: "viewer-api-body-too-large",
20
+ responseTooLarge: "viewer-api-response-too-large",
21
+ unavailable: "viewer-api-unavailable",
22
+ unreachable: "viewer-api-unreachable",
23
+ authInvalid: "viewer-auth-invalid",
24
+ };
25
+ export const VIEWER_API_REQUEST_HEADERS = [
26
+ "accept",
27
+ "accept-language",
28
+ "content-type",
29
+ "if-match",
30
+ "if-none-match",
31
+ "if-modified-since",
32
+ "if-unmodified-since",
33
+ ];
34
+ export const VIEWER_API_RESPONSE_HEADERS = [
35
+ "cache-control",
36
+ "content-language",
37
+ "content-type",
38
+ "etag",
39
+ "last-modified",
40
+ "retry-after",
41
+ ];
42
+ function isSafeHeaderValue(v) {
43
+ return typeof v === "string" && v.length <= 1024 && /^[\t\x20-\x7e]*$/.test(v);
44
+ }
45
+ export function pickViewerApiRequestHeaders(input) {
46
+ const out = {};
47
+ if (input === undefined || typeof input !== "object" || input === null)
48
+ return out;
49
+ for (const [name, value] of Object.entries(input)) {
50
+ const lower = name.toLowerCase();
51
+ if (!VIEWER_API_REQUEST_HEADERS.includes(lower))
52
+ continue;
53
+ if (!isSafeHeaderValue(value))
54
+ continue;
55
+ out[lower] = value;
56
+ }
57
+ return out;
58
+ }
59
+ export function pickViewerApiResponseHeaders(headers) {
60
+ const out = {};
61
+ for (const name of VIEWER_API_RESPONSE_HEADERS) {
62
+ const v = headers.get(name);
63
+ if (v !== null && isSafeHeaderValue(v))
64
+ out[name] = v;
65
+ }
66
+ return out;
67
+ }
68
+ const PATH_CHARS = /^[A-Za-z0-9\-._~!$&'()*+,;=:@/%]*$/;
69
+ const QUERY_CHARS = /^[A-Za-z0-9\-._~!$&'()*+,;=:@/?%]*$/;
70
+ const MALFORMED_ESCAPE = /%(?![0-9A-Fa-f]{2})/;
71
+ const ESCAPED_DOT_OR_SEPARATOR = /%(2e|2f|5c)/i;
72
+ export function checkViewerApiPath(path) {
73
+ if (typeof path !== "string" || path.length === 0)
74
+ return Result.Err("path is required");
75
+ if (path.length > VIEWER_API_PATH_MAX_LENGTH)
76
+ return Result.Err("path is too long");
77
+ if (!path.startsWith("/"))
78
+ return Result.Err('path must start with "/" — it is relative to the app\'s /_api root');
79
+ const q = path.indexOf("?");
80
+ const pathPart = q < 0 ? path : path.slice(0, q);
81
+ const query = q < 0 ? "" : path.slice(q + 1);
82
+ if (!PATH_CHARS.test(pathPart) || !QUERY_CHARS.test(query)) {
83
+ return Result.Err("path may only contain printable URL characters: no spaces, backslashes, fragments or non-ASCII");
84
+ }
85
+ if (MALFORMED_ESCAPE.test(path))
86
+ return Result.Err("path has a malformed percent escape");
87
+ if (ESCAPED_DOT_OR_SEPARATOR.test(pathPart))
88
+ return Result.Err("path may not percent-encode a dot or a slash");
89
+ const segments = pathPart.slice(1).split("/");
90
+ if (pathPart !== "/" && segments.some((s) => s === "" || s === "." || s === "..")) {
91
+ return Result.Err("path names one route on this app: no empty, '.' or '..' segments");
92
+ }
93
+ return Result.Ok(undefined);
94
+ }
95
+ export const ReqViewerApiFetch = lazyType(() => type({
96
+ type: "'vibes.diy.req-viewer-api-fetch'",
97
+ "auth?": dashAuthType,
98
+ ownerHandle: "string",
99
+ appSlug: "string",
100
+ method: "string",
101
+ path: "string",
102
+ "headers?": "Record<string, string>",
103
+ "body?": "string",
104
+ }));
105
+ export function isReqViewerApiFetch(obj) {
106
+ return !(ReqViewerApiFetch(obj) instanceof type.errors);
107
+ }
108
+ export const ResViewerApiFetch = lazyType(() => type({
109
+ type: "'vibes.diy.res-viewer-api-fetch'",
110
+ status: "number",
111
+ headers: "Record<string, string>",
112
+ body: "string",
113
+ }));
114
+ export function isResViewerApiFetch(obj) {
115
+ return !(ResViewerApiFetch(obj) instanceof type.errors);
116
+ }
117
+ //# sourceMappingURL=viewer-api-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewer-api-fetch.js","sourceRoot":"","sources":["../jsr/viewer-api-fetch.ts"],"names":[],"mappings":"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"}