@burdenoff/microfe-cosmicintersection 2026.704.2 → 2026.709.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 (186) hide show
  1. package/dist/cosmicintersection/CosmicIntersectionRoot.d.ts +15 -0
  2. package/dist/cosmicintersection/CosmicIntersectionRoot.d.ts.map +1 -0
  3. package/dist/cosmicintersection/CosmicIntersectionRoutes.d.ts +3 -0
  4. package/dist/cosmicintersection/CosmicIntersectionRoutes.d.ts.map +1 -0
  5. package/dist/cosmicintersection/CosmicIntersectionRoutes.js +39 -27
  6. package/dist/cosmicintersection/CosmicIntersectionRoutes.js.map +1 -1
  7. package/dist/cosmicintersection/api/cosmicApi.d.ts +728 -0
  8. package/dist/cosmicintersection/api/cosmicApi.d.ts.map +1 -0
  9. package/dist/cosmicintersection/api/cosmicApi.js +6 -0
  10. package/dist/cosmicintersection/api/cosmicApi.js.map +1 -1
  11. package/dist/cosmicintersection/components/ActionMenu.d.ts +41 -0
  12. package/dist/cosmicintersection/components/ActionMenu.d.ts.map +1 -0
  13. package/dist/cosmicintersection/components/ActivityFeedPanel.d.ts +10 -0
  14. package/dist/cosmicintersection/components/ActivityFeedPanel.d.ts.map +1 -0
  15. package/dist/cosmicintersection/components/DiscussionPanel.d.ts +14 -0
  16. package/dist/cosmicintersection/components/DiscussionPanel.d.ts.map +1 -0
  17. package/dist/cosmicintersection/components/DiscussionPanel.js +9 -9
  18. package/dist/cosmicintersection/components/EmptyState.d.ts +18 -0
  19. package/dist/cosmicintersection/components/EmptyState.d.ts.map +1 -0
  20. package/dist/cosmicintersection/components/EntityFormShell.d.ts +25 -0
  21. package/dist/cosmicintersection/components/EntityFormShell.d.ts.map +1 -0
  22. package/dist/cosmicintersection/components/EntityTagsField.d.ts +20 -0
  23. package/dist/cosmicintersection/components/EntityTagsField.d.ts.map +1 -0
  24. package/dist/cosmicintersection/components/ErrorState.d.ts +14 -0
  25. package/dist/cosmicintersection/components/ErrorState.d.ts.map +1 -0
  26. package/dist/cosmicintersection/components/FacetPanel.d.ts +21 -0
  27. package/dist/cosmicintersection/components/FacetPanel.d.ts.map +1 -0
  28. package/dist/cosmicintersection/components/FacetPanel.js +66 -0
  29. package/dist/cosmicintersection/components/FacetPanel.js.map +1 -0
  30. package/dist/cosmicintersection/components/FileUploadField.d.ts +35 -0
  31. package/dist/cosmicintersection/components/FileUploadField.d.ts.map +1 -0
  32. package/dist/cosmicintersection/components/FileUploadField.js +16 -16
  33. package/dist/cosmicintersection/components/LineageGraph.d.ts +59 -0
  34. package/dist/cosmicintersection/components/LineageGraph.d.ts.map +1 -0
  35. package/dist/cosmicintersection/components/LineageGraph.js +388 -0
  36. package/dist/cosmicintersection/components/LineageGraph.js.map +1 -0
  37. package/dist/cosmicintersection/components/LoadingState.d.ts +15 -0
  38. package/dist/cosmicintersection/components/LoadingState.d.ts.map +1 -0
  39. package/dist/cosmicintersection/components/PageLayout.d.ts +18 -0
  40. package/dist/cosmicintersection/components/PageLayout.d.ts.map +1 -0
  41. package/dist/cosmicintersection/components/Pagination.d.ts +32 -0
  42. package/dist/cosmicintersection/components/Pagination.d.ts.map +1 -0
  43. package/dist/cosmicintersection/components/ResultsChart.d.ts +7 -0
  44. package/dist/cosmicintersection/components/ResultsChart.d.ts.map +1 -0
  45. package/dist/cosmicintersection/components/ResultsChart.js +329 -0
  46. package/dist/cosmicintersection/components/ResultsChart.js.map +1 -0
  47. package/dist/cosmicintersection/components/SafeLink.d.ts +35 -0
  48. package/dist/cosmicintersection/components/SafeLink.d.ts.map +1 -0
  49. package/dist/cosmicintersection/components/StatusBadge.d.ts +23 -0
  50. package/dist/cosmicintersection/components/StatusBadge.d.ts.map +1 -0
  51. package/dist/cosmicintersection/components/StepDAG.d.ts +20 -0
  52. package/dist/cosmicintersection/components/StepDAG.d.ts.map +1 -0
  53. package/dist/cosmicintersection/components/StepDAG.js +104 -0
  54. package/dist/cosmicintersection/components/StepDAG.js.map +1 -0
  55. package/dist/cosmicintersection/components/index.d.ts +18 -0
  56. package/dist/cosmicintersection/components/index.d.ts.map +1 -0
  57. package/dist/cosmicintersection/context/CosmicIntersectionContext.d.ts +26 -0
  58. package/dist/cosmicintersection/context/CosmicIntersectionContext.d.ts.map +1 -0
  59. package/dist/cosmicintersection/index.d.ts +18 -0
  60. package/dist/cosmicintersection/index.d.ts.map +1 -0
  61. package/dist/cosmicintersection/lib/mutationResult.d.ts +23 -0
  62. package/dist/cosmicintersection/lib/mutationResult.d.ts.map +1 -0
  63. package/dist/cosmicintersection/lib/toast.d.ts +22 -0
  64. package/dist/cosmicintersection/lib/toast.d.ts.map +1 -0
  65. package/dist/cosmicintersection/pages/access/AccessPage.d.ts +2 -0
  66. package/dist/cosmicintersection/pages/access/AccessPage.d.ts.map +1 -0
  67. package/dist/cosmicintersection/pages/access/AccessPage.js +207 -155
  68. package/dist/cosmicintersection/pages/access/AccessPage.js.map +1 -1
  69. package/dist/cosmicintersection/pages/analyses/AnalysesPage.d.ts +2 -0
  70. package/dist/cosmicintersection/pages/analyses/AnalysesPage.d.ts.map +1 -0
  71. package/dist/cosmicintersection/pages/analyses/AnalysesPage.js +325 -165
  72. package/dist/cosmicintersection/pages/analyses/AnalysesPage.js.map +1 -1
  73. package/dist/cosmicintersection/pages/collections/CollectionDetailPage.d.ts +2 -0
  74. package/dist/cosmicintersection/pages/collections/CollectionDetailPage.d.ts.map +1 -0
  75. package/dist/cosmicintersection/pages/collections/CollectionDetailPage.js +138 -93
  76. package/dist/cosmicintersection/pages/collections/CollectionDetailPage.js.map +1 -1
  77. package/dist/cosmicintersection/pages/collections/CollectionFormPage.d.ts +2 -0
  78. package/dist/cosmicintersection/pages/collections/CollectionFormPage.d.ts.map +1 -0
  79. package/dist/cosmicintersection/pages/collections/CollectionFormPage.js.map +1 -1
  80. package/dist/cosmicintersection/pages/collections/CollectionsPage.d.ts +2 -0
  81. package/dist/cosmicintersection/pages/collections/CollectionsPage.d.ts.map +1 -0
  82. package/dist/cosmicintersection/pages/dashboard/DashboardPage.d.ts +2 -0
  83. package/dist/cosmicintersection/pages/dashboard/DashboardPage.d.ts.map +1 -0
  84. package/dist/cosmicintersection/pages/dashboard/DashboardPage.js +26 -15
  85. package/dist/cosmicintersection/pages/dashboard/DashboardPage.js.map +1 -1
  86. package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.d.ts +2 -0
  87. package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.d.ts.map +1 -0
  88. package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.js +345 -219
  89. package/dist/cosmicintersection/pages/datasets/DatasetDetailPage.js.map +1 -1
  90. package/dist/cosmicintersection/pages/datasets/DatasetFormPage.d.ts +2 -0
  91. package/dist/cosmicintersection/pages/datasets/DatasetFormPage.d.ts.map +1 -0
  92. package/dist/cosmicintersection/pages/datasets/DatasetsPage.d.ts +2 -0
  93. package/dist/cosmicintersection/pages/datasets/DatasetsPage.d.ts.map +1 -0
  94. package/dist/cosmicintersection/pages/datasets/DatasetsPage.js +321 -163
  95. package/dist/cosmicintersection/pages/datasets/DatasetsPage.js.map +1 -1
  96. package/dist/cosmicintersection/pages/discovery/DiscoveryPage.d.ts +2 -0
  97. package/dist/cosmicintersection/pages/discovery/DiscoveryPage.d.ts.map +1 -0
  98. package/dist/cosmicintersection/pages/discovery/DiscoveryPage.js +358 -0
  99. package/dist/cosmicintersection/pages/discovery/DiscoveryPage.js.map +1 -0
  100. package/dist/cosmicintersection/pages/lineage/LineagePage.d.ts +2 -0
  101. package/dist/cosmicintersection/pages/lineage/LineagePage.d.ts.map +1 -0
  102. package/dist/cosmicintersection/pages/lineage/LineagePage.js +171 -0
  103. package/dist/cosmicintersection/pages/lineage/LineagePage.js.map +1 -0
  104. package/dist/cosmicintersection/pages/notebooks/NotebookDetailPage.d.ts +2 -0
  105. package/dist/cosmicintersection/pages/notebooks/NotebookDetailPage.d.ts.map +1 -0
  106. package/dist/cosmicintersection/pages/notebooks/NotebookDetailPage.js +232 -162
  107. package/dist/cosmicintersection/pages/notebooks/NotebookDetailPage.js.map +1 -1
  108. package/dist/cosmicintersection/pages/notebooks/NotebookFormPage.d.ts +2 -0
  109. package/dist/cosmicintersection/pages/notebooks/NotebookFormPage.d.ts.map +1 -0
  110. package/dist/cosmicintersection/pages/notebooks/NotebooksPage.d.ts +2 -0
  111. package/dist/cosmicintersection/pages/notebooks/NotebooksPage.d.ts.map +1 -0
  112. package/dist/cosmicintersection/pages/notebooks/NotebooksPage.js +143 -82
  113. package/dist/cosmicintersection/pages/notebooks/NotebooksPage.js.map +1 -1
  114. package/dist/cosmicintersection/pages/pipelines/PipelineDetailPage.d.ts +2 -0
  115. package/dist/cosmicintersection/pages/pipelines/PipelineDetailPage.d.ts.map +1 -0
  116. package/dist/cosmicintersection/pages/pipelines/PipelineDetailPage.js +286 -142
  117. package/dist/cosmicintersection/pages/pipelines/PipelineDetailPage.js.map +1 -1
  118. package/dist/cosmicintersection/pages/pipelines/PipelineFormPage.d.ts +2 -0
  119. package/dist/cosmicintersection/pages/pipelines/PipelineFormPage.d.ts.map +1 -0
  120. package/dist/cosmicintersection/pages/pipelines/PipelineFormPage.js +305 -103
  121. package/dist/cosmicintersection/pages/pipelines/PipelineFormPage.js.map +1 -1
  122. package/dist/cosmicintersection/pages/pipelines/PipelinesPage.d.ts +2 -0
  123. package/dist/cosmicintersection/pages/pipelines/PipelinesPage.d.ts.map +1 -0
  124. package/dist/cosmicintersection/pages/pipelines/PipelinesPage.js +183 -79
  125. package/dist/cosmicintersection/pages/pipelines/PipelinesPage.js.map +1 -1
  126. package/dist/cosmicintersection/pages/releases/ReleaseFormPage.d.ts +2 -0
  127. package/dist/cosmicintersection/pages/releases/ReleaseFormPage.d.ts.map +1 -0
  128. package/dist/cosmicintersection/pages/releases/ReleasesPage.d.ts +2 -0
  129. package/dist/cosmicintersection/pages/releases/ReleasesPage.d.ts.map +1 -0
  130. package/dist/cosmicintersection/pages/releases/ReleasesPage.js +262 -170
  131. package/dist/cosmicintersection/pages/releases/ReleasesPage.js.map +1 -1
  132. package/dist/cosmicintersection/pages/runs/RunDetailPage.d.ts +2 -0
  133. package/dist/cosmicintersection/pages/runs/RunDetailPage.d.ts.map +1 -0
  134. package/dist/cosmicintersection/pages/runs/RunDetailPage.js +179 -136
  135. package/dist/cosmicintersection/pages/runs/RunDetailPage.js.map +1 -1
  136. package/dist/cosmicintersection/pages/runs/RunsPage.d.ts +2 -0
  137. package/dist/cosmicintersection/pages/runs/RunsPage.d.ts.map +1 -0
  138. package/dist/cosmicintersection/pages/runs/RunsPage.js +124 -47
  139. package/dist/cosmicintersection/pages/runs/RunsPage.js.map +1 -1
  140. package/dist/cosmicintersection/pages/sources/SourceDetailPage.d.ts +2 -0
  141. package/dist/cosmicintersection/pages/sources/SourceDetailPage.d.ts.map +1 -0
  142. package/dist/cosmicintersection/pages/sources/SourceDetailPage.js +114 -85
  143. package/dist/cosmicintersection/pages/sources/SourceDetailPage.js.map +1 -1
  144. package/dist/cosmicintersection/pages/sources/SourceFormPage.d.ts +2 -0
  145. package/dist/cosmicintersection/pages/sources/SourceFormPage.d.ts.map +1 -0
  146. package/dist/cosmicintersection/pages/sources/SourcesPage.d.ts +2 -0
  147. package/dist/cosmicintersection/pages/sources/SourcesPage.d.ts.map +1 -0
  148. package/dist/cosmicintersection/pages/sources/SourcesPage.js +263 -152
  149. package/dist/cosmicintersection/pages/sources/SourcesPage.js.map +1 -1
  150. package/dist/cosmicintersection/types/index.d.ts +7 -0
  151. package/dist/cosmicintersection/types/index.d.ts.map +1 -0
  152. package/dist/cosmicintersection/utils/cn.d.ts +4 -0
  153. package/dist/cosmicintersection/utils/cn.d.ts.map +1 -0
  154. package/dist/cosmicintersection/utils/i18n.d.ts +15 -0
  155. package/dist/cosmicintersection/utils/i18n.d.ts.map +1 -0
  156. package/dist/cosmicintersection/utils/navigation.d.ts +2 -0
  157. package/dist/cosmicintersection/utils/navigation.d.ts.map +1 -0
  158. package/dist/dev/main.d.ts +2 -0
  159. package/dist/dev/main.d.ts.map +1 -0
  160. package/dist/generated/global-operations.d.ts +2 -0
  161. package/dist/generated/global-operations.d.ts.map +1 -0
  162. package/dist/generated/global-types.d.ts +18199 -0
  163. package/dist/generated/global-types.d.ts.map +1 -0
  164. package/dist/generated/wspace-operations.d.ts +2 -0
  165. package/dist/generated/wspace-operations.d.ts.map +1 -0
  166. package/dist/generated/wspace-types.d.ts +43046 -0
  167. package/dist/generated/wspace-types.d.ts.map +1 -0
  168. package/dist/index.d.ts +19 -0
  169. package/dist/index.d.ts.map +1 -0
  170. package/dist/index.js +2 -2
  171. package/dist/services/assistantApi.d.ts +66 -0
  172. package/dist/services/assistantApi.d.ts.map +1 -0
  173. package/dist/services/assistantApi.js +250 -0
  174. package/dist/services/assistantApi.js.map +1 -0
  175. package/dist/services/createSandboxAssistantTransport.d.ts +40 -0
  176. package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -0
  177. package/dist/services/createSandboxAssistantTransport.js +120 -0
  178. package/dist/services/createSandboxAssistantTransport.js.map +1 -0
  179. package/dist/types/assistant.d.ts +48 -0
  180. package/dist/types/assistant.d.ts.map +1 -0
  181. package/dist/utils/pageContext.d.ts +28 -0
  182. package/dist/utils/pageContext.d.ts.map +1 -0
  183. package/dist/utils/pageContext.js +50 -0
  184. package/dist/utils/pageContext.js.map +1 -0
  185. package/package.json +5 -1
  186. package/dist/cosmicintersection/index.js +0 -1
@@ -0,0 +1,20 @@
1
+ import { CosRunStatus, CosStepKind } from '../api/cosmicApi';
2
+
3
+ export interface StepDAGStep {
4
+ /** Optional human-authored step name; shown under the kind label when it differs. */
5
+ name?: string | null;
6
+ kind: CosStepKind;
7
+ /** Optional run status — tints the node when present. */
8
+ status?: CosRunStatus | null;
9
+ }
10
+ export interface StepDAGProps {
11
+ steps: StepDAGStep[];
12
+ className?: string;
13
+ }
14
+ /**
15
+ * Horizontal (md+) / vertical (mobile) step-flow diagram. Presentational only —
16
+ * callers decide where the step list comes from (pipeline definition or a run).
17
+ */
18
+ export declare function StepDAG({ steps, className }: StepDAGProps): import("react/jsx-runtime").JSX.Element | null;
19
+ export default StepDAG;
20
+ //# sourceMappingURL=StepDAG.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepDAG.d.ts","sourceRoot":"","sources":["../../../src/cosmicintersection/components/StepDAG.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlE,MAAM,WAAW,WAAW;IAC1B,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,yDAAyD;IACzD,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA2GD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,kDAkBzD;AAED,eAAe,OAAO,CAAC"}
@@ -0,0 +1,104 @@
1
+ import { formatEnumLabel as e } from "./StatusBadge.js";
2
+ import { Fragment as t } from "react";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import { Bell as i, Database as a, Gauge as o, Shuffle as s, SlidersHorizontal as c, Upload as l } from "lucide-react";
5
+ //#region src/cosmicintersection/components/StepDAG.tsx
6
+ var u = {
7
+ INGEST: { icon: a },
8
+ CALIBRATE: { icon: c },
9
+ TRANSFORM: { icon: s },
10
+ ANALYZE: { icon: o },
11
+ EXPORT: { icon: l },
12
+ NOTIFY: { icon: i }
13
+ }, d = {
14
+ border: "border-border-default",
15
+ icon: "bg-bg-sunken text-text-secondary",
16
+ ring: ""
17
+ }, f = {
18
+ SUCCEEDED: {
19
+ border: "border-status-success-border",
20
+ icon: "bg-status-success-bg-subtle text-status-success-text",
21
+ ring: ""
22
+ },
23
+ RUNNING: {
24
+ border: "border-status-warning-border",
25
+ icon: "bg-status-warning-bg-subtle text-status-warning-text",
26
+ ring: "ring-2 ring-status-warning-border"
27
+ },
28
+ FAILED: {
29
+ border: "border-status-error-border",
30
+ icon: "bg-status-error-bg-subtle text-status-error-text",
31
+ ring: ""
32
+ },
33
+ QUEUED: {
34
+ border: "border-status-info-border",
35
+ icon: "bg-status-info-bg-subtle text-status-info-text",
36
+ ring: ""
37
+ },
38
+ CANCELLED: d
39
+ };
40
+ function p() {
41
+ return /* @__PURE__ */ n("span", {
42
+ "aria-hidden": "true",
43
+ className: "flex shrink-0 items-center justify-center text-border-strong",
44
+ children: /* @__PURE__ */ r("svg", {
45
+ viewBox: "0 0 40 12",
46
+ className: "h-4 w-6 rotate-90 md:h-3 md:w-9 md:rotate-0",
47
+ fill: "none",
48
+ stroke: "currentColor",
49
+ strokeWidth: 1.75,
50
+ strokeLinecap: "round",
51
+ strokeLinejoin: "round",
52
+ children: [/* @__PURE__ */ n("line", {
53
+ x1: "2",
54
+ y1: "6",
55
+ x2: "33",
56
+ y2: "6"
57
+ }), /* @__PURE__ */ n("path", { d: "M28 2 L34 6 L28 10" })]
58
+ })
59
+ });
60
+ }
61
+ function m({ step: t, index: i }) {
62
+ let a = u[t.kind].icon, o = t.status && f[t.status] || d, s = e(t.kind), c = !!(t.name && t.name.trim() && t.name.trim().toLowerCase() !== s.toLowerCase());
63
+ return /* @__PURE__ */ r("div", {
64
+ role: "listitem",
65
+ className: `flex w-full items-center gap-3 rounded-card border bg-bg-elevated px-3.5 py-3 md:w-auto md:min-w-[8.5rem] ${o.border} ${o.ring}`,
66
+ children: [/* @__PURE__ */ n("span", {
67
+ className: `flex size-9 shrink-0 items-center justify-center rounded-lg ${o.icon}`,
68
+ children: /* @__PURE__ */ n(a, {
69
+ className: "size-4",
70
+ "aria-hidden": "true"
71
+ })
72
+ }), /* @__PURE__ */ r("span", {
73
+ className: "flex min-w-0 flex-col",
74
+ children: [/* @__PURE__ */ r("span", {
75
+ className: "flex items-baseline gap-1.5",
76
+ children: [/* @__PURE__ */ n("span", {
77
+ className: "text-[0.65rem] font-semibold tabular-nums text-text-secondary",
78
+ children: i + 1
79
+ }), /* @__PURE__ */ n("span", {
80
+ className: "truncate text-sm font-medium text-text-primary",
81
+ children: s
82
+ })]
83
+ }), c ? /* @__PURE__ */ n("span", {
84
+ className: "truncate text-xs text-text-secondary",
85
+ children: t.name
86
+ }) : null]
87
+ })]
88
+ });
89
+ }
90
+ function h({ steps: e, className: i }) {
91
+ return e.length === 0 ? null : /* @__PURE__ */ n("div", {
92
+ role: "list",
93
+ "aria-label": "Pipeline step flow",
94
+ className: `flex flex-col items-stretch gap-2 md:flex-row md:flex-wrap md:items-center ${i ?? ""}`,
95
+ children: e.map((i, a) => /* @__PURE__ */ r(t, { children: [/* @__PURE__ */ n(m, {
96
+ step: i,
97
+ index: a
98
+ }), a < e.length - 1 ? /* @__PURE__ */ n(p, {}) : null] }, `${i.kind}-${a}`))
99
+ });
100
+ }
101
+ //#endregion
102
+ export { h as default };
103
+
104
+ //# sourceMappingURL=StepDAG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepDAG.js","names":[],"sources":["../../../src/cosmicintersection/components/StepDAG.tsx"],"sourcesContent":["/**\n * StepDAG — a lightweight, dependency-free step-flow visualization.\n *\n * Renders an ordered list of pipeline steps as connected rounded nodes: each\n * node shows a per-kind icon + label (and an optional custom step name), and an\n * optional run status tint. Nodes are joined by custom inline-SVG arrow\n * connectors — horizontal on md+ screens, vertical (stacked) on small screens\n * so it never forces a horizontal-scroll.\n *\n * Colour comes only from the semantic token families (bg-bg-*, text-text-*,\n * border-border-*, status-*) — never a raw palette colour — matching mockups\n * 11 & 14.\n */\nimport { Fragment } from 'react';\nimport type { LucideIcon } from 'lucide-react';\nimport { Bell, Database, Gauge, Shuffle, SlidersHorizontal, Upload } from 'lucide-react';\n\nimport type { CosRunStatus, CosStepKind } from '../api/cosmicApi';\nimport { formatEnumLabel } from './StatusBadge';\n\nexport interface StepDAGStep {\n /** Optional human-authored step name; shown under the kind label when it differs. */\n name?: string | null;\n kind: CosStepKind;\n /** Optional run status — tints the node when present. */\n status?: CosRunStatus | null;\n}\n\nexport interface StepDAGProps {\n steps: StepDAGStep[];\n className?: string;\n}\n\nconst KIND_META: Record<CosStepKind, { icon: LucideIcon }> = {\n INGEST: { icon: Database },\n CALIBRATE: { icon: SlidersHorizontal },\n TRANSFORM: { icon: Shuffle },\n ANALYZE: { icon: Gauge },\n EXPORT: { icon: Upload },\n NOTIFY: { icon: Bell },\n};\n\ninterface Accent {\n /** Node border. */\n border: string;\n /** Icon chip background + text. */\n icon: string;\n /** Optional focus ring (used to flag an in-flight node). */\n ring: string;\n}\n\nconst DEFAULT_ACCENT: Accent = {\n border: 'border-border-default',\n icon: 'bg-bg-sunken text-text-secondary',\n ring: '',\n};\n\nconst STATUS_ACCENT: Partial<Record<CosRunStatus, Accent>> = {\n SUCCEEDED: {\n border: 'border-status-success-border',\n icon: 'bg-status-success-bg-subtle text-status-success-text',\n ring: '',\n },\n RUNNING: {\n border: 'border-status-warning-border',\n icon: 'bg-status-warning-bg-subtle text-status-warning-text',\n ring: 'ring-2 ring-status-warning-border',\n },\n FAILED: {\n border: 'border-status-error-border',\n icon: 'bg-status-error-bg-subtle text-status-error-text',\n ring: '',\n },\n QUEUED: {\n border: 'border-status-info-border',\n icon: 'bg-status-info-bg-subtle text-status-info-text',\n ring: '',\n },\n CANCELLED: DEFAULT_ACCENT,\n};\n\n/** Custom inline-SVG connector: a line + arrowhead. Points right on md+, down below. */\nfunction StepConnector() {\n return (\n <span\n aria-hidden=\"true\"\n className=\"flex shrink-0 items-center justify-center text-border-strong\"\n >\n <svg\n viewBox=\"0 0 40 12\"\n className=\"h-4 w-6 rotate-90 md:h-3 md:w-9 md:rotate-0\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={1.75}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <line x1=\"2\" y1=\"6\" x2=\"33\" y2=\"6\" />\n <path d=\"M28 2 L34 6 L28 10\" />\n </svg>\n </span>\n );\n}\n\nfunction StepNode({ step, index }: { step: StepDAGStep; index: number }) {\n const meta = KIND_META[step.kind];\n const Icon = meta.icon;\n const accent = (step.status && STATUS_ACCENT[step.status]) || DEFAULT_ACCENT;\n const label = formatEnumLabel(step.kind);\n const showName = Boolean(\n step.name && step.name.trim() && step.name.trim().toLowerCase() !== label.toLowerCase()\n );\n\n return (\n <div\n role=\"listitem\"\n className={`flex w-full items-center gap-3 rounded-card border bg-bg-elevated px-3.5 py-3 md:w-auto md:min-w-[8.5rem] ${accent.border} ${accent.ring}`}\n >\n <span\n className={`flex size-9 shrink-0 items-center justify-center rounded-lg ${accent.icon}`}\n >\n <Icon className=\"size-4\" aria-hidden=\"true\" />\n </span>\n <span className=\"flex min-w-0 flex-col\">\n <span className=\"flex items-baseline gap-1.5\">\n <span className=\"text-[0.65rem] font-semibold tabular-nums text-text-secondary\">\n {index + 1}\n </span>\n <span className=\"truncate text-sm font-medium text-text-primary\">{label}</span>\n </span>\n {showName ? (\n <span className=\"truncate text-xs text-text-secondary\">{step.name}</span>\n ) : null}\n </span>\n </div>\n );\n}\n\n/**\n * Horizontal (md+) / vertical (mobile) step-flow diagram. Presentational only —\n * callers decide where the step list comes from (pipeline definition or a run).\n */\nexport function StepDAG({ steps, className }: StepDAGProps) {\n if (steps.length === 0) {\n return null;\n }\n return (\n <div\n role=\"list\"\n aria-label=\"Pipeline step flow\"\n className={`flex flex-col items-stretch gap-2 md:flex-row md:flex-wrap md:items-center ${className ?? ''}`}\n >\n {steps.map((step, index) => (\n <Fragment key={`${step.kind}-${index}`}>\n <StepNode step={step} index={index} />\n {index < steps.length - 1 ? <StepConnector /> : null}\n </Fragment>\n ))}\n </div>\n );\n}\n\nexport default StepDAG;\n"],"mappings":";;;;;AAiCA,IAAM,IAAuD;CAC3D,QAAQ,EAAE,MAAM,GAAU;CAC1B,WAAW,EAAE,MAAM,GAAmB;CACtC,WAAW,EAAE,MAAM,GAAS;CAC5B,SAAS,EAAE,MAAM,GAAO;CACxB,QAAQ,EAAE,MAAM,GAAQ;CACxB,QAAQ,EAAE,MAAM,GAAM;CACvB,EAWK,IAAyB;CAC7B,QAAQ;CACR,MAAM;CACN,MAAM;CACP,EAEK,IAAuD;CAC3D,WAAW;EACT,QAAQ;EACR,MAAM;EACN,MAAM;EACP;CACD,SAAS;EACP,QAAQ;EACR,MAAM;EACN,MAAM;EACP;CACD,QAAQ;EACN,QAAQ;EACR,MAAM;EACN,MAAM;EACP;CACD,QAAQ;EACN,QAAQ;EACR,MAAM;EACN,MAAM;EACP;CACD,WAAW;CACZ;AAGD,SAAS,IAAgB;AACvB,QACE,kBAAC,QAAD;EACE,eAAY;EACZ,WAAU;YAEV,kBAAC,OAAD;GACE,SAAQ;GACR,WAAU;GACV,MAAK;GACL,QAAO;GACP,aAAa;GACb,eAAc;GACd,gBAAe;aAPjB,CASE,kBAAC,QAAD;IAAM,IAAG;IAAI,IAAG;IAAI,IAAG;IAAK,IAAG;IAAM,CAAA,EACrC,kBAAC,QAAD,EAAM,GAAE,sBAAuB,CAAA,CAC3B;;EACD,CAAA;;AAIX,SAAS,EAAS,EAAE,SAAM,YAA+C;CAEvE,IAAM,IADO,EAAU,EAAK,MACV,MACZ,IAAU,EAAK,UAAU,EAAc,EAAK,WAAY,GACxD,IAAQ,EAAgB,EAAK,KAAK,EAClC,IAAW,GACf,EAAK,QAAQ,EAAK,KAAK,MAAM,IAAI,EAAK,KAAK,MAAM,CAAC,aAAa,KAAK,EAAM,aAAa;AAGzF,QACE,kBAAC,OAAD;EACE,MAAK;EACL,WAAW,6GAA6G,EAAO,OAAO,GAAG,EAAO;YAFlJ,CAIE,kBAAC,QAAD;GACE,WAAW,+DAA+D,EAAO;aAEjF,kBAAC,GAAD;IAAM,WAAU;IAAS,eAAY;IAAS,CAAA;GACzC,CAAA,EACP,kBAAC,QAAD;GAAM,WAAU;aAAhB,CACE,kBAAC,QAAD;IAAM,WAAU;cAAhB,CACE,kBAAC,QAAD;KAAM,WAAU;eACb,IAAQ;KACJ,CAAA,EACP,kBAAC,QAAD;KAAM,WAAU;eAAkD;KAAa,CAAA,CAC1E;OACN,IACC,kBAAC,QAAD;IAAM,WAAU;cAAwC,EAAK;IAAY,CAAA,GACvE,KACC;KACH;;;AAQV,SAAgB,EAAQ,EAAE,UAAO,gBAA2B;AAI1D,QAHI,EAAM,WAAW,IACZ,OAGP,kBAAC,OAAD;EACE,MAAK;EACL,cAAW;EACX,WAAW,8EAA8E,KAAa;YAErG,EAAM,KAAK,GAAM,MAChB,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;GAAgB;GAAa;GAAS,CAAA,EACrC,IAAQ,EAAM,SAAS,IAAI,kBAAC,GAAD,EAAiB,CAAA,GAAG,KACvC,EAAA,EAHI,GAAG,EAAK,KAAK,GAAG,IAGpB,CACX;EACE,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Shared component barrel for CosmicIntersection feature pages.
3
+ * Page agents import their primitives from here.
4
+ */
5
+ export { ActionMenu, type ActionMenuItem, type ActionMenuProps } from './ActionMenu';
6
+ export { ActivityFeedPanel, type ActivityFeedPanelProps } from './ActivityFeedPanel';
7
+ export { DiscussionPanel, type DiscussionPanelProps } from './DiscussionPanel';
8
+ export { EmptyState, type EmptyStateProps } from './EmptyState';
9
+ export { EntityFormShell, type EntityFormShellProps } from './EntityFormShell';
10
+ export { EntityTagsField, type EntityTagsFieldProps } from './EntityTagsField';
11
+ export { ErrorState, type ErrorStateProps } from './ErrorState';
12
+ export { FileUploadField, GET_FILE_DOWNLOAD_URL, useFileDownloadUrl, type FileUploadFieldProps, } from './FileUploadField';
13
+ export { LoadingState, type LoadingStateProps } from './LoadingState';
14
+ export { PageLayout } from './PageLayout';
15
+ export { Pagination, usePagination, type PaginationProps, type UsePaginationOptions, type UsePaginationResult, } from './Pagination';
16
+ export { SafeLink, safeUrl, type SafeLinkProps } from './SafeLink';
17
+ export { StatusBadge, formatEnumLabel, type StatusBadgeProps, type StatusTone, } from './StatusBadge';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cosmicintersection/components/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EACL,WAAW,EACX,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { ReactNode } from 'react';
2
+ import { CosmicIntersectionRootProps } from '../types';
3
+
4
+ interface CosmicIntersectionContextValue {
5
+ basePath: string;
6
+ navigate: (path: string) => void;
7
+ currentUser: CosmicIntersectionRootProps['currentUser'];
8
+ workspaceId?: string;
9
+ tenantId?: string;
10
+ apiGatewayUrl: string;
11
+ authToken: string;
12
+ }
13
+ interface CosmicIntersectionProviderProps {
14
+ children: ReactNode;
15
+ props: CosmicIntersectionRootProps;
16
+ }
17
+ export declare function CosmicIntersectionProvider({ children, props }: CosmicIntersectionProviderProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function useCosmicIntersection(): CosmicIntersectionContextValue;
19
+ /**
20
+ * Hook for basePath-aware navigation. Returns a navigate function that
21
+ * automatically prepends the microfrontend basePath. Falls back to a
22
+ * `window.location`-based navigate if used outside the provider.
23
+ */
24
+ export declare function useCosmicIntersectionNavigate(): (path: string) => void;
25
+ export {};
26
+ //# sourceMappingURL=CosmicIntersectionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CosmicIntersectionContext.d.ts","sourceRoot":"","sources":["../../../src/cosmicintersection/context/CosmicIntersectionContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAE5D,UAAU,8BAA8B;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,2BAA2B,CAAC,aAAa,CAAC,CAAC;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,UAAU,+BAA+B;IACvC,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,2BAA2B,CAAC;CACpC;AAED,wBAAgB,0BAA0B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,+BAA+B,2CAmD9F;AAED,wBAAgB,qBAAqB,mCAMpC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,WAjF1B,MAAM,KAAK,IAAI,CAiGjC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * CosmicIntersection Microfrontend
3
+ *
4
+ * A science data-federation workspace app (space & science): datasets, sources,
5
+ * collections, pipelines, runs, notebooks, analyses, releases, and data-access
6
+ * grants — all backed by the wspace-cosmicintersection-svc subgraph.
7
+ *
8
+ * Build-time Layer-2 MFE: exports a single Root component consumed by the app
9
+ * shell, which injects basePath, navigate, the Apollo client, and auth context.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { CosmicIntersectionRoot, type CosmicIntersectionRootProps } from '@burdenoff/microfe-cosmicintersection';
14
+ * ```
15
+ */
16
+ export { CosmicIntersectionRoot } from './CosmicIntersectionRoot';
17
+ export type { CosmicIntersectionRootProps } from './types';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cosmicintersection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { ErrorLike } from '@apollo/client';
2
+
3
+ /**
4
+ * The shared gateway Apollo client runs mutations with `errorPolicy: 'all'`, so a
5
+ * server-side failure is returned IN-BAND on `result.error` rather than thrown —
6
+ * awaiting the mutation resolves successfully even when nothing was persisted.
7
+ * Write forms must therefore inspect the resolved result before treating a call
8
+ * as a success, or they silently report a fake success and drop the user's data.
9
+ *
10
+ * `mutationSucceeded` centralises that check: it returns `true` only when there is
11
+ * no in-band error AND the expected success payload id is present. Otherwise it
12
+ * surfaces the real reason via the platform toast and returns `false` so the
13
+ * caller keeps the form inputs intact and does not navigate away.
14
+ */
15
+ export declare function mutationSucceeded(result: {
16
+ error?: ErrorLike;
17
+ } | null | undefined, successId: string | null | undefined | boolean, failureMessage: string): boolean;
18
+ /**
19
+ * Normalises a thrown error (network failure, or a client configured with
20
+ * `errorPolicy: 'none'`) into a human-readable description for the toast.
21
+ */
22
+ export declare function describeError(error: unknown): string | undefined;
23
+ //# sourceMappingURL=mutationResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationResult.d.ts","sourceRoot":"","sources":["../../../src/cosmicintersection/lib/mutationResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAChD,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,EAC9C,cAAc,EAAE,MAAM,GACrB,OAAO,CAYT;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKhE"}
@@ -0,0 +1,22 @@
1
+ import { toast } from 'sonner';
2
+
3
+ /**
4
+ * Module-wide toast API. sonner is a global singleton; the matching <Toaster>
5
+ * is owned by the HOST app shell (mounted once via AppShellProvider). Every
6
+ * page/component surfaces feedback through these helpers instead of hand-rolling
7
+ * fixed-position toast markup, so success/error notifications stay consistent
8
+ * with the rest of the platform.
9
+ *
10
+ * Durations follow the notification spec: success/info auto-dismiss, errors stay
11
+ * until the user dismisses them (sonner renders a close button and announces via
12
+ * aria-live).
13
+ */
14
+ export declare const notify: {
15
+ success(message: string, description?: string): void;
16
+ info(message: string, description?: string): void;
17
+ warning(message: string, description?: string): void;
18
+ error(message: string, description?: string): void;
19
+ dismiss(id?: string | number): void;
20
+ };
21
+ export { toast };
22
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/cosmicintersection/lib/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM;qBACA,MAAM,gBAAgB,MAAM,GAAG,IAAI;kBAGtC,MAAM,gBAAgB,MAAM,GAAG,IAAI;qBAGhC,MAAM,gBAAgB,MAAM,GAAG,IAAI;mBAGrC,MAAM,gBAAgB,MAAM,GAAG,IAAI;iBAGrC,MAAM,GAAG,MAAM,GAAG,IAAI;CAGpC,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function AccessPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=AccessPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessPage.d.ts","sourceRoot":"","sources":["../../../../src/cosmicintersection/pages/access/AccessPage.tsx"],"names":[],"mappings":"AAmFA,MAAM,CAAC,OAAO,UAAU,UAAU,4CA2ZjC"}