@feltdb/core 0.7.2 → 0.7.4

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 (96) hide show
  1. package/dist/application-development.d.ts +76 -0
  2. package/dist/application-development.d.ts.map +1 -0
  3. package/dist/application-development.js +137 -0
  4. package/dist/application-manifest.d.ts +5 -1
  5. package/dist/application-manifest.d.ts.map +1 -1
  6. package/dist/application-manifest.js +10 -3
  7. package/dist/canonical-application.d.ts +26 -0
  8. package/dist/canonical-application.d.ts.map +1 -0
  9. package/dist/canonical-application.js +45 -0
  10. package/dist/cli/ai-model-config.js +97 -0
  11. package/dist/cli/commands.js +485 -30
  12. package/dist/cli/index.js +1 -1
  13. package/dist/cli/proposal-client.js +54 -0
  14. package/dist/cli/publish-engine.js +162 -0
  15. package/dist/cli/source-sync.js +139 -0
  16. package/dist/create/cli.js +1 -1
  17. package/dist/create/create.js +30 -6
  18. package/dist/create/managed-account.js +14 -7
  19. package/dist/create/package-versions.js +1 -1
  20. package/dist/create/server-source/crates/feltdb/src/application.rs +31 -1
  21. package/dist/create/server-source/crates/feltdb/src/authority_failover.rs +847 -0
  22. package/dist/create/server-source/crates/feltdb/src/bin/feltdb_node.rs +338 -29
  23. package/dist/create/server-source/crates/feltdb/src/distributed_transactions.rs +72 -34
  24. package/dist/create/server-source/crates/feltdb/src/lib.rs +1 -0
  25. package/dist/create/server-source/crates/feltdb-server/src/identity.rs +46 -3
  26. package/dist/create/server-source/crates/feltdb-server/src/main.rs +315 -16
  27. package/dist/create/server-source/crates/feltdb-server/src/tenancy.rs +20 -0
  28. package/dist/create/template/default-project/README.md +57 -0
  29. package/dist/create/template/default-project/agents/activity-assistant.ts +18 -0
  30. package/dist/create/template/default-project/agents/project-assistant.ts +19 -0
  31. package/dist/create/template/default-project/capabilities/activity-summary.ts +14 -0
  32. package/dist/create/template/default-project/capabilities/project-search.ts +16 -0
  33. package/dist/create/template/default-project/capabilities/project-summary.ts +15 -0
  34. package/dist/create/template/default-project/feltdb.flow +169 -0
  35. package/dist/create/template/default-project/src/App.tsx +20 -0
  36. package/dist/create/template/default-project/src/context/AuthContext.tsx +27 -0
  37. package/dist/create/template/default-project/src/feltdb.ts +87 -0
  38. package/dist/create/template/default-project/src/index.tsx +14 -0
  39. package/dist/create/template/default-project/src/pages/Activity.tsx +7 -0
  40. package/dist/create/template/default-project/src/pages/Agents.tsx +15 -0
  41. package/dist/create/template/default-project/src/pages/Dashboard.tsx +17 -0
  42. package/dist/create/template/default-project/src/pages/Invitations.tsx +11 -0
  43. package/dist/create/template/default-project/src/pages/Projects.tsx +11 -0
  44. package/dist/create/template/default-project/src/pages/SignIn.tsx +8 -0
  45. package/dist/create/template/default-project/src/pages/SignUp.tsx +8 -0
  46. package/dist/create/template/default-project/src/styles-application.css +21 -0
  47. package/dist/create/template/default-project/src/styles.css +1 -0
  48. package/dist/create/template/default-project/workflows/agent-assisted-summary.ts +1 -0
  49. package/dist/create/template/default-project/workflows/invitation.ts +30 -0
  50. package/dist/create/template/default-project/workflows/project-created.ts +2 -0
  51. package/dist/db.d.ts +49 -1
  52. package/dist/db.d.ts.map +1 -1
  53. package/dist/db.js +77 -0
  54. package/dist/error-codes.d.ts +20 -1
  55. package/dist/error-codes.d.ts.map +1 -1
  56. package/dist/error-codes.js +25 -0
  57. package/dist/flowspec.d.ts.map +1 -1
  58. package/dist/flowspec.js +27 -6
  59. package/dist/http-db.d.ts +15 -2
  60. package/dist/http-db.d.ts.map +1 -1
  61. package/dist/http-db.js +113 -5
  62. package/dist/index-core.d.ts +3 -0
  63. package/dist/index-core.d.ts.map +1 -1
  64. package/dist/index-core.js +3 -0
  65. package/dist/proposal.d.ts +85 -0
  66. package/dist/proposal.d.ts.map +1 -0
  67. package/dist/proposal.js +105 -0
  68. package/dist/studio/app.d.ts +5 -1
  69. package/dist/studio/app.d.ts.map +1 -1
  70. package/dist/studio/components/ApplicationDesigner.d.ts +10 -1
  71. package/dist/studio/components/ApplicationDesigner.d.ts.map +1 -1
  72. package/dist/studio/components/AskFeltDB.d.ts +20 -0
  73. package/dist/studio/components/AskFeltDB.d.ts.map +1 -0
  74. package/dist/studio/components/ProposalBrowser.d.ts +3 -0
  75. package/dist/studio/components/ProposalBrowser.d.ts.map +1 -0
  76. package/dist/studio/components/index.d.ts +2 -0
  77. package/dist/studio/components/index.d.ts.map +1 -1
  78. package/dist/studio/components/index.js +4 -4
  79. package/dist/studio/{components-C5p2TfIU.js → components-Bm4sjhcX.js} +531 -192
  80. package/dist/studio/index.js +184 -172
  81. package/dist/studio/studio.css +1 -1
  82. package/dist/studio-app/assets/dist-DA1MYSzp.js +1 -0
  83. package/dist/studio-app/assets/{feltdb_wasm-DVKsw75S.js → feltdb_wasm-B-Ccgccb.js} +1 -1
  84. package/dist/studio-app/assets/feltdb_wasm_bg-wH3enJIA.wasm +0 -0
  85. package/dist/studio-app/assets/{index-C1GWyazR.css → index-BRrmvaKw.css} +1 -1
  86. package/dist/studio-app/assets/index-CEIqowCh.js +42 -0
  87. package/dist/studio-app/assets/lib-B2_7fcn7.js +69 -0
  88. package/dist/studio-app/assets/worker-CARZ5g7K.js +69 -0
  89. package/dist/studio-app/index.html +2 -2
  90. package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
  91. package/dist/workspace/local-development-authority.d.ts +3 -0
  92. package/dist/workspace/local-development-authority.d.ts.map +1 -1
  93. package/dist/workspace/local-development-authority.js +62 -1
  94. package/package.json +1 -1
  95. package/dist/studio-app/assets/feltdb_wasm_bg-DNyNf0yy.wasm +0 -0
  96. package/dist/studio-app/assets/index-C71X92EK.js +0 -28
@@ -1,324 +1,336 @@
1
- import { _ as e, a as t, b as n, c as r, d as i, f as a, g as o, h as s, i as c, l, m as u, n as d, o as f, p, r as m, s as h, t as g, u as _, v, x as y, y as b } from "./components-C5p2TfIU.js";
2
- import { t as x } from "./KeyManagementPanel-DZuSeWBK.js";
3
- import { ManagedInstanceUtil as S } from "./utils/managed-instance.js";
4
- import { ManagedInstancePanel as C } from "./components/ManagedInstancePanel.js";
5
- import { capitalize as w, fetchDashboardStats as T, fetchDiagnostics as E, fetchPeers as D, fetchProvenance as O, formatBytes as k, formatReference as A, formatRelativeTime as j, formatTime as M, searchReferences as N } from "./utils/index.js";
6
- import { useEffect as P, useState as F } from "react";
7
- import { BrowserRouter as I, Link as L, Route as R, Routes as z } from "react-router-dom";
8
- import { jsx as B, jsxs as V } from "react/jsx-runtime";
9
- import { parseFlowSpec as H } from "@feltdb/core";
1
+ import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, x, y as S } from "./components-Bm4sjhcX.js";
2
+ import { t as C } from "./KeyManagementPanel-DZuSeWBK.js";
3
+ import { ManagedInstanceUtil as w } from "./utils/managed-instance.js";
4
+ import { ManagedInstancePanel as T } from "./components/ManagedInstancePanel.js";
5
+ import { capitalize as E, fetchDashboardStats as D, fetchDiagnostics as O, fetchPeers as k, fetchProvenance as A, formatBytes as j, formatReference as M, formatRelativeTime as N, formatTime as P, searchReferences as F } from "./utils/index.js";
6
+ import { useEffect as I, useState as L } from "react";
7
+ import { BrowserRouter as R, Link as z, Route as B, Routes as V } from "react-router-dom";
8
+ import { Fragment as H, jsx as U, jsxs as W } from "react/jsx-runtime";
9
+ import { parseFlowSpec as G } from "@feltdb/core";
10
10
  //#region src/app.tsx
11
- function U({ db: s, remoteUrl: b = "", token: S = "", namespace: C = "default", deploymentRuntime: w = "browser", applicationUrl: T = "", developmentSession: E, onConnect: D }) {
12
- let [O, k] = F(null), A = e(s || null, C), j = o(s || null, O, C), { diagnostics: M } = n(s || null), N = v(s || null), [U, W] = F(), G = w !== "browser" || !!b, [K, q] = F([]), [J, Y] = F([]), [X, Z] = F(0), Q = (e) => ({
11
+ function K({ db: n, remoteUrl: x = "", token: w = "", namespace: T = "default", deploymentRuntime: E = "browser", applicationUrl: D = "", developmentSession: O, managedPublish: k, sourceSync: A, onConnect: j }) {
12
+ let [M, N] = L(null), P = S(n || null, T), F = b(n || null, M, T), { diagnostics: K } = t(n || null), ee = i(n || null), [te, ne] = L(), q = E !== "browser" || !!x, [J, Y] = L([]), [X, Z] = L([]), [Q, re] = L(0), $ = (e) => ({
13
13
  pathname: e,
14
14
  search: window.location.search
15
15
  });
16
- return P(() => {
16
+ return I(() => {
17
17
  let e = !0;
18
18
  return fetch("/_feltdb/project", { cache: "no-store" }).then(async (t) => {
19
19
  if (!t.ok) throw Error("No project model endpoint");
20
20
  let n = await t.json();
21
- e && k(H(n.source));
21
+ e && N(G(n.source));
22
22
  }).catch(async () => {
23
- let t = s ? await s.collection("_flow_apps").all() : [];
24
- e && t[0]?.spec && k(t[0].spec);
23
+ let t = n ? await n.collection("_flow_apps").all() : [];
24
+ e && t[0]?.spec && N(t[0].spec);
25
25
  }), () => {
26
26
  e = !1;
27
27
  };
28
- }, [s]), P(() => {
29
- if (!E?.sessionId) return;
28
+ }, [n]), I(() => {
29
+ if (!O?.sessionId) return;
30
30
  let e = !0, t = () => void fetch("/_feltdb/runtime", { cache: "no-store" }).then((e) => e.ok ? e.json() : { runtimes: [] }).then((t) => {
31
- e && q(t.runtimes || []);
31
+ e && Y(t.runtimes || []);
32
32
  }).catch(() => {
33
- e && q([]);
33
+ e && Y([]);
34
34
  });
35
35
  t();
36
36
  let n = window.setInterval(t, 2e3);
37
37
  return () => {
38
38
  e = !1, window.clearInterval(n);
39
39
  };
40
- }, [E?.sessionId]), P(() => {
41
- let e = K[0]?.runtimeInstanceId;
40
+ }, [O?.sessionId]), I(() => {
41
+ let e = J[0]?.runtimeInstanceId;
42
42
  if (!e) {
43
- Y([]);
43
+ Z([]);
44
44
  return;
45
45
  }
46
46
  let t = !0, n = 0, r = () => void fetch(`/_feltdb/observations?runtimeInstanceId=${encodeURIComponent(e)}&cursor=${n}&limit=100`, { cache: "no-store" }).then((e) => e.ok ? e.json() : { observations: [] }).then((e) => {
47
- t && (n = e.nextCursor ?? n, Z(e.dropped || 0), Y((t) => [...t, ...e.observations || []].slice(-200)));
47
+ t && (n = e.nextCursor ?? n, re(e.dropped || 0), Z((t) => [...t, ...e.observations || []].slice(-200)));
48
48
  }).catch(() => void 0);
49
49
  r();
50
50
  let i = window.setInterval(r, 1e3);
51
51
  return () => {
52
52
  t = !1, window.clearInterval(i);
53
53
  };
54
- }, [K[0]?.runtimeInstanceId]), /* @__PURE__ */ B(I, { children: /* @__PURE__ */ V("div", {
54
+ }, [J[0]?.runtimeInstanceId]), /* @__PURE__ */ U(R, { children: /* @__PURE__ */ W("div", {
55
55
  className: "studio-app",
56
- children: [/* @__PURE__ */ V("nav", {
56
+ children: [/* @__PURE__ */ W("nav", {
57
57
  className: "studio-nav",
58
58
  children: [
59
- /* @__PURE__ */ V("div", {
59
+ /* @__PURE__ */ W("div", {
60
60
  className: "nav-header",
61
- children: [/* @__PURE__ */ B("h1", { children: "FeltDB Studio" }), A && /* @__PURE__ */ B("div", {
61
+ children: [/* @__PURE__ */ U("h1", { children: "FeltDB Studio" }), P && /* @__PURE__ */ U("div", {
62
62
  className: "instance-info",
63
- children: A.namespace
63
+ children: P.namespace
64
64
  })]
65
65
  }),
66
- /* @__PURE__ */ B("div", {
66
+ /* @__PURE__ */ U("div", {
67
67
  className: "nav-search",
68
- children: /* @__PURE__ */ B(d, {
69
- db: s,
70
- model: O
68
+ children: /* @__PURE__ */ U(u, {
69
+ db: n,
70
+ model: M
71
71
  })
72
72
  }),
73
- /* @__PURE__ */ V("ul", {
73
+ /* @__PURE__ */ W("ul", {
74
74
  className: "nav-menu",
75
75
  children: [
76
- /* @__PURE__ */ B("li", {
76
+ /* @__PURE__ */ U("li", {
77
77
  className: "nav-section",
78
78
  children: "Design"
79
79
  }),
80
- /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
81
- to: Q("/"),
80
+ /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
81
+ to: $("/"),
82
82
  children: "Application"
83
83
  }) }),
84
- /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
85
- to: Q("/capabilities"),
84
+ /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
85
+ to: $("/capabilities"),
86
86
  children: "Capabilities"
87
87
  }) }),
88
- /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
89
- to: Q("/workflows"),
88
+ /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
89
+ to: $("/workflows"),
90
90
  children: "Workflows"
91
91
  }) }),
92
- /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
93
- to: Q("/agents"),
92
+ /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
93
+ to: $("/agents"),
94
94
  children: "Agents"
95
95
  }) }),
96
- /* @__PURE__ */ B("li", {
96
+ /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
97
+ to: $("/proposals"),
98
+ children: "Proposals"
99
+ }) }),
100
+ /* @__PURE__ */ U("li", {
97
101
  className: "nav-section",
98
102
  children: "Observe"
99
103
  }),
100
- E?.sessionId && /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
101
- to: Q("/activity"),
104
+ O?.sessionId && /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
105
+ to: $("/activity"),
102
106
  children: "Live Activity"
103
107
  }) }),
104
- G && /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
105
- to: Q("/overview"),
108
+ q && /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
109
+ to: $("/overview"),
106
110
  children: "Overview"
107
111
  }) }),
108
- /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
109
- to: Q("/data"),
112
+ /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
113
+ to: $("/data"),
110
114
  children: "Data"
111
115
  }) }),
112
- G && /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
113
- to: Q("/references"),
116
+ q && /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
117
+ to: $("/references"),
114
118
  children: "References"
115
119
  }) }),
116
- G && /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
117
- to: Q("/operations"),
120
+ q && /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
121
+ to: $("/operations"),
118
122
  children: "Operations"
119
123
  }) }),
120
- G && /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
121
- to: Q("/executions"),
124
+ q && /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
125
+ to: $("/executions"),
122
126
  children: "Executions"
123
127
  }) }),
124
- G && /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
125
- to: Q("/peers"),
128
+ q && /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
129
+ to: $("/peers"),
126
130
  children: "Peers"
127
131
  }) }),
128
- G && /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
129
- to: Q("/provenance"),
132
+ q && /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
133
+ to: $("/provenance"),
130
134
  children: "Provenance"
131
135
  }) }),
132
- G && /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
133
- to: Q("/conflicts"),
136
+ q && /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
137
+ to: $("/conflicts"),
134
138
  children: "Conflicts"
135
139
  }) }),
136
- G && /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
137
- to: Q("/health"),
140
+ q && /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
141
+ to: $("/health"),
138
142
  children: "Health"
139
143
  }) }),
140
- /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
141
- to: Q("/settings"),
144
+ /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
145
+ to: $("/settings"),
142
146
  children: "Settings"
143
147
  }) }),
144
- G && /* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
145
- to: Q("/api-keys"),
148
+ q && /* @__PURE__ */ U("li", { children: /* @__PURE__ */ U(z, {
149
+ to: $("/api-keys"),
146
150
  children: "API Keys"
147
151
  }) })
148
152
  ]
149
153
  })
150
154
  ]
151
- }), /* @__PURE__ */ V("main", {
155
+ }), /* @__PURE__ */ W("main", {
152
156
  className: "studio-content",
153
157
  children: [
154
- E?.sessionId && /* @__PURE__ */ V("div", {
158
+ O?.sessionId && /* @__PURE__ */ W("div", {
155
159
  className: "runtime-notice",
156
- children: ["Application runtime: ", K.length ? `Connected ✓ (${K[0].runtime}, ${K[0].namespace})` : "Not connected"]
160
+ children: ["Application runtime: ", J.length ? `Connected ✓ (${J[0].runtime}, ${J[0].namespace})` : "Not connected"]
157
161
  }),
158
- !G && /* @__PURE__ */ B("div", {
162
+ !q && /* @__PURE__ */ U("div", {
159
163
  className: "runtime-notice",
160
164
  children: "Browser data is read live from the generated application origin through the local Studio bridge."
161
165
  }),
162
- /* @__PURE__ */ V(z, { children: [
163
- /* @__PURE__ */ B(R, {
166
+ /* @__PURE__ */ W(V, { children: [
167
+ /* @__PURE__ */ U(B, {
164
168
  path: "/",
165
- element: /* @__PURE__ */ B(g, {
166
- db: s,
167
- namespace: C,
168
- projectSpec: O,
169
- onSpecChange: k
170
- })
169
+ element: /* @__PURE__ */ W(H, { children: [/* @__PURE__ */ U(p, {
170
+ configuration: A,
171
+ onApplied: () => window.location.reload()
172
+ }), /* @__PURE__ */ U(g, {
173
+ db: n,
174
+ namespace: T,
175
+ projectSpec: M,
176
+ managedPublish: k,
177
+ onSpecChange: N
178
+ })] })
171
179
  }),
172
- /* @__PURE__ */ B(R, {
180
+ /* @__PURE__ */ U(B, {
173
181
  path: "/overview",
174
- element: /* @__PURE__ */ B(y, { stats: j })
182
+ element: /* @__PURE__ */ U(e, { stats: F })
175
183
  }),
176
- /* @__PURE__ */ B(R, {
184
+ /* @__PURE__ */ U(B, {
177
185
  path: "/activity",
178
- element: /* @__PURE__ */ V("div", {
186
+ element: /* @__PURE__ */ W("div", {
179
187
  className: "runtime-activity",
180
188
  children: [
181
- /* @__PURE__ */ B("h1", { children: "Live Activity" }),
182
- /* @__PURE__ */ V("p", { children: [
183
- J.some((e) => Date.now() - e.timestamp < 5e3) ? "Active" : "Idle",
189
+ /* @__PURE__ */ U("h1", { children: "Live Activity" }),
190
+ /* @__PURE__ */ W("p", { children: [
191
+ X.some((e) => Date.now() - e.timestamp < 5e3) ? "Active" : "Idle",
184
192
  " · Runtime ",
185
- K[0]?.runtimeInstanceId || "not connected"
193
+ J[0]?.runtimeInstanceId || "not connected"
186
194
  ] }),
187
- X > 0 && /* @__PURE__ */ V("p", {
195
+ Q > 0 && /* @__PURE__ */ W("p", {
188
196
  className: "runtime-notice",
189
197
  children: [
190
198
  "Observation is incomplete: ",
191
- X,
199
+ Q,
192
200
  " events dropped."
193
201
  ]
194
202
  }),
195
- /* @__PURE__ */ V("table", { children: [/* @__PURE__ */ B("thead", { children: /* @__PURE__ */ V("tr", { children: [
196
- /* @__PURE__ */ B("th", { children: "Time" }),
197
- /* @__PURE__ */ B("th", { children: "Operation" }),
198
- /* @__PURE__ */ B("th", { children: "Collection" }),
199
- /* @__PURE__ */ B("th", { children: "Status" }),
200
- /* @__PURE__ */ B("th", { children: "Duration" })
201
- ] }) }), /* @__PURE__ */ B("tbody", { children: [...J].reverse().map((e) => /* @__PURE__ */ V("tr", { children: [
202
- /* @__PURE__ */ B("td", { children: new Date(e.timestamp).toLocaleTimeString() }),
203
- /* @__PURE__ */ B("td", { children: e.operation?.type }),
204
- /* @__PURE__ */ B("td", { children: e.operation?.collection || "—" }),
205
- /* @__PURE__ */ B("td", { children: e.status }),
206
- /* @__PURE__ */ B("td", { children: e.durationMs === void 0 ? "—" : `${e.durationMs} ms` })
203
+ /* @__PURE__ */ W("table", { children: [/* @__PURE__ */ U("thead", { children: /* @__PURE__ */ W("tr", { children: [
204
+ /* @__PURE__ */ U("th", { children: "Time" }),
205
+ /* @__PURE__ */ U("th", { children: "Operation" }),
206
+ /* @__PURE__ */ U("th", { children: "Collection" }),
207
+ /* @__PURE__ */ U("th", { children: "Status" }),
208
+ /* @__PURE__ */ U("th", { children: "Duration" })
209
+ ] }) }), /* @__PURE__ */ U("tbody", { children: [...X].reverse().map((e) => /* @__PURE__ */ W("tr", { children: [
210
+ /* @__PURE__ */ U("td", { children: new Date(e.timestamp).toLocaleTimeString() }),
211
+ /* @__PURE__ */ U("td", { children: e.operation?.type }),
212
+ /* @__PURE__ */ U("td", { children: e.operation?.collection || "—" }),
213
+ /* @__PURE__ */ U("td", { children: e.status }),
214
+ /* @__PURE__ */ U("td", { children: e.durationMs === void 0 ? "—" : `${e.durationMs} ms` })
207
215
  ] }, e.cursor || e.eventId)) })] })
208
216
  ]
209
217
  })
210
218
  }),
211
- /* @__PURE__ */ B(R, {
219
+ /* @__PURE__ */ U(B, {
212
220
  path: "/data",
213
- element: /* @__PURE__ */ B(u, {
214
- db: s,
215
- model: O,
216
- namespace: C,
217
- applicationUrl: w === "browser" ? T : "",
218
- developmentSession: E
221
+ element: /* @__PURE__ */ U(c, {
222
+ db: n,
223
+ model: M,
224
+ namespace: T,
225
+ applicationUrl: E === "browser" ? D : "",
226
+ developmentSession: O
219
227
  })
220
228
  }),
221
- /* @__PURE__ */ B(R, {
229
+ /* @__PURE__ */ U(B, {
222
230
  path: "/state",
223
- element: /* @__PURE__ */ B(u, {
224
- db: s,
225
- model: O,
226
- namespace: C,
227
- applicationUrl: w === "browser" ? T : "",
228
- developmentSession: E
231
+ element: /* @__PURE__ */ U(c, {
232
+ db: n,
233
+ model: M,
234
+ namespace: T,
235
+ applicationUrl: E === "browser" ? D : "",
236
+ developmentSession: O
229
237
  })
230
238
  }),
231
- /* @__PURE__ */ B(R, {
239
+ /* @__PURE__ */ U(B, {
232
240
  path: "/references",
233
- element: /* @__PURE__ */ B(p, {
234
- db: s,
235
- model: O,
236
- namespace: C
241
+ element: /* @__PURE__ */ U(l, {
242
+ db: n,
243
+ model: M,
244
+ namespace: T
237
245
  })
238
246
  }),
239
- /* @__PURE__ */ B(R, {
247
+ /* @__PURE__ */ U(B, {
240
248
  path: "/operations",
241
- element: /* @__PURE__ */ B(a, {
242
- db: s,
243
- model: O,
244
- namespace: C
249
+ element: /* @__PURE__ */ U(f, {
250
+ db: n,
251
+ model: M,
252
+ namespace: T
245
253
  })
246
254
  }),
247
- /* @__PURE__ */ B(R, {
255
+ /* @__PURE__ */ U(B, {
248
256
  path: "/peers",
249
- element: /* @__PURE__ */ B(i, {
250
- peers: N,
251
- localInstance: A?.instanceId
257
+ element: /* @__PURE__ */ U(h, {
258
+ peers: ee,
259
+ localInstance: P?.instanceId
252
260
  })
253
261
  }),
254
- /* @__PURE__ */ B(R, {
262
+ /* @__PURE__ */ U(B, {
255
263
  path: "/capabilities",
256
- element: /* @__PURE__ */ B(_, {
257
- db: s,
258
- model: O
264
+ element: /* @__PURE__ */ U(s, {
265
+ db: n,
266
+ model: M
259
267
  })
260
268
  }),
261
- /* @__PURE__ */ B(R, {
269
+ /* @__PURE__ */ U(B, {
262
270
  path: "/executions",
263
- element: /* @__PURE__ */ B(l, {
264
- db: s,
265
- model: O
271
+ element: /* @__PURE__ */ U(o, {
272
+ db: n,
273
+ model: M
266
274
  })
267
275
  }),
268
- /* @__PURE__ */ B(R, {
276
+ /* @__PURE__ */ U(B, {
269
277
  path: "/workflows",
270
- element: /* @__PURE__ */ B(h, {
271
- db: s,
272
- model: O
278
+ element: /* @__PURE__ */ U(d, {
279
+ db: n,
280
+ model: M
273
281
  })
274
282
  }),
275
- /* @__PURE__ */ B(R, {
283
+ /* @__PURE__ */ U(B, {
276
284
  path: "/agents",
277
- element: /* @__PURE__ */ B(f, {
278
- db: s,
279
- model: O
285
+ element: /* @__PURE__ */ U(a, {
286
+ db: n,
287
+ model: M
280
288
  })
281
289
  }),
282
- /* @__PURE__ */ B(R, {
290
+ /* @__PURE__ */ U(B, {
291
+ path: "/proposals",
292
+ element: /* @__PURE__ */ U(v, {})
293
+ }),
294
+ /* @__PURE__ */ U(B, {
283
295
  path: "/provenance",
284
- element: /* @__PURE__ */ B(t, {
285
- db: s,
286
- model: O,
287
- namespace: C,
288
- reference: U
296
+ element: /* @__PURE__ */ U(_, {
297
+ db: n,
298
+ model: M,
299
+ namespace: T,
300
+ reference: te
289
301
  })
290
302
  }),
291
- /* @__PURE__ */ B(R, {
303
+ /* @__PURE__ */ U(B, {
292
304
  path: "/conflicts",
293
- element: /* @__PURE__ */ B(r, {
294
- db: s,
295
- diagnostics: M
305
+ element: /* @__PURE__ */ U(y, {
306
+ db: n,
307
+ diagnostics: K
296
308
  })
297
309
  }),
298
- /* @__PURE__ */ B(R, {
310
+ /* @__PURE__ */ U(B, {
299
311
  path: "/health",
300
- element: /* @__PURE__ */ B(c, {
301
- diagnostics: M,
302
- model: O
312
+ element: /* @__PURE__ */ U(m, {
313
+ diagnostics: K,
314
+ model: M
303
315
  })
304
316
  }),
305
- /* @__PURE__ */ B(R, {
317
+ /* @__PURE__ */ U(B, {
306
318
  path: "/settings",
307
- element: /* @__PURE__ */ B(m, {
308
- db: s,
309
- remoteUrl: b,
310
- token: S,
311
- onConnect: D
319
+ element: /* @__PURE__ */ U(r, {
320
+ db: n,
321
+ remoteUrl: x,
322
+ token: w,
323
+ onConnect: j
312
324
  })
313
325
  }),
314
- /* @__PURE__ */ B(R, {
326
+ /* @__PURE__ */ U(B, {
315
327
  path: "/api-keys",
316
- element: /* @__PURE__ */ V("div", {
328
+ element: /* @__PURE__ */ W("div", {
317
329
  style: { padding: "2rem" },
318
- children: [/* @__PURE__ */ B("h1", { children: "API Key Management" }), /* @__PURE__ */ B(x, {
319
- apiUrl: b,
320
- token: S,
321
- namespace: C,
330
+ children: [/* @__PURE__ */ U("h1", { children: "API Key Management" }), /* @__PURE__ */ U(C, {
331
+ apiUrl: x,
332
+ token: w,
333
+ namespace: T,
322
334
  onConfigure: () => window.location.assign("/settings")
323
335
  })]
324
336
  })
@@ -329,4 +341,4 @@ function U({ db: s, remoteUrl: b = "", token: S = "", namespace: C = "default",
329
341
  }) });
330
342
  }
331
343
  //#endregion
332
- export { f as AgentExplorer, g as ApplicationDesigner, _ as CapabilityExplorer, r as ConflictExplorer, l as ExecutionViewer, d as GlobalSearch, c as HealthCenter, x as KeyManagementPanel, C as ManagedInstancePanel, S as ManagedInstanceUtil, a as OperationsExplorer, y as OverviewDashboard, i as PeerMap, t as ProvenanceViewer, p as ReferenceExplorer, m as SettingsPanel, u as StateExplorer, U as StudioApp, h as WorkflowVisualizer, w as capitalize, T as fetchDashboardStats, E as fetchDiagnostics, D as fetchPeers, O as fetchProvenance, k as formatBytes, A as formatReference, j as formatRelativeTime, M as formatTime, N as searchReferences, s as useCollection, o as useDashboardStats, e as useFeltDB, v as usePeers, b as useProvenance, n as useRuntimeDiagnostics };
344
+ export { a as AgentExplorer, g as ApplicationDesigner, p as AskFeltDB, s as CapabilityExplorer, y as ConflictExplorer, o as ExecutionViewer, u as GlobalSearch, m as HealthCenter, C as KeyManagementPanel, T as ManagedInstancePanel, w as ManagedInstanceUtil, f as OperationsExplorer, e as OverviewDashboard, h as PeerMap, v as ProposalBrowser, _ as ProvenanceViewer, l as ReferenceExplorer, r as SettingsPanel, c as StateExplorer, K as StudioApp, d as WorkflowVisualizer, E as capitalize, D as fetchDashboardStats, O as fetchDiagnostics, k as fetchPeers, A as fetchProvenance, j as formatBytes, M as formatReference, N as formatRelativeTime, P as formatTime, F as searchReferences, n as useCollection, b as useDashboardStats, S as useFeltDB, i as usePeers, x as useProvenance, t as useRuntimeDiagnostics };