@arbidocs/blocks 0.4.150 → 0.4.152
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/dist/{ConnectedNativeDocxComparison-XQSXVGHR.js → ConnectedNativeDocxComparison-OFPIXNJB.js} +6 -6
- package/dist/{ConnectedStreamedWordArtifact-UZVNBKQB.js.map → ConnectedNativeDocxComparison-OFPIXNJB.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-3XQSINPQ.cjs → ConnectedNativeDocxComparison-Y5BNLNH6.cjs} +7 -7
- package/dist/{ConnectedNativeDocxComparison-3XQSINPQ.cjs.map → ConnectedNativeDocxComparison-Y5BNLNH6.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-OUWFMIPH.cjs → ConnectedNativeDocxEditor-HTEW5JAH.cjs} +7 -7
- package/dist/{ConnectedNativeDocxEditor-OUWFMIPH.cjs.map → ConnectedNativeDocxEditor-HTEW5JAH.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-IPEZDERL.js → ConnectedNativeDocxEditor-LRYU5HPA.js} +5 -5
- package/dist/{ConnectedNativeDocxEditor-IPEZDERL.js.map → ConnectedNativeDocxEditor-LRYU5HPA.js.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-UZVNBKQB.js → ConnectedStreamedWordArtifact-QAUVUCSX.js} +6 -6
- package/dist/{ConnectedNativeDocxComparison-XQSXVGHR.js.map → ConnectedStreamedWordArtifact-QAUVUCSX.js.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-D5LSMDO4.cjs → ConnectedStreamedWordArtifact-QW74LKHN.cjs} +7 -7
- package/dist/ConnectedStreamedWordArtifact-QW74LKHN.cjs.map +1 -0
- package/dist/agents/index.cjs +238 -238
- package/dist/agents/index.js +4 -4
- package/dist/calls/index.cjs +3 -3
- package/dist/calls/index.js +2 -2
- package/dist/{chunk-IPQ5MJ4Z.cjs → chunk-2FLWPM3B.cjs} +5 -5
- package/dist/{chunk-IPQ5MJ4Z.cjs.map → chunk-2FLWPM3B.cjs.map} +1 -1
- package/dist/{chunk-CQPFW64W.js → chunk-3PCBYOIZ.js} +3 -3
- package/dist/{chunk-CQPFW64W.js.map → chunk-3PCBYOIZ.js.map} +1 -1
- package/dist/{chunk-Q6N6MZKO.js → chunk-4236BRZK.js} +3 -3
- package/dist/{chunk-Q6N6MZKO.js.map → chunk-4236BRZK.js.map} +1 -1
- package/dist/{chunk-KLPRAQCE.cjs → chunk-6I6CVX5G.cjs} +2 -2
- package/dist/{chunk-KLPRAQCE.cjs.map → chunk-6I6CVX5G.cjs.map} +1 -1
- package/dist/{chunk-TAWPVD6C.cjs → chunk-B3FMUFAW.cjs} +3 -3
- package/dist/{chunk-TAWPVD6C.cjs.map → chunk-B3FMUFAW.cjs.map} +1 -1
- package/dist/{chunk-3E2F4AHD.js → chunk-CROTH2BS.js} +5 -5
- package/dist/{chunk-3E2F4AHD.js.map → chunk-CROTH2BS.js.map} +1 -1
- package/dist/{chunk-ILM42LE6.cjs → chunk-CU2O32Z4.cjs} +25 -25
- package/dist/{chunk-ILM42LE6.cjs.map → chunk-CU2O32Z4.cjs.map} +1 -1
- package/dist/{chunk-TL45OJQE.js → chunk-DB2OXRQC.js} +3 -3
- package/dist/{chunk-TL45OJQE.js.map → chunk-DB2OXRQC.js.map} +1 -1
- package/dist/{chunk-ZAVEMQ37.cjs → chunk-DWZXSPMB.cjs} +3 -3
- package/dist/{chunk-ZAVEMQ37.cjs.map → chunk-DWZXSPMB.cjs.map} +1 -1
- package/dist/{chunk-XRWHFMHK.js → chunk-EYJMMGXF.js} +2 -2
- package/dist/{chunk-XRWHFMHK.js.map → chunk-EYJMMGXF.js.map} +1 -1
- package/dist/{chunk-NWNAYXC7.cjs → chunk-GFOEWPAP.cjs} +3 -3
- package/dist/{chunk-NWNAYXC7.cjs.map → chunk-GFOEWPAP.cjs.map} +1 -1
- package/dist/{chunk-YIFCLNII.cjs → chunk-HALD6ZB5.cjs} +4 -4
- package/dist/{chunk-YIFCLNII.cjs.map → chunk-HALD6ZB5.cjs.map} +1 -1
- package/dist/{chunk-TC25LGIM.js → chunk-HUJF2XM2.js} +4 -4
- package/dist/chunk-HUJF2XM2.js.map +1 -0
- package/dist/{chunk-GGTUMLCT.cjs → chunk-Q4BY2CQQ.cjs} +3 -3
- package/dist/{chunk-GGTUMLCT.cjs.map → chunk-Q4BY2CQQ.cjs.map} +1 -1
- package/dist/{chunk-AXTDDWMR.js → chunk-QN47Q4N7.js} +3 -3
- package/dist/{chunk-AXTDDWMR.js.map → chunk-QN47Q4N7.js.map} +1 -1
- package/dist/{chunk-V4YZXGXR.cjs → chunk-T74Q3MCZ.cjs} +4 -4
- package/dist/chunk-T74Q3MCZ.cjs.map +1 -0
- package/dist/{chunk-3FSXWVHW.cjs → chunk-U6JQ4KMX.cjs} +3 -3
- package/dist/{chunk-3FSXWVHW.cjs.map → chunk-U6JQ4KMX.cjs.map} +1 -1
- package/dist/{chunk-ECERC6TI.js → chunk-VHJHY7TT.js} +3 -3
- package/dist/{chunk-ECERC6TI.js.map → chunk-VHJHY7TT.js.map} +1 -1
- package/dist/{chunk-UTVY63DG.js → chunk-WFA2GVZJ.js} +3 -3
- package/dist/{chunk-UTVY63DG.js.map → chunk-WFA2GVZJ.js.map} +1 -1
- package/dist/{chunk-ZO7PJMCO.js → chunk-WU34CHU5.js} +3 -3
- package/dist/{chunk-ZO7PJMCO.js.map → chunk-WU34CHU5.js.map} +1 -1
- package/dist/{chunk-HGLC566X.js → chunk-YXNNNP57.js} +3 -3
- package/dist/{chunk-HGLC566X.js.map → chunk-YXNNNP57.js.map} +1 -1
- package/dist/{chunk-EDV7CYG6.cjs → chunk-ZP6Q3KXU.cjs} +4 -4
- package/dist/{chunk-EDV7CYG6.cjs.map → chunk-ZP6Q3KXU.cjs.map} +1 -1
- package/dist/collaboration/index.cjs +1 -1
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +9 -9
- package/dist/connect/docx.js +5 -5
- package/dist/connect/index.cjs +292 -292
- package/dist/connect/index.d.ts +1 -1
- package/dist/connect/index.js +13 -13
- package/dist/connect/viewer.cjs +1249 -121
- package/dist/connect/viewer.cjs.map +1 -1
- package/dist/connect/viewer.js +1145 -21
- package/dist/connect/viewer.js.map +1 -1
- package/dist/connection/viewer/parsed/ParsedPassage.d.ts +48 -0
- package/dist/connection/viewer/parsed/ParsedTextView.d.ts +17 -0
- package/dist/connection/viewer/parsed/PassageTagPanel.d.ts +18 -0
- package/dist/connection/viewer/parsed/citation-line.d.ts +17 -0
- package/dist/connection/viewer/parsed/document-tags.d.ts +8 -0
- package/dist/connection/viewer/parsed/useChunkTagging.d.ts +46 -0
- package/dist/connection/viewer/parsed/useCitationSelection.d.ts +27 -0
- package/dist/connection/viewer/parsed/useDocumentLabels.d.ts +38 -0
- package/dist/connection/viewer/parsed/useLazyPages.d.ts +18 -0
- package/dist/connection/viewer/parsed/usePageScrollSync.d.ts +17 -0
- package/dist/connection/viewer/parsed/usePassageCopy.d.ts +25 -0
- package/dist/connection/viewer/support.d.ts +27 -9
- package/dist/facts/index.cjs +55 -55
- package/dist/facts/index.js +5 -5
- package/dist/files/TagPassagePanel.d.ts +2 -1
- package/dist/files/index.cjs +169 -169
- package/dist/files/index.js +3 -3
- package/dist/home/index.cjs +2 -2
- package/dist/home/index.js +2 -2
- package/dist/index.cjs +355 -355
- package/dist/index.js +8 -8
- package/dist/retrieval/index.cjs +1 -1
- package/dist/retrieval/index.js +1 -1
- package/dist/settings/index.cjs +164 -164
- package/dist/settings/index.js +3 -3
- package/dist/shell/index.cjs +2 -2
- package/dist/shell/index.js +2 -2
- package/dist/studio/index.cjs +2 -2
- package/dist/studio/index.js +2 -2
- package/dist/workflow-canvas/index.cjs +16 -16
- package/dist/workflow-canvas/index.js +4 -4
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedStreamedWordArtifact-D5LSMDO4.cjs.map +0 -1
- package/dist/chunk-TC25LGIM.js.map +0 -1
- package/dist/chunk-V4YZXGXR.cjs.map +0 -1
package/dist/connect/index.cjs
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunkRXK3XP62_cjs = require('../chunk-RXK3XP62.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkU6JQ4KMX_cjs = require('../chunk-U6JQ4KMX.cjs');
|
|
6
6
|
var chunk4KMLM3GY_cjs = require('../chunk-4KMLM3GY.cjs');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var chunkQ4BY2CQQ_cjs = require('../chunk-Q4BY2CQQ.cjs');
|
|
8
|
+
var chunk6I6CVX5G_cjs = require('../chunk-6I6CVX5G.cjs');
|
|
9
9
|
var chunkYAEXSCUW_cjs = require('../chunk-YAEXSCUW.cjs');
|
|
10
10
|
require('../chunk-223D4727.cjs');
|
|
11
11
|
var chunkGAYMJWTC_cjs = require('../chunk-GAYMJWTC.cjs');
|
|
@@ -13,24 +13,24 @@ var chunkGFNELPDP_cjs = require('../chunk-GFNELPDP.cjs');
|
|
|
13
13
|
var chunkJH6JTI76_cjs = require('../chunk-JH6JTI76.cjs');
|
|
14
14
|
require('../chunk-464YPRAE.cjs');
|
|
15
15
|
require('../chunk-NPR5BGFF.cjs');
|
|
16
|
-
var
|
|
16
|
+
var chunkB3FMUFAW_cjs = require('../chunk-B3FMUFAW.cjs');
|
|
17
17
|
var chunk2WLXQGWC_cjs = require('../chunk-2WLXQGWC.cjs');
|
|
18
18
|
var chunk5FYU7ZIU_cjs = require('../chunk-5FYU7ZIU.cjs');
|
|
19
|
-
var
|
|
19
|
+
var chunk2FLWPM3B_cjs = require('../chunk-2FLWPM3B.cjs');
|
|
20
20
|
var chunkXAJIKT6Y_cjs = require('../chunk-XAJIKT6Y.cjs');
|
|
21
21
|
var chunkGOWXP5KT_cjs = require('../chunk-GOWXP5KT.cjs');
|
|
22
22
|
var chunkQZTNTP75_cjs = require('../chunk-QZTNTP75.cjs');
|
|
23
23
|
require('../chunk-NWNVWO6L.cjs');
|
|
24
24
|
var chunkGRGS5M6O_cjs = require('../chunk-GRGS5M6O.cjs');
|
|
25
|
-
require('../chunk-LJJJ6CYH.cjs');
|
|
26
25
|
require('../chunk-FAXXN7KI.cjs');
|
|
27
26
|
var chunkV46W7YLI_cjs = require('../chunk-V46W7YLI.cjs');
|
|
27
|
+
require('../chunk-LJJJ6CYH.cjs');
|
|
28
28
|
require('../chunk-D54JXTPG.cjs');
|
|
29
29
|
var chunkQT3A4PFC_cjs = require('../chunk-QT3A4PFC.cjs');
|
|
30
30
|
var chunkUTTTJSQU_cjs = require('../chunk-UTTTJSQU.cjs');
|
|
31
31
|
var chunkVPPX5XUF_cjs = require('../chunk-VPPX5XUF.cjs');
|
|
32
32
|
var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
|
|
33
|
-
var
|
|
33
|
+
var chunkGFOEWPAP_cjs = require('../chunk-GFOEWPAP.cjs');
|
|
34
34
|
var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
|
|
35
35
|
var chunk4JNKXOFZ_cjs = require('../chunk-4JNKXOFZ.cjs');
|
|
36
36
|
require('../chunk-EYKISBDO.cjs');
|
|
@@ -45,13 +45,10 @@ var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
|
|
|
45
45
|
var chunkC2CWWEHO_cjs = require('../chunk-C2CWWEHO.cjs');
|
|
46
46
|
var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
|
|
47
47
|
require('../chunk-ADOKTJHV.cjs');
|
|
48
|
-
var chunkZAVEMQ37_cjs = require('../chunk-ZAVEMQ37.cjs');
|
|
49
|
-
var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
|
|
50
48
|
var chunkLLYZGH3L_cjs = require('../chunk-LLYZGH3L.cjs');
|
|
51
49
|
var chunkBIXHB4LV_cjs = require('../chunk-BIXHB4LV.cjs');
|
|
52
|
-
var
|
|
53
|
-
var
|
|
54
|
-
var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
|
|
50
|
+
var chunkDWZXSPMB_cjs = require('../chunk-DWZXSPMB.cjs');
|
|
51
|
+
var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
|
|
55
52
|
var chunk5A2QQAF5_cjs = require('../chunk-5A2QQAF5.cjs');
|
|
56
53
|
require('../chunk-B6MVQCXW.cjs');
|
|
57
54
|
var chunkJKB7WT7L_cjs = require('../chunk-JKB7WT7L.cjs');
|
|
@@ -62,6 +59,9 @@ require('../chunk-7UTB4PHM.cjs');
|
|
|
62
59
|
require('../chunk-FX3K6LNZ.cjs');
|
|
63
60
|
require('../chunk-PPCATBOY.cjs');
|
|
64
61
|
require('../chunk-MHVNT4J3.cjs');
|
|
62
|
+
var chunkLXTOOUEN_cjs = require('../chunk-LXTOOUEN.cjs');
|
|
63
|
+
var chunkKPZZ5FHE_cjs = require('../chunk-KPZZ5FHE.cjs');
|
|
64
|
+
var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
|
|
65
65
|
var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
|
|
66
66
|
require('../chunk-DES3K4SD.cjs');
|
|
67
67
|
var react = require('react');
|
|
@@ -155,7 +155,7 @@ function ConnectedWorkspaceActivity({
|
|
|
155
155
|
[feed.data]
|
|
156
156
|
);
|
|
157
157
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
158
|
-
|
|
158
|
+
chunk2FLWPM3B_cjs.WorkspaceActivityList,
|
|
159
159
|
{
|
|
160
160
|
...listProps,
|
|
161
161
|
items,
|
|
@@ -583,7 +583,7 @@ function NotificationCenter({
|
|
|
583
583
|
}
|
|
584
584
|
];
|
|
585
585
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full bg-background", "data-testid": "notifications-page", children: [
|
|
586
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
586
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
587
587
|
chunk7RGLTF76_cjs.TabHeader,
|
|
588
588
|
{
|
|
589
589
|
tabs,
|
|
@@ -833,7 +833,7 @@ function ConnectedWorkspaceNotificationMenu({
|
|
|
833
833
|
}, [error, notify14]);
|
|
834
834
|
if (!workspaceId) return null;
|
|
835
835
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
836
|
-
|
|
836
|
+
chunk2FLWPM3B_cjs.WorkspaceNotificationMenu,
|
|
837
837
|
{
|
|
838
838
|
...menuProps,
|
|
839
839
|
level,
|
|
@@ -852,7 +852,7 @@ function ConnectedThreadFollow({
|
|
|
852
852
|
enabled: live
|
|
853
853
|
});
|
|
854
854
|
if (!conversationId) return null;
|
|
855
|
-
const Control = as === "menu-item" ?
|
|
855
|
+
const Control = as === "menu-item" ? chunk2FLWPM3B_cjs.ThreadFollowMenuItem : chunk2FLWPM3B_cjs.ThreadFollowButton;
|
|
856
856
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
857
857
|
Control,
|
|
858
858
|
{
|
|
@@ -925,7 +925,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
925
925
|
onChange: (e) => {
|
|
926
926
|
const file = e.target.files?.[0];
|
|
927
927
|
e.target.value = "";
|
|
928
|
-
if (file) void add(() =>
|
|
928
|
+
if (file) void add(() => chunkGFOEWPAP_cjs.importSkillFile(file));
|
|
929
929
|
}
|
|
930
930
|
}
|
|
931
931
|
),
|
|
@@ -950,7 +950,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
|
|
|
950
950
|
className: "space-y-2",
|
|
951
951
|
onSubmit: (e) => {
|
|
952
952
|
e.preventDefault();
|
|
953
|
-
if (url.trim()) void add(() =>
|
|
953
|
+
if (url.trim()) void add(() => chunkGFOEWPAP_cjs.importSkillFromUrl(url));
|
|
954
954
|
},
|
|
955
955
|
children: [
|
|
956
956
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
|
|
@@ -1014,9 +1014,9 @@ function ConnectedSkillsLibrary({
|
|
|
1014
1014
|
const [type, setType] = react.useState("all");
|
|
1015
1015
|
const [view, setView] = react.useState("gallery");
|
|
1016
1016
|
const [isBusy, setIsBusy] = react.useState(false);
|
|
1017
|
-
const all = react.useMemo(() =>
|
|
1017
|
+
const all = react.useMemo(() => chunkGFOEWPAP_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
|
|
1018
1018
|
const shown = react.useMemo(
|
|
1019
|
-
() =>
|
|
1019
|
+
() => chunkGFOEWPAP_cjs.filterLibrarySkills(all, { query, source, type }),
|
|
1020
1020
|
[all, query, source, type]
|
|
1021
1021
|
);
|
|
1022
1022
|
const current = all.find((s) => s.slug === selected) ?? null;
|
|
@@ -1027,21 +1027,21 @@ function ConnectedSkillsLibrary({
|
|
|
1027
1027
|
const count = (s) => all.filter((x) => x.source === s).length;
|
|
1028
1028
|
const sourceOptions = [
|
|
1029
1029
|
{ id: "all", label: "All", count: all.length },
|
|
1030
|
-
{ id: "builtin", label:
|
|
1031
|
-
{ id: "mine", label:
|
|
1032
|
-
{ id: "shared", label:
|
|
1030
|
+
{ id: "builtin", label: chunkGFOEWPAP_cjs.SKILL_SOURCE_LABELS.builtin, count: count("builtin") },
|
|
1031
|
+
{ id: "mine", label: chunkGFOEWPAP_cjs.SKILL_SOURCE_LABELS.mine, count: count("mine") },
|
|
1032
|
+
{ id: "shared", label: chunkGFOEWPAP_cjs.SKILL_SOURCE_LABELS.shared, count: count("shared") }
|
|
1033
1033
|
];
|
|
1034
1034
|
const types = [...new Set(all.map((s) => s.type))];
|
|
1035
1035
|
const typeOptions = [
|
|
1036
1036
|
{ id: "all", label: "Any kind" },
|
|
1037
|
-
...types.map((t) => ({ id: t, label:
|
|
1037
|
+
...types.map((t) => ({ id: t, label: chunkGFOEWPAP_cjs.SKILL_TYPE_LABELS[t] ?? t }))
|
|
1038
1038
|
];
|
|
1039
1039
|
const pick = (slug) => {
|
|
1040
1040
|
setSelected(slug);
|
|
1041
1041
|
setMode("detail");
|
|
1042
1042
|
};
|
|
1043
1043
|
const markdownOf = async (skill) => {
|
|
1044
|
-
if (!skill.docExtId) return
|
|
1044
|
+
if (!skill.docExtId) return chunkGFOEWPAP_cjs.workflowToSkillMarkdown(skill.workflow);
|
|
1045
1045
|
const response = await arbi.documents.download(skill.docExtId);
|
|
1046
1046
|
if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
|
|
1047
1047
|
return response.text();
|
|
@@ -1049,7 +1049,7 @@ function ConnectedSkillsLibrary({
|
|
|
1049
1049
|
const saveAs = (slug, markdown, shared = false) => upload.mutateAsync([
|
|
1050
1050
|
{
|
|
1051
1051
|
folder: `${SKILL_FOLDER}${slug}`,
|
|
1052
|
-
fileName:
|
|
1052
|
+
fileName: chunkGFOEWPAP_cjs.SKILL_MAIN_FILENAME,
|
|
1053
1053
|
content: new Blob([markdown], { type: "text/markdown" }),
|
|
1054
1054
|
shared
|
|
1055
1055
|
}
|
|
@@ -1112,7 +1112,7 @@ function ConnectedSkillsLibrary({
|
|
|
1112
1112
|
try {
|
|
1113
1113
|
documentTools.downloadBlob(
|
|
1114
1114
|
new Blob([await markdownOf(skill)], { type: "text/markdown" }),
|
|
1115
|
-
|
|
1115
|
+
chunkGFOEWPAP_cjs.SKILL_MAIN_FILENAME
|
|
1116
1116
|
);
|
|
1117
1117
|
} catch (error) {
|
|
1118
1118
|
notify14(errorText(error, "Could not export the skill"), "error");
|
|
@@ -1153,10 +1153,10 @@ function ConnectedSkillsLibrary({
|
|
|
1153
1153
|
}
|
|
1154
1154
|
)
|
|
1155
1155
|
] }),
|
|
1156
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1156
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkGFOEWPAP_cjs.SkillViewToggle, { value: view, onChange: setView })
|
|
1157
1157
|
] }),
|
|
1158
1158
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1159
|
-
|
|
1159
|
+
chunkGFOEWPAP_cjs.SkillFilterChips,
|
|
1160
1160
|
{
|
|
1161
1161
|
label: "Show",
|
|
1162
1162
|
value: source,
|
|
@@ -1165,7 +1165,7 @@ function ConnectedSkillsLibrary({
|
|
|
1165
1165
|
}
|
|
1166
1166
|
),
|
|
1167
1167
|
types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1168
|
-
|
|
1168
|
+
chunkGFOEWPAP_cjs.SkillFilterChips,
|
|
1169
1169
|
{
|
|
1170
1170
|
label: "Kind",
|
|
1171
1171
|
value: type,
|
|
@@ -1212,12 +1212,12 @@ function ConnectedSkillsLibrary({
|
|
|
1212
1212
|
view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
|
|
1213
1213
|
),
|
|
1214
1214
|
children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1215
|
-
|
|
1215
|
+
chunkGFOEWPAP_cjs.SkillTile,
|
|
1216
1216
|
{
|
|
1217
1217
|
name: skill.title,
|
|
1218
1218
|
testId: `skill-tile-${skill.slug}`,
|
|
1219
1219
|
description: skill.description,
|
|
1220
|
-
sourceLabel: skill.isShared ? `${
|
|
1220
|
+
sourceLabel: skill.isShared ? `${chunkGFOEWPAP_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkGFOEWPAP_cjs.SKILL_SOURCE_LABELS[skill.source],
|
|
1221
1221
|
type: skill.type,
|
|
1222
1222
|
icon,
|
|
1223
1223
|
layout: view,
|
|
@@ -1252,7 +1252,7 @@ function ConnectedSkillsLibrary({
|
|
|
1252
1252
|
}
|
|
1253
1253
|
),
|
|
1254
1254
|
mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1255
|
-
|
|
1255
|
+
chunkGFOEWPAP_cjs.SkillGenerateForm,
|
|
1256
1256
|
{
|
|
1257
1257
|
icon,
|
|
1258
1258
|
onGenerate: (desc) => {
|
|
@@ -1279,11 +1279,11 @@ function ConnectedSkillsLibrary({
|
|
|
1279
1279
|
),
|
|
1280
1280
|
mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
|
|
1281
1281
|
mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1282
|
-
|
|
1282
|
+
chunkGFOEWPAP_cjs.SkillLibraryDetail,
|
|
1283
1283
|
{
|
|
1284
1284
|
skill: current,
|
|
1285
1285
|
icon,
|
|
1286
|
-
instructions: current.docExtId ? currentText ?
|
|
1286
|
+
instructions: current.docExtId ? currentText ? chunkGFOEWPAP_cjs.parseSkillFrontmatter(currentText, chunkGFOEWPAP_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
|
|
1287
1287
|
isLoading: !!current.docExtId && textLoading,
|
|
1288
1288
|
actions: {
|
|
1289
1289
|
onRun: () => onRun(current.slug),
|
|
@@ -1318,7 +1318,7 @@ function SkillEditor({
|
|
|
1318
1318
|
const [seeded, setSeeded] = react.useState(!isEditing);
|
|
1319
1319
|
const [nameError, setNameError] = react.useState(null);
|
|
1320
1320
|
if (isEditing && !seeded && text !== void 0) {
|
|
1321
|
-
const parsed =
|
|
1321
|
+
const parsed = chunkGFOEWPAP_cjs.parseSkillFrontmatter(text, chunkGFOEWPAP_cjs.SKILL_MAIN_FILENAME);
|
|
1322
1322
|
setDescription(parsed.description ?? "");
|
|
1323
1323
|
setBody(parsed.content ?? "");
|
|
1324
1324
|
setSeeded(true);
|
|
@@ -1332,15 +1332,15 @@ function SkillEditor({
|
|
|
1332
1332
|
notify14("Add a short description.", "error");
|
|
1333
1333
|
return;
|
|
1334
1334
|
}
|
|
1335
|
-
const slug =
|
|
1335
|
+
const slug = chunkGFOEWPAP_cjs.skillSlug(name);
|
|
1336
1336
|
try {
|
|
1337
|
-
await onSave(slug,
|
|
1337
|
+
await onSave(slug, chunkGFOEWPAP_cjs.serializeSkill({ name: slug, description, body }), isEditing);
|
|
1338
1338
|
} catch (err) {
|
|
1339
1339
|
notify14(errorText(err, "Could not save the skill"), "error");
|
|
1340
1340
|
}
|
|
1341
1341
|
};
|
|
1342
1342
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1343
|
-
|
|
1343
|
+
chunkGFOEWPAP_cjs.SkillEditForm,
|
|
1344
1344
|
{
|
|
1345
1345
|
name,
|
|
1346
1346
|
onNameChange: setName,
|
|
@@ -1376,9 +1376,9 @@ function ConnectedAgentCreator({
|
|
|
1376
1376
|
agent,
|
|
1377
1377
|
initialName,
|
|
1378
1378
|
onSaved,
|
|
1379
|
-
capabilities =
|
|
1380
|
-
templates =
|
|
1381
|
-
types =
|
|
1379
|
+
capabilities = chunkGFOEWPAP_cjs.DEFAULT_AGENT_CAPABILITIES,
|
|
1380
|
+
templates = chunkGFOEWPAP_cjs.DEFAULT_AGENT_TEMPLATES,
|
|
1381
|
+
types = chunkGFOEWPAP_cjs.DEFAULT_AGENT_TYPES,
|
|
1382
1382
|
canRevokeWorkspaces = false,
|
|
1383
1383
|
labels
|
|
1384
1384
|
}) {
|
|
@@ -1420,7 +1420,7 @@ function ConnectedAgentCreator({
|
|
|
1420
1420
|
const initialValues = react.useMemo(
|
|
1421
1421
|
() => ({
|
|
1422
1422
|
name: agent?.given_name ?? initialName ?? "",
|
|
1423
|
-
persona: isEdit ?
|
|
1423
|
+
persona: isEdit ? chunkGFOEWPAP_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
|
|
1424
1424
|
modelName: String(agents.AGENT_MODEL_NAME ?? ""),
|
|
1425
1425
|
capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
|
|
1426
1426
|
type: "builtin",
|
|
@@ -1439,7 +1439,7 @@ function ConnectedAgentCreator({
|
|
|
1439
1439
|
try {
|
|
1440
1440
|
let agentExtId = agent?.external_id ?? early?.id ?? "";
|
|
1441
1441
|
if (!agentExtId) {
|
|
1442
|
-
if (!
|
|
1442
|
+
if (!chunkGFOEWPAP_cjs.isValidAgentName(values.name)) {
|
|
1443
1443
|
notify14("Give the agent a name first.", "error");
|
|
1444
1444
|
return;
|
|
1445
1445
|
}
|
|
@@ -1475,7 +1475,7 @@ function ConnectedAgentCreator({
|
|
|
1475
1475
|
title: `agent-${name}`,
|
|
1476
1476
|
sections: {
|
|
1477
1477
|
Agents: {
|
|
1478
|
-
PERSONA:
|
|
1478
|
+
PERSONA: chunkGFOEWPAP_cjs.composePersona(name, values.persona),
|
|
1479
1479
|
...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
|
|
1480
1480
|
...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
|
|
1481
1481
|
ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
|
|
@@ -1498,7 +1498,7 @@ function ConnectedAgentCreator({
|
|
|
1498
1498
|
};
|
|
1499
1499
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1500
1500
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1501
|
-
|
|
1501
|
+
chunkGFOEWPAP_cjs.AgentCreator,
|
|
1502
1502
|
{
|
|
1503
1503
|
open: ready,
|
|
1504
1504
|
onOpenChange,
|
|
@@ -1514,11 +1514,11 @@ function ConnectedAgentCreator({
|
|
|
1514
1514
|
) : void 0,
|
|
1515
1515
|
revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
|
|
1516
1516
|
avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1517
|
-
|
|
1517
|
+
chunkGFOEWPAP_cjs.AgentAvatarField,
|
|
1518
1518
|
{
|
|
1519
1519
|
picture,
|
|
1520
1520
|
isBusy: avatarBusy,
|
|
1521
|
-
canGenerate: isEdit ||
|
|
1521
|
+
canGenerate: isEdit || chunkGFOEWPAP_cjs.isValidAgentName(values.name),
|
|
1522
1522
|
onGenerate: () => handleGenerateAvatar(values)
|
|
1523
1523
|
}
|
|
1524
1524
|
),
|
|
@@ -1570,7 +1570,7 @@ function ConnectedAgentCreator({
|
|
|
1570
1570
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
|
|
1571
1571
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
|
|
1572
1572
|
] }),
|
|
1573
|
-
connect && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1573
|
+
connect && /* @__PURE__ */ jsxRuntime.jsx(chunkGFOEWPAP_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
|
|
1574
1574
|
]
|
|
1575
1575
|
}
|
|
1576
1576
|
) })
|
|
@@ -1607,7 +1607,7 @@ function ConnectedWorkflowHistory({
|
|
|
1607
1607
|
const { openConversation } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
|
|
1608
1608
|
const { data: runs = [], isLoading } = react$1.useWorkflowRuns(workflow?.external_id);
|
|
1609
1609
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1610
|
-
|
|
1610
|
+
chunkGFOEWPAP_cjs.TaskRunsDialog,
|
|
1611
1611
|
{
|
|
1612
1612
|
inline,
|
|
1613
1613
|
hideHeader,
|
|
@@ -1643,7 +1643,7 @@ function ConnectedTaskActivityDialog({
|
|
|
1643
1643
|
const activity = react$1.useConversationActivity(conversationId, { live });
|
|
1644
1644
|
const { data: agents = [] } = react$1.useAgents();
|
|
1645
1645
|
const { userId } = chunkGFNELPDP_cjs.useConnectedWorkspace();
|
|
1646
|
-
const { members } =
|
|
1646
|
+
const { members } = chunkQ4BY2CQQ_cjs.useConnectedWorkspaceRole();
|
|
1647
1647
|
const renderPerson = react.useCallback(
|
|
1648
1648
|
(id) => {
|
|
1649
1649
|
const isMe = !!id && id === userId;
|
|
@@ -1659,7 +1659,7 @@ function ConnectedTaskActivityDialog({
|
|
|
1659
1659
|
[agents]
|
|
1660
1660
|
);
|
|
1661
1661
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1662
|
-
|
|
1662
|
+
chunkGFOEWPAP_cjs.TaskActivityDialog,
|
|
1663
1663
|
{
|
|
1664
1664
|
open: true,
|
|
1665
1665
|
onOpenChange: (open) => !open && onClose(),
|
|
@@ -1805,7 +1805,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
1805
1805
|
);
|
|
1806
1806
|
const conversation = conversations.data?.find((c) => c.external_id === threadId);
|
|
1807
1807
|
const steps = react.useMemo(
|
|
1808
|
-
() => chunkJSTKEZBS_cjs.workflowSteps(workflow).length > 0 ? chunkJSTKEZBS_cjs.workflowSteps(workflow) :
|
|
1808
|
+
() => chunkJSTKEZBS_cjs.workflowSteps(workflow).length > 0 ? chunkJSTKEZBS_cjs.workflowSteps(workflow) : chunkGFOEWPAP_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
|
|
1809
1809
|
[workflow, conversation?.plan?.steps]
|
|
1810
1810
|
);
|
|
1811
1811
|
const activity = react$1.useConversationActivity(threadId, { live: !!threadId });
|
|
@@ -1865,7 +1865,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
1865
1865
|
criteria: [],
|
|
1866
1866
|
max_passes: 3,
|
|
1867
1867
|
documents: [],
|
|
1868
|
-
steps:
|
|
1868
|
+
steps: chunkGFOEWPAP_cjs.toPlanSteps(workflow, {
|
|
1869
1869
|
inputs: values,
|
|
1870
1870
|
resolveWorkflow: options2.resolveWorkflow,
|
|
1871
1871
|
compose: options2.compose
|
|
@@ -1952,7 +1952,7 @@ function useWorkflowThread(workflow, options2 = {}) {
|
|
|
1952
1952
|
const anyRunning = Object.values(states).some((s) => s.status === "running");
|
|
1953
1953
|
const needsStart = !threadId || idle && !anyRunning;
|
|
1954
1954
|
const runError = idle ? conversation?.last_error ?? null : null;
|
|
1955
|
-
const view =
|
|
1955
|
+
const view = chunkGFOEWPAP_cjs.useWorkflowView({
|
|
1956
1956
|
steps,
|
|
1957
1957
|
states,
|
|
1958
1958
|
inputs,
|
|
@@ -2120,7 +2120,7 @@ function WorkflowWordDialog({
|
|
|
2120
2120
|
title: title ?? labels.wordTitle,
|
|
2121
2121
|
size: "xl",
|
|
2122
2122
|
testId: "workflow-word-dialog",
|
|
2123
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2123
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkQ4BY2CQQ_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
|
|
2124
2124
|
}
|
|
2125
2125
|
);
|
|
2126
2126
|
}
|
|
@@ -2429,7 +2429,7 @@ function ConnectedWorkflowRunner({
|
|
|
2429
2429
|
);
|
|
2430
2430
|
};
|
|
2431
2431
|
const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2432
|
-
|
|
2432
|
+
chunkGFOEWPAP_cjs.WorkflowRunner,
|
|
2433
2433
|
{
|
|
2434
2434
|
people,
|
|
2435
2435
|
...runnerProps,
|
|
@@ -2475,7 +2475,7 @@ function ConnectedWorkflowRunner({
|
|
|
2475
2475
|
) }),
|
|
2476
2476
|
inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2477
2477
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2478
|
-
|
|
2478
|
+
chunkGFOEWPAP_cjs.WorkflowStepBar,
|
|
2479
2479
|
{
|
|
2480
2480
|
run: view,
|
|
2481
2481
|
levels: chunkJSTKEZBS_cjs.stepLevels(view.steps),
|
|
@@ -2646,10 +2646,10 @@ function cascadeTagCombination(tags, previous, next) {
|
|
|
2646
2646
|
function tagCombinationMatches(combination, items) {
|
|
2647
2647
|
if (!isCombining(combination)) return void 0;
|
|
2648
2648
|
const pass = (list) => new Set(
|
|
2649
|
-
|
|
2649
|
+
chunkU6JQ4KMX_cjs.applyInvertedIndexFilter(
|
|
2650
2650
|
[...list],
|
|
2651
2651
|
combination,
|
|
2652
|
-
|
|
2652
|
+
chunkU6JQ4KMX_cjs.buildInvertedIndex(
|
|
2653
2653
|
[...list],
|
|
2654
2654
|
(item) => item.id,
|
|
2655
2655
|
(item) => item.tagIds
|
|
@@ -2766,7 +2766,7 @@ function ConnectedTagTable({
|
|
|
2766
2766
|
const fail = (fallback) => (e) => notify14(browser.refusalReason(e, fallback), "error");
|
|
2767
2767
|
const snapshot2 = (data) => {
|
|
2768
2768
|
const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
|
|
2769
|
-
const bytes =
|
|
2769
|
+
const bytes = chunk2FLWPM3B_cjs.tagTableDocx(data, {
|
|
2770
2770
|
title,
|
|
2771
2771
|
nameOf: (id) => people.find((p) => p.value === id)?.label
|
|
2772
2772
|
});
|
|
@@ -2775,7 +2775,7 @@ function ConnectedTagTable({
|
|
|
2775
2775
|
return { blob: new Blob([bytes], { type: chunkQT3A4PFC_cjs.DOCX_MIME_TYPE }), name };
|
|
2776
2776
|
};
|
|
2777
2777
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2778
|
-
|
|
2778
|
+
chunk2FLWPM3B_cjs.TagTable,
|
|
2779
2779
|
{
|
|
2780
2780
|
...props,
|
|
2781
2781
|
table,
|
|
@@ -2816,7 +2816,7 @@ function DocTagPassages({ docId, tagId, label, docOf, testId }) {
|
|
|
2816
2816
|
const [open, setOpen] = react.useState(false);
|
|
2817
2817
|
const doctag = docOf(docId)?.doctags?.find((dt) => dt.tag_ext_id === tagId);
|
|
2818
2818
|
const citations = react.useMemo(
|
|
2819
|
-
() =>
|
|
2819
|
+
() => chunkB3FMUFAW_cjs.toFactCitations(doctag?.citations) ?? [],
|
|
2820
2820
|
[doctag?.citations]
|
|
2821
2821
|
);
|
|
2822
2822
|
const { quoteFor, orderOf } = react$1.usePassageQuotes(
|
|
@@ -2825,7 +2825,7 @@ function DocTagPassages({ docId, tagId, label, docOf, testId }) {
|
|
|
2825
2825
|
const { openDocument } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
|
|
2826
2826
|
const viewingPassageId = react$1.useArbiSessionState((s) => s.viewingDocument?.passageId ?? null);
|
|
2827
2827
|
const id = testId ?? `doctag-passages-${docId}`;
|
|
2828
|
-
const refOf = (cited) =>
|
|
2828
|
+
const refOf = (cited) => chunkB3FMUFAW_cjs.citedVersionRef(cited.doc_ext_id, cited.version, docOf(cited.doc_ext_id)?.current_version);
|
|
2829
2829
|
const ordered = (cited) => [...cited.chunks].sort((a, b) => {
|
|
2830
2830
|
const oa = orderOf(a.chunk_id);
|
|
2831
2831
|
const ob = orderOf(b.chunk_id);
|
|
@@ -2856,7 +2856,7 @@ function DocTagPassages({ docId, tagId, label, docOf, testId }) {
|
|
|
2856
2856
|
const doc = docOf(cited.doc_ext_id);
|
|
2857
2857
|
const passages = ordered(cited);
|
|
2858
2858
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2859
|
-
|
|
2859
|
+
chunkB3FMUFAW_cjs.FactSourceGroup,
|
|
2860
2860
|
{
|
|
2861
2861
|
docId: cited.doc_ext_id,
|
|
2862
2862
|
hasPassages: passages.length > 0,
|
|
@@ -2913,9 +2913,9 @@ function GlossaryExport({ labelId, nameOf }) {
|
|
|
2913
2913
|
const narrowed = agreements.find((a) => a.id === narrowTo);
|
|
2914
2914
|
const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
|
|
2915
2915
|
const download = (format) => {
|
|
2916
|
-
const entries =
|
|
2917
|
-
const blob = format === "docx" ? new Blob([
|
|
2918
|
-
documentTools.downloadBlob(blob,
|
|
2916
|
+
const entries = chunk2FLWPM3B_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
|
|
2917
|
+
const blob = format === "docx" ? new Blob([chunk2FLWPM3B_cjs.glossaryDocx(entries, { title })], { type: chunkQT3A4PFC_cjs.DOCX_MIME_TYPE }) : new Blob([chunk2FLWPM3B_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
|
|
2918
|
+
documentTools.downloadBlob(blob, chunk2FLWPM3B_cjs.glossaryFileName(title, format));
|
|
2919
2919
|
};
|
|
2920
2920
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
|
|
2921
2921
|
agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3006,7 +3006,7 @@ function TagFilterChips({
|
|
|
3006
3006
|
const name = (id) => tags.find((t) => t.external_id === id)?.name ?? id;
|
|
3007
3007
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", "data-testid": "tags-filter-chips", children: [
|
|
3008
3008
|
set.map(([id, state]) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3009
|
-
|
|
3009
|
+
chunkU6JQ4KMX_cjs.FilterChip,
|
|
3010
3010
|
{
|
|
3011
3011
|
label: name(id),
|
|
3012
3012
|
state,
|
|
@@ -3134,7 +3134,7 @@ function KindSection({
|
|
|
3134
3134
|
{
|
|
3135
3135
|
testId: `tags-kind-${kind}`,
|
|
3136
3136
|
title: ui.tagKindTitle(kind, { plural: true }),
|
|
3137
|
-
description:
|
|
3137
|
+
description: chunk2FLWPM3B_cjs.tagKindDescription(kind),
|
|
3138
3138
|
actions: picker,
|
|
3139
3139
|
children: [
|
|
3140
3140
|
browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3145,9 +3145,9 @@ function KindSection({
|
|
|
3145
3145
|
children: [
|
|
3146
3146
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
|
|
3147
3147
|
"Extracting ",
|
|
3148
|
-
|
|
3148
|
+
chunk2FLWPM3B_cjs.entitiesPhrase().toLowerCase(),
|
|
3149
3149
|
" from ",
|
|
3150
|
-
|
|
3150
|
+
chunk2FLWPM3B_cjs.documentCount(extractingCount),
|
|
3151
3151
|
"\u2026"
|
|
3152
3152
|
]
|
|
3153
3153
|
}
|
|
@@ -3165,7 +3165,7 @@ function KindSection({
|
|
|
3165
3165
|
onOpenDocument: (id) => openDocument(id),
|
|
3166
3166
|
onOpenFact: ctx.onOpenFact,
|
|
3167
3167
|
onOpenThread: (id) => openConversation(id),
|
|
3168
|
-
labels:
|
|
3168
|
+
labels: chunk2FLWPM3B_cjs.tagTableLabels(kind),
|
|
3169
3169
|
testId: `tags-table-${kind}`
|
|
3170
3170
|
}
|
|
3171
3171
|
)
|
|
@@ -3267,12 +3267,12 @@ function TagSection({
|
|
|
3267
3267
|
onOpenDocument: (id) => openDocument(id),
|
|
3268
3268
|
onOpenFact: ctx.onOpenFact,
|
|
3269
3269
|
onOpenThread: (id) => openConversation(id),
|
|
3270
|
-
labels:
|
|
3270
|
+
labels: chunk2FLWPM3B_cjs.tagTableLabels(tag.kind),
|
|
3271
3271
|
testId: "tags-rows"
|
|
3272
3272
|
}
|
|
3273
3273
|
),
|
|
3274
3274
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3275
|
-
|
|
3275
|
+
chunk2FLWPM3B_cjs.TagDetail,
|
|
3276
3276
|
{
|
|
3277
3277
|
row: detailRow && narrowTagRow(detailRow, ctx.filter.matches),
|
|
3278
3278
|
fields: schema.data?.fields ?? [],
|
|
@@ -3284,10 +3284,10 @@ function TagSection({
|
|
|
3284
3284
|
onOpenDocument: (id) => openDocument(id),
|
|
3285
3285
|
onOpenFact: ctx.onOpenFact,
|
|
3286
3286
|
onOpenThread: (id) => openConversation(id),
|
|
3287
|
-
noteLabel:
|
|
3287
|
+
noteLabel: chunk2FLWPM3B_cjs.tagNoteLabel(tag.kind),
|
|
3288
3288
|
noteIsValue: tag.kind === "annotation",
|
|
3289
3289
|
renderPassages: (d, label) => renderPassages(d.doc_ext_id, label),
|
|
3290
|
-
labels:
|
|
3290
|
+
labels: chunk2FLWPM3B_cjs.tagDetailLabels(),
|
|
3291
3291
|
testId: "tags-detail"
|
|
3292
3292
|
}
|
|
3293
3293
|
)
|
|
@@ -3376,7 +3376,7 @@ function ConnectedTagsPage({
|
|
|
3376
3376
|
const onDelete = async (t) => {
|
|
3377
3377
|
const nested = browser.getChildTags([...tags], t.external_id);
|
|
3378
3378
|
const uses = browser.tagUseCount(t);
|
|
3379
|
-
const n2 =
|
|
3379
|
+
const n2 = chunk2FLWPM3B_cjs.tagsPageNouns();
|
|
3380
3380
|
const tagNoun = (count) => (count === 1 ? n2.tag : n2.tags).toLowerCase();
|
|
3381
3381
|
const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
|
|
3382
3382
|
const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
|
|
@@ -3397,16 +3397,16 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
3397
3397
|
try {
|
|
3398
3398
|
await extract.mutateAsync(docIds);
|
|
3399
3399
|
notify14(
|
|
3400
|
-
`Extracting ${
|
|
3400
|
+
`Extracting ${chunk2FLWPM3B_cjs.entitiesPhrase().toLowerCase()} from ${chunk2FLWPM3B_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
|
|
3401
3401
|
"info"
|
|
3402
3402
|
);
|
|
3403
3403
|
} catch (error) {
|
|
3404
|
-
notify14(browser.refusalReason(error, `Could not extract ${
|
|
3404
|
+
notify14(browser.refusalReason(error, `Could not extract ${chunk2FLWPM3B_cjs.entitiesPhrase().toLowerCase()}`), "error");
|
|
3405
3405
|
throw error;
|
|
3406
3406
|
}
|
|
3407
3407
|
};
|
|
3408
3408
|
const picker = /* @__PURE__ */ jsxRuntime.jsx(
|
|
3409
|
-
|
|
3409
|
+
chunk2FLWPM3B_cjs.TagPicker,
|
|
3410
3410
|
{
|
|
3411
3411
|
tags: viewTags,
|
|
3412
3412
|
selectedId: tag?.external_id,
|
|
@@ -3420,10 +3420,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
3420
3420
|
onOpenTag: openTag,
|
|
3421
3421
|
onOpenFact
|
|
3422
3422
|
};
|
|
3423
|
-
const n =
|
|
3423
|
+
const n = chunk2FLWPM3B_cjs.tagsPageNouns();
|
|
3424
3424
|
const action = view === "person" || view === "organisation" ? {
|
|
3425
3425
|
label: "Extract",
|
|
3426
|
-
title: `Extract ${
|
|
3426
|
+
title: `Extract ${chunk2FLWPM3B_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
|
|
3427
3427
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
|
|
3428
3428
|
run: () => setExtracting(true),
|
|
3429
3429
|
testId: "tags-extract-entities"
|
|
@@ -3570,7 +3570,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
3570
3570
|
onCreated: openTag
|
|
3571
3571
|
}),
|
|
3572
3572
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3573
|
-
|
|
3573
|
+
chunk2FLWPM3B_cjs.ExtractEntitiesDialog,
|
|
3574
3574
|
{
|
|
3575
3575
|
open: extracting,
|
|
3576
3576
|
onOpenChange: setExtracting,
|
|
@@ -3631,7 +3631,7 @@ function FactSourcesPopover({
|
|
|
3631
3631
|
reset();
|
|
3632
3632
|
}
|
|
3633
3633
|
};
|
|
3634
|
-
const refOf = (docId) =>
|
|
3634
|
+
const refOf = (docId) => chunkB3FMUFAW_cjs.citedVersionRef(
|
|
3635
3635
|
docId,
|
|
3636
3636
|
citations.find((d) => d.doc_ext_id === docId)?.version,
|
|
3637
3637
|
citedDocs?.[docId]?.current_version
|
|
@@ -3661,7 +3661,7 @@ function FactSourcesPopover({
|
|
|
3661
3661
|
const olderVersion = refOf(docId) !== docId ? refOf(docId).split("@v")[1] : null;
|
|
3662
3662
|
const cited = passagesOf(docId);
|
|
3663
3663
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3664
|
-
|
|
3664
|
+
chunkB3FMUFAW_cjs.FactSourceGroup,
|
|
3665
3665
|
{
|
|
3666
3666
|
docId,
|
|
3667
3667
|
isViewing,
|
|
@@ -3730,8 +3730,8 @@ function FactMarkdownEditor({
|
|
|
3730
3730
|
citationContainer,
|
|
3731
3731
|
"data-testid": dataTestId
|
|
3732
3732
|
}) {
|
|
3733
|
-
const sources = react.useMemo(() =>
|
|
3734
|
-
const docIds =
|
|
3733
|
+
const sources = react.useMemo(() => chunkB3FMUFAW_cjs.toFactCitations(citations) ?? [], [citations]);
|
|
3734
|
+
const docIds = chunkB3FMUFAW_cjs.docIdsOf(sources);
|
|
3735
3735
|
const hasSources = docIds.length > 0;
|
|
3736
3736
|
const { quoteFor, orderOf } = react$1.usePassageQuotes(
|
|
3737
3737
|
react.useMemo(() => sources.filter((d) => d.chunks.length > 0).map((d) => d.doc_ext_id), [sources])
|
|
@@ -3750,7 +3750,7 @@ function FactMarkdownEditor({
|
|
|
3750
3750
|
const editorRef = react.useRef(null);
|
|
3751
3751
|
react.useEffect(() => {
|
|
3752
3752
|
if (!editorRef.current) return;
|
|
3753
|
-
return
|
|
3753
|
+
return chunkB3FMUFAW_cjs.enableFactTableColumnResize(editorRef.current);
|
|
3754
3754
|
}, []);
|
|
3755
3755
|
react.useEffect(() => {
|
|
3756
3756
|
if (!editing) return;
|
|
@@ -3765,14 +3765,14 @@ function FactMarkdownEditor({
|
|
|
3765
3765
|
return () => document.removeEventListener("pointerdown", onPointerDown, true);
|
|
3766
3766
|
}, [editing]);
|
|
3767
3767
|
const removeDoc = (docExtId) => {
|
|
3768
|
-
const remaining =
|
|
3768
|
+
const remaining = chunkB3FMUFAW_cjs.withoutDoc(sources, docExtId);
|
|
3769
3769
|
if (!remaining) setSourcesOpen(false);
|
|
3770
3770
|
onChange(value, remaining);
|
|
3771
3771
|
};
|
|
3772
3772
|
const citeDocument = (docExtId) => onCiteDocument(docExtId, { toggle: false });
|
|
3773
3773
|
const handleToggleDoc = (docExtId) => {
|
|
3774
3774
|
if (docIds.includes(docExtId)) removeDoc(docExtId);
|
|
3775
|
-
else onChange(value,
|
|
3775
|
+
else onChange(value, chunkB3FMUFAW_cjs.withDoc(sources, docExtId));
|
|
3776
3776
|
};
|
|
3777
3777
|
const expandToggle = /* @__PURE__ */ jsxRuntime.jsx(
|
|
3778
3778
|
"button",
|
|
@@ -3991,7 +3991,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
3991
3991
|
const [composing, setComposing] = react.useState(false);
|
|
3992
3992
|
const [draft, setDraft] = react.useState("");
|
|
3993
3993
|
const [baselineText, setBaselineText] = react.useState("");
|
|
3994
|
-
const [draftDateFields, setDraftDateFields] = react.useState(
|
|
3994
|
+
const [draftDateFields, setDraftDateFields] = react.useState(chunkB3FMUFAW_cjs.EMPTY_FACT_DATE_FIELDS);
|
|
3995
3995
|
const [composerError, setComposerError] = react.useState(null);
|
|
3996
3996
|
const [editingId, setEditingId] = react.useState(null);
|
|
3997
3997
|
const [draftShared, setDraftShared] = react.useState(false);
|
|
@@ -4048,9 +4048,9 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4048
4048
|
if (!collector || !picked?.length || !collectingFor || !docBeingCollected) return;
|
|
4049
4049
|
const docExtId = docBeingCollected;
|
|
4050
4050
|
const apply = (prev) => {
|
|
4051
|
-
let next =
|
|
4051
|
+
let next = chunkB3FMUFAW_cjs.toFactCitations(prev);
|
|
4052
4052
|
for (const pending of picked) {
|
|
4053
|
-
next =
|
|
4053
|
+
next = chunkB3FMUFAW_cjs.withChunk(next, docExtId, { chunk_id: pending.chunk_id, page: pending.page ?? null });
|
|
4054
4054
|
}
|
|
4055
4055
|
return next ?? [];
|
|
4056
4056
|
};
|
|
@@ -4061,8 +4061,8 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4061
4061
|
react.useEffect(() => {
|
|
4062
4062
|
if (!collector || !unpicked?.length || !collectingFor) return;
|
|
4063
4063
|
setDraftCitations((prev) => {
|
|
4064
|
-
let next =
|
|
4065
|
-
for (const chunkId of unpicked) next =
|
|
4064
|
+
let next = chunkB3FMUFAW_cjs.toFactCitations(prev);
|
|
4065
|
+
for (const chunkId of unpicked) next = chunkB3FMUFAW_cjs.withoutChunk(next, chunkId);
|
|
4066
4066
|
return next;
|
|
4067
4067
|
});
|
|
4068
4068
|
collector.consumeUnpicked();
|
|
@@ -4072,7 +4072,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4072
4072
|
setBaselineText("");
|
|
4073
4073
|
setDraftCitations(null);
|
|
4074
4074
|
setDraftTagIds([]);
|
|
4075
|
-
setDraftDateFields(
|
|
4075
|
+
setDraftDateFields(chunkB3FMUFAW_cjs.EMPTY_FACT_DATE_FIELDS);
|
|
4076
4076
|
setDraftShared(false);
|
|
4077
4077
|
setDraftConfirmed(true);
|
|
4078
4078
|
setComposerError(null);
|
|
@@ -4086,7 +4086,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4086
4086
|
setBaselineText("");
|
|
4087
4087
|
setDraftCitations(null);
|
|
4088
4088
|
setDraftTagIds([]);
|
|
4089
|
-
setDraftDateFields(
|
|
4089
|
+
setDraftDateFields(chunkB3FMUFAW_cjs.EMPTY_FACT_DATE_FIELDS);
|
|
4090
4090
|
setDraftShared(false);
|
|
4091
4091
|
setDraftConfirmed(true);
|
|
4092
4092
|
setComposerError(null);
|
|
@@ -4097,7 +4097,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4097
4097
|
const content = chunkRC25WMVB_cjs.decodeWhitespaceEntities(draft).trim();
|
|
4098
4098
|
if (!content) return;
|
|
4099
4099
|
setComposerError(null);
|
|
4100
|
-
const span =
|
|
4100
|
+
const span = chunkB3FMUFAW_cjs.factDateFieldsToSpan(draftDateFields);
|
|
4101
4101
|
try {
|
|
4102
4102
|
let saved;
|
|
4103
4103
|
if (editingId) {
|
|
@@ -4135,7 +4135,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4135
4135
|
setBaselineText(draft);
|
|
4136
4136
|
setDraftCitations(saved.citations ?? null);
|
|
4137
4137
|
setDraftTagIds(saved.tags.map((t) => t.tag_ext_id));
|
|
4138
|
-
setDraftDateFields(
|
|
4138
|
+
setDraftDateFields(chunkB3FMUFAW_cjs.factDateSpanToFields(saved.date_start, saved.date_end, saved.timezone));
|
|
4139
4139
|
setDraftShared(saved.shared ?? false);
|
|
4140
4140
|
setDraftConfirmed(saved.confirmed ?? true);
|
|
4141
4141
|
}
|
|
@@ -4160,7 +4160,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4160
4160
|
setBaselineText(m.text);
|
|
4161
4161
|
setDraftCitations(m.citations ?? null);
|
|
4162
4162
|
setDraftTagIds(m.tags.map((t) => t.tag_ext_id));
|
|
4163
|
-
setDraftDateFields(
|
|
4163
|
+
setDraftDateFields(chunkB3FMUFAW_cjs.factDateSpanToFields(m.date_start, m.date_end, m.timezone));
|
|
4164
4164
|
setDraftShared(m.shared ?? false);
|
|
4165
4165
|
setDraftConfirmed(m.confirmed ?? true);
|
|
4166
4166
|
setComposerError(null);
|
|
@@ -4174,7 +4174,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
|
|
|
4174
4174
|
const textChanged = draft.trim() !== baselineText.trim();
|
|
4175
4175
|
const citationsChanged = JSON.stringify(draftCitations ?? null) !== JSON.stringify(f.citations ?? null);
|
|
4176
4176
|
const tagsChanged = JSON.stringify([...draftTagIds].sort()) !== JSON.stringify(f.tags.map((t) => t.tag_ext_id).sort());
|
|
4177
|
-
const dateChanged = JSON.stringify(draftDateFields) !== JSON.stringify(
|
|
4177
|
+
const dateChanged = JSON.stringify(draftDateFields) !== JSON.stringify(chunkB3FMUFAW_cjs.factDateSpanToFields(f.date_start, f.date_end, f.timezone));
|
|
4178
4178
|
const sharedChanged = draftShared !== (f.shared ?? false);
|
|
4179
4179
|
const confirmedChanged = draftConfirmed !== (f.confirmed ?? true);
|
|
4180
4180
|
return textChanged || citationsChanged || tagsChanged || dateChanged || sharedChanged || confirmedChanged;
|
|
@@ -4267,10 +4267,10 @@ function useFactFilters(notes, view, chat) {
|
|
|
4267
4267
|
const factFilters = view.filters;
|
|
4268
4268
|
const setFactFilters = view.setFilters;
|
|
4269
4269
|
const quickFilteredNotes = react.useMemo(
|
|
4270
|
-
() =>
|
|
4270
|
+
() => chunkU6JQ4KMX_cjs.applyInvertedIndexFilter(
|
|
4271
4271
|
notes,
|
|
4272
4272
|
factFilters,
|
|
4273
|
-
|
|
4273
|
+
chunkU6JQ4KMX_cjs.buildInvertedIndex(
|
|
4274
4274
|
notes,
|
|
4275
4275
|
(f) => f.external_id,
|
|
4276
4276
|
(f) => Object.entries(getFactFilterAttributes(f)).filter(([id, on]) => on && factFilterIds.includes(id)).map(([id]) => id)
|
|
@@ -4348,7 +4348,7 @@ function useFactFilters(notes, view, chat) {
|
|
|
4348
4348
|
const makeTagPicker = react.useCallback(
|
|
4349
4349
|
(selected, setSelected, opts) => {
|
|
4350
4350
|
const applied = new Set(selected);
|
|
4351
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4351
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkB3FMUFAW_cjs.FactFieldRow, { label: "Labels", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4352
4352
|
chunkYAEXSCUW_cjs.FieldLabelsSelect,
|
|
4353
4353
|
{
|
|
4354
4354
|
options: labelOptions,
|
|
@@ -4539,14 +4539,14 @@ function useFactSelection(notes, gridApiRef, setFactTags, chat) {
|
|
|
4539
4539
|
}
|
|
4540
4540
|
function renderSourcesCell(params) {
|
|
4541
4541
|
const fact = params.data;
|
|
4542
|
-
const count =
|
|
4542
|
+
const count = chunkB3FMUFAW_cjs.sourceDocCount(fact);
|
|
4543
4543
|
if (!fact || count === 0) return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/40", children: "\u2014" });
|
|
4544
4544
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4545
4545
|
"button",
|
|
4546
4546
|
{
|
|
4547
4547
|
type: "button",
|
|
4548
4548
|
onClick: () => params.context?.openEdit?.(fact),
|
|
4549
|
-
title:
|
|
4549
|
+
title: chunkB3FMUFAW_cjs.DEFAULT_FACT_COLUMN_LABELS.sourcedFrom(count),
|
|
4550
4550
|
"data-testid": `facts-grid-sources-${fact.external_id}`,
|
|
4551
4551
|
className: "inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",
|
|
4552
4552
|
children: [
|
|
@@ -4603,14 +4603,14 @@ function createFactPageColumns({
|
|
|
4603
4603
|
onToggleConfirmed,
|
|
4604
4604
|
onToggleShared
|
|
4605
4605
|
}) {
|
|
4606
|
-
const columns =
|
|
4606
|
+
const columns = chunkB3FMUFAW_cjs.createFactColumns({
|
|
4607
4607
|
onToggleInChat,
|
|
4608
4608
|
isInChat,
|
|
4609
4609
|
renderHeader: (params, colId) => /* @__PURE__ */ jsxRuntime.jsx(FactHeader, { params, colId }),
|
|
4610
4610
|
renderRowActions: (fact, params) => {
|
|
4611
4611
|
const ctx = params.context;
|
|
4612
4612
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4613
|
-
|
|
4613
|
+
chunkB3FMUFAW_cjs.FactRowActions,
|
|
4614
4614
|
{
|
|
4615
4615
|
onEdit: () => ctx?.openEdit?.(fact),
|
|
4616
4616
|
canEdit: ctx?.canRewrite?.(fact) !== false,
|
|
@@ -4740,7 +4740,7 @@ function useFactsGrid({
|
|
|
4740
4740
|
);
|
|
4741
4741
|
const renderFactTags = react.useCallback(
|
|
4742
4742
|
(fact, rowHeight) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4743
|
-
|
|
4743
|
+
chunkB3FMUFAW_cjs.FactLabelsCell,
|
|
4744
4744
|
{
|
|
4745
4745
|
options: labelOptions,
|
|
4746
4746
|
selectedIds: fact.tags.map((t) => t.tag_ext_id),
|
|
@@ -4872,7 +4872,7 @@ var citedDocIdsCache = /* @__PURE__ */ new WeakMap();
|
|
|
4872
4872
|
function citedDocIds(m) {
|
|
4873
4873
|
const cached = citedDocIdsCache.get(m);
|
|
4874
4874
|
if (cached) return cached;
|
|
4875
|
-
const ids =
|
|
4875
|
+
const ids = chunkB3FMUFAW_cjs.docIdsOf(chunkB3FMUFAW_cjs.toFactCitations(m.citations));
|
|
4876
4876
|
citedDocIdsCache.set(m, ids);
|
|
4877
4877
|
return ids;
|
|
4878
4878
|
}
|
|
@@ -4964,7 +4964,7 @@ function ConnectedFactsPage({
|
|
|
4964
4964
|
const citedDocs = react.useMemo(() => {
|
|
4965
4965
|
const wanted = /* @__PURE__ */ new Set([
|
|
4966
4966
|
...notes.flatMap((n) => citedDocIds(n)),
|
|
4967
|
-
...
|
|
4967
|
+
...chunkB3FMUFAW_cjs.docIdsOf(chunkB3FMUFAW_cjs.toFactCitations(composer.draftCitations))
|
|
4968
4968
|
]);
|
|
4969
4969
|
return Object.fromEntries(
|
|
4970
4970
|
documents.filter((d) => wanted.has(d.external_id)).map((d) => [d.external_id, d])
|
|
@@ -5018,7 +5018,7 @@ function ConnectedFactsPage({
|
|
|
5018
5018
|
};
|
|
5019
5019
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: setFactSection, className: "relative flex h-full flex-col", "data-testid": "facts-page", children: [
|
|
5020
5020
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5021
|
-
|
|
5021
|
+
chunkB3FMUFAW_cjs.FactsToolbar,
|
|
5022
5022
|
{
|
|
5023
5023
|
count: filteredNotes.length,
|
|
5024
5024
|
hasActiveFilters: filters.hasActiveFilters,
|
|
@@ -5047,7 +5047,7 @@ function ConnectedFactsPage({
|
|
|
5047
5047
|
onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
|
|
5048
5048
|
navSlotRef: setNavSlot,
|
|
5049
5049
|
navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5050
|
-
|
|
5050
|
+
chunk2FLWPM3B_cjs.GridRowNavigator,
|
|
5051
5051
|
{
|
|
5052
5052
|
gridApi,
|
|
5053
5053
|
selectedId: editingId,
|
|
@@ -5058,7 +5058,7 @@ function ConnectedFactsPage({
|
|
|
5058
5058
|
) : null,
|
|
5059
5059
|
showToolbarRow: view !== "smart_search",
|
|
5060
5060
|
tools: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5061
|
-
view === "table" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5061
|
+
view === "table" && /* @__PURE__ */ jsxRuntime.jsx(chunkB3FMUFAW_cjs.FactsFieldsButton, { getGridApi: () => gridApiRef.current }),
|
|
5062
5062
|
view === "table" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5063
5063
|
chunkYAEXSCUW_cjs.RowDensityControl,
|
|
5064
5064
|
{
|
|
@@ -5079,7 +5079,7 @@ function ConnectedFactsPage({
|
|
|
5079
5079
|
}
|
|
5080
5080
|
),
|
|
5081
5081
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5082
|
-
|
|
5082
|
+
chunkB3FMUFAW_cjs.FactComposer,
|
|
5083
5083
|
{
|
|
5084
5084
|
isOpen: composing,
|
|
5085
5085
|
isEditing: !!editingId,
|
|
@@ -5112,7 +5112,7 @@ function ConnectedFactsPage({
|
|
|
5112
5112
|
reserveSourcesSpace: view === "gantt" || view === "calendar",
|
|
5113
5113
|
citationContainer: factSection,
|
|
5114
5114
|
renderDocumentPicker: (onSelect, selectedIds, onOpen, sourcesToggle, sourcesOpen) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
5115
|
-
|
|
5115
|
+
chunkB3FMUFAW_cjs.FactSourcesRow,
|
|
5116
5116
|
{
|
|
5117
5117
|
toggle: sourcesToggle,
|
|
5118
5118
|
picker: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -5158,7 +5158,7 @@ function ConnectedFactsPage({
|
|
|
5158
5158
|
}
|
|
5159
5159
|
),
|
|
5160
5160
|
dateInput: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5161
|
-
|
|
5161
|
+
chunkB3FMUFAW_cjs.FactDateInput,
|
|
5162
5162
|
{
|
|
5163
5163
|
value: composer.draftDateFields,
|
|
5164
5164
|
onChange: composer.setDraftDateFields,
|
|
@@ -5168,13 +5168,13 @@ function ConnectedFactsPage({
|
|
|
5168
5168
|
}
|
|
5169
5169
|
),
|
|
5170
5170
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "scrollbar-subtle flex-1 overflow-y-auto pb-2", children: [
|
|
5171
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5171
|
+
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkB3FMUFAW_cjs.FactsLoading, {}) : isError ? /* @__PURE__ */ jsxRuntime.jsx(chunkB3FMUFAW_cjs.FactsLoadError, { onRetry: () => refetch() }) : smartSearch ? (
|
|
5172
5172
|
// Searches facts only (never documents). Kept before the empty-state guard so the
|
|
5173
5173
|
// search UI is reachable even in an empty workspace.
|
|
5174
5174
|
smartSearch({ selectedFactId: editingId, onOpenFact: openFactById })
|
|
5175
5175
|
) : notes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-full flex-col items-center justify-center", children: [
|
|
5176
5176
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5177
|
-
|
|
5177
|
+
chunkB3FMUFAW_cjs.FactsEmptyState,
|
|
5178
5178
|
{
|
|
5179
5179
|
onUseExample: (text) => {
|
|
5180
5180
|
composer.setDraft(text);
|
|
@@ -5185,7 +5185,7 @@ function ConnectedFactsPage({
|
|
|
5185
5185
|
),
|
|
5186
5186
|
emptyStateExtra
|
|
5187
5187
|
] }) : view === "calendar" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5188
|
-
|
|
5188
|
+
chunkB3FMUFAW_cjs.FactsCalendar,
|
|
5189
5189
|
{
|
|
5190
5190
|
facts: filteredNotes,
|
|
5191
5191
|
onSelect: (n) => openEditIfAllowed(n),
|
|
@@ -5194,7 +5194,7 @@ function ConnectedFactsPage({
|
|
|
5194
5194
|
navigatorTotal: filteredNotes.length
|
|
5195
5195
|
}
|
|
5196
5196
|
) : view === "gantt" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5197
|
-
|
|
5197
|
+
chunkB3FMUFAW_cjs.FactsGanttPane,
|
|
5198
5198
|
{
|
|
5199
5199
|
items: ganttItems,
|
|
5200
5200
|
labelWidth: pageView.labelWidth,
|
|
@@ -5244,7 +5244,7 @@ function ConnectedFactsPage({
|
|
|
5244
5244
|
)
|
|
5245
5245
|
] }),
|
|
5246
5246
|
selectable && notes.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5247
|
-
|
|
5247
|
+
chunkB3FMUFAW_cjs.FactsBulkBar,
|
|
5248
5248
|
{
|
|
5249
5249
|
count: selection.selectedFacts.length,
|
|
5250
5250
|
onClear: selection.clearSelection,
|
|
@@ -5364,13 +5364,13 @@ function ConnectedProfileCard({
|
|
|
5364
5364
|
}
|
|
5365
5365
|
});
|
|
5366
5366
|
const display = profile?.fullName || "Unnamed";
|
|
5367
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5367
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: [
|
|
5368
5368
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5369
|
-
|
|
5369
|
+
chunkU6JQ4KMX_cjs.ProfileCard,
|
|
5370
5370
|
{
|
|
5371
5371
|
avatar: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5372
5372
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5373
|
-
|
|
5373
|
+
chunkU6JQ4KMX_cjs.AvatarPicker,
|
|
5374
5374
|
{
|
|
5375
5375
|
pictureUrl: profile?.picture,
|
|
5376
5376
|
initials: chunkKDG6FER6_cjs.initials(display),
|
|
@@ -5417,9 +5417,9 @@ function ConnectedIdentityVerification({
|
|
|
5417
5417
|
onNameAccepted: () => notify14("Name updated to match your ID", "success")
|
|
5418
5418
|
});
|
|
5419
5419
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5420
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5420
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.IdentityVerificationCard, { flow, labels, onManageBilling }),
|
|
5421
5421
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5422
|
-
|
|
5422
|
+
chunkU6JQ4KMX_cjs.IdentityVerificationDialog,
|
|
5423
5423
|
{
|
|
5424
5424
|
flow,
|
|
5425
5425
|
accountName: profile?.fullName ?? "",
|
|
@@ -5432,7 +5432,7 @@ function ConnectedIdentityVerification({
|
|
|
5432
5432
|
function ConnectedRequireVerified({ children, labels }) {
|
|
5433
5433
|
const { data: profile } = react$1.useProfile();
|
|
5434
5434
|
const flow = react$1.useIdentityVerification();
|
|
5435
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5435
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.RequireVerified, { flow, accountName: profile?.fullName ?? "", labels, children });
|
|
5436
5436
|
}
|
|
5437
5437
|
function defaultUnmetPasswordRequirement(password) {
|
|
5438
5438
|
if (password.length < 8) return "Minimum 8 characters";
|
|
@@ -5465,7 +5465,7 @@ function ConnectedPasswordChangeDialog({
|
|
|
5465
5465
|
onRecoveryComplete
|
|
5466
5466
|
});
|
|
5467
5467
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5468
|
-
|
|
5468
|
+
chunkU6JQ4KMX_cjs.PasswordChangeDialog,
|
|
5469
5469
|
{
|
|
5470
5470
|
open,
|
|
5471
5471
|
onClose: form.onCancel,
|
|
@@ -5491,10 +5491,10 @@ function ConnectedSecuritySection({
|
|
|
5491
5491
|
children
|
|
5492
5492
|
}) {
|
|
5493
5493
|
const [open, setOpen] = react.useState(false);
|
|
5494
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5495
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5494
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
|
|
5495
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsCard, { padding: "sm", children: [
|
|
5496
5496
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5497
|
-
|
|
5497
|
+
chunkU6JQ4KMX_cjs.SettingsActionRow,
|
|
5498
5498
|
{
|
|
5499
5499
|
title: "Change password",
|
|
5500
5500
|
description: "Used to sign in and to unlock your account key. Changing it keeps everything readable and re-encrypts nothing.",
|
|
@@ -5515,23 +5515,23 @@ function ConnectedSecuritySection({
|
|
|
5515
5515
|
] });
|
|
5516
5516
|
}
|
|
5517
5517
|
function ConnectedNotificationPreferences({
|
|
5518
|
-
categories =
|
|
5518
|
+
categories = chunkU6JQ4KMX_cjs.EMAIL_NOTIFICATION_CATEGORIES,
|
|
5519
5519
|
title = "Notifications"
|
|
5520
5520
|
}) {
|
|
5521
5521
|
const keys = react.useMemo(
|
|
5522
|
-
() => categories ===
|
|
5522
|
+
() => categories === chunkU6JQ4KMX_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunkU6JQ4KMX_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
|
|
5523
5523
|
[categories]
|
|
5524
5524
|
);
|
|
5525
5525
|
const prefs = react$1.useNotificationPreferences(keys);
|
|
5526
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5527
|
-
|
|
5526
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5527
|
+
chunkU6JQ4KMX_cjs.NotificationCategoryList,
|
|
5528
5528
|
{
|
|
5529
5529
|
masterId: "emailNotifications",
|
|
5530
5530
|
masterTitle: "Email Notifications",
|
|
5531
5531
|
masterDescription: "Email me about activity when I\u2019m away",
|
|
5532
5532
|
masterChecked: prefs.masterChecked,
|
|
5533
5533
|
onMasterChange: prefs.setAll,
|
|
5534
|
-
categories:
|
|
5534
|
+
categories: chunkU6JQ4KMX_cjs.toNotificationCategories(prefs.checked, categories),
|
|
5535
5535
|
onCategoryChange: prefs.setCategory
|
|
5536
5536
|
}
|
|
5537
5537
|
) }) });
|
|
@@ -5544,14 +5544,14 @@ function ConnectedSessionsRow({
|
|
|
5544
5544
|
const sessions = react$1.useSessions({ enabled: open });
|
|
5545
5545
|
const currentSessionId = react$1.useCurrentSessionId();
|
|
5546
5546
|
const terminate = react$1.useTerminateSession();
|
|
5547
|
-
const views =
|
|
5547
|
+
const views = chunkU6JQ4KMX_cjs.toActiveSessionViews(sessions.data ?? [], {
|
|
5548
5548
|
currentSessionId,
|
|
5549
5549
|
terminatingId: terminate.isPending ? terminate.variables : null,
|
|
5550
5550
|
renderIcon: renderSessionIcon
|
|
5551
5551
|
});
|
|
5552
5552
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5553
5553
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5554
|
-
|
|
5554
|
+
chunkU6JQ4KMX_cjs.SettingsRow,
|
|
5555
5555
|
{
|
|
5556
5556
|
label: "Active sessions",
|
|
5557
5557
|
description: "Devices and agents currently signed in to your account.",
|
|
@@ -5573,7 +5573,7 @@ function ConnectedSessionsRow({
|
|
|
5573
5573
|
}
|
|
5574
5574
|
),
|
|
5575
5575
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5576
|
-
|
|
5576
|
+
chunkU6JQ4KMX_cjs.ActiveSessionsDialog,
|
|
5577
5577
|
{
|
|
5578
5578
|
open,
|
|
5579
5579
|
onOpenChange: setOpen,
|
|
@@ -5615,7 +5615,7 @@ function ConnectedLogoutDialog({
|
|
|
5615
5615
|
signOut.mutate({ everywhere, reason: "manual" });
|
|
5616
5616
|
};
|
|
5617
5617
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5618
|
-
|
|
5618
|
+
chunkU6JQ4KMX_cjs.LogoutDialog,
|
|
5619
5619
|
{
|
|
5620
5620
|
open,
|
|
5621
5621
|
onClose,
|
|
@@ -5623,7 +5623,7 @@ function ConnectedLogoutDialog({
|
|
|
5623
5623
|
onLogoutAll: () => void run(true),
|
|
5624
5624
|
canLogoutAll,
|
|
5625
5625
|
isOnline,
|
|
5626
|
-
sessions:
|
|
5626
|
+
sessions: chunkU6JQ4KMX_cjs.toLogoutSessionViews(sessions.data ?? []),
|
|
5627
5627
|
renderSessionIcon
|
|
5628
5628
|
}
|
|
5629
5629
|
);
|
|
@@ -5645,7 +5645,7 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
|
|
|
5645
5645
|
});
|
|
5646
5646
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5647
5647
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5648
|
-
|
|
5648
|
+
chunkU6JQ4KMX_cjs.SettingsDangerZone,
|
|
5649
5649
|
{
|
|
5650
5650
|
isOpen: zoneOpen,
|
|
5651
5651
|
onToggle: () => setZoneOpen((o) => !o),
|
|
@@ -5665,12 +5665,12 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
|
|
|
5665
5665
|
}
|
|
5666
5666
|
),
|
|
5667
5667
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5668
|
-
|
|
5668
|
+
chunkU6JQ4KMX_cjs.DeleteAccountDialog,
|
|
5669
5669
|
{
|
|
5670
5670
|
open: dialogOpen,
|
|
5671
5671
|
onClose: flow.onClose,
|
|
5672
5672
|
step: flow.step,
|
|
5673
|
-
blockers:
|
|
5673
|
+
blockers: chunkU6JQ4KMX_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
|
|
5674
5674
|
onContinue: flow.onContinue,
|
|
5675
5675
|
onBack: flow.onBack,
|
|
5676
5676
|
userEmail,
|
|
@@ -5685,7 +5685,7 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
|
|
|
5685
5685
|
function ServerConnectionRow({ onRefresh, ...status }) {
|
|
5686
5686
|
const { runtimeConfig } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
|
|
5687
5687
|
const [isRefreshing, setIsRefreshing] = react.useState(false);
|
|
5688
|
-
const view =
|
|
5688
|
+
const view = chunkU6JQ4KMX_cjs.serverConnectionView(status, runtimeConfig.deploymentDomain || "server");
|
|
5689
5689
|
const refresh = async () => {
|
|
5690
5690
|
setIsRefreshing(true);
|
|
5691
5691
|
try {
|
|
@@ -5694,8 +5694,8 @@ function ServerConnectionRow({ onRefresh, ...status }) {
|
|
|
5694
5694
|
setIsRefreshing(false);
|
|
5695
5695
|
}
|
|
5696
5696
|
};
|
|
5697
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5698
|
-
|
|
5697
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsRow, { label: "Server connection", description: view.description, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5698
|
+
chunkU6JQ4KMX_cjs.ServerConnectionButton,
|
|
5699
5699
|
{
|
|
5700
5700
|
state: view.state,
|
|
5701
5701
|
label: view.label,
|
|
@@ -5717,7 +5717,7 @@ function ConnectedAccountSettings({
|
|
|
5717
5717
|
renderSubscriptionLink
|
|
5718
5718
|
}) {
|
|
5719
5719
|
const [logoutOpen, setLogoutOpen] = react.useState(false);
|
|
5720
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5720
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsPanel, { className: "max-w-2xl", children: [
|
|
5721
5721
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedProfileCard, { avatarClassName, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5722
5722
|
ConnectedIdentityVerification,
|
|
5723
5723
|
{
|
|
@@ -5727,10 +5727,10 @@ function ConnectedAccountSettings({
|
|
|
5727
5727
|
) }),
|
|
5728
5728
|
afterProfile,
|
|
5729
5729
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedSecuritySection, { getUnmetRequirement: getUnmetPasswordRequirement, children: securityRows }),
|
|
5730
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5730
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Wifi, {}), title: "Session", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsCard, { children: [
|
|
5731
5731
|
connection && /* @__PURE__ */ jsxRuntime.jsx(ServerConnectionRow, { ...connection }),
|
|
5732
5732
|
/* @__PURE__ */ jsxRuntime.jsx(ConnectedSessionsRow, { renderSessionIcon }),
|
|
5733
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5733
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsRow, { label: "Logout", description: "Sign out of your account on this device.", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5734
5734
|
ui.Button,
|
|
5735
5735
|
{
|
|
5736
5736
|
type: "button",
|
|
@@ -6012,10 +6012,10 @@ function ConnectedPrivacySettings({
|
|
|
6012
6012
|
const update = react$1.useUpdateUserSettings();
|
|
6013
6013
|
const hideOnlineStatus = settings?.hide_online_status ?? false;
|
|
6014
6014
|
const dismissedTips = settings?.dismissed_tips ?? [];
|
|
6015
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6016
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6015
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsPanel, { className: "max-w-2xl", children: [
|
|
6016
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsSection, { title: "Privacy and tips", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsCard, { children: [
|
|
6017
6017
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6018
|
-
|
|
6018
|
+
chunkU6JQ4KMX_cjs.SettingsRow,
|
|
6019
6019
|
{
|
|
6020
6020
|
label: "Show Online Status",
|
|
6021
6021
|
labelFor: "showOnlineStatus",
|
|
@@ -6033,7 +6033,7 @@ function ConnectedPrivacySettings({
|
|
|
6033
6033
|
),
|
|
6034
6034
|
rows,
|
|
6035
6035
|
showTipsReset && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6036
|
-
|
|
6036
|
+
chunkU6JQ4KMX_cjs.SettingsRow,
|
|
6037
6037
|
{
|
|
6038
6038
|
label: "Hidden tips",
|
|
6039
6039
|
description: "Restore any Smart Tips you\u2019ve hidden with \u201Cdon\u2019t show again\u201D.",
|
|
@@ -6097,13 +6097,13 @@ var COLUMNS = [
|
|
|
6097
6097
|
flex: 1,
|
|
6098
6098
|
minWidth: 120,
|
|
6099
6099
|
cellRenderer: (params) => isStandard(params.data) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6100
|
-
|
|
6100
|
+
chunkU6JQ4KMX_cjs.ModelProviderLabel,
|
|
6101
6101
|
{
|
|
6102
6102
|
logo: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/favicon.svg", alt: "ARBI", className: "size-3.5 flex-shrink-0 rounded-sm" }),
|
|
6103
6103
|
children: "ARBI CITY"
|
|
6104
6104
|
}
|
|
6105
6105
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
6106
|
-
|
|
6106
|
+
chunkU6JQ4KMX_cjs.ModelProviderLabel,
|
|
6107
6107
|
{
|
|
6108
6108
|
logo: /* @__PURE__ */ jsxRuntime.jsx(react$1.ProviderIcon, { modelName: params.data?.model_name, provider: params.value, size: 14 }),
|
|
6109
6109
|
children: PROVIDER_NAMES[params.value ?? ""] || params.value || "\u2014"
|
|
@@ -6179,8 +6179,8 @@ function ConnectedPremiumModels() {
|
|
|
6179
6179
|
[save]
|
|
6180
6180
|
);
|
|
6181
6181
|
if (premiumModels.length === 0) return null;
|
|
6182
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6183
|
-
|
|
6182
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsPanel, { className: "max-w-2xl space-y-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsSection, { title: "Premium models", children: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6183
|
+
chunkU6JQ4KMX_cjs.PremiumModelsFrame,
|
|
6184
6184
|
{
|
|
6185
6185
|
enabled: premiumModel !== "",
|
|
6186
6186
|
onEnabledChange: (enabled) => {
|
|
@@ -6309,10 +6309,10 @@ function ConnectedAppsSettings({
|
|
|
6309
6309
|
}
|
|
6310
6310
|
};
|
|
6311
6311
|
if (isLoading) {
|
|
6312
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6312
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ConnectionsLoading, { message: "Loading connected apps\u2026" });
|
|
6313
6313
|
}
|
|
6314
6314
|
if (catalogError) {
|
|
6315
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6315
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ConnectionsError, { message: "Failed to load connector catalog. Please refresh and try again." });
|
|
6316
6316
|
}
|
|
6317
6317
|
const visibleCatalog = catalog.filter((c) => isVendorVisible(c.vendor_key));
|
|
6318
6318
|
const sharePointVisible = isVendorVisible("microsoft_sharepoint");
|
|
@@ -6321,7 +6321,7 @@ function ConnectedAppsSettings({
|
|
|
6321
6321
|
(c) => !react$1.isMailboxSyncVendor(c.vendor_key) && !react$1.isSharePointVendor(c.vendor_key)
|
|
6322
6322
|
);
|
|
6323
6323
|
const renderCard = (entry) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6324
|
-
|
|
6324
|
+
chunkU6JQ4KMX_cjs.ConnectionCard,
|
|
6325
6325
|
{
|
|
6326
6326
|
connection: toConnectionCardView(entry, connectedByVendor[entry.vendor_key], {
|
|
6327
6327
|
isDisconnecting: disconnect.isPending && disconnect.variables?.vendorKey === entry.vendor_key,
|
|
@@ -6338,12 +6338,12 @@ function ConnectedAppsSettings({
|
|
|
6338
6338
|
);
|
|
6339
6339
|
const renderGroup = (title, subtitle, icon2, entries) => {
|
|
6340
6340
|
if (entries.length === 0) return null;
|
|
6341
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6341
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsSection, { icon: icon2, title, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsCard, { className: "space-y-3", children: [
|
|
6342
6342
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: subtitle }),
|
|
6343
6343
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: entries.map(renderCard) })
|
|
6344
6344
|
] }) });
|
|
6345
6345
|
};
|
|
6346
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6346
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsPanel, { className: "max-w-2xl", children: [
|
|
6347
6347
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "rounded-xl border border-border bg-card px-5 py-4", children: [
|
|
6348
6348
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4", children: [
|
|
6349
6349
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 flex h-10 w-10 shrink-0 items-center justify-center rounded-lg border border-border bg-background text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "h-5 w-5" }) }),
|
|
@@ -6449,7 +6449,7 @@ function ConnectedAppsSettings({
|
|
|
6449
6449
|
}
|
|
6450
6450
|
)
|
|
6451
6451
|
] }),
|
|
6452
|
-
catalog.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6452
|
+
catalog.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsCard, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ConnectionsEmpty, { message: "No connectors available yet." }) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6453
6453
|
renderGroup("Email & Drive", EMAIL_AND_DRIVE_SUBTITLE, /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, {}), emailCatalog),
|
|
6454
6454
|
renderGroup(
|
|
6455
6455
|
"Apps & Integrations (MCP)",
|
|
@@ -6526,7 +6526,7 @@ function ConnectedSettingsPage({
|
|
|
6526
6526
|
}, [requested]);
|
|
6527
6527
|
const controlled = section !== void 0;
|
|
6528
6528
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6529
|
-
|
|
6529
|
+
chunkU6JQ4KMX_cjs.SettingsPage,
|
|
6530
6530
|
{
|
|
6531
6531
|
...page,
|
|
6532
6532
|
sections,
|
|
@@ -6739,13 +6739,13 @@ function ConnectedWorkspaceSettings({
|
|
|
6739
6739
|
const [membersExpanded, setMembersExpanded] = react.useState(false);
|
|
6740
6740
|
const [shareOpen, setShareOpen] = react.useState(false);
|
|
6741
6741
|
if (!workspace) {
|
|
6742
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunkRXK3XP62_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6742
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkRXK3XP62_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk2FLWPM3B_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
|
|
6743
6743
|
}
|
|
6744
6744
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6745
6745
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkRXK3XP62_cjs.WorkspacePageFrame, { testId, children: [
|
|
6746
6746
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkRXK3XP62_cjs.WorkspaceIdentityPanel, { children: [
|
|
6747
6747
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6748
|
-
|
|
6748
|
+
chunk2FLWPM3B_cjs.EntityIdentityBar,
|
|
6749
6749
|
{
|
|
6750
6750
|
testId: "workspace-identity-bar",
|
|
6751
6751
|
canEdit: isOwner,
|
|
@@ -6762,7 +6762,7 @@ function ConnectedWorkspaceSettings({
|
|
|
6762
6762
|
label: "Name",
|
|
6763
6763
|
value: workspace.name,
|
|
6764
6764
|
placeholder: "Untitled",
|
|
6765
|
-
maxLength:
|
|
6765
|
+
maxLength: chunk2FLWPM3B_cjs.IDENTITY_NAME_MAX_LENGTH,
|
|
6766
6766
|
valueClassName: "truncate text-base font-semibold",
|
|
6767
6767
|
testId: "workspace-home-title",
|
|
6768
6768
|
hideLabel: true,
|
|
@@ -7047,9 +7047,9 @@ function ConnectedMailboxSyncDialog({
|
|
|
7047
7047
|
showDescription: true,
|
|
7048
7048
|
className: "w-[92vw] sm:max-w-lg",
|
|
7049
7049
|
children: [
|
|
7050
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7051
|
-
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7052
|
-
|
|
7050
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncDialogBody, { children: [
|
|
7051
|
+
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncField, { label: "Target workspace", htmlFor: "sync-workspace", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7052
|
+
chunkU6JQ4KMX_cjs.SyncSelect,
|
|
7053
7053
|
{
|
|
7054
7054
|
id: "sync-workspace",
|
|
7055
7055
|
value: workspaceExtId,
|
|
@@ -7058,9 +7058,9 @@ function ConnectedMailboxSyncDialog({
|
|
|
7058
7058
|
options: memberWorkspaces.map((w) => ({ value: w.external_id, label: w.name }))
|
|
7059
7059
|
}
|
|
7060
7060
|
) }),
|
|
7061
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7061
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncField, { label: "Backfill window", htmlFor: "sync-backfill", children: [
|
|
7062
7062
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7063
|
-
|
|
7063
|
+
chunkU6JQ4KMX_cjs.SyncSelect,
|
|
7064
7064
|
{
|
|
7065
7065
|
id: "sync-backfill",
|
|
7066
7066
|
value: backfill,
|
|
@@ -7080,17 +7080,17 @@ function ConnectedMailboxSyncDialog({
|
|
|
7080
7080
|
"aria-label": "Import emails since date"
|
|
7081
7081
|
}
|
|
7082
7082
|
),
|
|
7083
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7083
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncSmallNote, { children: "Emails are always imported from this date onward \u2014 the start point never moves." })
|
|
7084
7084
|
] })
|
|
7085
7085
|
] }),
|
|
7086
7086
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7087
|
-
|
|
7087
|
+
chunkU6JQ4KMX_cjs.SyncField,
|
|
7088
7088
|
{
|
|
7089
7089
|
label: `Folders to import${selectedFolders.length > 0 ? ` (${selectedFolders.length})` : ""}`,
|
|
7090
7090
|
hint: "Select at least one folder to import.",
|
|
7091
|
-
actions: folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7091
|
+
actions: folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncLinkRow, { children: [
|
|
7092
7092
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7093
|
-
|
|
7093
|
+
chunkU6JQ4KMX_cjs.SyncLinkButton,
|
|
7094
7094
|
{
|
|
7095
7095
|
onClick: () => setExpandAllNonce((n) => n + 1),
|
|
7096
7096
|
testId: "mail-folders-expand-all",
|
|
@@ -7098,20 +7098,20 @@ function ConnectedMailboxSyncDialog({
|
|
|
7098
7098
|
}
|
|
7099
7099
|
),
|
|
7100
7100
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7101
|
-
|
|
7101
|
+
chunkU6JQ4KMX_cjs.SyncLinkButton,
|
|
7102
7102
|
{
|
|
7103
7103
|
onClick: () => setCollapseAllNonce((n) => n + 1),
|
|
7104
7104
|
testId: "mail-folders-collapse-all",
|
|
7105
7105
|
children: "Collapse all"
|
|
7106
7106
|
}
|
|
7107
7107
|
),
|
|
7108
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7108
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncLinkButton, { onClick: toggleAllFolders, children: allSelected ? "Clear all" : "Select all" })
|
|
7109
7109
|
] }),
|
|
7110
|
-
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7110
|
+
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncLoading, { children: "Loading folders\u2026" }) : foldersError ? (
|
|
7111
7111
|
// A failed fetch is not an empty mailbox: it hides auth/scope errors (e.g. a Gmail
|
|
7112
7112
|
// account needing reconnect).
|
|
7113
7113
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7114
|
-
|
|
7114
|
+
chunkU6JQ4KMX_cjs.SyncReconnectNotice,
|
|
7115
7115
|
{
|
|
7116
7116
|
message: `Couldn\u2019t load folders from ${catalog.display_name}. Reconnect the account and try again.`,
|
|
7117
7117
|
onReconnect: () => void reconnect(),
|
|
@@ -7119,7 +7119,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
7119
7119
|
testId: "folders-reconnect"
|
|
7120
7120
|
}
|
|
7121
7121
|
)
|
|
7122
|
-
) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7122
|
+
) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7123
7123
|
chunkGRGS5M6O_cjs.MailFolderTree,
|
|
7124
7124
|
{
|
|
7125
7125
|
nodes: folderTree,
|
|
@@ -7131,9 +7131,9 @@ function ConnectedMailboxSyncDialog({
|
|
|
7131
7131
|
) })
|
|
7132
7132
|
}
|
|
7133
7133
|
),
|
|
7134
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7134
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncOptions, { children: [
|
|
7135
7135
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7136
|
-
|
|
7136
|
+
chunkU6JQ4KMX_cjs.SyncOptionToggle,
|
|
7137
7137
|
{
|
|
7138
7138
|
checked: skipDuplicates,
|
|
7139
7139
|
onCheckedChange: setSkipDuplicates,
|
|
@@ -7143,7 +7143,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
7143
7143
|
}
|
|
7144
7144
|
),
|
|
7145
7145
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7146
|
-
|
|
7146
|
+
chunkU6JQ4KMX_cjs.SyncOptionToggle,
|
|
7147
7147
|
{
|
|
7148
7148
|
checked: autoRename,
|
|
7149
7149
|
onCheckedChange: setAutoRename,
|
|
@@ -7153,7 +7153,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
7153
7153
|
}
|
|
7154
7154
|
),
|
|
7155
7155
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7156
|
-
|
|
7156
|
+
chunkU6JQ4KMX_cjs.SyncOptionToggle,
|
|
7157
7157
|
{
|
|
7158
7158
|
checked: shared,
|
|
7159
7159
|
onCheckedChange: setShared,
|
|
@@ -7163,7 +7163,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
7163
7163
|
}
|
|
7164
7164
|
),
|
|
7165
7165
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7166
|
-
|
|
7166
|
+
chunkU6JQ4KMX_cjs.SyncOptionToggle,
|
|
7167
7167
|
{
|
|
7168
7168
|
checked: autoSync,
|
|
7169
7169
|
onCheckedChange: setAutoSync,
|
|
@@ -7175,7 +7175,7 @@ function ConnectedMailboxSyncDialog({
|
|
|
7175
7175
|
] })
|
|
7176
7176
|
] }),
|
|
7177
7177
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7178
|
-
|
|
7178
|
+
chunkU6JQ4KMX_cjs.SyncDialogFooter,
|
|
7179
7179
|
{
|
|
7180
7180
|
onCancel: () => onOpenChange(false),
|
|
7181
7181
|
onSave: handleEnableSubmit,
|
|
@@ -7237,7 +7237,7 @@ function DriveFolderNode({
|
|
|
7237
7237
|
const mightHaveChildren = docCount == null || docCount > 0;
|
|
7238
7238
|
const orderedChildren = [...children].sort((a, b) => a.name.localeCompare(b.name));
|
|
7239
7239
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7240
|
-
|
|
7240
|
+
chunkU6JQ4KMX_cjs.SyncFolderRow,
|
|
7241
7241
|
{
|
|
7242
7242
|
id: folder.id,
|
|
7243
7243
|
name: folder.name,
|
|
@@ -7251,7 +7251,7 @@ function DriveFolderNode({
|
|
|
7251
7251
|
onCheckedChange: () => onToggle(folder.id),
|
|
7252
7252
|
count: typeof docCount === "number" ? docCount : void 0,
|
|
7253
7253
|
isCountLoading: isSelectable && countLoading,
|
|
7254
|
-
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7254
|
+
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncFolderStatus, { depth, kind: "loading" }) : orderedChildren.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncFolderStatus, { depth, kind: "empty" }) : orderedChildren.map((child) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7255
7255
|
DriveFolderNode,
|
|
7256
7256
|
{
|
|
7257
7257
|
vendorKey,
|
|
@@ -7397,9 +7397,9 @@ function ConnectedDriveSyncDialog({
|
|
|
7397
7397
|
showDescription: true,
|
|
7398
7398
|
className: "w-[92vw] sm:max-w-lg",
|
|
7399
7399
|
children: [
|
|
7400
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7401
|
-
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7402
|
-
|
|
7400
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncDialogBody, { children: [
|
|
7401
|
+
!lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncField, { label: "Target workspace", htmlFor: "drive-sync-workspace", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7402
|
+
chunkU6JQ4KMX_cjs.SyncSelect,
|
|
7403
7403
|
{
|
|
7404
7404
|
id: "drive-sync-workspace",
|
|
7405
7405
|
value: workspaceExtId,
|
|
@@ -7409,13 +7409,13 @@ function ConnectedDriveSyncDialog({
|
|
|
7409
7409
|
}
|
|
7410
7410
|
) }),
|
|
7411
7411
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7412
|
-
|
|
7412
|
+
chunkU6JQ4KMX_cjs.SyncField,
|
|
7413
7413
|
{
|
|
7414
7414
|
label: `Folders to import${selectedFolders.length > 0 ? ` (${selectedFolders.length})` : ""}`,
|
|
7415
7415
|
hint: "Select at least one folder. Importing a folder includes everything inside it.",
|
|
7416
|
-
actions: orderedFolders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7416
|
+
actions: orderedFolders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncLinkRow, { children: [
|
|
7417
7417
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7418
|
-
|
|
7418
|
+
chunkU6JQ4KMX_cjs.SyncLinkButton,
|
|
7419
7419
|
{
|
|
7420
7420
|
onClick: () => setExpandAllNonce((n) => n + 1),
|
|
7421
7421
|
testId: "drive-folders-expand-all",
|
|
@@ -7423,7 +7423,7 @@ function ConnectedDriveSyncDialog({
|
|
|
7423
7423
|
}
|
|
7424
7424
|
),
|
|
7425
7425
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7426
|
-
|
|
7426
|
+
chunkU6JQ4KMX_cjs.SyncLinkButton,
|
|
7427
7427
|
{
|
|
7428
7428
|
onClick: () => setCollapseAllNonce((n) => n + 1),
|
|
7429
7429
|
testId: "drive-folders-collapse-all",
|
|
@@ -7431,19 +7431,19 @@ function ConnectedDriveSyncDialog({
|
|
|
7431
7431
|
}
|
|
7432
7432
|
)
|
|
7433
7433
|
] }),
|
|
7434
|
-
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7435
|
-
|
|
7434
|
+
children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncLoading, { children: "Loading folders\u2026" }) : needsReconnect ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7435
|
+
chunkU6JQ4KMX_cjs.SyncReconnectNotice,
|
|
7436
7436
|
{
|
|
7437
7437
|
...reconnectButtonProps,
|
|
7438
7438
|
message: `Reconnect ${catalog.display_name} to enable ${productName} \u2014 your account needs to grant file access.`
|
|
7439
7439
|
}
|
|
7440
7440
|
) : foldersError ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7441
|
-
|
|
7441
|
+
chunkU6JQ4KMX_cjs.SyncReconnectNotice,
|
|
7442
7442
|
{
|
|
7443
7443
|
...reconnectButtonProps,
|
|
7444
7444
|
message: `Couldn\u2019t load folders from ${productName}. Reconnect the account and try again.`
|
|
7445
7445
|
}
|
|
7446
|
-
) : orderedFolders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7446
|
+
) : orderedFolders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-0.5", "data-testid": "drive-folder-tree", children: orderedFolders.map((f) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7447
7447
|
DriveFolderNode,
|
|
7448
7448
|
{
|
|
7449
7449
|
vendorKey: catalog.vendor_key,
|
|
@@ -7460,9 +7460,9 @@ function ConnectedDriveSyncDialog({
|
|
|
7460
7460
|
)) }) })
|
|
7461
7461
|
}
|
|
7462
7462
|
),
|
|
7463
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7463
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncOptions, { children: [
|
|
7464
7464
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7465
|
-
|
|
7465
|
+
chunkU6JQ4KMX_cjs.SyncOptionToggle,
|
|
7466
7466
|
{
|
|
7467
7467
|
checked: skipDuplicates,
|
|
7468
7468
|
onCheckedChange: setSkipDuplicates,
|
|
@@ -7471,7 +7471,7 @@ function ConnectedDriveSyncDialog({
|
|
|
7471
7471
|
}
|
|
7472
7472
|
),
|
|
7473
7473
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7474
|
-
|
|
7474
|
+
chunkU6JQ4KMX_cjs.SyncOptionToggle,
|
|
7475
7475
|
{
|
|
7476
7476
|
checked: autoRename,
|
|
7477
7477
|
onCheckedChange: setAutoRename,
|
|
@@ -7480,7 +7480,7 @@ function ConnectedDriveSyncDialog({
|
|
|
7480
7480
|
}
|
|
7481
7481
|
),
|
|
7482
7482
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7483
|
-
|
|
7483
|
+
chunkU6JQ4KMX_cjs.SyncOptionToggle,
|
|
7484
7484
|
{
|
|
7485
7485
|
checked: shared,
|
|
7486
7486
|
onCheckedChange: setShared,
|
|
@@ -7489,7 +7489,7 @@ function ConnectedDriveSyncDialog({
|
|
|
7489
7489
|
}
|
|
7490
7490
|
),
|
|
7491
7491
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7492
|
-
|
|
7492
|
+
chunkU6JQ4KMX_cjs.SyncOptionToggle,
|
|
7493
7493
|
{
|
|
7494
7494
|
checked: autoSync,
|
|
7495
7495
|
onCheckedChange: setAutoSync,
|
|
@@ -7501,7 +7501,7 @@ function ConnectedDriveSyncDialog({
|
|
|
7501
7501
|
] })
|
|
7502
7502
|
] }),
|
|
7503
7503
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7504
|
-
|
|
7504
|
+
chunkU6JQ4KMX_cjs.SyncDialogFooter,
|
|
7505
7505
|
{
|
|
7506
7506
|
onCancel: () => onOpenChange(false),
|
|
7507
7507
|
onSave: handleEnableSubmit,
|
|
@@ -7938,7 +7938,7 @@ function InvoicesModal({
|
|
|
7938
7938
|
};
|
|
7939
7939
|
});
|
|
7940
7940
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7941
|
-
|
|
7941
|
+
chunkU6JQ4KMX_cjs.InvoicesDialog,
|
|
7942
7942
|
{
|
|
7943
7943
|
open,
|
|
7944
7944
|
onOpenChange,
|
|
@@ -8043,7 +8043,7 @@ function StripeCheckoutModal({
|
|
|
8043
8043
|
const isStripeConfigured = stripeEnabled;
|
|
8044
8044
|
const vatNote = quote ? `${checkoutItemsLabel(aiBlocks, storageBlocks)} \xB7 ${quoteTotalLine(quote)}` : null;
|
|
8045
8045
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8046
|
-
|
|
8046
|
+
chunkU6JQ4KMX_cjs.CheckoutDialogFrame,
|
|
8047
8047
|
{
|
|
8048
8048
|
open,
|
|
8049
8049
|
onOpenChange,
|
|
@@ -8053,7 +8053,7 @@ function StripeCheckoutModal({
|
|
|
8053
8053
|
children: clientSecret && !!stripe && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
8054
8054
|
vatNote && /* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-vat-note", className: "mb-4 text-sm text-muted-foreground", children: vatNote }),
|
|
8055
8055
|
checkout?.render(stripe, { clientSecret, onComplete: handleComplete }),
|
|
8056
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8056
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.MoreInfo, { title: "Paying", label: "Payment help", testId: "checkout-payment-help", children: [
|
|
8057
8057
|
/* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-decline-note", children: "Card declined? Nothing was charged. Try again or use another card." }),
|
|
8058
8058
|
/* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-vat-id-note", children: "No VAT number? Leave \u2018purchasing as a business\u2019 unticked." }),
|
|
8059
8059
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Add-ons chosen here are on the first invoice with the plan and renew with it until you reduce them." })
|
|
@@ -8146,7 +8146,7 @@ function PlanChoiceCards({
|
|
|
8146
8146
|
isOnFree = false
|
|
8147
8147
|
}) {
|
|
8148
8148
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8149
|
-
|
|
8149
|
+
chunkU6JQ4KMX_cjs.PlanCardGrid,
|
|
8150
8150
|
{
|
|
8151
8151
|
plans: buildPlanCards(selected, isAnnual, prices, isOnFree),
|
|
8152
8152
|
onSelect: (id) => onSelect(choiceForPacks(id))
|
|
@@ -8155,7 +8155,7 @@ function PlanChoiceCards({
|
|
|
8155
8155
|
}
|
|
8156
8156
|
function PlanInfoPopover2() {
|
|
8157
8157
|
const { openSettings } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
|
|
8158
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8158
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanInfoPopover, { onOpenModelList: () => openSettings("chat") });
|
|
8159
8159
|
}
|
|
8160
8160
|
function CheckoutAddonBudget({
|
|
8161
8161
|
value,
|
|
@@ -8340,7 +8340,7 @@ function ReferralRewardSummary2({
|
|
|
8340
8340
|
if (!reward) return null;
|
|
8341
8341
|
const applied = totalCents != null && currency ? applyReferralReward(totalCents, reward, currency) : null;
|
|
8342
8342
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8343
|
-
|
|
8343
|
+
chunkU6JQ4KMX_cjs.ReferralRewardSummary,
|
|
8344
8344
|
{
|
|
8345
8345
|
amountLabel: formatMoney(reward.amount, reward.currency),
|
|
8346
8346
|
breakdown: applied && totalCents != null && currency ? {
|
|
@@ -8355,7 +8355,7 @@ function ReferralRewardSummary2({
|
|
|
8355
8355
|
function ReferralRewardNote2() {
|
|
8356
8356
|
const reward = useReferralReward();
|
|
8357
8357
|
if (!reward) return null;
|
|
8358
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8358
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ReferralRewardNote, { amountLabel: formatMoney(reward.amount, reward.currency) });
|
|
8359
8359
|
}
|
|
8360
8360
|
function CheckoutTotal({
|
|
8361
8361
|
state,
|
|
@@ -8450,9 +8450,9 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
8450
8450
|
storageBlocks,
|
|
8451
8451
|
enabled: !!products?.length
|
|
8452
8452
|
});
|
|
8453
|
-
if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8454
|
-
if (error) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8455
|
-
if (!products || products.length === 0) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8453
|
+
if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { children: "Loading plans\u2026" });
|
|
8454
|
+
if (error) return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { tone: "error", children: "Plans didn't load. Try again." });
|
|
8455
|
+
if (!products || products.length === 0) return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { children: "No plans available." });
|
|
8456
8456
|
const prices = findProPrices(products);
|
|
8457
8457
|
const intervalPrice = isAnnual ? prices.annual : prices.monthly;
|
|
8458
8458
|
const selectedPrice = packPrice(intervalPrice);
|
|
@@ -8467,14 +8467,14 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
8467
8467
|
setIsCheckoutModalOpen(true);
|
|
8468
8468
|
};
|
|
8469
8469
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
8470
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8470
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanStack, { children: [
|
|
8471
8471
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8472
|
-
|
|
8472
|
+
chunkU6JQ4KMX_cjs.PlanPickerHeader,
|
|
8473
8473
|
{
|
|
8474
8474
|
title: "Plan",
|
|
8475
8475
|
info: /* @__PURE__ */ jsxRuntime.jsx(PlanInfoPopover2, {}),
|
|
8476
8476
|
toggle: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8477
|
-
|
|
8477
|
+
chunkU6JQ4KMX_cjs.PricingToggle,
|
|
8478
8478
|
{
|
|
8479
8479
|
isAnnual,
|
|
8480
8480
|
onToggle: () => setIsAnnual(!isAnnual),
|
|
@@ -8511,7 +8511,7 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
8511
8511
|
currency: intervalPrice.currency
|
|
8512
8512
|
}
|
|
8513
8513
|
),
|
|
8514
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8514
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PromoCodeInput, { value: promoCode, onChange: setPromoCode }),
|
|
8515
8515
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8516
8516
|
CheckoutCountrySelect,
|
|
8517
8517
|
{
|
|
@@ -8523,9 +8523,9 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
8523
8523
|
}
|
|
8524
8524
|
),
|
|
8525
8525
|
/* @__PURE__ */ jsxRuntime.jsx(CheckoutTotal, { state: quote, postalCode, onPostalCodeChange: setPostalCode }),
|
|
8526
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8526
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanActionRow, { children: [
|
|
8527
8527
|
onDismiss && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8528
|
-
|
|
8528
|
+
chunkU6JQ4KMX_cjs.PlanActionButton,
|
|
8529
8529
|
{
|
|
8530
8530
|
tone: "muted",
|
|
8531
8531
|
fill: true,
|
|
@@ -8536,7 +8536,7 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
|
|
|
8536
8536
|
}
|
|
8537
8537
|
),
|
|
8538
8538
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8539
|
-
|
|
8539
|
+
chunkU6JQ4KMX_cjs.PlanActionButton,
|
|
8540
8540
|
{
|
|
8541
8541
|
fill: true,
|
|
8542
8542
|
onClick: handleSubscribe,
|
|
@@ -8788,11 +8788,11 @@ function ChangeProPlan({
|
|
|
8788
8788
|
summary: allowance
|
|
8789
8789
|
};
|
|
8790
8790
|
};
|
|
8791
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8791
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanStack, { gap: 4, testId: "change-pro-plan", children: [
|
|
8792
8792
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
|
|
8793
8793
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-foreground", children: "Billing" }),
|
|
8794
8794
|
targetPacks > PRO_PACKS ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", "data-testid": "change-plan-interval-fixed", children: currentInterval === "year" ? "Annual" : "Monthly" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
8795
|
-
|
|
8795
|
+
chunkU6JQ4KMX_cjs.PricingToggle,
|
|
8796
8796
|
{
|
|
8797
8797
|
isAnnual: targetInterval === "year",
|
|
8798
8798
|
onToggle: () => setChosenInterval(targetInterval === "year" ? "month" : "year"),
|
|
@@ -8800,10 +8800,10 @@ function ChangeProPlan({
|
|
|
8800
8800
|
}
|
|
8801
8801
|
)
|
|
8802
8802
|
] }),
|
|
8803
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8803
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanStack, { gap: 2, children: packOptions.map((packs) => {
|
|
8804
8804
|
const { total, summary } = optionFor(packs);
|
|
8805
8805
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8806
|
-
|
|
8806
|
+
chunkU6JQ4KMX_cjs.PlanTierOption,
|
|
8807
8807
|
{
|
|
8808
8808
|
onSelect: setTargetPacks,
|
|
8809
8809
|
option: {
|
|
@@ -8820,11 +8820,11 @@ function ChangeProPlan({
|
|
|
8820
8820
|
);
|
|
8821
8821
|
}) }),
|
|
8822
8822
|
isLegacyMultiPack && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [
|
|
8823
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8823
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanNotice, { className: "text-xs", testId: "change-plan-legacy-note", children: [
|
|
8824
8824
|
proTierName(project),
|
|
8825
8825
|
" is no longer sold"
|
|
8826
8826
|
] }),
|
|
8827
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8827
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.MoreInfo, { title: "Legacy plan", testId: "change-plan-legacy-more-info", children: [
|
|
8828
8828
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
8829
8829
|
proTierName(project),
|
|
8830
8830
|
" keeps renewing at its own price, with its allowance and add-ons, until you change it."
|
|
@@ -8847,7 +8847,7 @@ function ChangeProPlan({
|
|
|
8847
8847
|
),
|
|
8848
8848
|
targetPacks > 0 && /* @__PURE__ */ jsxRuntime.jsx(ReferralRewardNote2, {}),
|
|
8849
8849
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8850
|
-
|
|
8850
|
+
chunkU6JQ4KMX_cjs.PlanActionButton,
|
|
8851
8851
|
{
|
|
8852
8852
|
onClick: apply,
|
|
8853
8853
|
disabled: noChange || isPending,
|
|
@@ -8860,7 +8860,7 @@ function ChangeProPlan({
|
|
|
8860
8860
|
function ChangePlanDialog({ project, open, onOpenChange }) {
|
|
8861
8861
|
const isPro = !!project && isProProject(project);
|
|
8862
8862
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8863
|
-
|
|
8863
|
+
chunkU6JQ4KMX_cjs.PlanDialogFrame,
|
|
8864
8864
|
{
|
|
8865
8865
|
open,
|
|
8866
8866
|
onOpenChange,
|
|
@@ -8926,13 +8926,13 @@ function ProjectsTable() {
|
|
|
8926
8926
|
const hasPaid = p.subscription === "active" || p.subscription === "past_due";
|
|
8927
8927
|
const canUpgrade = stripeEnabled && !hasPaid && p.subscription !== "canceled" && p.subscription !== "dev";
|
|
8928
8928
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8929
|
-
|
|
8929
|
+
chunkU6JQ4KMX_cjs.ProjectRow,
|
|
8930
8930
|
{
|
|
8931
8931
|
testId: `project-row-${p.external_id}`,
|
|
8932
8932
|
onOpen: () => openProject(p.external_id),
|
|
8933
8933
|
identity: /* @__PURE__ */ jsxRuntime.jsx(BillingProjectEntity, { name: p.name, relation: "mine", subscription: p.subscription, size: "sm" }),
|
|
8934
|
-
summary: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8935
|
-
usage: p.quotas ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
8934
|
+
summary: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanBadge, { ...planBadgeView(p) }) }) : void 0,
|
|
8935
|
+
usage: p.quotas ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.QuotaMeter, { items: getQuotaItems(p.quotas), size: "lg" }) : void 0,
|
|
8936
8936
|
actions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
8937
8937
|
canUpgrade && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8938
8938
|
ui.Button,
|
|
@@ -8966,9 +8966,9 @@ function ProjectsTable() {
|
|
|
8966
8966
|
);
|
|
8967
8967
|
};
|
|
8968
8968
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
8969
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8969
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ProjectList, { isLoading, isEmpty: ownedProjects.length === 0, isFilteredOut: false, children: ownedProjects.map(renderRow) }),
|
|
8970
8970
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8971
|
-
|
|
8971
|
+
chunkU6JQ4KMX_cjs.RenameDialog,
|
|
8972
8972
|
{
|
|
8973
8973
|
open: !!renameTarget,
|
|
8974
8974
|
onClose: () => setRenameTarget(null),
|
|
@@ -9007,10 +9007,10 @@ function SharedProjects() {
|
|
|
9007
9007
|
);
|
|
9008
9008
|
if (shared.length === 0) return null;
|
|
9009
9009
|
const usedToday = usageToday?.used_gbp ?? 0;
|
|
9010
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9010
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SharedProjectsSection, { footnote: "Your daily AI usage allowance in projects other people run \u2014 their plan and billing are theirs.", children: shared.map((p) => {
|
|
9011
9011
|
const cap = p.daily_cap_per_user;
|
|
9012
9012
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9013
|
-
|
|
9013
|
+
chunkU6JQ4KMX_cjs.SharedProjectRow,
|
|
9014
9014
|
{
|
|
9015
9015
|
testId: `shared-project-${p.external_id}`,
|
|
9016
9016
|
identity: /* @__PURE__ */ jsxRuntime.jsx(BillingProjectEntity, { name: p.name, relation: "other", size: "sm" }),
|
|
@@ -9054,7 +9054,7 @@ function DailyCapEditor({ project }) {
|
|
|
9054
9054
|
);
|
|
9055
9055
|
};
|
|
9056
9056
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9057
|
-
|
|
9057
|
+
chunkU6JQ4KMX_cjs.DailyCapField,
|
|
9058
9058
|
{
|
|
9059
9059
|
value,
|
|
9060
9060
|
onChange: setValue,
|
|
@@ -9067,7 +9067,7 @@ function DailyCapEditor({ project }) {
|
|
|
9067
9067
|
function SubscriptionStatus({ project }) {
|
|
9068
9068
|
const { quotas, cancel_at_period_end, subscription, current_period_end, addons } = project;
|
|
9069
9069
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9070
|
-
|
|
9070
|
+
chunkU6JQ4KMX_cjs.SubscriptionStatusView,
|
|
9071
9071
|
{
|
|
9072
9072
|
resetDate: formatResetDate(addons?.ai_usage_reset_at ?? current_period_end),
|
|
9073
9073
|
isCanceling: subscription === "canceled" || cancel_at_period_end === true,
|
|
@@ -9199,8 +9199,8 @@ function AddAddonDialog({
|
|
|
9199
9199
|
isAnnual ? "yearly" : "monthly",
|
|
9200
9200
|
" \xB7 no refund"
|
|
9201
9201
|
] }),
|
|
9202
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9203
|
-
|
|
9202
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.MoreInfo, { title: "Adding a top-up", testId: "add-addon-more-info", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9203
|
+
chunkU6JQ4KMX_cjs.MoreInfoList,
|
|
9204
9204
|
{
|
|
9205
9205
|
items: [
|
|
9206
9206
|
{
|
|
@@ -9309,7 +9309,7 @@ function ReduceAddonDialog({
|
|
|
9309
9309
|
fromShort,
|
|
9310
9310
|
" \xB7 no refund"
|
|
9311
9311
|
] }),
|
|
9312
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
9312
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.MoreInfo, { title: "Reducing a top-up", testId: "reduce-addon-more-info", children: [
|
|
9313
9313
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
9314
9314
|
"The reduction applies from your next renewal (",
|
|
9315
9315
|
from,
|
|
@@ -9668,8 +9668,8 @@ function UsageCapEditor({ project, addons }) {
|
|
|
9668
9668
|
function UsageInfo({ addons, isAnnual }) {
|
|
9669
9669
|
const period = isAnnual ? "year" : "month";
|
|
9670
9670
|
const legacy = (addons.legacy_ai_blocks ?? 0) > 0 || (addons.legacy_storage_blocks ?? 0) > 0;
|
|
9671
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9672
|
-
|
|
9671
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.MoreInfo, { title: "Usage and top-ups", testId: "usage-more-info", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9672
|
+
chunkU6JQ4KMX_cjs.MoreInfoList,
|
|
9673
9673
|
{
|
|
9674
9674
|
items: [
|
|
9675
9675
|
{
|
|
@@ -9972,8 +9972,8 @@ function ProjectPlanCard({
|
|
|
9972
9972
|
}
|
|
9973
9973
|
)
|
|
9974
9974
|
] }),
|
|
9975
|
-
addons?.billing_error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9976
|
-
confirmUrl ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9975
|
+
addons?.billing_error && /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { tone: "error", testId: "plan-billing-error", children: addons.billing_error }),
|
|
9976
|
+
confirmUrl ? /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanNotice, { testId: "plan-payment-state", children: [
|
|
9977
9977
|
"Waiting for your bank",
|
|
9978
9978
|
pendingPayment?.amount_pence ? ` \xB7 ${gbp4(pendingPayment.amount_pence)}` : "",
|
|
9979
9979
|
" \xB7",
|
|
@@ -9991,7 +9991,7 @@ function ProjectPlanCard({
|
|
|
9991
9991
|
]
|
|
9992
9992
|
}
|
|
9993
9993
|
)
|
|
9994
|
-
] }) : paidPayment && addons && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9994
|
+
] }) : paidPayment && addons && /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { testId: "plan-payment-state", children: paidLine(paidPayment, addons) }),
|
|
9995
9995
|
isPro && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9996
9996
|
"button",
|
|
9997
9997
|
{
|
|
@@ -10149,13 +10149,13 @@ function ProjectUsageContent({
|
|
|
10149
10149
|
};
|
|
10150
10150
|
const quotaPct = effectiveUsage && aiUsageLimit ? Math.round(effectiveUsage.total_spend / aiUsageLimit * 100) : 0;
|
|
10151
10151
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10152
|
-
|
|
10152
|
+
chunkU6JQ4KMX_cjs.UsagePanel,
|
|
10153
10153
|
{
|
|
10154
10154
|
state,
|
|
10155
10155
|
dateRange,
|
|
10156
10156
|
emptyMessage: `No usage ${period === "current" ? "yet this month" : "last month"}.`,
|
|
10157
10157
|
period: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10158
|
-
|
|
10158
|
+
chunkU6JQ4KMX_cjs.UsageToggle,
|
|
10159
10159
|
{
|
|
10160
10160
|
ariaLabel: "Period",
|
|
10161
10161
|
value: period,
|
|
@@ -10168,7 +10168,7 @@ function ProjectUsageContent({
|
|
|
10168
10168
|
),
|
|
10169
10169
|
actions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10170
10170
|
effectiveUsage?.invoice_pdf && /* @__PURE__ */ jsxRuntime.jsx(
|
|
10171
|
-
|
|
10171
|
+
chunkU6JQ4KMX_cjs.UsageActionButton,
|
|
10172
10172
|
{
|
|
10173
10173
|
label: "Download Stripe invoice PDF",
|
|
10174
10174
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { className: "size-3.5" }),
|
|
@@ -10176,7 +10176,7 @@ function ProjectUsageContent({
|
|
|
10176
10176
|
}
|
|
10177
10177
|
),
|
|
10178
10178
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10179
|
-
|
|
10179
|
+
chunkU6JQ4KMX_cjs.UsageActionButton,
|
|
10180
10180
|
{
|
|
10181
10181
|
label: "Print usage summary",
|
|
10182
10182
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Printer, { className: "size-3.5" }),
|
|
@@ -10186,7 +10186,7 @@ function ProjectUsageContent({
|
|
|
10186
10186
|
] }),
|
|
10187
10187
|
children: effectiveUsage && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10188
10188
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10189
|
-
|
|
10189
|
+
chunkU6JQ4KMX_cjs.UsageSummary,
|
|
10190
10190
|
{
|
|
10191
10191
|
stats: [
|
|
10192
10192
|
{
|
|
@@ -10194,7 +10194,7 @@ function ProjectUsageContent({
|
|
|
10194
10194
|
value: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: react$1.formatGbp(effectiveUsage.total_spend) }),
|
|
10195
10195
|
label: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10196
10196
|
"AI usage",
|
|
10197
|
-
quotaPct > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10197
|
+
quotaPct > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.UsageQuotaHint, { children: [
|
|
10198
10198
|
"(",
|
|
10199
10199
|
quotaPct,
|
|
10200
10200
|
"% of quota)"
|
|
@@ -10215,7 +10215,7 @@ function ProjectUsageContent({
|
|
|
10215
10215
|
}
|
|
10216
10216
|
),
|
|
10217
10217
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10218
|
-
|
|
10218
|
+
chunkU6JQ4KMX_cjs.UsageToggle,
|
|
10219
10219
|
{
|
|
10220
10220
|
ariaLabel: "Breakdown by",
|
|
10221
10221
|
size: "fill",
|
|
@@ -10228,12 +10228,12 @@ function ProjectUsageContent({
|
|
|
10228
10228
|
}
|
|
10229
10229
|
),
|
|
10230
10230
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10231
|
-
|
|
10231
|
+
chunkU6JQ4KMX_cjs.UsageSection,
|
|
10232
10232
|
{
|
|
10233
|
-
footer: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10233
|
+
footer: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.UsageLegend, { series }),
|
|
10234
10234
|
title: `Daily AI usage${breakdown === "model" ? ` by ${BREAKDOWN_LABELS[breakdown]}` : ""}`,
|
|
10235
10235
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10236
|
-
|
|
10236
|
+
chunkU6JQ4KMX_cjs.UsageLineChart,
|
|
10237
10237
|
{
|
|
10238
10238
|
dates,
|
|
10239
10239
|
series,
|
|
@@ -10244,12 +10244,12 @@ function ProjectUsageContent({
|
|
|
10244
10244
|
}
|
|
10245
10245
|
),
|
|
10246
10246
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10247
|
-
|
|
10247
|
+
chunkU6JQ4KMX_cjs.UsageSection,
|
|
10248
10248
|
{
|
|
10249
10249
|
title: "Breakdown",
|
|
10250
10250
|
gap: "md",
|
|
10251
10251
|
action: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10252
|
-
|
|
10252
|
+
chunkU6JQ4KMX_cjs.UsageToggle,
|
|
10253
10253
|
{
|
|
10254
10254
|
ariaLabel: "Breakdown metric",
|
|
10255
10255
|
value: metric,
|
|
@@ -10261,7 +10261,7 @@ function ProjectUsageContent({
|
|
|
10261
10261
|
}
|
|
10262
10262
|
),
|
|
10263
10263
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10264
|
-
|
|
10264
|
+
chunkU6JQ4KMX_cjs.UsageProportionBar,
|
|
10265
10265
|
{
|
|
10266
10266
|
metric,
|
|
10267
10267
|
items: breakdownItems.map((item) => ({
|
|
@@ -10319,7 +10319,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
10319
10319
|
}
|
|
10320
10320
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-6 space-y-6 max-w-4xl", "data-testid": `project-detail-${project.external_id}`, children: [
|
|
10321
10321
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10322
|
-
|
|
10322
|
+
chunkU6JQ4KMX_cjs.ProjectDetailHeader,
|
|
10323
10323
|
{
|
|
10324
10324
|
icon: /* @__PURE__ */ jsxRuntime.jsx(ui.EntityIcon, { entityType: "PROJECT" }),
|
|
10325
10325
|
name: project.name,
|
|
@@ -10327,11 +10327,11 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
10327
10327
|
setRenameValue(project.name);
|
|
10328
10328
|
setRenameOpen(true);
|
|
10329
10329
|
},
|
|
10330
|
-
badge: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10330
|
+
badge: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanBadge, { ...planBadgeView(project), size: "md" }) : void 0
|
|
10331
10331
|
}
|
|
10332
10332
|
),
|
|
10333
10333
|
hasBilling && /* @__PURE__ */ jsxRuntime.jsx(ProjectBilling, { project, onChangePlan: () => setPlanOpen(true) }),
|
|
10334
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
10334
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.ProjectDetailSection, { title: hasBilling ? "Collaborator limits" : "Plan limits", children: [
|
|
10335
10335
|
!hasBilling && /* @__PURE__ */ jsxRuntime.jsx(SubscriptionStatus, { project }),
|
|
10336
10336
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
10337
10337
|
"div",
|
|
@@ -10347,7 +10347,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
10347
10347
|
}
|
|
10348
10348
|
)
|
|
10349
10349
|
] }),
|
|
10350
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10350
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ProjectDetailSection, { title: "Usage", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10351
10351
|
ProjectUsageContent,
|
|
10352
10352
|
{
|
|
10353
10353
|
projectExtId: project.external_id,
|
|
@@ -10357,7 +10357,7 @@ function ProjectDetail({ projectExtId, storage }) {
|
|
|
10357
10357
|
) }),
|
|
10358
10358
|
storage,
|
|
10359
10359
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10360
|
-
|
|
10360
|
+
chunkU6JQ4KMX_cjs.RenameDialog,
|
|
10361
10361
|
{
|
|
10362
10362
|
open: renameOpen,
|
|
10363
10363
|
onClose: () => setRenameOpen(false),
|
|
@@ -10518,8 +10518,8 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
10518
10518
|
description: stripeEnabled ? "Name it and pick a plan." : "Projects group your workspaces.",
|
|
10519
10519
|
showDescription: true,
|
|
10520
10520
|
size: "xl",
|
|
10521
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10522
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
10521
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanStack, { gap: 5, children: [
|
|
10522
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanStack, { gap: 2, children: [
|
|
10523
10523
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "new-project-name", children: "Name" }),
|
|
10524
10524
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10525
10525
|
ui.Input,
|
|
@@ -10535,16 +10535,16 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
10535
10535
|
}
|
|
10536
10536
|
)
|
|
10537
10537
|
] }),
|
|
10538
|
-
stripeEnabled && (productsLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10539
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
10538
|
+
stripeEnabled && (productsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { children: "Loading plans\u2026" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10539
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanPickerCard, { children: [
|
|
10540
10540
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10541
|
-
|
|
10541
|
+
chunkU6JQ4KMX_cjs.PlanPickerHeader,
|
|
10542
10542
|
{
|
|
10543
10543
|
title: "Plan",
|
|
10544
10544
|
info: /* @__PURE__ */ jsxRuntime.jsx(PlanInfoPopover2, {}),
|
|
10545
10545
|
infoPlacement: "toggle",
|
|
10546
10546
|
toggle: plan !== "free" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10547
|
-
|
|
10547
|
+
chunkU6JQ4KMX_cjs.PricingToggle,
|
|
10548
10548
|
{
|
|
10549
10549
|
isAnnual,
|
|
10550
10550
|
onToggle: () => setIsAnnual(!isAnnual),
|
|
@@ -10582,7 +10582,7 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
10582
10582
|
currency
|
|
10583
10583
|
}
|
|
10584
10584
|
),
|
|
10585
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10585
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PromoCodeInput, { value: promoCode, onChange: setPromoCode }),
|
|
10586
10586
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10587
10587
|
CheckoutCountrySelect,
|
|
10588
10588
|
{
|
|
@@ -10601,10 +10601,10 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
|
|
|
10601
10601
|
onPostalCodeChange: setPostalCode
|
|
10602
10602
|
}
|
|
10603
10603
|
)
|
|
10604
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
10604
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { children: "Pro isn't available right now." }))
|
|
10605
10605
|
] })),
|
|
10606
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10607
|
-
isSlow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
10606
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanActionButton, { onClick: submit, disabled: !canSubmit, children: isCreating ? "Creating\u2026" : isPro ? "Continue to payment" : "Create project" }),
|
|
10607
|
+
isSlow && /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { className: "text-xs", testId: "new-project-still-working", children: "Still working. We'll update here." })
|
|
10608
10608
|
] })
|
|
10609
10609
|
}
|
|
10610
10610
|
),
|
|
@@ -12880,7 +12880,7 @@ function ConnectedMailbox({
|
|
|
12880
12880
|
}
|
|
12881
12881
|
),
|
|
12882
12882
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12883
|
-
|
|
12883
|
+
chunkDWZXSPMB_cjs.ConfirmDialog,
|
|
12884
12884
|
{
|
|
12885
12885
|
isOpen: confirmDelete !== null,
|
|
12886
12886
|
onClose: () => setConfirmDelete(null),
|
|
@@ -16351,51 +16351,51 @@ Object.defineProperty(exports, "useWorkspaceDocs", {
|
|
|
16351
16351
|
});
|
|
16352
16352
|
Object.defineProperty(exports, "ConnectedWorkflowDocumentsField", {
|
|
16353
16353
|
enumerable: true,
|
|
16354
|
-
get: function () { return
|
|
16354
|
+
get: function () { return chunkQ4BY2CQQ_cjs.ConnectedWorkflowDocumentsField; }
|
|
16355
16355
|
});
|
|
16356
16356
|
Object.defineProperty(exports, "ConnectedWorkflowLauncher", {
|
|
16357
16357
|
enumerable: true,
|
|
16358
|
-
get: function () { return
|
|
16358
|
+
get: function () { return chunkQ4BY2CQQ_cjs.ConnectedWorkflowLauncher; }
|
|
16359
16359
|
});
|
|
16360
16360
|
Object.defineProperty(exports, "ConnectedWorkflowsTable", {
|
|
16361
16361
|
enumerable: true,
|
|
16362
|
-
get: function () { return
|
|
16362
|
+
get: function () { return chunkQ4BY2CQQ_cjs.ConnectedWorkflowsTable; }
|
|
16363
16363
|
});
|
|
16364
16364
|
Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS", {
|
|
16365
16365
|
enumerable: true,
|
|
16366
|
-
get: function () { return
|
|
16366
|
+
get: function () { return chunkQ4BY2CQQ_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
|
|
16367
16367
|
});
|
|
16368
16368
|
Object.defineProperty(exports, "NativeDocxSupportProvider", {
|
|
16369
16369
|
enumerable: true,
|
|
16370
|
-
get: function () { return
|
|
16370
|
+
get: function () { return chunkQ4BY2CQQ_cjs.NativeDocxSupportProvider; }
|
|
16371
16371
|
});
|
|
16372
16372
|
Object.defineProperty(exports, "toWorkflowFieldDocument", {
|
|
16373
16373
|
enumerable: true,
|
|
16374
|
-
get: function () { return
|
|
16374
|
+
get: function () { return chunkQ4BY2CQQ_cjs.toWorkflowFieldDocument; }
|
|
16375
16375
|
});
|
|
16376
16376
|
Object.defineProperty(exports, "useConnectedAgentOptions", {
|
|
16377
16377
|
enumerable: true,
|
|
16378
|
-
get: function () { return
|
|
16378
|
+
get: function () { return chunkQ4BY2CQQ_cjs.useConnectedAgentOptions; }
|
|
16379
16379
|
});
|
|
16380
16380
|
Object.defineProperty(exports, "useConnectedWorkflowScopeSource", {
|
|
16381
16381
|
enumerable: true,
|
|
16382
|
-
get: function () { return
|
|
16382
|
+
get: function () { return chunkQ4BY2CQQ_cjs.useConnectedWorkflowScopeSource; }
|
|
16383
16383
|
});
|
|
16384
16384
|
Object.defineProperty(exports, "useConnectedWorkspaceRole", {
|
|
16385
16385
|
enumerable: true,
|
|
16386
|
-
get: function () { return
|
|
16386
|
+
get: function () { return chunkQ4BY2CQQ_cjs.useConnectedWorkspaceRole; }
|
|
16387
16387
|
});
|
|
16388
16388
|
Object.defineProperty(exports, "useNativeDocxSupport", {
|
|
16389
16389
|
enumerable: true,
|
|
16390
|
-
get: function () { return
|
|
16390
|
+
get: function () { return chunkQ4BY2CQQ_cjs.useNativeDocxSupport; }
|
|
16391
16391
|
});
|
|
16392
16392
|
Object.defineProperty(exports, "DocumentViewerSupportProvider", {
|
|
16393
16393
|
enumerable: true,
|
|
16394
|
-
get: function () { return
|
|
16394
|
+
get: function () { return chunk6I6CVX5G_cjs.DocumentViewerSupportProvider; }
|
|
16395
16395
|
});
|
|
16396
16396
|
Object.defineProperty(exports, "useDocumentViewerSupport", {
|
|
16397
16397
|
enumerable: true,
|
|
16398
|
-
get: function () { return
|
|
16398
|
+
get: function () { return chunk6I6CVX5G_cjs.useDocumentViewerSupport; }
|
|
16399
16399
|
});
|
|
16400
16400
|
Object.defineProperty(exports, "ConnectedWorkspaceDataProvider", {
|
|
16401
16401
|
enumerable: true,
|