@arbidocs/react 0.5.77 → 0.5.79
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/README.md +31 -6
- package/dist/artifacts/index.cjs +11 -11
- package/dist/artifacts/index.js +4 -4
- package/dist/calls/livekit/index.cjs +43 -43
- package/dist/calls/livekit/index.js +4 -4
- package/dist/{chunk-LBAGMNGG.js → chunk-4MNYCQ3L.js} +3 -3
- package/dist/{chunk-LBAGMNGG.js.map → chunk-4MNYCQ3L.js.map} +1 -1
- package/dist/{chunk-RDERZWMO.cjs → chunk-5IN5OGBT.cjs} +33 -33
- package/dist/{chunk-RDERZWMO.cjs.map → chunk-5IN5OGBT.cjs.map} +1 -1
- package/dist/{chunk-O2HDONQE.js → chunk-5UJ4ZKJN.js} +3 -3
- package/dist/{chunk-O2HDONQE.js.map → chunk-5UJ4ZKJN.js.map} +1 -1
- package/dist/{chunk-2MECTZLS.js → chunk-DFA2W3YH.js} +5 -5
- package/dist/{chunk-2MECTZLS.js.map → chunk-DFA2W3YH.js.map} +1 -1
- package/dist/{chunk-IHKQPOPK.cjs → chunk-I3VG2ZOT.cjs} +3 -3
- package/dist/{chunk-IHKQPOPK.cjs.map → chunk-I3VG2ZOT.cjs.map} +1 -1
- package/dist/{chunk-PMHFLOXY.cjs → chunk-KNO6K35X.cjs} +50 -50
- package/dist/{chunk-PMHFLOXY.cjs.map → chunk-KNO6K35X.cjs.map} +1 -1
- package/dist/{chunk-33PVGKXT.js → chunk-OZWAKXB2.js} +232 -70
- package/dist/chunk-OZWAKXB2.js.map +1 -0
- package/dist/{chunk-MWW54PY6.cjs → chunk-RW3URTNE.cjs} +20 -20
- package/dist/{chunk-MWW54PY6.cjs.map → chunk-RW3URTNE.cjs.map} +1 -1
- package/dist/{chunk-AOEJ744V.js → chunk-TK7ERJPE.js} +5 -2
- package/dist/{chunk-AOEJ744V.js.map → chunk-TK7ERJPE.js.map} +1 -1
- package/dist/{chunk-GQAXAZN7.cjs → chunk-U4PWVSCT.cjs} +5 -2
- package/dist/{chunk-GQAXAZN7.cjs.map → chunk-U4PWVSCT.cjs.map} +1 -1
- package/dist/{chunk-6RSVGLQY.cjs → chunk-UHXU5MHV.cjs} +265 -99
- package/dist/chunk-UHXU5MHV.cjs.map +1 -0
- package/dist/{chunk-JHN4PKWX.js → chunk-YJEZEPUB.js} +3 -3
- package/dist/{chunk-JHN4PKWX.js.map → chunk-YJEZEPUB.js.map} +1 -1
- package/dist/document-tools/core.cjs +82 -82
- package/dist/document-tools/core.d.cts +2 -2
- package/dist/document-tools/core.d.ts +2 -2
- package/dist/document-tools/core.js +2 -2
- package/dist/document-tools/index.cjs +82 -82
- package/dist/document-tools/index.d.cts +1 -1
- package/dist/document-tools/index.d.ts +1 -1
- package/dist/document-tools/index.js +2 -2
- package/dist/index.cjs +1344 -1181
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +352 -550
- package/dist/index.d.ts +352 -550
- package/dist/index.js +176 -32
- package/dist/index.js.map +1 -1
- package/dist/{query-keys.d-BFKQVevT.d.ts → query-keys.d-Dm0NL9nr.d.cts} +3 -0
- package/dist/{query-keys.d-BFKQVevT.d.cts → query-keys.d-Dm0NL9nr.d.ts} +3 -0
- package/dist/ui/index.cjs +165 -165
- package/dist/ui/index.js +2 -2
- package/package.json +5 -3
- package/dist/chunk-33PVGKXT.js.map +0 -1
- package/dist/chunk-6RSVGLQY.cjs.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunkGQAXAZN7_cjs = require('./chunk-GQAXAZN7.cjs');
|
|
4
|
-
var chunk5YGUBXXH_cjs = require('./chunk-5YGUBXXH.cjs');
|
|
5
3
|
var chunkN73IMVFF_cjs = require('./chunk-N73IMVFF.cjs');
|
|
4
|
+
var chunkU4PWVSCT_cjs = require('./chunk-U4PWVSCT.cjs');
|
|
5
|
+
var chunk5YGUBXXH_cjs = require('./chunk-5YGUBXXH.cjs');
|
|
6
6
|
var chunkZWFMFOGP_cjs = require('./chunk-ZWFMFOGP.cjs');
|
|
7
7
|
var client = require('@arbidocs/client');
|
|
8
8
|
var react = require('react');
|
|
@@ -708,6 +708,194 @@ function createArbiChatStore({
|
|
|
708
708
|
};
|
|
709
709
|
}
|
|
710
710
|
|
|
711
|
+
// src/session/documents.ts
|
|
712
|
+
var VIEWER_TABS = [
|
|
713
|
+
"pdf",
|
|
714
|
+
"edit",
|
|
715
|
+
"html",
|
|
716
|
+
"docx",
|
|
717
|
+
"xlsx",
|
|
718
|
+
"versions",
|
|
719
|
+
"preview"
|
|
720
|
+
];
|
|
721
|
+
var DEFAULT_DOCUMENT_VIEWER_STATE = {
|
|
722
|
+
tab: "pdf",
|
|
723
|
+
compareId: null,
|
|
724
|
+
tabRequest: null,
|
|
725
|
+
textScale: 1,
|
|
726
|
+
phonePdfChosen: false,
|
|
727
|
+
commentTarget: null,
|
|
728
|
+
unsavedChanges: false,
|
|
729
|
+
detached: false
|
|
730
|
+
};
|
|
731
|
+
var NO_PASSAGE_CITATION = {
|
|
732
|
+
active: null,
|
|
733
|
+
highlighted: [],
|
|
734
|
+
picked: [],
|
|
735
|
+
unpicked: []
|
|
736
|
+
};
|
|
737
|
+
var EMPTY_DOCUMENT_STATE = {
|
|
738
|
+
viewingDocument: null,
|
|
739
|
+
documentViewer: DEFAULT_DOCUMENT_VIEWER_STATE,
|
|
740
|
+
selectedDocumentIds: [],
|
|
741
|
+
documentsToSelect: null,
|
|
742
|
+
pinnedDocumentId: null,
|
|
743
|
+
relatedDocuments: /* @__PURE__ */ new Map(),
|
|
744
|
+
draftDocuments: {},
|
|
745
|
+
passageCitation: NO_PASSAGE_CITATION
|
|
746
|
+
};
|
|
747
|
+
var DRAFT_TITLES = {
|
|
748
|
+
text: "New Doc",
|
|
749
|
+
audio: "New Audio",
|
|
750
|
+
photo: "New Photo",
|
|
751
|
+
video: "New Video"
|
|
752
|
+
};
|
|
753
|
+
function nextViewingDocument(current, input) {
|
|
754
|
+
if (!input) return null;
|
|
755
|
+
const same = current?.id === input.id;
|
|
756
|
+
return {
|
|
757
|
+
id: input.id,
|
|
758
|
+
page: input.page !== void 0 ? input.page : same ? current?.page ?? null : null,
|
|
759
|
+
passageId: input.passageId !== void 0 ? input.passageId : current?.passageId ?? null
|
|
760
|
+
};
|
|
761
|
+
}
|
|
762
|
+
var isRecord3 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
763
|
+
var isPage = (value) => typeof value === "number" && Number.isInteger(value) && value >= 1;
|
|
764
|
+
function parseSavedDocuments(saved) {
|
|
765
|
+
if (!isRecord3(saved) || saved.version !== 1) return null;
|
|
766
|
+
const viewing = isRecord3(saved.viewingDocument) ? saved.viewingDocument : null;
|
|
767
|
+
return {
|
|
768
|
+
version: 1,
|
|
769
|
+
viewingDocument: viewing && typeof viewing.id === "string" && viewing.id ? { id: viewing.id, page: isPage(viewing.page) ? viewing.page : null } : null,
|
|
770
|
+
pinnedDocumentId: typeof saved.pinnedDocumentId === "string" ? saved.pinnedDocumentId : null,
|
|
771
|
+
tab: VIEWER_TABS.includes(saved.tab) ? saved.tab : DEFAULT_DOCUMENT_VIEWER_STATE.tab,
|
|
772
|
+
textScale: typeof saved.textScale === "number" && Number.isFinite(saved.textScale) && saved.textScale > 0 ? saved.textScale : DEFAULT_DOCUMENT_VIEWER_STATE.textScale
|
|
773
|
+
};
|
|
774
|
+
}
|
|
775
|
+
function savedDocumentsOf(state) {
|
|
776
|
+
return {
|
|
777
|
+
version: 1,
|
|
778
|
+
viewingDocument: state.viewingDocument ? { id: state.viewingDocument.id, page: state.viewingDocument.page } : null,
|
|
779
|
+
pinnedDocumentId: state.pinnedDocumentId,
|
|
780
|
+
tab: state.documentViewer.tab,
|
|
781
|
+
textScale: state.documentViewer.textScale
|
|
782
|
+
};
|
|
783
|
+
}
|
|
784
|
+
function restoreSavedDocuments(base, saved) {
|
|
785
|
+
return {
|
|
786
|
+
...base,
|
|
787
|
+
viewingDocument: saved.viewingDocument ? { id: saved.viewingDocument.id, page: saved.viewingDocument.page, passageId: null } : null,
|
|
788
|
+
pinnedDocumentId: saved.pinnedDocumentId,
|
|
789
|
+
documentViewer: { ...base.documentViewer, tab: saved.tab, textScale: saved.textScale }
|
|
790
|
+
};
|
|
791
|
+
}
|
|
792
|
+
function createArbiDocumentSessionStore({
|
|
793
|
+
initial = {},
|
|
794
|
+
persist,
|
|
795
|
+
showViewer
|
|
796
|
+
} = {}) {
|
|
797
|
+
let state = { ...EMPTY_DOCUMENT_STATE, ...initial };
|
|
798
|
+
if (persist) {
|
|
799
|
+
const saved = parseSavedDocuments(persist.load());
|
|
800
|
+
if (saved) state = restoreSavedDocuments(state, saved);
|
|
801
|
+
}
|
|
802
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
803
|
+
const update = (patch) => {
|
|
804
|
+
const previous = state;
|
|
805
|
+
state = { ...state, ...patch };
|
|
806
|
+
if (persist && (state.viewingDocument !== previous.viewingDocument || state.pinnedDocumentId !== previous.pinnedDocumentId || state.documentViewer.tab !== previous.documentViewer.tab || state.documentViewer.textScale !== previous.documentViewer.textScale))
|
|
807
|
+
persist.save(savedDocumentsOf(state));
|
|
808
|
+
listeners.forEach((listener) => listener());
|
|
809
|
+
};
|
|
810
|
+
const setDocumentViewer = (change) => {
|
|
811
|
+
const next = { ...state.documentViewer, ...change };
|
|
812
|
+
const keys = Object.keys(change);
|
|
813
|
+
if (keys.some((key) => next[key] !== state.documentViewer[key]))
|
|
814
|
+
update({ documentViewer: next });
|
|
815
|
+
};
|
|
816
|
+
const updateDraft = (id, change) => {
|
|
817
|
+
const draft = state.draftDocuments[id];
|
|
818
|
+
if (draft) update({ draftDocuments: { ...state.draftDocuments, [id]: change(draft) } });
|
|
819
|
+
};
|
|
820
|
+
return {
|
|
821
|
+
getState: () => state,
|
|
822
|
+
subscribe: (listener) => {
|
|
823
|
+
listeners.add(listener);
|
|
824
|
+
return () => listeners.delete(listener);
|
|
825
|
+
},
|
|
826
|
+
setViewingDocument: (input) => update({ viewingDocument: nextViewingDocument(state.viewingDocument, input) }),
|
|
827
|
+
setDocumentViewer,
|
|
828
|
+
setSelectedDocumentIds: (ids) => update({ selectedDocumentIds: ids }),
|
|
829
|
+
setDocumentsToSelect: (ids) => update({ documentsToSelect: ids }),
|
|
830
|
+
setPinnedDocumentId: (pinnedDocumentId) => update({ pinnedDocumentId }),
|
|
831
|
+
setRelatedDocuments: (relatedDocuments) => update({ relatedDocuments }),
|
|
832
|
+
setPassageCitation: (change) => update({ passageCitation: { ...state.passageCitation, ...change } }),
|
|
833
|
+
showNewDocument: (documentId, tab) => {
|
|
834
|
+
update({
|
|
835
|
+
viewingDocument: { id: documentId, page: null, passageId: null },
|
|
836
|
+
documentViewer: tab ? { ...state.documentViewer, tab } : state.documentViewer
|
|
837
|
+
});
|
|
838
|
+
showViewer?.();
|
|
839
|
+
},
|
|
840
|
+
startDraftDocument: (kind) => {
|
|
841
|
+
const id = `draft-${crypto.randomUUID()}`;
|
|
842
|
+
const draft = {
|
|
843
|
+
id,
|
|
844
|
+
title: DRAFT_TITLES[kind],
|
|
845
|
+
kind,
|
|
846
|
+
content: "",
|
|
847
|
+
mediaBlob: null,
|
|
848
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
849
|
+
};
|
|
850
|
+
update({
|
|
851
|
+
draftDocuments: { ...state.draftDocuments, [id]: draft },
|
|
852
|
+
viewingDocument: { id, page: null, passageId: null },
|
|
853
|
+
// A text draft is written in the editor; a capture's recorder replaces the tabs.
|
|
854
|
+
documentViewer: kind === "text" ? { ...state.documentViewer, tab: "edit" } : state.documentViewer
|
|
855
|
+
});
|
|
856
|
+
showViewer?.();
|
|
857
|
+
return id;
|
|
858
|
+
},
|
|
859
|
+
updateDraftDocument: (id, change) => updateDraft(id, (draft) => ({ ...draft, ...change })),
|
|
860
|
+
setDraftDocumentKind: (id, kind) => updateDraft(id, (draft) => ({
|
|
861
|
+
...draft,
|
|
862
|
+
kind,
|
|
863
|
+
mediaBlob: null,
|
|
864
|
+
title: Object.values(DRAFT_TITLES).includes(draft.title) ? DRAFT_TITLES[kind] : draft.title
|
|
865
|
+
})),
|
|
866
|
+
clearDraftDocument: (id) => {
|
|
867
|
+
if (!(id in state.draftDocuments)) return;
|
|
868
|
+
const rest = { ...state.draftDocuments };
|
|
869
|
+
delete rest[id];
|
|
870
|
+
update({ draftDocuments: rest });
|
|
871
|
+
},
|
|
872
|
+
leave: () => update({
|
|
873
|
+
viewingDocument: null,
|
|
874
|
+
selectedDocumentIds: [],
|
|
875
|
+
documentsToSelect: null,
|
|
876
|
+
pinnedDocumentId: null,
|
|
877
|
+
relatedDocuments: /* @__PURE__ */ new Map(),
|
|
878
|
+
passageCitation: NO_PASSAGE_CITATION,
|
|
879
|
+
documentViewer: {
|
|
880
|
+
...state.documentViewer,
|
|
881
|
+
compareId: null,
|
|
882
|
+
tabRequest: null,
|
|
883
|
+
commentTarget: null,
|
|
884
|
+
unsavedChanges: false,
|
|
885
|
+
detached: false
|
|
886
|
+
}
|
|
887
|
+
}),
|
|
888
|
+
reset: () => update({
|
|
889
|
+
...EMPTY_DOCUMENT_STATE,
|
|
890
|
+
relatedDocuments: /* @__PURE__ */ new Map(),
|
|
891
|
+
documentViewer: {
|
|
892
|
+
...DEFAULT_DOCUMENT_VIEWER_STATE,
|
|
893
|
+
textScale: state.documentViewer.textScale
|
|
894
|
+
}
|
|
895
|
+
})
|
|
896
|
+
};
|
|
897
|
+
}
|
|
898
|
+
|
|
711
899
|
// src/session/layout.ts
|
|
712
900
|
var PANEL_MODES = ["main", "docked", "overlay", "popout"];
|
|
713
901
|
var defaultPinned = () => typeof window === "undefined" || window.innerWidth >= 640;
|
|
@@ -733,22 +921,22 @@ function defaultLayoutState() {
|
|
|
733
921
|
grid: { states: {}, rowHeights: {}, labelWidths: {}, savedViews: {} }
|
|
734
922
|
};
|
|
735
923
|
}
|
|
736
|
-
var
|
|
737
|
-
var recordOf2 = (value, keep) =>
|
|
924
|
+
var isRecord4 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
925
|
+
var recordOf2 = (value, keep) => isRecord4(value) ? Object.fromEntries(Object.entries(value).filter(([, v]) => keep(v))) : {};
|
|
738
926
|
var isString2 = (v) => typeof v === "string";
|
|
739
927
|
var isNumber = (v) => typeof v === "number" && Number.isFinite(v);
|
|
740
928
|
var isAny = (v) => v !== void 0;
|
|
741
929
|
var isMode = (v) => PANEL_MODES.includes(v);
|
|
742
|
-
var isSize = (v) =>
|
|
930
|
+
var isSize = (v) => isRecord4(v) && isNumber(v.width) && isNumber(v.height);
|
|
743
931
|
var isList = (v) => Array.isArray(v);
|
|
744
932
|
var stringOrNull3 = (v) => isString2(v) ? v : null;
|
|
745
933
|
function parseSavedLayout(saved) {
|
|
746
|
-
if (!
|
|
747
|
-
const shell =
|
|
748
|
-
const panels =
|
|
749
|
-
const tabs =
|
|
750
|
-
const views =
|
|
751
|
-
const grid =
|
|
934
|
+
if (!isRecord4(saved) || saved.version !== 1) return null;
|
|
935
|
+
const shell = isRecord4(saved.shell) ? saved.shell : {};
|
|
936
|
+
const panels = isRecord4(shell.panels) ? shell.panels : {};
|
|
937
|
+
const tabs = isRecord4(saved.tabs) ? saved.tabs : {};
|
|
938
|
+
const views = isRecord4(saved.views) ? saved.views : {};
|
|
939
|
+
const grid = isRecord4(saved.grid) ? saved.grid : {};
|
|
752
940
|
const defaults = defaultLayoutState();
|
|
753
941
|
return {
|
|
754
942
|
version: 1,
|
|
@@ -770,7 +958,7 @@ function parseSavedLayout(saved) {
|
|
|
770
958
|
values: recordOf2(views.values, isAny)
|
|
771
959
|
},
|
|
772
960
|
grid: {
|
|
773
|
-
states: recordOf2(grid.states,
|
|
961
|
+
states: recordOf2(grid.states, isRecord4),
|
|
774
962
|
rowHeights: recordOf2(grid.rowHeights, isNumber),
|
|
775
963
|
labelWidths: recordOf2(grid.labelWidths, isNumber),
|
|
776
964
|
savedViews: recordOf2(grid.savedViews, isList)
|
|
@@ -1097,19 +1285,6 @@ function readWorkspaceLastOpened(lastOpenedKey = WORKSPACE_LAST_OPENED_KEY) {
|
|
|
1097
1285
|
}
|
|
1098
1286
|
|
|
1099
1287
|
// src/session/store.ts
|
|
1100
|
-
var DEFAULT_DOCUMENT_VIEWER_STATE = {
|
|
1101
|
-
tab: "pdf",
|
|
1102
|
-
compareId: null,
|
|
1103
|
-
tabRequest: null,
|
|
1104
|
-
textScale: 1,
|
|
1105
|
-
phonePdfChosen: false
|
|
1106
|
-
};
|
|
1107
|
-
var EMPTY_DOCUMENT_STATE = {
|
|
1108
|
-
viewingDocument: null,
|
|
1109
|
-
documentViewer: DEFAULT_DOCUMENT_VIEWER_STATE,
|
|
1110
|
-
selectedDocumentIds: [],
|
|
1111
|
-
pinnedDocumentId: null
|
|
1112
|
-
};
|
|
1113
1288
|
var EMPTY_SESSION_STATE = {
|
|
1114
1289
|
workspaceId: null,
|
|
1115
1290
|
workspaceStatus: "closed",
|
|
@@ -1121,40 +1296,6 @@ var selectViewingDocumentId = (state) => state.viewingDocument ? chunkZWFMFOGP_c
|
|
|
1121
1296
|
var conversationKey = (state) => state.conversationId ?? "new";
|
|
1122
1297
|
var selectDraft = (state) => state.drafts[conversationKey(state)] ?? "";
|
|
1123
1298
|
var selectIsGenerating = (conversationId) => (state) => !!conversationId && !!state.generating[conversationId]?.isGenerating;
|
|
1124
|
-
function nextViewingDocument(current, input) {
|
|
1125
|
-
if (!input) return null;
|
|
1126
|
-
const same = current?.id === input.id;
|
|
1127
|
-
return {
|
|
1128
|
-
id: input.id,
|
|
1129
|
-
page: input.page !== void 0 ? input.page : same ? current?.page ?? null : null,
|
|
1130
|
-
passageId: input.passageId !== void 0 ? input.passageId : current?.passageId ?? null
|
|
1131
|
-
};
|
|
1132
|
-
}
|
|
1133
|
-
function createArbiDocumentSessionStore(initial = {}) {
|
|
1134
|
-
let state = { ...EMPTY_DOCUMENT_STATE, ...initial };
|
|
1135
|
-
const listeners = /* @__PURE__ */ new Set();
|
|
1136
|
-
const update = (patch) => {
|
|
1137
|
-
state = { ...state, ...patch };
|
|
1138
|
-
listeners.forEach((listener) => listener());
|
|
1139
|
-
};
|
|
1140
|
-
return {
|
|
1141
|
-
getState: () => state,
|
|
1142
|
-
subscribe: (listener) => {
|
|
1143
|
-
listeners.add(listener);
|
|
1144
|
-
return () => listeners.delete(listener);
|
|
1145
|
-
},
|
|
1146
|
-
setViewingDocument: (input) => update({ viewingDocument: nextViewingDocument(state.viewingDocument, input) }),
|
|
1147
|
-
setDocumentViewer: (change) => {
|
|
1148
|
-
const next = { ...state.documentViewer, ...change };
|
|
1149
|
-
const keys = Object.keys(change);
|
|
1150
|
-
if (keys.some((key) => next[key] !== state.documentViewer[key]))
|
|
1151
|
-
update({ documentViewer: next });
|
|
1152
|
-
},
|
|
1153
|
-
setSelectedDocumentIds: (ids) => update({ selectedDocumentIds: ids }),
|
|
1154
|
-
setPinnedDocumentId: (pinnedDocumentId) => update({ pinnedDocumentId }),
|
|
1155
|
-
leave: () => update({ viewingDocument: null, selectedDocumentIds: [], pinnedDocumentId: null })
|
|
1156
|
-
};
|
|
1157
|
-
}
|
|
1158
1299
|
function layoutActionsOf(layout) {
|
|
1159
1300
|
const actions = { ...layout };
|
|
1160
1301
|
delete actions.getLayout;
|
|
@@ -1179,6 +1320,14 @@ function chatActionsOf(chat) {
|
|
|
1179
1320
|
delete actions.reset;
|
|
1180
1321
|
return actions;
|
|
1181
1322
|
}
|
|
1323
|
+
function documentActionsOf(documents) {
|
|
1324
|
+
const actions = { ...documents };
|
|
1325
|
+
delete actions.getState;
|
|
1326
|
+
delete actions.subscribe;
|
|
1327
|
+
delete actions.leave;
|
|
1328
|
+
delete actions.reset;
|
|
1329
|
+
return actions;
|
|
1330
|
+
}
|
|
1182
1331
|
function composeArbiSessionStore({
|
|
1183
1332
|
layout,
|
|
1184
1333
|
workspace,
|
|
@@ -1203,6 +1352,7 @@ function composeArbiSessionStore({
|
|
|
1203
1352
|
return {
|
|
1204
1353
|
...layoutActionsOf(layout),
|
|
1205
1354
|
...chatActionsOf(chat),
|
|
1355
|
+
...documentActionsOf(documents),
|
|
1206
1356
|
getState,
|
|
1207
1357
|
layoutHydrated: () => layout.hydrated(),
|
|
1208
1358
|
isLayoutHydrated: () => layout.isHydrated(),
|
|
@@ -1225,11 +1375,7 @@ function composeArbiSessionStore({
|
|
|
1225
1375
|
workspace.setWorkspaceStatus("closed");
|
|
1226
1376
|
chat.leave();
|
|
1227
1377
|
documents.leave();
|
|
1228
|
-
})
|
|
1229
|
-
setViewingDocument: (input) => documents.setViewingDocument(input),
|
|
1230
|
-
setDocumentViewer: (change) => documents.setDocumentViewer(change),
|
|
1231
|
-
setSelectedDocumentIds: (ids) => documents.setSelectedDocumentIds(ids),
|
|
1232
|
-
setPinnedDocumentId: (id) => documents.setPinnedDocumentId(id)
|
|
1378
|
+
})
|
|
1233
1379
|
};
|
|
1234
1380
|
}
|
|
1235
1381
|
function createArbiSessionStore(initial = {}, {
|
|
@@ -1246,7 +1392,11 @@ function createArbiSessionStore(initial = {}, {
|
|
|
1246
1392
|
viewingDocument,
|
|
1247
1393
|
documentViewer,
|
|
1248
1394
|
selectedDocumentIds,
|
|
1395
|
+
documentsToSelect,
|
|
1249
1396
|
pinnedDocumentId,
|
|
1397
|
+
relatedDocuments,
|
|
1398
|
+
draftDocuments,
|
|
1399
|
+
passageCitation,
|
|
1250
1400
|
...chatInitial
|
|
1251
1401
|
} = initial;
|
|
1252
1402
|
delete chatInitial.workspaceId;
|
|
@@ -1257,9 +1407,21 @@ function createArbiSessionStore(initial = {}, {
|
|
|
1257
1407
|
layout,
|
|
1258
1408
|
workspace,
|
|
1259
1409
|
chat: createArbiChatStore({ layout, draftStorage, initial: chatInitial }),
|
|
1260
|
-
documents: createArbiDocumentSessionStore(
|
|
1261
|
-
defined({
|
|
1262
|
-
|
|
1410
|
+
documents: createArbiDocumentSessionStore({
|
|
1411
|
+
initial: defined({
|
|
1412
|
+
viewingDocument,
|
|
1413
|
+
documentViewer: documentViewer && {
|
|
1414
|
+
...EMPTY_DOCUMENT_STATE.documentViewer,
|
|
1415
|
+
...documentViewer
|
|
1416
|
+
},
|
|
1417
|
+
selectedDocumentIds,
|
|
1418
|
+
documentsToSelect,
|
|
1419
|
+
pinnedDocumentId,
|
|
1420
|
+
relatedDocuments,
|
|
1421
|
+
draftDocuments,
|
|
1422
|
+
passageCitation
|
|
1423
|
+
})
|
|
1424
|
+
})
|
|
1263
1425
|
});
|
|
1264
1426
|
}
|
|
1265
1427
|
var SAVE_DELAY_MS = 500;
|
|
@@ -1613,7 +1775,7 @@ function isUsageMetered(usage, subscription) {
|
|
|
1613
1775
|
function useWorkspaces(options) {
|
|
1614
1776
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1615
1777
|
return reactQuery.useQuery({
|
|
1616
|
-
queryKey:
|
|
1778
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.workspaces(),
|
|
1617
1779
|
queryFn: () => arbi.workspaces.list(),
|
|
1618
1780
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn
|
|
1619
1781
|
});
|
|
@@ -1621,7 +1783,7 @@ function useWorkspaces(options) {
|
|
|
1621
1783
|
function useDocumentVersionList(docId, options) {
|
|
1622
1784
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1623
1785
|
return reactQuery.useQuery({
|
|
1624
|
-
queryKey:
|
|
1786
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.documentVersions(docId ?? ""),
|
|
1625
1787
|
queryFn: () => arbi.documents.versions(docId),
|
|
1626
1788
|
enabled: (options?.enabled ?? true) && !!docId && arbi.hasWorkspace
|
|
1627
1789
|
});
|
|
@@ -1630,7 +1792,7 @@ function useConversations(workspaceId, options) {
|
|
|
1630
1792
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1631
1793
|
const live = options?.live === true;
|
|
1632
1794
|
return reactQuery.useQuery({
|
|
1633
|
-
queryKey:
|
|
1795
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.conversations(workspaceId ?? ""),
|
|
1634
1796
|
queryFn: () => arbi.readInWorkspace(workspaceId, () => arbi.conversations.list()),
|
|
1635
1797
|
enabled: (options?.enabled ?? true) && !!workspaceId && arbi.hasWorkspace,
|
|
1636
1798
|
placeholderData: (previous) => previous,
|
|
@@ -1642,7 +1804,7 @@ function useConversations(workspaceId, options) {
|
|
|
1642
1804
|
function useBuiltinCommands() {
|
|
1643
1805
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1644
1806
|
const query = reactQuery.useQuery({
|
|
1645
|
-
queryKey:
|
|
1807
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.assistantCommands(),
|
|
1646
1808
|
queryFn: () => arbi.assistant.commands(),
|
|
1647
1809
|
staleTime: 30 * 1e3,
|
|
1648
1810
|
enabled: arbi.isLoggedIn
|
|
@@ -1653,7 +1815,7 @@ function useBuiltinCommands() {
|
|
|
1653
1815
|
function useMessageDetails(messageId, options) {
|
|
1654
1816
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1655
1817
|
return reactQuery.useQuery({
|
|
1656
|
-
queryKey:
|
|
1818
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.messageDetails(messageId ?? ""),
|
|
1657
1819
|
queryFn: () => arbi.conversations.getMessage(messageId),
|
|
1658
1820
|
enabled: (options?.enabled ?? true) && !!messageId && arbi.isLoggedIn
|
|
1659
1821
|
});
|
|
@@ -1662,7 +1824,7 @@ function useConversationThreads(conversationId, options) {
|
|
|
1662
1824
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1663
1825
|
const session = useArbiSessionStore();
|
|
1664
1826
|
return reactQuery.useQuery({
|
|
1665
|
-
queryKey:
|
|
1827
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.conversationThreads(conversationId ?? ""),
|
|
1666
1828
|
queryFn: () => arbi.conversations.getThreads(conversationId),
|
|
1667
1829
|
enabled: (options?.enabled ?? true) && !!conversationId && arbi.hasWorkspace,
|
|
1668
1830
|
staleTime: 2 * 60 * 1e3,
|
|
@@ -1683,7 +1845,7 @@ function useTags(workspaceId, options) {
|
|
|
1683
1845
|
const workspace = workspaceId ?? (arbi.hasWorkspace ? arbi.getWorkspaceId() : "");
|
|
1684
1846
|
const key = tagListKey(query);
|
|
1685
1847
|
return reactQuery.useQuery({
|
|
1686
|
-
queryKey: key ?
|
|
1848
|
+
queryKey: key ? chunkU4PWVSCT_cjs.arbiQueryKeys.tagList(workspace, key) : chunkU4PWVSCT_cjs.arbiQueryKeys.tags(workspace),
|
|
1687
1849
|
// The request names the workspace (opened for this session first when it is not the current
|
|
1688
1850
|
// one), so another workspace's tags can be listed and a switch cannot answer for it. The
|
|
1689
1851
|
// current workspace's list is also read under the switch guard.
|
|
@@ -1698,7 +1860,7 @@ function useTags(workspaceId, options) {
|
|
|
1698
1860
|
function useThumbnails(docIds, options) {
|
|
1699
1861
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1700
1862
|
return reactQuery.useQuery({
|
|
1701
|
-
queryKey:
|
|
1863
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.thumbnails(docIds),
|
|
1702
1864
|
queryFn: () => arbi.documents.getThumbnails(docIds),
|
|
1703
1865
|
enabled: (options?.enabled ?? true) && docIds.length > 0 && arbi.hasWorkspace,
|
|
1704
1866
|
staleTime: 5 * 6e4
|
|
@@ -1707,7 +1869,7 @@ function useThumbnails(docIds, options) {
|
|
|
1707
1869
|
function useParsedDocument(docId, stage = "final", options) {
|
|
1708
1870
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1709
1871
|
return reactQuery.useQuery({
|
|
1710
|
-
queryKey:
|
|
1872
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.parsedDoc(docId ?? "", stage),
|
|
1711
1873
|
queryFn: () => {
|
|
1712
1874
|
const { docId: id, version } = chunkZWFMFOGP_cjs.parseVersionRef(docId);
|
|
1713
1875
|
return arbi.documents.getParsedContent(
|
|
@@ -1728,7 +1890,7 @@ function useAssistantQuery() {
|
|
|
1728
1890
|
function useAgents(options) {
|
|
1729
1891
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1730
1892
|
return reactQuery.useQuery({
|
|
1731
|
-
queryKey:
|
|
1893
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.agents(),
|
|
1732
1894
|
queryFn: () => arbi.agents.list(),
|
|
1733
1895
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn
|
|
1734
1896
|
});
|
|
@@ -1740,14 +1902,14 @@ function useDeleteAgents() {
|
|
|
1740
1902
|
mutationFn: ({ agentExtIds }) => arbi.agents.delete(agentExtIds),
|
|
1741
1903
|
onSuccess: (_result, { agentExtIds }) => {
|
|
1742
1904
|
for (const id of agentExtIds) {
|
|
1743
|
-
qc.removeQueries({ queryKey:
|
|
1744
|
-
qc.removeQueries({ queryKey:
|
|
1905
|
+
qc.removeQueries({ queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.agentConfig(id) });
|
|
1906
|
+
qc.removeQueries({ queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.agentWorkspaces(id) });
|
|
1745
1907
|
}
|
|
1746
1908
|
return Promise.all([
|
|
1747
|
-
qc.invalidateQueries({ queryKey:
|
|
1748
|
-
qc.invalidateQueries({ queryKey:
|
|
1749
|
-
qc.invalidateQueries({ queryKey:
|
|
1750
|
-
qc.invalidateQueries({ queryKey:
|
|
1909
|
+
qc.invalidateQueries({ queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.agents() }),
|
|
1910
|
+
qc.invalidateQueries({ queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.workflows() }),
|
|
1911
|
+
qc.invalidateQueries({ queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.allConversations() }),
|
|
1912
|
+
qc.invalidateQueries({ queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.configs() })
|
|
1751
1913
|
]);
|
|
1752
1914
|
}
|
|
1753
1915
|
});
|
|
@@ -1755,7 +1917,7 @@ function useDeleteAgents() {
|
|
|
1755
1917
|
function useHealth(options) {
|
|
1756
1918
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1757
1919
|
return reactQuery.useQuery({
|
|
1758
|
-
queryKey:
|
|
1920
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.health(),
|
|
1759
1921
|
queryFn: () => arbi.health.check(),
|
|
1760
1922
|
enabled: options?.enabled
|
|
1761
1923
|
});
|
|
@@ -1763,7 +1925,7 @@ function useHealth(options) {
|
|
|
1763
1925
|
function useAvailableModels(options) {
|
|
1764
1926
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1765
1927
|
return reactQuery.useQuery({
|
|
1766
|
-
queryKey:
|
|
1928
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.availableModels(),
|
|
1767
1929
|
queryFn: () => arbi.health.models(),
|
|
1768
1930
|
staleTime: Infinity,
|
|
1769
1931
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn
|
|
@@ -1772,7 +1934,7 @@ function useAvailableModels(options) {
|
|
|
1772
1934
|
function useConfigs(options) {
|
|
1773
1935
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1774
1936
|
return reactQuery.useQuery({
|
|
1775
|
-
queryKey:
|
|
1937
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.configVersions(),
|
|
1776
1938
|
queryFn: () => arbi.agentConfig.list(),
|
|
1777
1939
|
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
1778
1940
|
});
|
|
@@ -1780,7 +1942,7 @@ function useConfigs(options) {
|
|
|
1780
1942
|
function useConfig(configId, options) {
|
|
1781
1943
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1782
1944
|
return reactQuery.useQuery({
|
|
1783
|
-
queryKey:
|
|
1945
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.config(configId ?? ""),
|
|
1784
1946
|
queryFn: () => arbi.agentConfig.get(configId),
|
|
1785
1947
|
staleTime: 10 * 60 * 1e3,
|
|
1786
1948
|
enabled: (options?.enabled ?? true) && !!configId && arbi.isLoggedIn
|
|
@@ -1789,7 +1951,7 @@ function useConfig(configId, options) {
|
|
|
1789
1951
|
function useActivity(options) {
|
|
1790
1952
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1791
1953
|
return reactQuery.useQuery({
|
|
1792
|
-
queryKey:
|
|
1954
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.activity(),
|
|
1793
1955
|
queryFn: () => arbi.dm.listActivity({ limit: options?.limit, offset: options?.offset }),
|
|
1794
1956
|
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
1795
1957
|
});
|
|
@@ -1797,7 +1959,7 @@ function useActivity(options) {
|
|
|
1797
1959
|
function useWorkspaceActivity(workspaceId, options) {
|
|
1798
1960
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1799
1961
|
return reactQuery.useInfiniteQuery({
|
|
1800
|
-
queryKey:
|
|
1962
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.workspaceActivity(workspaceId ?? ""),
|
|
1801
1963
|
queryFn: async ({ pageParam }) => {
|
|
1802
1964
|
await options?.beforeFetch?.();
|
|
1803
1965
|
return arbi.workspaces.activity(workspaceId, {
|
|
@@ -1813,7 +1975,7 @@ function useWorkspaceActivity(workspaceId, options) {
|
|
|
1813
1975
|
function useProjects(options) {
|
|
1814
1976
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1815
1977
|
return reactQuery.useQuery({
|
|
1816
|
-
queryKey:
|
|
1978
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.projects(),
|
|
1817
1979
|
queryFn: () => arbi.projects.list(),
|
|
1818
1980
|
enabled: options?.enabled ?? arbi.isLoggedIn
|
|
1819
1981
|
});
|
|
@@ -1821,7 +1983,7 @@ function useProjects(options) {
|
|
|
1821
1983
|
function useProjectUsage(projectExtId, monthsBack = 0, options) {
|
|
1822
1984
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1823
1985
|
const usage = reactQuery.useQuery({
|
|
1824
|
-
queryKey:
|
|
1986
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.projectUsage(projectExtId ?? "", monthsBack),
|
|
1825
1987
|
queryFn: () => arbi.projects.usage(projectExtId, monthsBack),
|
|
1826
1988
|
enabled: (options?.enabled ?? true) && !!projectExtId && arbi.isLoggedIn
|
|
1827
1989
|
});
|
|
@@ -1836,7 +1998,7 @@ function useProjectsUsage(projectExtIds, monthsBack = 0, options) {
|
|
|
1836
1998
|
const projects = useProjects({ enabled: enabled && projectExtIds.length > 0 });
|
|
1837
1999
|
const results = reactQuery.useQueries({
|
|
1838
2000
|
queries: projectExtIds.map((id) => ({
|
|
1839
|
-
queryKey:
|
|
2001
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.projectUsage(id, monthsBack),
|
|
1840
2002
|
queryFn: () => arbi.projects.usage(id, monthsBack),
|
|
1841
2003
|
enabled: enabled && !!id
|
|
1842
2004
|
}))
|
|
@@ -1907,7 +2069,7 @@ function useProjectsUsage(projectExtIds, monthsBack = 0, options) {
|
|
|
1907
2069
|
function useProjectInvoices(projectExtId, options) {
|
|
1908
2070
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1909
2071
|
return reactQuery.useQuery({
|
|
1910
|
-
queryKey:
|
|
2072
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.projectInvoices(projectExtId ?? ""),
|
|
1911
2073
|
queryFn: () => arbi.projects.invoices(projectExtId),
|
|
1912
2074
|
enabled: (options?.enabled ?? true) && !!projectExtId && arbi.isLoggedIn
|
|
1913
2075
|
});
|
|
@@ -1915,7 +2077,7 @@ function useProjectInvoices(projectExtId, options) {
|
|
|
1915
2077
|
function useCurrentUser(options) {
|
|
1916
2078
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1917
2079
|
return reactQuery.useQuery({
|
|
1918
|
-
queryKey:
|
|
2080
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.currentUser(),
|
|
1919
2081
|
queryFn: () => arbi.user.me(),
|
|
1920
2082
|
enabled: options?.enabled ?? arbi.isLoggedIn,
|
|
1921
2083
|
refetchOnWindowFocus: true,
|
|
@@ -1925,7 +2087,7 @@ function useCurrentUser(options) {
|
|
|
1925
2087
|
function useFirmPool(options) {
|
|
1926
2088
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1927
2089
|
return reactQuery.useQuery({
|
|
1928
|
-
queryKey:
|
|
2090
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.firmPool(),
|
|
1929
2091
|
queryFn: () => arbi.firm.pool(),
|
|
1930
2092
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn,
|
|
1931
2093
|
retry: false,
|
|
@@ -1944,7 +2106,7 @@ function useTopUpFirmPool() {
|
|
|
1944
2106
|
return reactQuery.useMutation({
|
|
1945
2107
|
mutationFn: (aiAddons) => arbi.firm.topUp(aiAddons),
|
|
1946
2108
|
onSuccess: (result) => {
|
|
1947
|
-
queryClient.setQueryData(
|
|
2109
|
+
queryClient.setQueryData(chunkU4PWVSCT_cjs.arbiQueryKeys.firmPool(), result.pool);
|
|
1948
2110
|
}
|
|
1949
2111
|
});
|
|
1950
2112
|
}
|
|
@@ -1966,7 +2128,7 @@ function useCanCreateProjects() {
|
|
|
1966
2128
|
function useUserUsageToday(options) {
|
|
1967
2129
|
const arbi = chunk5YGUBXXH_cjs.useArbi();
|
|
1968
2130
|
return reactQuery.useQuery({
|
|
1969
|
-
queryKey:
|
|
2131
|
+
queryKey: chunkU4PWVSCT_cjs.arbiQueryKeys.userUsageToday(),
|
|
1970
2132
|
queryFn: () => arbi.user.usageToday(),
|
|
1971
2133
|
enabled: (options?.enabled ?? true) && arbi.isLoggedIn,
|
|
1972
2134
|
refetchOnWindowFocus: true,
|
|
@@ -1977,6 +2139,7 @@ function useUserUsageToday(options) {
|
|
|
1977
2139
|
|
|
1978
2140
|
exports.DEFAULT_DOCUMENT_VIEWER_STATE = DEFAULT_DOCUMENT_VIEWER_STATE;
|
|
1979
2141
|
exports.EMPTY_CHAT_STATE = EMPTY_CHAT_STATE;
|
|
2142
|
+
exports.EMPTY_DOCUMENT_STATE = EMPTY_DOCUMENT_STATE;
|
|
1980
2143
|
exports.EMPTY_SESSION_STATE = EMPTY_SESSION_STATE;
|
|
1981
2144
|
exports.MAX_THREAD_TABS = MAX_THREAD_TABS;
|
|
1982
2145
|
exports.MIN_QUEUED_MESSAGE_VISIBILITY_MS = MIN_QUEUED_MESSAGE_VISIBILITY_MS;
|
|
@@ -2008,11 +2171,14 @@ exports.nextViewingDocument = nextViewingDocument;
|
|
|
2008
2171
|
exports.openPanelIn = openPanelIn;
|
|
2009
2172
|
exports.panelPlace = panelPlace;
|
|
2010
2173
|
exports.parseSavedChat = parseSavedChat;
|
|
2174
|
+
exports.parseSavedDocuments = parseSavedDocuments;
|
|
2011
2175
|
exports.parseSavedLayout = parseSavedLayout;
|
|
2012
2176
|
exports.queuedMessages = queuedMessages;
|
|
2013
2177
|
exports.readWorkspaceLastOpened = readWorkspaceLastOpened;
|
|
2014
2178
|
exports.restoreLayout = restoreLayout;
|
|
2179
|
+
exports.restoreSavedDocuments = restoreSavedDocuments;
|
|
2015
2180
|
exports.savedChatOf = savedChatOf;
|
|
2181
|
+
exports.savedDocumentsOf = savedDocumentsOf;
|
|
2016
2182
|
exports.savedLayoutOf = savedLayoutOf;
|
|
2017
2183
|
exports.selectDraft = selectDraft;
|
|
2018
2184
|
exports.selectIsGenerating = selectIsGenerating;
|
|
@@ -2053,5 +2219,5 @@ exports.useTransientView = useTransientView;
|
|
|
2053
2219
|
exports.useUserUsageToday = useUserUsageToday;
|
|
2054
2220
|
exports.useWorkspaceActivity = useWorkspaceActivity;
|
|
2055
2221
|
exports.useWorkspaces = useWorkspaces;
|
|
2056
|
-
//# sourceMappingURL=chunk-
|
|
2057
|
-
//# sourceMappingURL=chunk-
|
|
2222
|
+
//# sourceMappingURL=chunk-UHXU5MHV.cjs.map
|
|
2223
|
+
//# sourceMappingURL=chunk-UHXU5MHV.cjs.map
|