@burdenoff/microfe-cosmicintersection 2026.1012.1 → 2026.1030.1
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/cosmicintersection/lib/useSelectedRecord.d.ts +20 -0
- package/dist/cosmicintersection/lib/useSelectedRecord.d.ts.map +1 -0
- package/dist/cosmicintersection/lib/useSelectedRecord.js +19 -0
- package/dist/cosmicintersection/lib/useSelectedRecord.js.map +1 -0
- package/dist/cosmicintersection/pages/access/AccessPage.d.ts.map +1 -1
- package/dist/cosmicintersection/pages/access/AccessPage.js +239 -226
- package/dist/cosmicintersection/pages/access/AccessPage.js.map +1 -1
- package/dist/cosmicintersection/pages/analyses/AnalysesPage.d.ts.map +1 -1
- package/dist/cosmicintersection/pages/analyses/AnalysesPage.js +196 -195
- package/dist/cosmicintersection/pages/analyses/AnalysesPage.js.map +1 -1
- package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.d.ts.map +1 -1
- package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.js +188 -175
- package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.js.map +1 -1
- package/dist/cosmicintersection/pages/releases/ReleasesPage.d.ts.map +1 -1
- package/dist/cosmicintersection/pages/releases/ReleasesPage.js +202 -201
- package/dist/cosmicintersection/pages/releases/ReleasesPage.js.map +1 -1
- package/dist/utils/pageContext.d.ts +33 -7
- package/dist/utils/pageContext.d.ts.map +1 -1
- package/dist/utils/pageContext.js +75 -33
- package/dist/utils/pageContext.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,16 +10,17 @@ import f, { useFileDownloadUrl as p } from "../../components/FileUploadField.js"
|
|
|
10
10
|
import m from "../../components/PageLayout.js";
|
|
11
11
|
import h from "../../components/StatusBadge.js";
|
|
12
12
|
import "../../components/index.js";
|
|
13
|
-
import g from "../../
|
|
14
|
-
import
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
13
|
+
import { useSelectedRecord as g } from "../../lib/useSelectedRecord.js";
|
|
14
|
+
import _ from "../../components/ResultsChart.js";
|
|
15
|
+
import { useMemo as v, useState as y } from "react";
|
|
16
|
+
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
17
|
+
import { BarChart3 as C, Beaker as w, Download as T, ExternalLink as E, Play as D, Sparkles as O } from "lucide-react";
|
|
18
|
+
import { Badge as k, Button as A, Dialog as j, DialogClose as M, DialogContent as N, DialogDescription as P, DialogFooter as F, DialogHeader as I, DialogTitle as L, Input as R, Label as z, Select as B, SelectContent as V, SelectItem as H, SelectTrigger as U, SelectValue as W, Switch as G, Table as K, TableBody as ee, TableCell as q, TableHead as J, TableHeader as te, TableRow as Y, Textarea as ne } from "@burdenoff/fe-libs/ui";
|
|
18
19
|
//#region src/cosmicintersection/pages/analyses/AnalysesPage.tsx
|
|
19
20
|
function X(e) {
|
|
20
21
|
return !!e.outputFile?.id || !!(e.results && Object.keys(e.results).length > 0);
|
|
21
22
|
}
|
|
22
|
-
var
|
|
23
|
+
var re = [
|
|
23
24
|
{
|
|
24
25
|
value: "PENDING",
|
|
25
26
|
label: "Pending"
|
|
@@ -48,68 +49,68 @@ function Q(e) {
|
|
|
48
49
|
minute: "2-digit"
|
|
49
50
|
});
|
|
50
51
|
}
|
|
51
|
-
function
|
|
52
|
-
let { data: t, loading: n } = p(e), [r, i] =
|
|
53
|
-
return n ? /* @__PURE__ */
|
|
52
|
+
function $({ fileId: e }) {
|
|
53
|
+
let { data: t, loading: n } = p(e), [r, i] = y(!1), a = t?.getFileDownloadUrl ?? null;
|
|
54
|
+
return n ? /* @__PURE__ */ x("span", {
|
|
54
55
|
className: "text-xs text-text-secondary",
|
|
55
56
|
children: "Resolving link…"
|
|
56
|
-
}) : a ? /* @__PURE__ */
|
|
57
|
+
}) : a ? /* @__PURE__ */ S("div", {
|
|
57
58
|
className: "space-y-2",
|
|
58
|
-
children: [r ? null : /* @__PURE__ */
|
|
59
|
+
children: [r ? null : /* @__PURE__ */ x("img", {
|
|
59
60
|
src: a,
|
|
60
61
|
alt: "Analysis output preview",
|
|
61
62
|
onError: () => i(!0),
|
|
62
63
|
className: "max-h-72 w-full rounded-card border border-border-default bg-bg-sunken object-contain"
|
|
63
|
-
}), /* @__PURE__ */
|
|
64
|
+
}), /* @__PURE__ */ S("a", {
|
|
64
65
|
href: a,
|
|
65
66
|
target: "_blank",
|
|
66
67
|
rel: "noopener noreferrer",
|
|
67
68
|
className: "inline-flex items-center gap-1 text-sm text-text-primary underline-offset-2 hover:underline",
|
|
68
|
-
children: [/* @__PURE__ */
|
|
69
|
+
children: [/* @__PURE__ */ x(T, {
|
|
69
70
|
className: "size-3.5",
|
|
70
71
|
"aria-hidden": "true"
|
|
71
72
|
}), "Download output"]
|
|
72
73
|
})]
|
|
73
|
-
}) : /* @__PURE__ */
|
|
74
|
+
}) : /* @__PURE__ */ S("span", {
|
|
74
75
|
className: "text-xs text-text-secondary",
|
|
75
76
|
children: ["File ", e]
|
|
76
77
|
});
|
|
77
78
|
}
|
|
78
79
|
function ie({ analysis: e, onOpenChange: t }) {
|
|
79
80
|
let n = e?.results ?? null, r = !!(n && Object.keys(n).length > 0), i = !!e?.outputFile?.id;
|
|
80
|
-
return /* @__PURE__ */
|
|
81
|
+
return /* @__PURE__ */ x(j, {
|
|
81
82
|
open: !!e,
|
|
82
83
|
onOpenChange: t,
|
|
83
|
-
children: /* @__PURE__ */
|
|
84
|
+
children: /* @__PURE__ */ x(N, {
|
|
84
85
|
className: "max-h-[85vh] max-w-2xl overflow-y-auto",
|
|
85
|
-
children: e ? /* @__PURE__ */
|
|
86
|
-
/* @__PURE__ */
|
|
86
|
+
children: e ? /* @__PURE__ */ S(b, { children: [
|
|
87
|
+
/* @__PURE__ */ S(I, { children: [/* @__PURE__ */ S(L, {
|
|
87
88
|
className: "flex items-center gap-2",
|
|
88
|
-
children: [/* @__PURE__ */
|
|
89
|
+
children: [/* @__PURE__ */ x(C, {
|
|
89
90
|
className: "size-5 text-text-secondary",
|
|
90
91
|
"aria-hidden": "true"
|
|
91
92
|
}), "Analysis results"]
|
|
92
|
-
}), /* @__PURE__ */
|
|
93
|
-
/* @__PURE__ */
|
|
93
|
+
}), /* @__PURE__ */ S(P, { children: [e.title, e.method ? ` · ${e.method}` : ""] })] }),
|
|
94
|
+
/* @__PURE__ */ S("div", {
|
|
94
95
|
className: "space-y-5",
|
|
95
96
|
children: [
|
|
96
|
-
r && n ? /* @__PURE__ */
|
|
97
|
-
i && e.outputFile ? /* @__PURE__ */
|
|
97
|
+
r && n ? /* @__PURE__ */ x(_, { results: n }) : null,
|
|
98
|
+
i && e.outputFile ? /* @__PURE__ */ S("div", {
|
|
98
99
|
className: "space-y-2",
|
|
99
|
-
children: [/* @__PURE__ */
|
|
100
|
+
children: [/* @__PURE__ */ x("p", {
|
|
100
101
|
className: "text-xs font-medium uppercase tracking-wide text-text-secondary",
|
|
101
102
|
children: "Output artifact"
|
|
102
|
-
}), /* @__PURE__ */
|
|
103
|
+
}), /* @__PURE__ */ x($, { fileId: e.outputFile.id })]
|
|
103
104
|
}) : null,
|
|
104
|
-
!r && !i ? /* @__PURE__ */
|
|
105
|
+
!r && !i ? /* @__PURE__ */ x("p", {
|
|
105
106
|
className: "rounded-card border border-border-default bg-bg-sunken px-4 py-6 text-center text-sm text-text-secondary",
|
|
106
107
|
children: "No results or output artifact has been recorded for this analysis yet."
|
|
107
108
|
}) : null
|
|
108
109
|
]
|
|
109
110
|
}),
|
|
110
|
-
/* @__PURE__ */
|
|
111
|
+
/* @__PURE__ */ x(F, { children: /* @__PURE__ */ x(M, {
|
|
111
112
|
asChild: !0,
|
|
112
|
-
children: /* @__PURE__ */
|
|
113
|
+
children: /* @__PURE__ */ x(A, {
|
|
113
114
|
type: "button",
|
|
114
115
|
variant: "outline",
|
|
115
116
|
children: "Close"
|
|
@@ -119,7 +120,7 @@ function ie({ analysis: e, onOpenChange: t }) {
|
|
|
119
120
|
})
|
|
120
121
|
});
|
|
121
122
|
}
|
|
122
|
-
function
|
|
123
|
+
function ae(e, t) {
|
|
123
124
|
let n = e.trim();
|
|
124
125
|
if (!n) return {
|
|
125
126
|
ok: !0,
|
|
@@ -141,22 +142,22 @@ function $(e, t) {
|
|
|
141
142
|
};
|
|
142
143
|
}
|
|
143
144
|
}
|
|
144
|
-
function
|
|
145
|
-
let c = s(), [l, u] =
|
|
145
|
+
function oe({ open: e, onOpenChange: n, onCompleted: r }) {
|
|
146
|
+
let c = s(), [l, u] = y(""), [d, f] = y(""), [p, m] = y(!1), [h, g] = y("NOTEBOOK"), [_, v] = y(""), { data: b, loading: C } = a({ pagination: {
|
|
146
147
|
limit: 100,
|
|
147
148
|
offset: 0
|
|
148
149
|
} }), { data: w, loading: T } = i({ pagination: {
|
|
149
150
|
limit: 100,
|
|
150
151
|
offset: 0
|
|
151
|
-
} }), [
|
|
152
|
-
u(""), f(""), m(!1), g("NOTEBOOK"),
|
|
152
|
+
} }), [E, { loading: O }] = o(), k = b?.cosListNotebooks.items ?? [], M = w?.cosListDatasets.items ?? [], K = () => {
|
|
153
|
+
u(""), f(""), m(!1), g("NOTEBOOK"), v("");
|
|
153
154
|
};
|
|
154
|
-
return /* @__PURE__ */
|
|
155
|
+
return /* @__PURE__ */ x(j, {
|
|
155
156
|
open: e,
|
|
156
157
|
onOpenChange: (e) => {
|
|
157
158
|
O || n(e);
|
|
158
159
|
},
|
|
159
|
-
children: /* @__PURE__ */
|
|
160
|
+
children: /* @__PURE__ */ x(N, { children: /* @__PURE__ */ S("form", {
|
|
160
161
|
onSubmit: async (e) => {
|
|
161
162
|
e.preventDefault();
|
|
162
163
|
let i = l.trim();
|
|
@@ -168,23 +169,23 @@ function ae({ open: e, onOpenChange: n, onCompleted: r }) {
|
|
|
168
169
|
t.error(c("cosmicintersection.pages.analyses.selectSource", "Select a source"), c("cosmicintersection.pages.analyses.selectSourceDescription", "Choose a {{kind}} to analyse.", { kind: h === "NOTEBOOK" ? c("nav.notebooks", "notebook").toLowerCase() : c("nav.datasets", "dataset").toLowerCase() }));
|
|
169
170
|
return;
|
|
170
171
|
}
|
|
171
|
-
let a = await
|
|
172
|
+
let a = await E({ variables: { input: {
|
|
172
173
|
title: i,
|
|
173
174
|
method: d.trim() || void 0,
|
|
174
175
|
aiAssisted: p,
|
|
175
176
|
...h === "NOTEBOOK" ? { notebookId: _ } : { datasetId: _ }
|
|
176
177
|
} } });
|
|
177
|
-
a.error || !a.data?.cosRunAnalysis?.id || (t.success(c("cosmicintersection.pages.analyses.analysisStarted", "Analysis started"), c("cosmicintersection.pages.analyses.analysisStartedDescription", "“{{name}}” is now running.", { name: i })),
|
|
178
|
+
a.error || !a.data?.cosRunAnalysis?.id || (t.success(c("cosmicintersection.pages.analyses.analysisStarted", "Analysis started"), c("cosmicintersection.pages.analyses.analysisStartedDescription", "“{{name}}” is now running.", { name: i })), K(), n(!1), r());
|
|
178
179
|
},
|
|
179
180
|
className: "space-y-4",
|
|
180
181
|
children: [
|
|
181
|
-
/* @__PURE__ */
|
|
182
|
-
/* @__PURE__ */
|
|
182
|
+
/* @__PURE__ */ S(I, { children: [/* @__PURE__ */ x(L, { children: "Run analysis" }), /* @__PURE__ */ x(P, { children: "Launch a new analysis against a notebook or a dataset. Exactly one source is required." })] }),
|
|
183
|
+
/* @__PURE__ */ S("div", {
|
|
183
184
|
className: "space-y-1.5",
|
|
184
|
-
children: [/* @__PURE__ */
|
|
185
|
+
children: [/* @__PURE__ */ x(z, {
|
|
185
186
|
htmlFor: "run-title",
|
|
186
187
|
children: "Title"
|
|
187
|
-
}), /* @__PURE__ */
|
|
188
|
+
}), /* @__PURE__ */ x(R, {
|
|
188
189
|
id: "run-title",
|
|
189
190
|
value: l,
|
|
190
191
|
onChange: (e) => u(e.target.value),
|
|
@@ -192,102 +193,102 @@ function ae({ open: e, onOpenChange: n, onCompleted: r }) {
|
|
|
192
193
|
required: !0
|
|
193
194
|
})]
|
|
194
195
|
}),
|
|
195
|
-
/* @__PURE__ */
|
|
196
|
+
/* @__PURE__ */ S("div", {
|
|
196
197
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
197
|
-
children: [/* @__PURE__ */
|
|
198
|
+
children: [/* @__PURE__ */ S("div", {
|
|
198
199
|
className: "space-y-1.5",
|
|
199
|
-
children: [/* @__PURE__ */
|
|
200
|
+
children: [/* @__PURE__ */ x(z, {
|
|
200
201
|
htmlFor: "run-source-kind",
|
|
201
202
|
children: "Source type"
|
|
202
|
-
}), /* @__PURE__ */
|
|
203
|
+
}), /* @__PURE__ */ S(B, {
|
|
203
204
|
value: h,
|
|
204
205
|
onValueChange: (e) => {
|
|
205
|
-
g(e),
|
|
206
|
+
g(e), v("");
|
|
206
207
|
},
|
|
207
|
-
children: [/* @__PURE__ */
|
|
208
|
+
children: [/* @__PURE__ */ x(U, {
|
|
208
209
|
id: "run-source-kind",
|
|
209
210
|
"aria-label": "Source type",
|
|
210
|
-
children: /* @__PURE__ */
|
|
211
|
-
}), /* @__PURE__ */
|
|
211
|
+
children: /* @__PURE__ */ x(W, {})
|
|
212
|
+
}), /* @__PURE__ */ S(V, { children: [/* @__PURE__ */ x(H, {
|
|
212
213
|
value: "NOTEBOOK",
|
|
213
214
|
children: "Notebook"
|
|
214
|
-
}), /* @__PURE__ */
|
|
215
|
+
}), /* @__PURE__ */ x(H, {
|
|
215
216
|
value: "DATASET",
|
|
216
217
|
children: "Dataset"
|
|
217
218
|
})] })]
|
|
218
219
|
})]
|
|
219
|
-
}), /* @__PURE__ */
|
|
220
|
+
}), /* @__PURE__ */ S("div", {
|
|
220
221
|
className: "space-y-1.5",
|
|
221
|
-
children: [/* @__PURE__ */
|
|
222
|
+
children: [/* @__PURE__ */ x(z, {
|
|
222
223
|
htmlFor: "run-source-id",
|
|
223
224
|
children: h === "NOTEBOOK" ? "Notebook" : "Dataset"
|
|
224
|
-
}), /* @__PURE__ */
|
|
225
|
+
}), /* @__PURE__ */ S(B, {
|
|
225
226
|
value: _,
|
|
226
|
-
onValueChange: (e) =>
|
|
227
|
-
children: [/* @__PURE__ */
|
|
227
|
+
onValueChange: (e) => v(e),
|
|
228
|
+
children: [/* @__PURE__ */ x(U, {
|
|
228
229
|
id: "run-source-id",
|
|
229
230
|
"aria-label": "Analysis source",
|
|
230
|
-
children: /* @__PURE__ */
|
|
231
|
-
}), /* @__PURE__ */
|
|
231
|
+
children: /* @__PURE__ */ x(W, { placeholder: (h === "NOTEBOOK" ? C : T) ? "Loading…" : `Select a ${h === "NOTEBOOK" ? "notebook" : "dataset"}` })
|
|
232
|
+
}), /* @__PURE__ */ x(V, { children: h === "NOTEBOOK" ? k.map((e) => /* @__PURE__ */ x(H, {
|
|
232
233
|
value: e.id,
|
|
233
234
|
children: e.title
|
|
234
|
-
}, e.id)) :
|
|
235
|
+
}, e.id)) : M.map((e) => /* @__PURE__ */ x(H, {
|
|
235
236
|
value: e.id,
|
|
236
237
|
children: e.name
|
|
237
238
|
}, e.id)) })]
|
|
238
239
|
})]
|
|
239
240
|
})]
|
|
240
241
|
}),
|
|
241
|
-
/* @__PURE__ */
|
|
242
|
+
/* @__PURE__ */ S("div", {
|
|
242
243
|
className: "space-y-1.5",
|
|
243
|
-
children: [/* @__PURE__ */
|
|
244
|
+
children: [/* @__PURE__ */ x(z, {
|
|
244
245
|
htmlFor: "run-method",
|
|
245
246
|
children: "Method"
|
|
246
|
-
}), /* @__PURE__ */
|
|
247
|
+
}), /* @__PURE__ */ x(R, {
|
|
247
248
|
id: "run-method",
|
|
248
249
|
value: d,
|
|
249
250
|
onChange: (e) => f(e.target.value),
|
|
250
251
|
placeholder: "e.g. gaussian-fit"
|
|
251
252
|
})]
|
|
252
253
|
}),
|
|
253
|
-
/* @__PURE__ */
|
|
254
|
+
/* @__PURE__ */ S("div", {
|
|
254
255
|
className: "flex items-center gap-3",
|
|
255
|
-
children: [/* @__PURE__ */
|
|
256
|
+
children: [/* @__PURE__ */ x(G, {
|
|
256
257
|
id: "run-ai",
|
|
257
258
|
checked: p,
|
|
258
259
|
onCheckedChange: (e) => m(e)
|
|
259
|
-
}), /* @__PURE__ */
|
|
260
|
+
}), /* @__PURE__ */ x(z, {
|
|
260
261
|
htmlFor: "run-ai",
|
|
261
262
|
className: "cursor-pointer",
|
|
262
263
|
children: "AI-assisted analysis"
|
|
263
264
|
})]
|
|
264
265
|
}),
|
|
265
|
-
/* @__PURE__ */
|
|
266
|
+
/* @__PURE__ */ S(F, { children: [/* @__PURE__ */ x(A, {
|
|
266
267
|
type: "button",
|
|
267
268
|
variant: "outline",
|
|
268
269
|
onClick: () => n(!1),
|
|
269
270
|
disabled: O,
|
|
270
271
|
children: "Cancel"
|
|
271
|
-
}), /* @__PURE__ */
|
|
272
|
+
}), /* @__PURE__ */ S(A, {
|
|
272
273
|
type: "submit",
|
|
273
274
|
disabled: O,
|
|
274
|
-
children: [/* @__PURE__ */
|
|
275
|
+
children: [/* @__PURE__ */ x(D, { className: "size-4" }), O ? "Starting…" : "Run analysis"]
|
|
275
276
|
})] })
|
|
276
277
|
]
|
|
277
278
|
}) })
|
|
278
279
|
});
|
|
279
280
|
}
|
|
280
|
-
function
|
|
281
|
-
let [a, o] =
|
|
282
|
-
return /* @__PURE__ */
|
|
281
|
+
function se({ analysis: e, onOpenChange: n, onCompleted: i }) {
|
|
282
|
+
let [a, o] = y("COMPLETED"), [c, l] = y(""), [u, d] = y(""), [p, { loading: m }] = r(), h = s();
|
|
283
|
+
return /* @__PURE__ */ x(j, {
|
|
283
284
|
open: !!e,
|
|
284
285
|
onOpenChange: (e) => {
|
|
285
286
|
m || n(e);
|
|
286
287
|
},
|
|
287
|
-
children: /* @__PURE__ */
|
|
288
|
+
children: /* @__PURE__ */ x(N, { children: /* @__PURE__ */ S("form", {
|
|
288
289
|
onSubmit: async (r) => {
|
|
289
290
|
if (r.preventDefault(), !e) return;
|
|
290
|
-
let o =
|
|
291
|
+
let o = ae(c, h);
|
|
291
292
|
if (!o.ok) {
|
|
292
293
|
t.error(h("cosmicintersection.pages.analyses.invalidResults", "Invalid results"), o.error);
|
|
293
294
|
return;
|
|
@@ -302,40 +303,40 @@ function oe({ analysis: e, onOpenChange: n, onCompleted: i }) {
|
|
|
302
303
|
},
|
|
303
304
|
className: "space-y-4",
|
|
304
305
|
children: [
|
|
305
|
-
/* @__PURE__ */
|
|
306
|
+
/* @__PURE__ */ S(I, { children: [/* @__PURE__ */ x(L, { children: "Complete analysis" }), /* @__PURE__ */ S(P, { children: [
|
|
306
307
|
"Record the outcome for ",
|
|
307
308
|
e ? `“${e.title}”` : "this analysis",
|
|
308
309
|
". Attach results or an output artifact if you have them."
|
|
309
310
|
] })] }),
|
|
310
|
-
/* @__PURE__ */
|
|
311
|
+
/* @__PURE__ */ S("div", {
|
|
311
312
|
className: "space-y-1.5",
|
|
312
|
-
children: [/* @__PURE__ */
|
|
313
|
+
children: [/* @__PURE__ */ x(z, {
|
|
313
314
|
htmlFor: "complete-status",
|
|
314
315
|
children: "Outcome"
|
|
315
|
-
}), /* @__PURE__ */
|
|
316
|
+
}), /* @__PURE__ */ S(B, {
|
|
316
317
|
value: a,
|
|
317
318
|
onValueChange: (e) => o(e),
|
|
318
|
-
children: [/* @__PURE__ */
|
|
319
|
+
children: [/* @__PURE__ */ x(U, {
|
|
319
320
|
id: "complete-status",
|
|
320
321
|
"aria-label": "Outcome",
|
|
321
|
-
children: /* @__PURE__ */
|
|
322
|
-
}), /* @__PURE__ */
|
|
322
|
+
children: /* @__PURE__ */ x(W, {})
|
|
323
|
+
}), /* @__PURE__ */ S(V, { children: [/* @__PURE__ */ x(H, {
|
|
323
324
|
value: "COMPLETED",
|
|
324
325
|
children: "Completed"
|
|
325
|
-
}), /* @__PURE__ */
|
|
326
|
+
}), /* @__PURE__ */ x(H, {
|
|
326
327
|
value: "FAILED",
|
|
327
328
|
children: "Failed"
|
|
328
329
|
})] })]
|
|
329
330
|
})]
|
|
330
331
|
}),
|
|
331
|
-
/* @__PURE__ */
|
|
332
|
+
/* @__PURE__ */ S("div", {
|
|
332
333
|
className: "space-y-1.5",
|
|
333
334
|
children: [
|
|
334
|
-
/* @__PURE__ */
|
|
335
|
+
/* @__PURE__ */ x(z, {
|
|
335
336
|
htmlFor: "complete-results",
|
|
336
337
|
children: "Results (JSON)"
|
|
337
338
|
}),
|
|
338
|
-
/* @__PURE__ */
|
|
339
|
+
/* @__PURE__ */ x(ne, {
|
|
339
340
|
id: "complete-results",
|
|
340
341
|
value: c,
|
|
341
342
|
onChange: (e) => l(e.target.value),
|
|
@@ -343,25 +344,25 @@ function oe({ analysis: e, onOpenChange: n, onCompleted: i }) {
|
|
|
343
344
|
className: "font-mono text-xs",
|
|
344
345
|
placeholder: "{ \"snr\": 12.4, \"detections\": 3 }"
|
|
345
346
|
}),
|
|
346
|
-
/* @__PURE__ */
|
|
347
|
+
/* @__PURE__ */ x("p", {
|
|
347
348
|
className: "text-xs text-text-secondary",
|
|
348
349
|
children: "Optional structured results as a JSON object."
|
|
349
350
|
})
|
|
350
351
|
]
|
|
351
352
|
}),
|
|
352
|
-
/* @__PURE__ */
|
|
353
|
+
/* @__PURE__ */ x(f, {
|
|
353
354
|
value: u,
|
|
354
355
|
onChange: (e) => d(e),
|
|
355
356
|
label: "Attach output file",
|
|
356
357
|
hint: "Optional output artifact (plots, tables, exports). Stored in workspace files."
|
|
357
358
|
}),
|
|
358
|
-
/* @__PURE__ */
|
|
359
|
+
/* @__PURE__ */ S(F, { children: [/* @__PURE__ */ x(A, {
|
|
359
360
|
type: "button",
|
|
360
361
|
variant: "outline",
|
|
361
362
|
onClick: () => n(!1),
|
|
362
363
|
disabled: m,
|
|
363
364
|
children: "Cancel"
|
|
364
|
-
}), /* @__PURE__ */
|
|
365
|
+
}), /* @__PURE__ */ x(A, {
|
|
365
366
|
type: "submit",
|
|
366
367
|
disabled: m,
|
|
367
368
|
children: m ? "Saving…" : "Save outcome"
|
|
@@ -370,247 +371,247 @@ function oe({ analysis: e, onOpenChange: n, onCompleted: i }) {
|
|
|
370
371
|
}) })
|
|
371
372
|
});
|
|
372
373
|
}
|
|
373
|
-
function
|
|
374
|
-
let { navigate: t } = e(), r = s(), [o, f] =
|
|
374
|
+
function ce() {
|
|
375
|
+
let { navigate: t } = e(), r = s(), [o, f] = y(void 0), [p, _] = y(!1), [T, j] = y(null), { data: M, loading: N, error: P, refetch: F } = n({ status: o }), { data: I } = a({ pagination: {
|
|
375
376
|
limit: 100,
|
|
376
377
|
offset: 0
|
|
377
|
-
} }), { data:
|
|
378
|
+
} }), { data: L } = i({ pagination: {
|
|
378
379
|
limit: 100,
|
|
379
380
|
offset: 0
|
|
380
|
-
} }),
|
|
381
|
+
} }), R = M?.cosListAnalyses ?? [], { selectedId: z, select: G } = g(), ne = z ? R.find((e) => e.id === z) ?? null : null, $ = (e) => G(e ? e.id : null), ae = v(() => {
|
|
381
382
|
let e = /* @__PURE__ */ new Map();
|
|
382
|
-
for (let t of
|
|
383
|
+
for (let t of I?.cosListNotebooks.items ?? []) e.set(t.id, t.title);
|
|
383
384
|
return e;
|
|
384
|
-
}, [
|
|
385
|
+
}, [I]), ce = v(() => {
|
|
385
386
|
let e = /* @__PURE__ */ new Map();
|
|
386
|
-
for (let t of
|
|
387
|
+
for (let t of L?.cosListDatasets.items ?? []) e.set(t.id, t.name);
|
|
387
388
|
return e;
|
|
388
|
-
}, [
|
|
389
|
-
label:
|
|
389
|
+
}, [L]), le = (e) => e.notebookId ? {
|
|
390
|
+
label: ae.get(e.notebookId) ?? "Notebook",
|
|
390
391
|
path: `notebooks/${e.notebookId}`
|
|
391
392
|
} : e.datasetId ? {
|
|
392
|
-
label:
|
|
393
|
+
label: ce.get(e.datasetId) ?? "Dataset",
|
|
393
394
|
path: `datasets/${e.datasetId}`
|
|
394
|
-
} : null,
|
|
395
|
+
} : null, ue = (e) => {
|
|
395
396
|
let t = e.status === "PENDING" || e.status === "RUNNING";
|
|
396
397
|
return [...X(e) ? [{
|
|
397
398
|
key: "view-results",
|
|
398
399
|
label: "View results",
|
|
399
|
-
icon:
|
|
400
|
-
onSelect: () =>
|
|
400
|
+
icon: C,
|
|
401
|
+
onSelect: () => $(e)
|
|
401
402
|
}] : [], ...t ? [{
|
|
402
403
|
key: "complete",
|
|
403
404
|
label: "Complete…",
|
|
404
|
-
icon:
|
|
405
|
-
onSelect: () =>
|
|
405
|
+
icon: w,
|
|
406
|
+
onSelect: () => j(e)
|
|
406
407
|
}] : []];
|
|
407
|
-
},
|
|
408
|
+
}, de = /* @__PURE__ */ S(A, {
|
|
408
409
|
type: "button",
|
|
409
|
-
onClick: () =>
|
|
410
|
-
children: [/* @__PURE__ */
|
|
410
|
+
onClick: () => _(!0),
|
|
411
|
+
children: [/* @__PURE__ */ x(D, { className: "size-4" }), r("cosmicintersection.pages.analyses.create", "Run analysis")]
|
|
411
412
|
});
|
|
412
|
-
return /* @__PURE__ */
|
|
413
|
+
return /* @__PURE__ */ S(m, {
|
|
413
414
|
title: r("cosmicintersection.pages.analyses.title", "Analyses"),
|
|
414
415
|
description: r("cosmicintersection.pages.analyses.description", "Analysis runs executed over notebooks and federated datasets."),
|
|
415
|
-
actions:
|
|
416
|
+
actions: de,
|
|
416
417
|
children: [
|
|
417
|
-
/* @__PURE__ */
|
|
418
|
+
/* @__PURE__ */ S("div", {
|
|
418
419
|
className: "space-y-4",
|
|
419
|
-
children: [/* @__PURE__ */
|
|
420
|
+
children: [/* @__PURE__ */ S("div", {
|
|
420
421
|
className: "flex flex-wrap items-center gap-3",
|
|
421
|
-
children: [/* @__PURE__ */
|
|
422
|
+
children: [/* @__PURE__ */ x("label", {
|
|
422
423
|
className: "text-sm text-text-secondary",
|
|
423
424
|
htmlFor: "analysis-status-filter",
|
|
424
425
|
children: "Status"
|
|
425
|
-
}), /* @__PURE__ */
|
|
426
|
+
}), /* @__PURE__ */ S(B, {
|
|
426
427
|
value: o ?? Z,
|
|
427
428
|
onValueChange: (e) => f(e === Z ? void 0 : e),
|
|
428
|
-
children: [/* @__PURE__ */
|
|
429
|
+
children: [/* @__PURE__ */ x(U, {
|
|
429
430
|
id: "analysis-status-filter",
|
|
430
431
|
className: "w-48",
|
|
431
432
|
"aria-label": "Filter by status",
|
|
432
|
-
children: /* @__PURE__ */
|
|
433
|
-
}), /* @__PURE__ */
|
|
433
|
+
children: /* @__PURE__ */ x(W, {})
|
|
434
|
+
}), /* @__PURE__ */ S(V, { children: [/* @__PURE__ */ x(H, {
|
|
434
435
|
value: Z,
|
|
435
436
|
children: "All statuses"
|
|
436
|
-
}),
|
|
437
|
+
}), re.map((e) => /* @__PURE__ */ x(H, {
|
|
437
438
|
value: e.value,
|
|
438
439
|
children: e.label
|
|
439
440
|
}, e.value))] })]
|
|
440
441
|
})]
|
|
441
|
-
}),
|
|
442
|
+
}), N ? /* @__PURE__ */ x(d, {
|
|
442
443
|
variant: "rows",
|
|
443
444
|
rows: 6,
|
|
444
445
|
label: r("cosmicintersection.pages.analyses.loading", "Loading analyses…")
|
|
445
|
-
}) :
|
|
446
|
+
}) : P ? /* @__PURE__ */ x(u, {
|
|
446
447
|
message: r("cosmicintersection.pages.analyses.error", "We could not load analyses. Please try again."),
|
|
447
|
-
onRetry: () => void
|
|
448
|
-
}) :
|
|
449
|
-
icon:
|
|
448
|
+
onRetry: () => void F()
|
|
449
|
+
}) : R.length === 0 ? /* @__PURE__ */ x(l, {
|
|
450
|
+
icon: w,
|
|
450
451
|
title: o ? r("cosmicintersection.pages.analyses.emptyFilterTitle", "No analyses match this filter.") : r("cosmicintersection.pages.analyses.emptyTitle", "No analyses yet."),
|
|
451
452
|
description: o ? r("cosmicintersection.pages.analyses.emptyFilterDescription", "Try a different status filter.") : r("cosmicintersection.pages.analyses.emptyDescription", "Run an analysis against a notebook or dataset to see results here."),
|
|
452
|
-
action: o ? void 0 : /* @__PURE__ */
|
|
453
|
+
action: o ? void 0 : /* @__PURE__ */ S(A, {
|
|
453
454
|
type: "button",
|
|
454
|
-
onClick: () =>
|
|
455
|
-
children: [/* @__PURE__ */
|
|
455
|
+
onClick: () => _(!0),
|
|
456
|
+
children: [/* @__PURE__ */ x(D, { className: "size-4" }), r("cosmicintersection.pages.analyses.create", "Run analysis")]
|
|
456
457
|
})
|
|
457
|
-
}) : /* @__PURE__ */
|
|
458
|
+
}) : /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x("div", {
|
|
458
459
|
className: "hidden rounded-card border border-border-default bg-bg-elevated md:block",
|
|
459
|
-
children: /* @__PURE__ */
|
|
460
|
-
/* @__PURE__ */
|
|
461
|
-
/* @__PURE__ */
|
|
462
|
-
/* @__PURE__ */
|
|
463
|
-
/* @__PURE__ */
|
|
464
|
-
/* @__PURE__ */
|
|
465
|
-
/* @__PURE__ */
|
|
466
|
-
/* @__PURE__ */
|
|
467
|
-
/* @__PURE__ */
|
|
468
|
-
/* @__PURE__ */
|
|
460
|
+
children: /* @__PURE__ */ S(K, { children: [/* @__PURE__ */ x(te, { children: /* @__PURE__ */ S(Y, { children: [
|
|
461
|
+
/* @__PURE__ */ x(J, { children: "Title" }),
|
|
462
|
+
/* @__PURE__ */ x(J, { children: "Method" }),
|
|
463
|
+
/* @__PURE__ */ x(J, { children: "AI" }),
|
|
464
|
+
/* @__PURE__ */ x(J, { children: "Status" }),
|
|
465
|
+
/* @__PURE__ */ x(J, { children: "Source" }),
|
|
466
|
+
/* @__PURE__ */ x(J, { children: "Started" }),
|
|
467
|
+
/* @__PURE__ */ x(J, { children: "Finished" }),
|
|
468
|
+
/* @__PURE__ */ x(J, { children: "Output" }),
|
|
469
|
+
/* @__PURE__ */ x(J, {
|
|
469
470
|
className: "w-12 text-right",
|
|
470
471
|
children: "Actions"
|
|
471
472
|
})
|
|
472
|
-
] }) }), /* @__PURE__ */
|
|
473
|
-
let n =
|
|
474
|
-
return /* @__PURE__ */
|
|
475
|
-
/* @__PURE__ */
|
|
473
|
+
] }) }), /* @__PURE__ */ x(ee, { children: R.map((e) => {
|
|
474
|
+
let n = le(e);
|
|
475
|
+
return /* @__PURE__ */ S(Y, { children: [
|
|
476
|
+
/* @__PURE__ */ x(q, {
|
|
476
477
|
className: "font-medium text-text-primary",
|
|
477
478
|
children: e.title
|
|
478
479
|
}),
|
|
479
|
-
/* @__PURE__ */
|
|
480
|
+
/* @__PURE__ */ x(q, {
|
|
480
481
|
className: "text-text-secondary",
|
|
481
482
|
children: e.method ?? "—"
|
|
482
483
|
}),
|
|
483
|
-
/* @__PURE__ */
|
|
484
|
+
/* @__PURE__ */ x(q, { children: e.aiAssisted ? /* @__PURE__ */ S(k, {
|
|
484
485
|
variant: "secondary",
|
|
485
486
|
className: "gap-1",
|
|
486
|
-
children: [/* @__PURE__ */
|
|
487
|
+
children: [/* @__PURE__ */ x(O, {
|
|
487
488
|
className: "size-3",
|
|
488
489
|
"aria-hidden": "true"
|
|
489
490
|
}), "AI"]
|
|
490
|
-
}) : /* @__PURE__ */
|
|
491
|
+
}) : /* @__PURE__ */ x("span", {
|
|
491
492
|
className: "text-text-secondary",
|
|
492
493
|
children: "—"
|
|
493
494
|
}) }),
|
|
494
|
-
/* @__PURE__ */
|
|
495
|
-
/* @__PURE__ */
|
|
495
|
+
/* @__PURE__ */ x(q, { children: /* @__PURE__ */ x(h, { status: e.status }) }),
|
|
496
|
+
/* @__PURE__ */ x(q, { children: n ? /* @__PURE__ */ S("button", {
|
|
496
497
|
type: "button",
|
|
497
498
|
onClick: () => t(n.path),
|
|
498
499
|
className: "inline-flex max-w-[12rem] items-center gap-1 truncate text-sm text-text-primary underline-offset-2 hover:underline",
|
|
499
|
-
children: [/* @__PURE__ */
|
|
500
|
+
children: [/* @__PURE__ */ x(E, {
|
|
500
501
|
className: "size-3.5 shrink-0",
|
|
501
502
|
"aria-hidden": "true"
|
|
502
|
-
}), /* @__PURE__ */
|
|
503
|
+
}), /* @__PURE__ */ x("span", {
|
|
503
504
|
className: "truncate",
|
|
504
505
|
children: n.label
|
|
505
506
|
})]
|
|
506
|
-
}) : /* @__PURE__ */
|
|
507
|
+
}) : /* @__PURE__ */ x("span", {
|
|
507
508
|
className: "text-text-secondary",
|
|
508
509
|
children: "—"
|
|
509
510
|
}) }),
|
|
510
|
-
/* @__PURE__ */
|
|
511
|
+
/* @__PURE__ */ x(q, {
|
|
511
512
|
className: "whitespace-nowrap text-text-secondary",
|
|
512
513
|
children: Q(e.startedAt)
|
|
513
514
|
}),
|
|
514
|
-
/* @__PURE__ */
|
|
515
|
+
/* @__PURE__ */ x(q, {
|
|
515
516
|
className: "whitespace-nowrap text-text-secondary",
|
|
516
517
|
children: Q(e.finishedAt)
|
|
517
518
|
}),
|
|
518
|
-
/* @__PURE__ */
|
|
519
|
+
/* @__PURE__ */ x(q, { children: X(e) ? /* @__PURE__ */ S(A, {
|
|
519
520
|
type: "button",
|
|
520
521
|
variant: "outline",
|
|
521
522
|
size: "sm",
|
|
522
523
|
className: "h-auto gap-1 px-2 py-1",
|
|
523
|
-
onClick: () =>
|
|
524
|
-
children: [/* @__PURE__ */
|
|
524
|
+
onClick: () => $(e),
|
|
525
|
+
children: [/* @__PURE__ */ x(C, {
|
|
525
526
|
className: "size-3.5",
|
|
526
527
|
"aria-hidden": "true"
|
|
527
528
|
}), "View"]
|
|
528
|
-
}) : /* @__PURE__ */
|
|
529
|
+
}) : /* @__PURE__ */ x("span", {
|
|
529
530
|
className: "text-text-secondary",
|
|
530
531
|
children: "—"
|
|
531
532
|
}) }),
|
|
532
|
-
/* @__PURE__ */
|
|
533
|
+
/* @__PURE__ */ x(q, {
|
|
533
534
|
className: "text-right",
|
|
534
|
-
children: /* @__PURE__ */
|
|
535
|
+
children: /* @__PURE__ */ x(c, {
|
|
535
536
|
ariaLabel: `Actions for ${e.title}`,
|
|
536
537
|
onView: n ? () => t(n.path) : void 0,
|
|
537
|
-
extraItems:
|
|
538
|
+
extraItems: ue(e)
|
|
538
539
|
})
|
|
539
540
|
})
|
|
540
541
|
] }, e.id);
|
|
541
542
|
}) })] })
|
|
542
|
-
}), /* @__PURE__ */
|
|
543
|
+
}), /* @__PURE__ */ x("ul", {
|
|
543
544
|
className: "space-y-3 md:hidden",
|
|
544
|
-
children:
|
|
545
|
-
let n =
|
|
546
|
-
return /* @__PURE__ */
|
|
545
|
+
children: R.map((e) => {
|
|
546
|
+
let n = le(e), r = e.status === "PENDING" || e.status === "RUNNING";
|
|
547
|
+
return /* @__PURE__ */ S("li", {
|
|
547
548
|
className: "space-y-3 rounded-card border border-border-default bg-bg-elevated p-4",
|
|
548
549
|
children: [
|
|
549
|
-
/* @__PURE__ */
|
|
550
|
+
/* @__PURE__ */ S("div", {
|
|
550
551
|
className: "flex items-start justify-between gap-3",
|
|
551
|
-
children: [/* @__PURE__ */
|
|
552
|
+
children: [/* @__PURE__ */ S("div", {
|
|
552
553
|
className: "min-w-0",
|
|
553
|
-
children: [/* @__PURE__ */
|
|
554
|
+
children: [/* @__PURE__ */ x("p", {
|
|
554
555
|
className: "truncate font-medium text-text-primary",
|
|
555
556
|
children: e.title
|
|
556
|
-
}), e.method ? /* @__PURE__ */
|
|
557
|
+
}), e.method ? /* @__PURE__ */ x("p", {
|
|
557
558
|
className: "truncate text-xs text-text-secondary",
|
|
558
559
|
children: e.method
|
|
559
560
|
}) : null]
|
|
560
|
-
}), /* @__PURE__ */
|
|
561
|
+
}), /* @__PURE__ */ x(h, { status: e.status })]
|
|
561
562
|
}),
|
|
562
|
-
/* @__PURE__ */
|
|
563
|
+
/* @__PURE__ */ S("div", {
|
|
563
564
|
className: "flex flex-wrap items-center gap-2",
|
|
564
|
-
children: [e.aiAssisted ? /* @__PURE__ */
|
|
565
|
+
children: [e.aiAssisted ? /* @__PURE__ */ S(k, {
|
|
565
566
|
variant: "secondary",
|
|
566
567
|
className: "gap-1",
|
|
567
|
-
children: [/* @__PURE__ */
|
|
568
|
+
children: [/* @__PURE__ */ x(O, {
|
|
568
569
|
className: "size-3",
|
|
569
570
|
"aria-hidden": "true"
|
|
570
571
|
}), "AI"]
|
|
571
|
-
}) : null, n ? /* @__PURE__ */
|
|
572
|
+
}) : null, n ? /* @__PURE__ */ S("button", {
|
|
572
573
|
type: "button",
|
|
573
574
|
onClick: () => t(n.path),
|
|
574
575
|
className: "inline-flex max-w-full items-center gap-1 truncate text-sm text-text-primary underline-offset-2 hover:underline",
|
|
575
|
-
children: [/* @__PURE__ */
|
|
576
|
+
children: [/* @__PURE__ */ x(E, {
|
|
576
577
|
className: "size-3.5 shrink-0",
|
|
577
578
|
"aria-hidden": "true"
|
|
578
|
-
}), /* @__PURE__ */
|
|
579
|
+
}), /* @__PURE__ */ x("span", {
|
|
579
580
|
className: "truncate",
|
|
580
581
|
children: n.label
|
|
581
582
|
})]
|
|
582
583
|
}) : null]
|
|
583
584
|
}),
|
|
584
|
-
/* @__PURE__ */
|
|
585
|
+
/* @__PURE__ */ S("dl", {
|
|
585
586
|
className: "grid grid-cols-2 gap-2 text-xs",
|
|
586
|
-
children: [/* @__PURE__ */
|
|
587
|
+
children: [/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("dt", {
|
|
587
588
|
className: "text-text-secondary",
|
|
588
589
|
children: "Started"
|
|
589
|
-
}), /* @__PURE__ */
|
|
590
|
+
}), /* @__PURE__ */ x("dd", {
|
|
590
591
|
className: "text-text-primary",
|
|
591
592
|
children: Q(e.startedAt)
|
|
592
|
-
})] }), /* @__PURE__ */
|
|
593
|
+
})] }), /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("dt", {
|
|
593
594
|
className: "text-text-secondary",
|
|
594
595
|
children: "Finished"
|
|
595
|
-
}), /* @__PURE__ */
|
|
596
|
+
}), /* @__PURE__ */ x("dd", {
|
|
596
597
|
className: "text-text-primary",
|
|
597
598
|
children: Q(e.finishedAt)
|
|
598
599
|
})] })]
|
|
599
600
|
}),
|
|
600
|
-
X(e) || r ? /* @__PURE__ */
|
|
601
|
+
X(e) || r ? /* @__PURE__ */ S("div", {
|
|
601
602
|
className: "flex flex-wrap gap-2",
|
|
602
|
-
children: [X(e) ? /* @__PURE__ */
|
|
603
|
+
children: [X(e) ? /* @__PURE__ */ S(A, {
|
|
603
604
|
type: "button",
|
|
604
605
|
variant: "outline",
|
|
605
606
|
size: "sm",
|
|
606
|
-
onClick: () =>
|
|
607
|
-
children: [/* @__PURE__ */
|
|
608
|
-
}) : null, r ? /* @__PURE__ */
|
|
607
|
+
onClick: () => $(e),
|
|
608
|
+
children: [/* @__PURE__ */ x(C, { className: "size-4" }), "View results"]
|
|
609
|
+
}) : null, r ? /* @__PURE__ */ S(A, {
|
|
609
610
|
type: "button",
|
|
610
611
|
variant: "outline",
|
|
611
612
|
size: "sm",
|
|
612
|
-
onClick: () =>
|
|
613
|
-
children: [/* @__PURE__ */
|
|
613
|
+
onClick: () => j(e),
|
|
614
|
+
children: [/* @__PURE__ */ x(w, { className: "size-4" }), "Complete"]
|
|
614
615
|
}) : null]
|
|
615
616
|
}) : null
|
|
616
617
|
]
|
|
@@ -618,28 +619,28 @@ function se() {
|
|
|
618
619
|
})
|
|
619
620
|
})] })]
|
|
620
621
|
}),
|
|
621
|
-
/* @__PURE__ */
|
|
622
|
+
/* @__PURE__ */ x(oe, {
|
|
622
623
|
open: p,
|
|
623
|
-
onOpenChange:
|
|
624
|
-
onCompleted: () => void
|
|
624
|
+
onOpenChange: _,
|
|
625
|
+
onCompleted: () => void F()
|
|
625
626
|
}),
|
|
626
|
-
/* @__PURE__ */
|
|
627
|
-
analysis:
|
|
627
|
+
/* @__PURE__ */ x(se, {
|
|
628
|
+
analysis: T,
|
|
628
629
|
onOpenChange: (e) => {
|
|
629
|
-
e ||
|
|
630
|
+
e || j(null);
|
|
630
631
|
},
|
|
631
|
-
onCompleted: () => void
|
|
632
|
-
},
|
|
633
|
-
/* @__PURE__ */
|
|
634
|
-
analysis:
|
|
632
|
+
onCompleted: () => void F()
|
|
633
|
+
}, T?.id ?? "none"),
|
|
634
|
+
/* @__PURE__ */ x(ie, {
|
|
635
|
+
analysis: ne,
|
|
635
636
|
onOpenChange: (e) => {
|
|
636
|
-
e ||
|
|
637
|
+
e || $(null);
|
|
637
638
|
}
|
|
638
639
|
})
|
|
639
640
|
]
|
|
640
641
|
});
|
|
641
642
|
}
|
|
642
643
|
//#endregion
|
|
643
|
-
export {
|
|
644
|
+
export { ce as default };
|
|
644
645
|
|
|
645
646
|
//# sourceMappingURL=AnalysesPage.js.map
|