@burdenoff/microfe-cosmicintersection 2026.830.2 → 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.
Files changed (109) hide show
  1. package/dist/cosmicintersection/CosmicIntersectionRoutes.d.ts +1 -1
  2. package/dist/cosmicintersection/CosmicIntersectionRoutes.d.ts.map +1 -1
  3. package/dist/cosmicintersection/api/cosmicApi.d.ts +48 -48
  4. package/dist/cosmicintersection/api/cosmicApi.d.ts.map +1 -1
  5. package/dist/cosmicintersection/components/ActionMenu.d.ts +1 -1
  6. package/dist/cosmicintersection/components/ActionMenu.d.ts.map +1 -1
  7. package/dist/cosmicintersection/components/ActivityFeedPanel.d.ts +1 -1
  8. package/dist/cosmicintersection/components/ActivityFeedPanel.d.ts.map +1 -1
  9. package/dist/cosmicintersection/components/DiscussionPanel.d.ts +1 -1
  10. package/dist/cosmicintersection/components/DiscussionPanel.d.ts.map +1 -1
  11. package/dist/cosmicintersection/components/EmptyState.d.ts +1 -1
  12. package/dist/cosmicintersection/components/EmptyState.d.ts.map +1 -1
  13. package/dist/cosmicintersection/components/EntityFormShell.d.ts +1 -1
  14. package/dist/cosmicintersection/components/EntityFormShell.d.ts.map +1 -1
  15. package/dist/cosmicintersection/components/EntityTagsField.d.ts +1 -1
  16. package/dist/cosmicintersection/components/EntityTagsField.d.ts.map +1 -1
  17. package/dist/cosmicintersection/components/ErrorState.d.ts +1 -1
  18. package/dist/cosmicintersection/components/ErrorState.d.ts.map +1 -1
  19. package/dist/cosmicintersection/components/FacetPanel.d.ts +1 -1
  20. package/dist/cosmicintersection/components/FacetPanel.d.ts.map +1 -1
  21. package/dist/cosmicintersection/components/FileUploadField.d.ts +2 -2
  22. package/dist/cosmicintersection/components/FileUploadField.d.ts.map +1 -1
  23. package/dist/cosmicintersection/components/FileUploadField.js +1 -0
  24. package/dist/cosmicintersection/components/FileUploadField.js.map +1 -1
  25. package/dist/cosmicintersection/components/LineageGraph.d.ts +1 -1
  26. package/dist/cosmicintersection/components/LineageGraph.d.ts.map +1 -1
  27. package/dist/cosmicintersection/components/LoadingState.d.ts +1 -1
  28. package/dist/cosmicintersection/components/LoadingState.d.ts.map +1 -1
  29. package/dist/cosmicintersection/components/PageLayout.d.ts +1 -1
  30. package/dist/cosmicintersection/components/PageLayout.d.ts.map +1 -1
  31. package/dist/cosmicintersection/components/Pagination.d.ts +1 -1
  32. package/dist/cosmicintersection/components/Pagination.d.ts.map +1 -1
  33. package/dist/cosmicintersection/components/ResultsChart.d.ts +1 -1
  34. package/dist/cosmicintersection/components/ResultsChart.d.ts.map +1 -1
  35. package/dist/cosmicintersection/components/SafeLink.d.ts +1 -1
  36. package/dist/cosmicintersection/components/SafeLink.d.ts.map +1 -1
  37. package/dist/cosmicintersection/components/StatusBadge.d.ts +1 -1
  38. package/dist/cosmicintersection/components/StatusBadge.d.ts.map +1 -1
  39. package/dist/cosmicintersection/components/StepDAG.d.ts +1 -1
  40. package/dist/cosmicintersection/components/StepDAG.d.ts.map +1 -1
  41. package/dist/cosmicintersection/context/CosmicIntersectionContext.d.ts +1 -1
  42. package/dist/cosmicintersection/context/CosmicIntersectionContext.d.ts.map +1 -1
  43. package/dist/cosmicintersection/lib/useSelectedRecord.d.ts +20 -0
  44. package/dist/cosmicintersection/lib/useSelectedRecord.d.ts.map +1 -0
  45. package/dist/cosmicintersection/lib/useSelectedRecord.js +19 -0
  46. package/dist/cosmicintersection/lib/useSelectedRecord.js.map +1 -0
  47. package/dist/cosmicintersection/pages/access/AccessPage.d.ts +1 -1
  48. package/dist/cosmicintersection/pages/access/AccessPage.d.ts.map +1 -1
  49. package/dist/cosmicintersection/pages/access/AccessPage.js +239 -226
  50. package/dist/cosmicintersection/pages/access/AccessPage.js.map +1 -1
  51. package/dist/cosmicintersection/pages/analyses/AnalysesPage.d.ts +1 -1
  52. package/dist/cosmicintersection/pages/analyses/AnalysesPage.d.ts.map +1 -1
  53. package/dist/cosmicintersection/pages/analyses/AnalysesPage.js +196 -195
  54. package/dist/cosmicintersection/pages/analyses/AnalysesPage.js.map +1 -1
  55. package/dist/cosmicintersection/pages/collections/CollectionDetailPage.d.ts +1 -1
  56. package/dist/cosmicintersection/pages/collections/CollectionDetailPage.d.ts.map +1 -1
  57. package/dist/cosmicintersection/pages/collections/CollectionFormPage.d.ts +1 -1
  58. package/dist/cosmicintersection/pages/collections/CollectionFormPage.d.ts.map +1 -1
  59. package/dist/cosmicintersection/pages/collections/CollectionsPage.d.ts +1 -1
  60. package/dist/cosmicintersection/pages/collections/CollectionsPage.d.ts.map +1 -1
  61. package/dist/cosmicintersection/pages/dashboard/DashboardPage.d.ts +1 -1
  62. package/dist/cosmicintersection/pages/dashboard/DashboardPage.d.ts.map +1 -1
  63. package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.d.ts +1 -1
  64. package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.d.ts.map +1 -1
  65. package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.js +188 -175
  66. package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.js.map +1 -1
  67. package/dist/cosmicintersection/pages/datasets/DatasetFormPage.d.ts +1 -1
  68. package/dist/cosmicintersection/pages/datasets/DatasetFormPage.d.ts.map +1 -1
  69. package/dist/cosmicintersection/pages/datasets/DatasetsPage.d.ts +1 -1
  70. package/dist/cosmicintersection/pages/datasets/DatasetsPage.d.ts.map +1 -1
  71. package/dist/cosmicintersection/pages/discovery/DiscoveryPage.d.ts +1 -1
  72. package/dist/cosmicintersection/pages/discovery/DiscoveryPage.d.ts.map +1 -1
  73. package/dist/cosmicintersection/pages/lineage/LineagePage.d.ts +1 -1
  74. package/dist/cosmicintersection/pages/lineage/LineagePage.d.ts.map +1 -1
  75. package/dist/cosmicintersection/pages/notebooks/NotebookDetailPage.d.ts +1 -1
  76. package/dist/cosmicintersection/pages/notebooks/NotebookDetailPage.d.ts.map +1 -1
  77. package/dist/cosmicintersection/pages/notebooks/NotebookFormPage.d.ts +1 -1
  78. package/dist/cosmicintersection/pages/notebooks/NotebookFormPage.d.ts.map +1 -1
  79. package/dist/cosmicintersection/pages/notebooks/NotebooksPage.d.ts +1 -1
  80. package/dist/cosmicintersection/pages/notebooks/NotebooksPage.d.ts.map +1 -1
  81. package/dist/cosmicintersection/pages/pipelines/PipelineDetailPage.d.ts +1 -1
  82. package/dist/cosmicintersection/pages/pipelines/PipelineDetailPage.d.ts.map +1 -1
  83. package/dist/cosmicintersection/pages/pipelines/PipelineFormPage.d.ts +1 -1
  84. package/dist/cosmicintersection/pages/pipelines/PipelineFormPage.d.ts.map +1 -1
  85. package/dist/cosmicintersection/pages/pipelines/PipelinesPage.d.ts +1 -1
  86. package/dist/cosmicintersection/pages/pipelines/PipelinesPage.d.ts.map +1 -1
  87. package/dist/cosmicintersection/pages/releases/ReleaseFormPage.d.ts +1 -1
  88. package/dist/cosmicintersection/pages/releases/ReleaseFormPage.d.ts.map +1 -1
  89. package/dist/cosmicintersection/pages/releases/ReleasesPage.d.ts +1 -1
  90. package/dist/cosmicintersection/pages/releases/ReleasesPage.d.ts.map +1 -1
  91. package/dist/cosmicintersection/pages/releases/ReleasesPage.js +202 -201
  92. package/dist/cosmicintersection/pages/releases/ReleasesPage.js.map +1 -1
  93. package/dist/cosmicintersection/pages/runs/RunDetailPage.d.ts +1 -1
  94. package/dist/cosmicintersection/pages/runs/RunDetailPage.d.ts.map +1 -1
  95. package/dist/cosmicintersection/pages/runs/RunsPage.d.ts +1 -1
  96. package/dist/cosmicintersection/pages/runs/RunsPage.d.ts.map +1 -1
  97. package/dist/cosmicintersection/pages/sources/SourceDetailPage.d.ts +1 -1
  98. package/dist/cosmicintersection/pages/sources/SourceDetailPage.d.ts.map +1 -1
  99. package/dist/cosmicintersection/pages/sources/SourceFormPage.d.ts +1 -1
  100. package/dist/cosmicintersection/pages/sources/SourceFormPage.d.ts.map +1 -1
  101. package/dist/cosmicintersection/pages/sources/SourcesPage.d.ts +1 -1
  102. package/dist/cosmicintersection/pages/sources/SourcesPage.d.ts.map +1 -1
  103. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +96 -17
  104. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  105. package/dist/utils/pageContext.d.ts +33 -7
  106. package/dist/utils/pageContext.d.ts.map +1 -1
  107. package/dist/utils/pageContext.js +75 -33
  108. package/dist/utils/pageContext.js.map +1 -1
  109. package/package.json +6 -6
@@ -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 "../../components/ResultsChart.js";
14
- import { useMemo as _, useState as v } from "react";
15
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
16
- import { BarChart3 as S, Beaker as C, Download as w, ExternalLink as T, Play as E, Sparkles as D } from "lucide-react";
17
- import { Badge as O, Button as k, Dialog as A, DialogClose as j, DialogContent as M, DialogDescription as N, DialogFooter as P, DialogHeader as F, DialogTitle as I, Input as L, Label as R, Select as z, SelectContent as B, SelectItem as V, SelectTrigger as H, SelectValue as U, Switch as W, Table as G, TableBody as ee, TableCell as K, TableHead as q, TableHeader as te, TableRow as J, Textarea as Y } from "@burdenoff/fe-libs/ui";
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 ne = [
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 re({ fileId: e }) {
52
- let { data: t, loading: n } = p(e), [r, i] = v(!1), a = t?.getFileDownloadUrl ?? null;
53
- return n ? /* @__PURE__ */ b("span", {
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__ */ x("div", {
57
+ }) : a ? /* @__PURE__ */ S("div", {
57
58
  className: "space-y-2",
58
- children: [r ? null : /* @__PURE__ */ b("img", {
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__ */ x("a", {
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__ */ b(w, {
69
+ children: [/* @__PURE__ */ x(T, {
69
70
  className: "size-3.5",
70
71
  "aria-hidden": "true"
71
72
  }), "Download output"]
72
73
  })]
73
- }) : /* @__PURE__ */ x("span", {
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__ */ b(A, {
81
+ return /* @__PURE__ */ x(j, {
81
82
  open: !!e,
82
83
  onOpenChange: t,
83
- children: /* @__PURE__ */ b(M, {
84
+ children: /* @__PURE__ */ x(N, {
84
85
  className: "max-h-[85vh] max-w-2xl overflow-y-auto",
85
- children: e ? /* @__PURE__ */ x(y, { children: [
86
- /* @__PURE__ */ x(F, { children: [/* @__PURE__ */ x(I, {
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__ */ b(S, {
89
+ children: [/* @__PURE__ */ x(C, {
89
90
  className: "size-5 text-text-secondary",
90
91
  "aria-hidden": "true"
91
92
  }), "Analysis results"]
92
- }), /* @__PURE__ */ x(N, { children: [e.title, e.method ? ` · ${e.method}` : ""] })] }),
93
- /* @__PURE__ */ x("div", {
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__ */ b(g, { results: n }) : null,
97
- i && e.outputFile ? /* @__PURE__ */ x("div", {
97
+ r && n ? /* @__PURE__ */ x(_, { results: n }) : null,
98
+ i && e.outputFile ? /* @__PURE__ */ S("div", {
98
99
  className: "space-y-2",
99
- children: [/* @__PURE__ */ b("p", {
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__ */ b(re, { fileId: e.outputFile.id })]
103
+ }), /* @__PURE__ */ x($, { fileId: e.outputFile.id })]
103
104
  }) : null,
104
- !r && !i ? /* @__PURE__ */ b("p", {
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__ */ b(P, { children: /* @__PURE__ */ b(j, {
111
+ /* @__PURE__ */ x(F, { children: /* @__PURE__ */ x(M, {
111
112
  asChild: !0,
112
- children: /* @__PURE__ */ b(k, {
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 $(e, t) {
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 ae({ open: e, onOpenChange: n, onCompleted: r }) {
145
- let c = s(), [l, u] = v(""), [d, f] = v(""), [p, m] = v(!1), [h, g] = v("NOTEBOOK"), [_, y] = v(""), { data: S, loading: C } = a({ pagination: {
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
- } }), [D, { loading: O }] = o(), j = S?.cosListNotebooks.items ?? [], G = w?.cosListDatasets.items ?? [], ee = () => {
152
- u(""), f(""), m(!1), g("NOTEBOOK"), y("");
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__ */ b(A, {
155
+ return /* @__PURE__ */ x(j, {
155
156
  open: e,
156
157
  onOpenChange: (e) => {
157
158
  O || n(e);
158
159
  },
159
- children: /* @__PURE__ */ b(M, { children: /* @__PURE__ */ x("form", {
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 D({ variables: { input: {
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 })), ee(), n(!1), r());
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__ */ x(F, { children: [/* @__PURE__ */ b(I, { children: "Run analysis" }), /* @__PURE__ */ b(N, { children: "Launch a new analysis against a notebook or a dataset. Exactly one source is required." })] }),
182
- /* @__PURE__ */ x("div", {
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__ */ b(R, {
185
+ children: [/* @__PURE__ */ x(z, {
185
186
  htmlFor: "run-title",
186
187
  children: "Title"
187
- }), /* @__PURE__ */ b(L, {
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__ */ x("div", {
196
+ /* @__PURE__ */ S("div", {
196
197
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
197
- children: [/* @__PURE__ */ x("div", {
198
+ children: [/* @__PURE__ */ S("div", {
198
199
  className: "space-y-1.5",
199
- children: [/* @__PURE__ */ b(R, {
200
+ children: [/* @__PURE__ */ x(z, {
200
201
  htmlFor: "run-source-kind",
201
202
  children: "Source type"
202
- }), /* @__PURE__ */ x(z, {
203
+ }), /* @__PURE__ */ S(B, {
203
204
  value: h,
204
205
  onValueChange: (e) => {
205
- g(e), y("");
206
+ g(e), v("");
206
207
  },
207
- children: [/* @__PURE__ */ b(H, {
208
+ children: [/* @__PURE__ */ x(U, {
208
209
  id: "run-source-kind",
209
210
  "aria-label": "Source type",
210
- children: /* @__PURE__ */ b(U, {})
211
- }), /* @__PURE__ */ x(B, { children: [/* @__PURE__ */ b(V, {
211
+ children: /* @__PURE__ */ x(W, {})
212
+ }), /* @__PURE__ */ S(V, { children: [/* @__PURE__ */ x(H, {
212
213
  value: "NOTEBOOK",
213
214
  children: "Notebook"
214
- }), /* @__PURE__ */ b(V, {
215
+ }), /* @__PURE__ */ x(H, {
215
216
  value: "DATASET",
216
217
  children: "Dataset"
217
218
  })] })]
218
219
  })]
219
- }), /* @__PURE__ */ x("div", {
220
+ }), /* @__PURE__ */ S("div", {
220
221
  className: "space-y-1.5",
221
- children: [/* @__PURE__ */ b(R, {
222
+ children: [/* @__PURE__ */ x(z, {
222
223
  htmlFor: "run-source-id",
223
224
  children: h === "NOTEBOOK" ? "Notebook" : "Dataset"
224
- }), /* @__PURE__ */ x(z, {
225
+ }), /* @__PURE__ */ S(B, {
225
226
  value: _,
226
- onValueChange: (e) => y(e),
227
- children: [/* @__PURE__ */ b(H, {
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__ */ b(U, { placeholder: (h === "NOTEBOOK" ? C : T) ? "Loading…" : `Select a ${h === "NOTEBOOK" ? "notebook" : "dataset"}` })
231
- }), /* @__PURE__ */ b(B, { children: h === "NOTEBOOK" ? j.map((e) => /* @__PURE__ */ b(V, {
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)) : G.map((e) => /* @__PURE__ */ b(V, {
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__ */ x("div", {
242
+ /* @__PURE__ */ S("div", {
242
243
  className: "space-y-1.5",
243
- children: [/* @__PURE__ */ b(R, {
244
+ children: [/* @__PURE__ */ x(z, {
244
245
  htmlFor: "run-method",
245
246
  children: "Method"
246
- }), /* @__PURE__ */ b(L, {
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__ */ x("div", {
254
+ /* @__PURE__ */ S("div", {
254
255
  className: "flex items-center gap-3",
255
- children: [/* @__PURE__ */ b(W, {
256
+ children: [/* @__PURE__ */ x(G, {
256
257
  id: "run-ai",
257
258
  checked: p,
258
259
  onCheckedChange: (e) => m(e)
259
- }), /* @__PURE__ */ b(R, {
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__ */ x(P, { children: [/* @__PURE__ */ b(k, {
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__ */ x(k, {
272
+ }), /* @__PURE__ */ S(A, {
272
273
  type: "submit",
273
274
  disabled: O,
274
- children: [/* @__PURE__ */ b(E, { className: "size-4" }), O ? "Starting…" : "Run analysis"]
275
+ children: [/* @__PURE__ */ x(D, { className: "size-4" }), O ? "Starting…" : "Run analysis"]
275
276
  })] })
276
277
  ]
277
278
  }) })
278
279
  });
279
280
  }
280
- function oe({ analysis: e, onOpenChange: n, onCompleted: i }) {
281
- let [a, o] = v("COMPLETED"), [c, l] = v(""), [u, d] = v(""), [p, { loading: m }] = r(), h = s();
282
- return /* @__PURE__ */ b(A, {
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__ */ b(M, { children: /* @__PURE__ */ x("form", {
288
+ children: /* @__PURE__ */ x(N, { children: /* @__PURE__ */ S("form", {
288
289
  onSubmit: async (r) => {
289
290
  if (r.preventDefault(), !e) return;
290
- let o = $(c, h);
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__ */ x(F, { children: [/* @__PURE__ */ b(I, { children: "Complete analysis" }), /* @__PURE__ */ x(N, { children: [
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__ */ x("div", {
311
+ /* @__PURE__ */ S("div", {
311
312
  className: "space-y-1.5",
312
- children: [/* @__PURE__ */ b(R, {
313
+ children: [/* @__PURE__ */ x(z, {
313
314
  htmlFor: "complete-status",
314
315
  children: "Outcome"
315
- }), /* @__PURE__ */ x(z, {
316
+ }), /* @__PURE__ */ S(B, {
316
317
  value: a,
317
318
  onValueChange: (e) => o(e),
318
- children: [/* @__PURE__ */ b(H, {
319
+ children: [/* @__PURE__ */ x(U, {
319
320
  id: "complete-status",
320
321
  "aria-label": "Outcome",
321
- children: /* @__PURE__ */ b(U, {})
322
- }), /* @__PURE__ */ x(B, { children: [/* @__PURE__ */ b(V, {
322
+ children: /* @__PURE__ */ x(W, {})
323
+ }), /* @__PURE__ */ S(V, { children: [/* @__PURE__ */ x(H, {
323
324
  value: "COMPLETED",
324
325
  children: "Completed"
325
- }), /* @__PURE__ */ b(V, {
326
+ }), /* @__PURE__ */ x(H, {
326
327
  value: "FAILED",
327
328
  children: "Failed"
328
329
  })] })]
329
330
  })]
330
331
  }),
331
- /* @__PURE__ */ x("div", {
332
+ /* @__PURE__ */ S("div", {
332
333
  className: "space-y-1.5",
333
334
  children: [
334
- /* @__PURE__ */ b(R, {
335
+ /* @__PURE__ */ x(z, {
335
336
  htmlFor: "complete-results",
336
337
  children: "Results (JSON)"
337
338
  }),
338
- /* @__PURE__ */ b(Y, {
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__ */ b("p", {
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__ */ b(f, {
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__ */ x(P, { children: [/* @__PURE__ */ b(k, {
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__ */ b(k, {
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 se() {
374
- let { navigate: t } = e(), r = s(), [o, f] = v(void 0), [p, g] = v(!1), [w, A] = v(null), [j, M] = v(null), { data: N, loading: P, error: F, refetch: I } = n({ status: o }), { data: L } = a({ pagination: {
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: R } = i({ pagination: {
378
+ } }), { data: L } = i({ pagination: {
378
379
  limit: 100,
379
380
  offset: 0
380
- } }), W = N?.cosListAnalyses ?? [], Y = _(() => {
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 L?.cosListNotebooks.items ?? []) e.set(t.id, t.title);
383
+ for (let t of I?.cosListNotebooks.items ?? []) e.set(t.id, t.title);
383
384
  return e;
384
- }, [L]), re = _(() => {
385
+ }, [I]), ce = v(() => {
385
386
  let e = /* @__PURE__ */ new Map();
386
- for (let t of R?.cosListDatasets.items ?? []) e.set(t.id, t.name);
387
+ for (let t of L?.cosListDatasets.items ?? []) e.set(t.id, t.name);
387
388
  return e;
388
- }, [R]), $ = (e) => e.notebookId ? {
389
- label: Y.get(e.notebookId) ?? "Notebook",
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: re.get(e.datasetId) ?? "Dataset",
393
+ label: ce.get(e.datasetId) ?? "Dataset",
393
394
  path: `datasets/${e.datasetId}`
394
- } : null, se = (e) => {
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: S,
400
- onSelect: () => M(e)
400
+ icon: C,
401
+ onSelect: () => $(e)
401
402
  }] : [], ...t ? [{
402
403
  key: "complete",
403
404
  label: "Complete…",
404
- icon: C,
405
- onSelect: () => A(e)
405
+ icon: w,
406
+ onSelect: () => j(e)
406
407
  }] : []];
407
- }, ce = /* @__PURE__ */ x(k, {
408
+ }, de = /* @__PURE__ */ S(A, {
408
409
  type: "button",
409
- onClick: () => g(!0),
410
- children: [/* @__PURE__ */ b(E, { className: "size-4" }), r("cosmicintersection.pages.analyses.create", "Run analysis")]
410
+ onClick: () => _(!0),
411
+ children: [/* @__PURE__ */ x(D, { className: "size-4" }), r("cosmicintersection.pages.analyses.create", "Run analysis")]
411
412
  });
412
- return /* @__PURE__ */ x(m, {
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: ce,
416
+ actions: de,
416
417
  children: [
417
- /* @__PURE__ */ x("div", {
418
+ /* @__PURE__ */ S("div", {
418
419
  className: "space-y-4",
419
- children: [/* @__PURE__ */ x("div", {
420
+ children: [/* @__PURE__ */ S("div", {
420
421
  className: "flex flex-wrap items-center gap-3",
421
- children: [/* @__PURE__ */ b("label", {
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__ */ x(z, {
426
+ }), /* @__PURE__ */ S(B, {
426
427
  value: o ?? Z,
427
428
  onValueChange: (e) => f(e === Z ? void 0 : e),
428
- children: [/* @__PURE__ */ b(H, {
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__ */ b(U, {})
433
- }), /* @__PURE__ */ x(B, { children: [/* @__PURE__ */ b(V, {
433
+ children: /* @__PURE__ */ x(W, {})
434
+ }), /* @__PURE__ */ S(V, { children: [/* @__PURE__ */ x(H, {
434
435
  value: Z,
435
436
  children: "All statuses"
436
- }), ne.map((e) => /* @__PURE__ */ b(V, {
437
+ }), re.map((e) => /* @__PURE__ */ x(H, {
437
438
  value: e.value,
438
439
  children: e.label
439
440
  }, e.value))] })]
440
441
  })]
441
- }), P ? /* @__PURE__ */ b(d, {
442
+ }), N ? /* @__PURE__ */ x(d, {
442
443
  variant: "rows",
443
444
  rows: 6,
444
445
  label: r("cosmicintersection.pages.analyses.loading", "Loading analyses…")
445
- }) : F ? /* @__PURE__ */ b(u, {
446
+ }) : P ? /* @__PURE__ */ x(u, {
446
447
  message: r("cosmicintersection.pages.analyses.error", "We could not load analyses. Please try again."),
447
- onRetry: () => void I()
448
- }) : W.length === 0 ? /* @__PURE__ */ b(l, {
449
- icon: C,
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__ */ x(k, {
453
+ action: o ? void 0 : /* @__PURE__ */ S(A, {
453
454
  type: "button",
454
- onClick: () => g(!0),
455
- children: [/* @__PURE__ */ b(E, { className: "size-4" }), r("cosmicintersection.pages.analyses.create", "Run analysis")]
455
+ onClick: () => _(!0),
456
+ children: [/* @__PURE__ */ x(D, { className: "size-4" }), r("cosmicintersection.pages.analyses.create", "Run analysis")]
456
457
  })
457
- }) : /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("div", {
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__ */ x(G, { children: [/* @__PURE__ */ b(te, { children: /* @__PURE__ */ x(J, { children: [
460
- /* @__PURE__ */ b(q, { children: "Title" }),
461
- /* @__PURE__ */ b(q, { children: "Method" }),
462
- /* @__PURE__ */ b(q, { children: "AI" }),
463
- /* @__PURE__ */ b(q, { children: "Status" }),
464
- /* @__PURE__ */ b(q, { children: "Source" }),
465
- /* @__PURE__ */ b(q, { children: "Started" }),
466
- /* @__PURE__ */ b(q, { children: "Finished" }),
467
- /* @__PURE__ */ b(q, { children: "Output" }),
468
- /* @__PURE__ */ b(q, {
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__ */ b(ee, { children: W.map((e) => {
473
- let n = $(e);
474
- return /* @__PURE__ */ x(J, { children: [
475
- /* @__PURE__ */ b(K, {
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__ */ b(K, {
480
+ /* @__PURE__ */ x(q, {
480
481
  className: "text-text-secondary",
481
482
  children: e.method ?? "—"
482
483
  }),
483
- /* @__PURE__ */ b(K, { children: e.aiAssisted ? /* @__PURE__ */ x(O, {
484
+ /* @__PURE__ */ x(q, { children: e.aiAssisted ? /* @__PURE__ */ S(k, {
484
485
  variant: "secondary",
485
486
  className: "gap-1",
486
- children: [/* @__PURE__ */ b(D, {
487
+ children: [/* @__PURE__ */ x(O, {
487
488
  className: "size-3",
488
489
  "aria-hidden": "true"
489
490
  }), "AI"]
490
- }) : /* @__PURE__ */ b("span", {
491
+ }) : /* @__PURE__ */ x("span", {
491
492
  className: "text-text-secondary",
492
493
  children: "—"
493
494
  }) }),
494
- /* @__PURE__ */ b(K, { children: /* @__PURE__ */ b(h, { status: e.status }) }),
495
- /* @__PURE__ */ b(K, { children: n ? /* @__PURE__ */ x("button", {
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__ */ b(T, {
500
+ children: [/* @__PURE__ */ x(E, {
500
501
  className: "size-3.5 shrink-0",
501
502
  "aria-hidden": "true"
502
- }), /* @__PURE__ */ b("span", {
503
+ }), /* @__PURE__ */ x("span", {
503
504
  className: "truncate",
504
505
  children: n.label
505
506
  })]
506
- }) : /* @__PURE__ */ b("span", {
507
+ }) : /* @__PURE__ */ x("span", {
507
508
  className: "text-text-secondary",
508
509
  children: "—"
509
510
  }) }),
510
- /* @__PURE__ */ b(K, {
511
+ /* @__PURE__ */ x(q, {
511
512
  className: "whitespace-nowrap text-text-secondary",
512
513
  children: Q(e.startedAt)
513
514
  }),
514
- /* @__PURE__ */ b(K, {
515
+ /* @__PURE__ */ x(q, {
515
516
  className: "whitespace-nowrap text-text-secondary",
516
517
  children: Q(e.finishedAt)
517
518
  }),
518
- /* @__PURE__ */ b(K, { children: X(e) ? /* @__PURE__ */ x(k, {
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: () => M(e),
524
- children: [/* @__PURE__ */ b(S, {
524
+ onClick: () => $(e),
525
+ children: [/* @__PURE__ */ x(C, {
525
526
  className: "size-3.5",
526
527
  "aria-hidden": "true"
527
528
  }), "View"]
528
- }) : /* @__PURE__ */ b("span", {
529
+ }) : /* @__PURE__ */ x("span", {
529
530
  className: "text-text-secondary",
530
531
  children: "—"
531
532
  }) }),
532
- /* @__PURE__ */ b(K, {
533
+ /* @__PURE__ */ x(q, {
533
534
  className: "text-right",
534
- children: /* @__PURE__ */ b(c, {
535
+ children: /* @__PURE__ */ x(c, {
535
536
  ariaLabel: `Actions for ${e.title}`,
536
537
  onView: n ? () => t(n.path) : void 0,
537
- extraItems: se(e)
538
+ extraItems: ue(e)
538
539
  })
539
540
  })
540
541
  ] }, e.id);
541
542
  }) })] })
542
- }), /* @__PURE__ */ b("ul", {
543
+ }), /* @__PURE__ */ x("ul", {
543
544
  className: "space-y-3 md:hidden",
544
- children: W.map((e) => {
545
- let n = $(e), r = e.status === "PENDING" || e.status === "RUNNING";
546
- return /* @__PURE__ */ x("li", {
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__ */ x("div", {
550
+ /* @__PURE__ */ S("div", {
550
551
  className: "flex items-start justify-between gap-3",
551
- children: [/* @__PURE__ */ x("div", {
552
+ children: [/* @__PURE__ */ S("div", {
552
553
  className: "min-w-0",
553
- children: [/* @__PURE__ */ b("p", {
554
+ children: [/* @__PURE__ */ x("p", {
554
555
  className: "truncate font-medium text-text-primary",
555
556
  children: e.title
556
- }), e.method ? /* @__PURE__ */ b("p", {
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__ */ b(h, { status: e.status })]
561
+ }), /* @__PURE__ */ x(h, { status: e.status })]
561
562
  }),
562
- /* @__PURE__ */ x("div", {
563
+ /* @__PURE__ */ S("div", {
563
564
  className: "flex flex-wrap items-center gap-2",
564
- children: [e.aiAssisted ? /* @__PURE__ */ x(O, {
565
+ children: [e.aiAssisted ? /* @__PURE__ */ S(k, {
565
566
  variant: "secondary",
566
567
  className: "gap-1",
567
- children: [/* @__PURE__ */ b(D, {
568
+ children: [/* @__PURE__ */ x(O, {
568
569
  className: "size-3",
569
570
  "aria-hidden": "true"
570
571
  }), "AI"]
571
- }) : null, n ? /* @__PURE__ */ x("button", {
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__ */ b(T, {
576
+ children: [/* @__PURE__ */ x(E, {
576
577
  className: "size-3.5 shrink-0",
577
578
  "aria-hidden": "true"
578
- }), /* @__PURE__ */ b("span", {
579
+ }), /* @__PURE__ */ x("span", {
579
580
  className: "truncate",
580
581
  children: n.label
581
582
  })]
582
583
  }) : null]
583
584
  }),
584
- /* @__PURE__ */ x("dl", {
585
+ /* @__PURE__ */ S("dl", {
585
586
  className: "grid grid-cols-2 gap-2 text-xs",
586
- children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("dt", {
587
+ children: [/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("dt", {
587
588
  className: "text-text-secondary",
588
589
  children: "Started"
589
- }), /* @__PURE__ */ b("dd", {
590
+ }), /* @__PURE__ */ x("dd", {
590
591
  className: "text-text-primary",
591
592
  children: Q(e.startedAt)
592
- })] }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("dt", {
593
+ })] }), /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("dt", {
593
594
  className: "text-text-secondary",
594
595
  children: "Finished"
595
- }), /* @__PURE__ */ b("dd", {
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__ */ x("div", {
601
+ X(e) || r ? /* @__PURE__ */ S("div", {
601
602
  className: "flex flex-wrap gap-2",
602
- children: [X(e) ? /* @__PURE__ */ x(k, {
603
+ children: [X(e) ? /* @__PURE__ */ S(A, {
603
604
  type: "button",
604
605
  variant: "outline",
605
606
  size: "sm",
606
- onClick: () => M(e),
607
- children: [/* @__PURE__ */ b(S, { className: "size-4" }), "View results"]
608
- }) : null, r ? /* @__PURE__ */ x(k, {
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: () => A(e),
613
- children: [/* @__PURE__ */ b(C, { className: "size-4" }), "Complete"]
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__ */ b(ae, {
622
+ /* @__PURE__ */ x(oe, {
622
623
  open: p,
623
- onOpenChange: g,
624
- onCompleted: () => void I()
624
+ onOpenChange: _,
625
+ onCompleted: () => void F()
625
626
  }),
626
- /* @__PURE__ */ b(oe, {
627
- analysis: w,
627
+ /* @__PURE__ */ x(se, {
628
+ analysis: T,
628
629
  onOpenChange: (e) => {
629
- e || A(null);
630
+ e || j(null);
630
631
  },
631
- onCompleted: () => void I()
632
- }, w?.id ?? "none"),
633
- /* @__PURE__ */ b(ie, {
634
- analysis: j,
632
+ onCompleted: () => void F()
633
+ }, T?.id ?? "none"),
634
+ /* @__PURE__ */ x(ie, {
635
+ analysis: ne,
635
636
  onOpenChange: (e) => {
636
- e || M(null);
637
+ e || $(null);
637
638
  }
638
639
  })
639
640
  ]
640
641
  });
641
642
  }
642
643
  //#endregion
643
- export { se as default };
644
+ export { ce as default };
644
645
 
645
646
  //# sourceMappingURL=AnalysesPage.js.map