@burdenoff/microfe-cosmicintersection 2026.1030.2 → 2026.1030.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CosmicIntersectionRoutes.d.ts","sourceRoot":"","sources":["../../src/cosmicintersection/CosmicIntersectionRoutes.tsx"],"names":[],"mappings":"AAmDA,wBAAgB,wBAAwB,gCAkDvC;AAED,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"CosmicIntersectionRoutes.d.ts","sourceRoot":"","sources":["../../src/cosmicintersection/CosmicIntersectionRoutes.tsx"],"names":[],"mappings":"AAkEA,wBAAgB,wBAAwB,gCAkDvC;AAED,eAAe,wBAAwB,CAAC"}
@@ -1,149 +1,154 @@
1
- import { Suspense as e, lazy as t } from "react";
2
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
3
- import { Navigate as i, Route as a, Routes as o } from "react-router";
1
+ import { useCosmicIntersection as e } from "./context/CosmicIntersectionContext.js";
2
+ import { Suspense as t, lazy as n } from "react";
3
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
4
+ import { Navigate as a, Route as o, Routes as s } from "react-router";
4
5
  //#region src/cosmicintersection/CosmicIntersectionRoutes.tsx
5
- var s = t(() => import("./pages/dashboard/DashboardPage.js")), c = t(() => import("./pages/datasets/DatasetsPage.js")), l = t(() => import("./pages/datasets/DatasetDetailPage.js")), u = t(() => import("./pages/datasets/DatasetFormPage.js")), d = t(() => import("./pages/discovery/DiscoveryPage.js")), f = t(() => import("./pages/lineage/LineagePage.js")), p = t(() => import("./pages/sources/SourcesPage.js")), m = t(() => import("./pages/sources/SourceDetailPage.js")), h = t(() => import("./pages/sources/SourceFormPage.js")), g = t(() => import("./pages/collections/CollectionsPage.js")), _ = t(() => import("./pages/collections/CollectionDetailPage.js")), v = t(() => import("./pages/collections/CollectionFormPage.js")), y = t(() => import("./pages/pipelines/PipelinesPage.js")), b = t(() => import("./pages/pipelines/PipelineDetailPage.js")), x = t(() => import("./pages/pipelines/PipelineFormPage.js")), S = t(() => import("./pages/runs/RunsPage.js")), C = t(() => import("./pages/runs/RunDetailPage.js")), w = t(() => import("./pages/notebooks/NotebooksPage.js")), T = t(() => import("./pages/notebooks/NotebookDetailPage.js")), E = t(() => import("./pages/notebooks/NotebookFormPage.js")), D = t(() => import("./pages/analyses/AnalysesPage.js")), O = t(() => import("./pages/releases/ReleasesPage.js")), k = t(() => import("./pages/releases/ReleaseFormPage.js")), A = t(() => import("./pages/access/AccessPage.js"));
6
- function j() {
7
- return /* @__PURE__ */ n("div", {
6
+ var c = n(() => import("./pages/dashboard/DashboardPage.js")), l = n(() => import("./pages/datasets/DatasetsPage.js")), u = n(() => import("./pages/datasets/DatasetDetailPage.js")), d = n(() => import("./pages/datasets/DatasetFormPage.js")), f = n(() => import("./pages/discovery/DiscoveryPage.js")), p = n(() => import("./pages/lineage/LineagePage.js")), m = n(() => import("./pages/sources/SourcesPage.js")), h = n(() => import("./pages/sources/SourceDetailPage.js")), g = n(() => import("./pages/sources/SourceFormPage.js")), _ = n(() => import("./pages/collections/CollectionsPage.js")), v = n(() => import("./pages/collections/CollectionDetailPage.js")), y = n(() => import("./pages/collections/CollectionFormPage.js")), b = n(() => import("./pages/pipelines/PipelinesPage.js")), x = n(() => import("./pages/pipelines/PipelineDetailPage.js")), S = n(() => import("./pages/pipelines/PipelineFormPage.js")), C = n(() => import("./pages/runs/RunsPage.js")), w = n(() => import("./pages/runs/RunDetailPage.js")), T = n(() => import("./pages/notebooks/NotebooksPage.js")), E = n(() => import("./pages/notebooks/NotebookDetailPage.js")), D = n(() => import("./pages/notebooks/NotebookFormPage.js")), O = n(() => import("./pages/analyses/AnalysesPage.js")), k = n(() => import("./pages/releases/ReleasesPage.js")), A = n(() => import("./pages/releases/ReleaseFormPage.js")), j = n(() => import("./pages/access/AccessPage.js"));
7
+ function M() {
8
+ return /* @__PURE__ */ r("div", {
8
9
  className: "flex min-h-[320px] items-center justify-center",
9
- children: /* @__PURE__ */ n("div", { className: "size-8 animate-spin rounded-full border-2 border-border-default border-t-text-primary" })
10
+ children: /* @__PURE__ */ r("div", { className: "size-8 animate-spin rounded-full border-2 border-border-default border-t-text-primary" })
10
11
  });
11
12
  }
12
- function M() {
13
- return /* @__PURE__ */ n(e, {
14
- fallback: /* @__PURE__ */ n(j, {}),
15
- children: /* @__PURE__ */ r(o, { children: [
16
- /* @__PURE__ */ n(a, {
13
+ function N() {
14
+ let { basePath: t } = e();
15
+ return /* @__PURE__ */ r(a, {
16
+ to: t || "/",
17
+ replace: !0
18
+ });
19
+ }
20
+ function P() {
21
+ return /* @__PURE__ */ r(t, {
22
+ fallback: /* @__PURE__ */ r(M, {}),
23
+ children: /* @__PURE__ */ i(s, { children: [
24
+ /* @__PURE__ */ r(o, {
17
25
  index: !0,
18
- element: /* @__PURE__ */ n(s, {})
26
+ element: /* @__PURE__ */ r(c, {})
19
27
  }),
20
- /* @__PURE__ */ n(a, {
28
+ /* @__PURE__ */ r(o, {
21
29
  path: "discovery",
22
- element: /* @__PURE__ */ n(d, {})
30
+ element: /* @__PURE__ */ r(f, {})
23
31
  }),
24
- /* @__PURE__ */ n(a, {
32
+ /* @__PURE__ */ r(o, {
25
33
  path: "lineage",
26
- element: /* @__PURE__ */ n(f, {})
34
+ element: /* @__PURE__ */ r(p, {})
27
35
  }),
28
- /* @__PURE__ */ n(a, {
36
+ /* @__PURE__ */ r(o, {
29
37
  path: "lineage/:datasetId",
30
- element: /* @__PURE__ */ n(f, {})
38
+ element: /* @__PURE__ */ r(p, {})
31
39
  }),
32
- /* @__PURE__ */ n(a, {
40
+ /* @__PURE__ */ r(o, {
33
41
  path: "datasets",
34
- element: /* @__PURE__ */ n(c, {})
42
+ element: /* @__PURE__ */ r(l, {})
35
43
  }),
36
- /* @__PURE__ */ n(a, {
44
+ /* @__PURE__ */ r(o, {
37
45
  path: "datasets/create",
38
- element: /* @__PURE__ */ n(u, {})
46
+ element: /* @__PURE__ */ r(d, {})
39
47
  }),
40
- /* @__PURE__ */ n(a, {
48
+ /* @__PURE__ */ r(o, {
41
49
  path: "datasets/:id",
42
- element: /* @__PURE__ */ n(l, {})
50
+ element: /* @__PURE__ */ r(u, {})
43
51
  }),
44
- /* @__PURE__ */ n(a, {
52
+ /* @__PURE__ */ r(o, {
45
53
  path: "datasets/:id/edit",
46
- element: /* @__PURE__ */ n(u, {})
54
+ element: /* @__PURE__ */ r(d, {})
47
55
  }),
48
- /* @__PURE__ */ n(a, {
56
+ /* @__PURE__ */ r(o, {
49
57
  path: "sources",
50
- element: /* @__PURE__ */ n(p, {})
58
+ element: /* @__PURE__ */ r(m, {})
51
59
  }),
52
- /* @__PURE__ */ n(a, {
60
+ /* @__PURE__ */ r(o, {
53
61
  path: "sources/create",
54
- element: /* @__PURE__ */ n(h, {})
62
+ element: /* @__PURE__ */ r(g, {})
55
63
  }),
56
- /* @__PURE__ */ n(a, {
64
+ /* @__PURE__ */ r(o, {
57
65
  path: "sources/:id",
58
- element: /* @__PURE__ */ n(m, {})
66
+ element: /* @__PURE__ */ r(h, {})
59
67
  }),
60
- /* @__PURE__ */ n(a, {
68
+ /* @__PURE__ */ r(o, {
61
69
  path: "sources/:id/edit",
62
- element: /* @__PURE__ */ n(h, {})
70
+ element: /* @__PURE__ */ r(g, {})
63
71
  }),
64
- /* @__PURE__ */ n(a, {
72
+ /* @__PURE__ */ r(o, {
65
73
  path: "collections",
66
- element: /* @__PURE__ */ n(g, {})
74
+ element: /* @__PURE__ */ r(_, {})
67
75
  }),
68
- /* @__PURE__ */ n(a, {
76
+ /* @__PURE__ */ r(o, {
69
77
  path: "collections/create",
70
- element: /* @__PURE__ */ n(v, {})
78
+ element: /* @__PURE__ */ r(y, {})
71
79
  }),
72
- /* @__PURE__ */ n(a, {
80
+ /* @__PURE__ */ r(o, {
73
81
  path: "collections/:id",
74
- element: /* @__PURE__ */ n(_, {})
82
+ element: /* @__PURE__ */ r(v, {})
75
83
  }),
76
- /* @__PURE__ */ n(a, {
84
+ /* @__PURE__ */ r(o, {
77
85
  path: "collections/:id/edit",
78
- element: /* @__PURE__ */ n(v, {})
86
+ element: /* @__PURE__ */ r(y, {})
79
87
  }),
80
- /* @__PURE__ */ n(a, {
88
+ /* @__PURE__ */ r(o, {
81
89
  path: "pipelines",
82
- element: /* @__PURE__ */ n(y, {})
90
+ element: /* @__PURE__ */ r(b, {})
83
91
  }),
84
- /* @__PURE__ */ n(a, {
92
+ /* @__PURE__ */ r(o, {
85
93
  path: "pipelines/create",
86
- element: /* @__PURE__ */ n(x, {})
94
+ element: /* @__PURE__ */ r(S, {})
87
95
  }),
88
- /* @__PURE__ */ n(a, {
96
+ /* @__PURE__ */ r(o, {
89
97
  path: "pipelines/:id",
90
- element: /* @__PURE__ */ n(b, {})
98
+ element: /* @__PURE__ */ r(x, {})
91
99
  }),
92
- /* @__PURE__ */ n(a, {
100
+ /* @__PURE__ */ r(o, {
93
101
  path: "pipelines/:id/edit",
94
- element: /* @__PURE__ */ n(x, {})
102
+ element: /* @__PURE__ */ r(S, {})
95
103
  }),
96
- /* @__PURE__ */ n(a, {
104
+ /* @__PURE__ */ r(o, {
97
105
  path: "runs",
98
- element: /* @__PURE__ */ n(S, {})
106
+ element: /* @__PURE__ */ r(C, {})
99
107
  }),
100
- /* @__PURE__ */ n(a, {
108
+ /* @__PURE__ */ r(o, {
101
109
  path: "runs/:id",
102
- element: /* @__PURE__ */ n(C, {})
110
+ element: /* @__PURE__ */ r(w, {})
103
111
  }),
104
- /* @__PURE__ */ n(a, {
112
+ /* @__PURE__ */ r(o, {
105
113
  path: "notebooks",
106
- element: /* @__PURE__ */ n(w, {})
114
+ element: /* @__PURE__ */ r(T, {})
107
115
  }),
108
- /* @__PURE__ */ n(a, {
116
+ /* @__PURE__ */ r(o, {
109
117
  path: "notebooks/create",
110
- element: /* @__PURE__ */ n(E, {})
118
+ element: /* @__PURE__ */ r(D, {})
111
119
  }),
112
- /* @__PURE__ */ n(a, {
120
+ /* @__PURE__ */ r(o, {
113
121
  path: "notebooks/:id",
114
- element: /* @__PURE__ */ n(T, {})
122
+ element: /* @__PURE__ */ r(E, {})
115
123
  }),
116
- /* @__PURE__ */ n(a, {
124
+ /* @__PURE__ */ r(o, {
117
125
  path: "notebooks/:id/edit",
118
- element: /* @__PURE__ */ n(E, {})
126
+ element: /* @__PURE__ */ r(D, {})
119
127
  }),
120
- /* @__PURE__ */ n(a, {
128
+ /* @__PURE__ */ r(o, {
121
129
  path: "analyses",
122
- element: /* @__PURE__ */ n(D, {})
130
+ element: /* @__PURE__ */ r(O, {})
123
131
  }),
124
- /* @__PURE__ */ n(a, {
132
+ /* @__PURE__ */ r(o, {
125
133
  path: "releases",
126
- element: /* @__PURE__ */ n(O, {})
134
+ element: /* @__PURE__ */ r(k, {})
127
135
  }),
128
- /* @__PURE__ */ n(a, {
136
+ /* @__PURE__ */ r(o, {
129
137
  path: "releases/create",
130
- element: /* @__PURE__ */ n(k, {})
138
+ element: /* @__PURE__ */ r(A, {})
131
139
  }),
132
- /* @__PURE__ */ n(a, {
140
+ /* @__PURE__ */ r(o, {
133
141
  path: "access",
134
- element: /* @__PURE__ */ n(A, {})
142
+ element: /* @__PURE__ */ r(j, {})
135
143
  }),
136
- /* @__PURE__ */ n(a, {
144
+ /* @__PURE__ */ r(o, {
137
145
  path: "*",
138
- element: /* @__PURE__ */ n(i, {
139
- to: "",
140
- replace: !0
141
- })
146
+ element: /* @__PURE__ */ r(N, {})
142
147
  })
143
148
  ] })
144
149
  });
145
150
  }
146
151
  //#endregion
147
- export { M as default };
152
+ export { P as default };
148
153
 
149
154
  //# sourceMappingURL=CosmicIntersectionRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CosmicIntersectionRoutes.js","names":[],"sources":["../../src/cosmicintersection/CosmicIntersectionRoutes.tsx"],"sourcesContent":["import { lazy, Suspense } from 'react';\nimport { Navigate, Route, Routes } from 'react-router';\n\n// Canonical page files — all default exports. Page agents overwrite the\n// placeholder stubs in place; these import paths are the contract.\nconst DashboardPage = lazy(() => import('./pages/dashboard/DashboardPage'));\n\nconst DatasetsPage = lazy(() => import('./pages/datasets/DatasetsPage'));\nconst DatasetDetailPage = lazy(() => import('./pages/datasets/DatasetDetailPage'));\nconst DatasetFormPage = lazy(() => import('./pages/datasets/DatasetFormPage'));\n\n// Faceted full-text discovery over the federated catalog.\nconst DiscoveryPage = lazy(() => import('./pages/discovery/DiscoveryPage'));\n\n// Provenance / lineage graph (Source → Dataset → Run → Notebook → Release).\nconst LineagePage = lazy(() => import('./pages/lineage/LineagePage'));\n\nconst SourcesPage = lazy(() => import('./pages/sources/SourcesPage'));\nconst SourceDetailPage = lazy(() => import('./pages/sources/SourceDetailPage'));\nconst SourceFormPage = lazy(() => import('./pages/sources/SourceFormPage'));\n\nconst CollectionsPage = lazy(() => import('./pages/collections/CollectionsPage'));\nconst CollectionDetailPage = lazy(() => import('./pages/collections/CollectionDetailPage'));\nconst CollectionFormPage = lazy(() => import('./pages/collections/CollectionFormPage'));\n\nconst PipelinesPage = lazy(() => import('./pages/pipelines/PipelinesPage'));\nconst PipelineDetailPage = lazy(() => import('./pages/pipelines/PipelineDetailPage'));\nconst PipelineFormPage = lazy(() => import('./pages/pipelines/PipelineFormPage'));\n\nconst RunsPage = lazy(() => import('./pages/runs/RunsPage'));\nconst RunDetailPage = lazy(() => import('./pages/runs/RunDetailPage'));\n\nconst NotebooksPage = lazy(() => import('./pages/notebooks/NotebooksPage'));\nconst NotebookDetailPage = lazy(() => import('./pages/notebooks/NotebookDetailPage'));\nconst NotebookFormPage = lazy(() => import('./pages/notebooks/NotebookFormPage'));\n\nconst AnalysesPage = lazy(() => import('./pages/analyses/AnalysesPage'));\n\nconst ReleasesPage = lazy(() => import('./pages/releases/ReleasesPage'));\nconst ReleaseFormPage = lazy(() => import('./pages/releases/ReleaseFormPage'));\n\nconst AccessPage = lazy(() => import('./pages/access/AccessPage'));\n\nfunction PageLoader() {\n return (\n <div className=\"flex min-h-[320px] items-center justify-center\">\n <div className=\"size-8 animate-spin rounded-full border-2 border-border-default border-t-text-primary\" />\n </div>\n );\n}\n\nexport function CosmicIntersectionRoutes() {\n return (\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={<DashboardPage />} />\n\n <Route path=\"discovery\" element={<DiscoveryPage />} />\n\n <Route path=\"lineage\" element={<LineagePage />} />\n <Route path=\"lineage/:datasetId\" element={<LineagePage />} />\n\n <Route path=\"datasets\" element={<DatasetsPage />} />\n <Route path=\"datasets/create\" element={<DatasetFormPage />} />\n <Route path=\"datasets/:id\" element={<DatasetDetailPage />} />\n <Route path=\"datasets/:id/edit\" element={<DatasetFormPage />} />\n\n <Route path=\"sources\" element={<SourcesPage />} />\n <Route path=\"sources/create\" element={<SourceFormPage />} />\n <Route path=\"sources/:id\" element={<SourceDetailPage />} />\n <Route path=\"sources/:id/edit\" element={<SourceFormPage />} />\n\n <Route path=\"collections\" element={<CollectionsPage />} />\n <Route path=\"collections/create\" element={<CollectionFormPage />} />\n <Route path=\"collections/:id\" element={<CollectionDetailPage />} />\n <Route path=\"collections/:id/edit\" element={<CollectionFormPage />} />\n\n <Route path=\"pipelines\" element={<PipelinesPage />} />\n <Route path=\"pipelines/create\" element={<PipelineFormPage />} />\n <Route path=\"pipelines/:id\" element={<PipelineDetailPage />} />\n <Route path=\"pipelines/:id/edit\" element={<PipelineFormPage />} />\n\n <Route path=\"runs\" element={<RunsPage />} />\n <Route path=\"runs/:id\" element={<RunDetailPage />} />\n\n <Route path=\"notebooks\" element={<NotebooksPage />} />\n <Route path=\"notebooks/create\" element={<NotebookFormPage />} />\n <Route path=\"notebooks/:id\" element={<NotebookDetailPage />} />\n <Route path=\"notebooks/:id/edit\" element={<NotebookFormPage />} />\n\n <Route path=\"analyses\" element={<AnalysesPage />} />\n\n <Route path=\"releases\" element={<ReleasesPage />} />\n <Route path=\"releases/create\" element={<ReleaseFormPage />} />\n\n <Route path=\"access\" element={<AccessPage />} />\n\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n );\n}\n\nexport default CosmicIntersectionRoutes;\n"],"mappings":"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"}
1
+ {"version":3,"file":"CosmicIntersectionRoutes.js","names":[],"sources":["../../src/cosmicintersection/CosmicIntersectionRoutes.tsx"],"sourcesContent":["import { lazy, Suspense } from 'react';\nimport { Navigate, Route, Routes } from 'react-router';\n\nimport { useCosmicIntersection } from './context/CosmicIntersectionContext';\n\n// Canonical page files — all default exports. Page agents overwrite the\n// placeholder stubs in place; these import paths are the contract.\nconst DashboardPage = lazy(() => import('./pages/dashboard/DashboardPage'));\n\nconst DatasetsPage = lazy(() => import('./pages/datasets/DatasetsPage'));\nconst DatasetDetailPage = lazy(() => import('./pages/datasets/DatasetDetailPage'));\nconst DatasetFormPage = lazy(() => import('./pages/datasets/DatasetFormPage'));\n\n// Faceted full-text discovery over the federated catalog.\nconst DiscoveryPage = lazy(() => import('./pages/discovery/DiscoveryPage'));\n\n// Provenance / lineage graph (Source → Dataset → Run → Notebook → Release).\nconst LineagePage = lazy(() => import('./pages/lineage/LineagePage'));\n\nconst SourcesPage = lazy(() => import('./pages/sources/SourcesPage'));\nconst SourceDetailPage = lazy(() => import('./pages/sources/SourceDetailPage'));\nconst SourceFormPage = lazy(() => import('./pages/sources/SourceFormPage'));\n\nconst CollectionsPage = lazy(() => import('./pages/collections/CollectionsPage'));\nconst CollectionDetailPage = lazy(() => import('./pages/collections/CollectionDetailPage'));\nconst CollectionFormPage = lazy(() => import('./pages/collections/CollectionFormPage'));\n\nconst PipelinesPage = lazy(() => import('./pages/pipelines/PipelinesPage'));\nconst PipelineDetailPage = lazy(() => import('./pages/pipelines/PipelineDetailPage'));\nconst PipelineFormPage = lazy(() => import('./pages/pipelines/PipelineFormPage'));\n\nconst RunsPage = lazy(() => import('./pages/runs/RunsPage'));\nconst RunDetailPage = lazy(() => import('./pages/runs/RunDetailPage'));\n\nconst NotebooksPage = lazy(() => import('./pages/notebooks/NotebooksPage'));\nconst NotebookDetailPage = lazy(() => import('./pages/notebooks/NotebookDetailPage'));\nconst NotebookFormPage = lazy(() => import('./pages/notebooks/NotebookFormPage'));\n\nconst AnalysesPage = lazy(() => import('./pages/analyses/AnalysesPage'));\n\nconst ReleasesPage = lazy(() => import('./pages/releases/ReleasesPage'));\nconst ReleaseFormPage = lazy(() => import('./pages/releases/ReleaseFormPage'));\n\nconst AccessPage = lazy(() => import('./pages/access/AccessPage'));\n\nfunction PageLoader() {\n return (\n <div className=\"flex min-h-[320px] items-center justify-center\">\n <div className=\"size-8 animate-spin rounded-full border-2 border-border-default border-t-text-primary\" />\n </div>\n );\n}\n\n/**\n * Sends an unknown path under the product back to its dashboard.\n *\n * The target is the absolute base path from the shell rather than a relative\n * `to=\"\"`: inside a splat (`*`) route a relative target resolves against the\n * unmatched URL itself, so `<Navigate to=\"\" />` re-navigated to the same\n * unknown path and left a blank page.\n */\nfunction RedirectToDashboard() {\n const { basePath } = useCosmicIntersection();\n return <Navigate to={basePath || '/'} replace />;\n}\n\nexport function CosmicIntersectionRoutes() {\n return (\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={<DashboardPage />} />\n\n <Route path=\"discovery\" element={<DiscoveryPage />} />\n\n <Route path=\"lineage\" element={<LineagePage />} />\n <Route path=\"lineage/:datasetId\" element={<LineagePage />} />\n\n <Route path=\"datasets\" element={<DatasetsPage />} />\n <Route path=\"datasets/create\" element={<DatasetFormPage />} />\n <Route path=\"datasets/:id\" element={<DatasetDetailPage />} />\n <Route path=\"datasets/:id/edit\" element={<DatasetFormPage />} />\n\n <Route path=\"sources\" element={<SourcesPage />} />\n <Route path=\"sources/create\" element={<SourceFormPage />} />\n <Route path=\"sources/:id\" element={<SourceDetailPage />} />\n <Route path=\"sources/:id/edit\" element={<SourceFormPage />} />\n\n <Route path=\"collections\" element={<CollectionsPage />} />\n <Route path=\"collections/create\" element={<CollectionFormPage />} />\n <Route path=\"collections/:id\" element={<CollectionDetailPage />} />\n <Route path=\"collections/:id/edit\" element={<CollectionFormPage />} />\n\n <Route path=\"pipelines\" element={<PipelinesPage />} />\n <Route path=\"pipelines/create\" element={<PipelineFormPage />} />\n <Route path=\"pipelines/:id\" element={<PipelineDetailPage />} />\n <Route path=\"pipelines/:id/edit\" element={<PipelineFormPage />} />\n\n <Route path=\"runs\" element={<RunsPage />} />\n <Route path=\"runs/:id\" element={<RunDetailPage />} />\n\n <Route path=\"notebooks\" element={<NotebooksPage />} />\n <Route path=\"notebooks/create\" element={<NotebookFormPage />} />\n <Route path=\"notebooks/:id\" element={<NotebookDetailPage />} />\n <Route path=\"notebooks/:id/edit\" element={<NotebookFormPage />} />\n\n <Route path=\"analyses\" element={<AnalysesPage />} />\n\n <Route path=\"releases\" element={<ReleasesPage />} />\n <Route path=\"releases/create\" element={<ReleaseFormPage />} />\n\n <Route path=\"access\" element={<AccessPage />} />\n\n <Route path=\"*\" element={<RedirectToDashboard />} />\n </Routes>\n </Suspense>\n );\n}\n\nexport default CosmicIntersectionRoutes;\n"],"mappings":";;;;;AAOA,IAAM,IAAgB,QAAW,OAAO,qCAAkC,GAEpE,IAAe,QAAW,OAAO,mCAAgC,GACjE,IAAoB,QAAW,OAAO,wCAAqC,GAC3E,IAAkB,QAAW,OAAO,sCAAmC,GAGvE,IAAgB,QAAW,OAAO,qCAAkC,GAGpE,IAAc,QAAW,OAAO,iCAA8B,GAE9D,IAAc,QAAW,OAAO,iCAA8B,GAC9D,IAAmB,QAAW,OAAO,sCAAmC,GACxE,IAAiB,QAAW,OAAO,oCAAiC,GAEpE,IAAkB,QAAW,OAAO,yCAAsC,GAC1E,IAAuB,QAAW,OAAO,8CAA2C,GACpF,IAAqB,QAAW,OAAO,4CAAyC,GAEhF,IAAgB,QAAW,OAAO,qCAAkC,GACpE,IAAqB,QAAW,OAAO,0CAAuC,GAC9E,IAAmB,QAAW,OAAO,wCAAqC,GAE1E,IAAW,QAAW,OAAO,2BAAwB,GACrD,IAAgB,QAAW,OAAO,gCAA6B,GAE/D,IAAgB,QAAW,OAAO,qCAAkC,GACpE,IAAqB,QAAW,OAAO,0CAAuC,GAC9E,IAAmB,QAAW,OAAO,wCAAqC,GAE1E,IAAe,QAAW,OAAO,mCAAgC,GAEjE,IAAe,QAAW,OAAO,mCAAgC,GACjE,IAAkB,QAAW,OAAO,sCAAmC,GAEvE,IAAa,QAAW,OAAO,+BAA4B;AAEjE,SAAS,IAAa;CACpB,OACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD,EAAK,WAAU,wFAAyF,CAAA;CACrG,CAAA;AAET;AAUA,SAAS,IAAsB;CAC7B,IAAM,EAAE,gBAAa,EAAsB;CAC3C,OAAO,kBAAC,GAAD;EAAU,IAAI,KAAY;EAAK,SAAA;CAAS,CAAA;AACjD;AAEA,SAAgB,IAA2B;CACzC,OACE,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,CAAa,CAAA;YAC/B,kBAAC,GAAD,EAAA,UAAA;GACE,kBAAC,GAAD;IAAO,OAAA;IAAM,SAAS,kBAAC,GAAD,CAAgB,CAAA;GAAI,CAAA;GAE1C,kBAAC,GAAD;IAAO,MAAK;IAAY,SAAS,kBAAC,GAAD,CAAgB,CAAA;GAAI,CAAA;GAErD,kBAAC,GAAD;IAAO,MAAK;IAAU,SAAS,kBAAC,GAAD,CAAc,CAAA;GAAI,CAAA;GACjD,kBAAC,GAAD;IAAO,MAAK;IAAqB,SAAS,kBAAC,GAAD,CAAc,CAAA;GAAI,CAAA;GAE5D,kBAAC,GAAD;IAAO,MAAK;IAAW,SAAS,kBAAC,GAAD,CAAe,CAAA;GAAI,CAAA;GACnD,kBAAC,GAAD;IAAO,MAAK;IAAkB,SAAS,kBAAC,GAAD,CAAkB,CAAA;GAAI,CAAA;GAC7D,kBAAC,GAAD;IAAO,MAAK;IAAe,SAAS,kBAAC,GAAD,CAAoB,CAAA;GAAI,CAAA;GAC5D,kBAAC,GAAD;IAAO,MAAK;IAAoB,SAAS,kBAAC,GAAD,CAAkB,CAAA;GAAI,CAAA;GAE/D,kBAAC,GAAD;IAAO,MAAK;IAAU,SAAS,kBAAC,GAAD,CAAc,CAAA;GAAI,CAAA;GACjD,kBAAC,GAAD;IAAO,MAAK;IAAiB,SAAS,kBAAC,GAAD,CAAiB,CAAA;GAAI,CAAA;GAC3D,kBAAC,GAAD;IAAO,MAAK;IAAc,SAAS,kBAAC,GAAD,CAAmB,CAAA;GAAI,CAAA;GAC1D,kBAAC,GAAD;IAAO,MAAK;IAAmB,SAAS,kBAAC,GAAD,CAAiB,CAAA;GAAI,CAAA;GAE7D,kBAAC,GAAD;IAAO,MAAK;IAAc,SAAS,kBAAC,GAAD,CAAkB,CAAA;GAAI,CAAA;GACzD,kBAAC,GAAD;IAAO,MAAK;IAAqB,SAAS,kBAAC,GAAD,CAAqB,CAAA;GAAI,CAAA;GACnE,kBAAC,GAAD;IAAO,MAAK;IAAkB,SAAS,kBAAC,GAAD,CAAuB,CAAA;GAAI,CAAA;GAClE,kBAAC,GAAD;IAAO,MAAK;IAAuB,SAAS,kBAAC,GAAD,CAAqB,CAAA;GAAI,CAAA;GAErE,kBAAC,GAAD;IAAO,MAAK;IAAY,SAAS,kBAAC,GAAD,CAAgB,CAAA;GAAI,CAAA;GACrD,kBAAC,GAAD;IAAO,MAAK;IAAmB,SAAS,kBAAC,GAAD,CAAmB,CAAA;GAAI,CAAA;GAC/D,kBAAC,GAAD;IAAO,MAAK;IAAgB,SAAS,kBAAC,GAAD,CAAqB,CAAA;GAAI,CAAA;GAC9D,kBAAC,GAAD;IAAO,MAAK;IAAqB,SAAS,kBAAC,GAAD,CAAmB,CAAA;GAAI,CAAA;GAEjE,kBAAC,GAAD;IAAO,MAAK;IAAO,SAAS,kBAAC,GAAD,CAAW,CAAA;GAAI,CAAA;GAC3C,kBAAC,GAAD;IAAO,MAAK;IAAW,SAAS,kBAAC,GAAD,CAAgB,CAAA;GAAI,CAAA;GAEpD,kBAAC,GAAD;IAAO,MAAK;IAAY,SAAS,kBAAC,GAAD,CAAgB,CAAA;GAAI,CAAA;GACrD,kBAAC,GAAD;IAAO,MAAK;IAAmB,SAAS,kBAAC,GAAD,CAAmB,CAAA;GAAI,CAAA;GAC/D,kBAAC,GAAD;IAAO,MAAK;IAAgB,SAAS,kBAAC,GAAD,CAAqB,CAAA;GAAI,CAAA;GAC9D,kBAAC,GAAD;IAAO,MAAK;IAAqB,SAAS,kBAAC,GAAD,CAAmB,CAAA;GAAI,CAAA;GAEjE,kBAAC,GAAD;IAAO,MAAK;IAAW,SAAS,kBAAC,GAAD,CAAe,CAAA;GAAI,CAAA;GAEnD,kBAAC,GAAD;IAAO,MAAK;IAAW,SAAS,kBAAC,GAAD,CAAe,CAAA;GAAI,CAAA;GACnD,kBAAC,GAAD;IAAO,MAAK;IAAkB,SAAS,kBAAC,GAAD,CAAkB,CAAA;GAAI,CAAA;GAE7D,kBAAC,GAAD;IAAO,MAAK;IAAS,SAAS,kBAAC,GAAD,CAAa,CAAA;GAAI,CAAA;GAE/C,kBAAC,GAAD;IAAO,MAAK;IAAI,SAAS,kBAAC,GAAD,CAAsB,CAAA;GAAI,CAAA;EAC7C,EAAA,CAAA;CACA,CAAA;AAEd"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared `useI18n` stand-in for suites that render components using `useTr`.
3
+ *
4
+ * The real I18nProvider lives in the host app shell. The convention the MFE
5
+ * relies on is that a missing key comes back unchanged, so the stand-in
6
+ * returns the key for everything except the keys a suite registers in
7
+ * `translations`, which lets a test exercise both the translated path and the
8
+ * English fallback path.
9
+ */
10
+ export declare const translations: Record<string, string>;
11
+ export declare function mockUseI18n(): {
12
+ t: (key: string, params?: Record<string, string | number>) => string;
13
+ locale: string;
14
+ setLocale: () => void;
15
+ };
16
+ //# sourceMappingURL=i18nMock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18nMock.d.ts","sourceRoot":"","sources":["../../src/test/i18nMock.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAEvD,wBAAgB,WAAW,IAAI;IAC7B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAMA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Vitest DOM setup
3
+ * @module test
4
+ *
5
+ * jsdom does not implement the layout/observer APIs the fe-libs primitives
6
+ * touch on mount, so they are stubbed once here rather than per suite.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-cosmicintersection",
3
- "version": "2026.1030.2",
3
+ "version": "2026.1030.3",
4
4
  "description": "Burdenoff CosmicIntersection Microfrontend",
5
5
  "type": "module",
6
6
  "files": [
@@ -30,7 +30,10 @@
30
30
  "lint": "eslint .",
31
31
  "format": "prettier --write \"src/**/*.{ts,tsx}\"",
32
32
  "type:check": "bash scripts/build-limits.sh tsc --noEmit",
33
- "sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run codegen && bun run lint && bun run format && bun run type:check && bun run build && bun run build-storybook'",
33
+ "test": "bash scripts/build-limits.sh vitest run",
34
+ "test:watch": "vitest",
35
+ "test:coverage": "bash scripts/build-limits.sh vitest run --coverage",
36
+ "sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run codegen && bun run lint && bun run format && bun run type:check && bun run test && bun run build && bun run build-storybook'",
34
37
  "storybook": "storybook dev -p 6006",
35
38
  "build-storybook": "storybook build",
36
39
  "test:storybook": "test-storybook",
@@ -76,14 +79,18 @@
76
79
  "@storybook/test": "^8.6.0",
77
80
  "@storybook/test-runner": "0.22.0",
78
81
  "@tailwindcss/vite": "^4.3.2",
82
+ "@testing-library/dom": "^10.4.2",
83
+ "@testing-library/react": "^16.3.2",
79
84
  "@types/react": "^19.0.2",
80
85
  "@types/react-dom": "^19.0.2",
81
86
  "@vitejs/plugin-react": "^4.3.4",
87
+ "@vitest/coverage-v8": "^4.1.11",
82
88
  "autoprefixer": "^10.4.20",
83
89
  "eslint": "^9.18.0",
84
90
  "eslint-plugin-react": "^7.37.5",
85
91
  "eslint-plugin-react-hooks": "^7.0.1",
86
92
  "eslint-plugin-react-refresh": "^0.4.26",
93
+ "jsdom": "^26.1.0",
87
94
  "lefthook": "^2.1.1",
88
95
  "postcss": "^8.4.49",
89
96
  "prettier": "3.9.9",
@@ -92,7 +99,8 @@
92
99
  "typescript": "^5.9.0",
93
100
  "typescript-eslint": "^8.54.0",
94
101
  "vite": "8.0.16",
95
- "vite-plugin-dts": "3.9.1"
102
+ "vite-plugin-dts": "3.9.1",
103
+ "vitest": "^4.1.11"
96
104
  },
97
105
  "peerDependencies": {
98
106
  "@apollo/client": "^4.0.11",