@feltdb/core 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/bin/create-feltdb.js +3 -0
- package/bin/feltdb.js +3 -0
- package/dist/analytics-backend.js +1 -1
- package/dist/cli/api-client.js +236 -0
- package/dist/cli/cli.js +18 -0
- package/dist/cli/commands.js +795 -0
- package/dist/cli/config.js +66 -0
- package/dist/cli/index.js +399 -0
- package/dist/create/application-identity.js +132 -0
- package/dist/create/cli-scripts-generator.js +211 -0
- package/dist/create/cli.js +202 -0
- package/dist/create/create.js +638 -0
- package/dist/create/docker-compose-generator.js +258 -0
- package/dist/create/index.js +4 -0
- package/dist/create/package-versions.js +4 -0
- package/dist/create/runtime-templates.js +272 -0
- package/dist/index-backend.js +1 -1
- package/dist/migrate/analyzer/index.d.ts +2 -0
- package/dist/migrate/analyzer/index.js +34 -0
- package/dist/migrate/benchmark/index.d.ts +13 -0
- package/dist/migrate/benchmark/index.js +8 -0
- package/dist/migrate/capability-gate/index.d.ts +3 -0
- package/dist/migrate/capability-gate/index.js +3 -0
- package/dist/migrate/classifier/index.d.ts +3 -0
- package/dist/migrate/classifier/index.js +53 -0
- package/dist/migrate/cli/index.d.ts +2 -0
- package/dist/migrate/cli/index.js +201 -0
- package/dist/migrate/domain-model/index.d.ts +2 -0
- package/dist/migrate/domain-model/index.js +4 -0
- package/dist/migrate/generator/index.d.ts +2 -0
- package/dist/migrate/generator/index.js +21 -0
- package/dist/migrate/index.d.ts +16 -0
- package/dist/migrate/index.js +16 -0
- package/dist/migrate/measurement/index.d.ts +7 -0
- package/dist/migrate/measurement/index.js +1 -0
- package/dist/migrate/migrator/index.d.ts +2 -0
- package/dist/migrate/migrator/index.js +35 -0
- package/dist/migrate/planner/index.d.ts +2 -0
- package/dist/migrate/planner/index.js +12 -0
- package/dist/migrate/prover/index.d.ts +9 -0
- package/dist/migrate/prover/index.js +3 -0
- package/dist/migrate/reporter/index.d.ts +4 -0
- package/dist/migrate/reporter/index.js +1 -0
- package/dist/migrate/runtime-dependencies/index.d.ts +13 -0
- package/dist/migrate/runtime-dependencies/index.js +112 -0
- package/dist/migrate/state-contract/index.d.ts +13 -0
- package/dist/migrate/state-contract/index.js +49 -0
- package/dist/migrate/types/index.d.ts +228 -0
- package/dist/migrate/types/index.js +1 -0
- package/dist/migrate/ui-wiring/index.d.ts +18 -0
- package/dist/migrate/ui-wiring/index.js +2 -0
- package/dist/migrate/util.d.ts +5 -0
- package/dist/migrate/util.js +10 -0
- package/dist/react/index.d.ts +7 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +6 -0
- package/dist/react/useCapability.d.ts +11 -0
- package/dist/react/useCapability.d.ts.map +1 -0
- package/dist/react/useCapability.js +30 -0
- package/dist/react/useCollection.d.ts +17 -0
- package/dist/react/useCollection.d.ts.map +1 -0
- package/dist/react/useCollection.js +69 -0
- package/dist/react/useFeltDB.d.ts +136 -0
- package/dist/react/useFeltDB.d.ts.map +1 -0
- package/dist/react/useFeltDB.js +350 -0
- package/dist/studio/.gitkeep +1 -0
- package/dist/studio/KeyManagementPanel-BOvWTRyH.js +246 -0
- package/dist/studio/app.d.ts +10 -0
- package/dist/studio/app.d.ts.map +1 -0
- package/dist/studio/components/AgentExplorer.d.ts +9 -0
- package/dist/studio/components/AgentExplorer.d.ts.map +1 -0
- package/dist/studio/components/ApplicationDesigner.d.ts +11 -0
- package/dist/studio/components/ApplicationDesigner.d.ts.map +1 -0
- package/dist/studio/components/CapabilityExplorer.d.ts +9 -0
- package/dist/studio/components/CapabilityExplorer.d.ts.map +1 -0
- package/dist/studio/components/ConflictExplorer.d.ts +9 -0
- package/dist/studio/components/ConflictExplorer.d.ts.map +1 -0
- package/dist/studio/components/ExecutionViewer.d.ts +9 -0
- package/dist/studio/components/ExecutionViewer.d.ts.map +1 -0
- package/dist/studio/components/GlobalSearch.d.ts +10 -0
- package/dist/studio/components/GlobalSearch.d.ts.map +1 -0
- package/dist/studio/components/HealthCenter.d.ts +9 -0
- package/dist/studio/components/HealthCenter.d.ts.map +1 -0
- package/dist/studio/components/KeyManagementPanel.d.ts +9 -0
- package/dist/studio/components/KeyManagementPanel.d.ts.map +1 -0
- package/dist/studio/components/KeyManagementPanel.js +2 -0
- package/dist/studio/components/ManagedInstancePanel.d.ts +4 -0
- package/dist/studio/components/ManagedInstancePanel.d.ts.map +1 -0
- package/dist/studio/components/ManagedInstancePanel.js +281 -0
- package/dist/studio/components/OperationsExplorer.d.ts +10 -0
- package/dist/studio/components/OperationsExplorer.d.ts.map +1 -0
- package/dist/studio/components/OverviewDashboard.d.ts +8 -0
- package/dist/studio/components/OverviewDashboard.d.ts.map +1 -0
- package/dist/studio/components/PeerMap.d.ts +8 -0
- package/dist/studio/components/PeerMap.d.ts.map +1 -0
- package/dist/studio/components/ProvenanceViewer.d.ts +11 -0
- package/dist/studio/components/ProvenanceViewer.d.ts.map +1 -0
- package/dist/studio/components/ReferenceExplorer.d.ts +10 -0
- package/dist/studio/components/ReferenceExplorer.d.ts.map +1 -0
- package/dist/studio/components/SettingsPanel.d.ts +7 -0
- package/dist/studio/components/SettingsPanel.d.ts.map +1 -0
- package/dist/studio/components/StateExplorer.d.ts +10 -0
- package/dist/studio/components/StateExplorer.d.ts.map +1 -0
- package/dist/studio/components/WorkflowVisualizer.d.ts +9 -0
- package/dist/studio/components/WorkflowVisualizer.d.ts.map +1 -0
- package/dist/studio/components/index.d.ts +24 -0
- package/dist/studio/components/index.d.ts.map +1 -0
- package/dist/studio/components/index.js +4 -0
- package/dist/studio/components-BRYUceo9.js +1711 -0
- package/dist/studio/hooks/index.d.ts +37 -0
- package/dist/studio/hooks/index.d.ts.map +1 -0
- package/dist/studio/index.d.ts +27 -0
- package/dist/studio/index.d.ts.map +1 -0
- package/dist/studio/index.html +30 -0
- package/dist/studio/index.js +236 -0
- package/dist/studio/main.d.ts +1 -0
- package/dist/studio/main.d.ts.map +1 -0
- package/dist/studio/studio.css +2 -0
- package/dist/studio/types/index.d.ts +133 -0
- package/dist/studio/types/index.d.ts.map +1 -0
- package/dist/studio/utils/api.d.ts +27 -0
- package/dist/studio/utils/api.d.ts.map +1 -0
- package/dist/studio/utils/format.d.ts +24 -0
- package/dist/studio/utils/format.d.ts.map +1 -0
- package/dist/studio/utils/index.d.ts +7 -0
- package/dist/studio/utils/index.d.ts.map +1 -0
- package/dist/studio/utils/index.js +75 -0
- package/dist/studio/utils/managed-instance.d.ts +40 -0
- package/dist/studio/utils/managed-instance.d.ts.map +1 -0
- package/dist/studio/utils/managed-instance.js +51 -0
- package/dist/studio-app/.gitkeep +1 -0
- package/dist/studio-app/assets/feltdb_wasm-BXMn9UxO.js +1 -0
- package/dist/studio-app/assets/feltdb_wasm_bg-bYYbZeRM.wasm +0 -0
- package/dist/studio-app/assets/index-B-lZjdtI.js +28 -0
- package/dist/studio-app/assets/index-CB-Eed9V.css +1 -0
- package/dist/studio-app/index.html +3 -0
- package/dist/wasm/feltdb_wasm.d.ts +461 -0
- package/dist/wasm/feltdb_wasm.js +1690 -0
- package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
- package/dist/wasm/feltdb_wasm_bg.wasm.d.ts +84 -0
- package/dist/wasm/package.json +16 -0
- package/package.json +40 -5
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { StateFirstDB, RuntimeDiagnostics, FlowSpec } from '@feltdb/core';
|
|
2
|
+
import { StudioContext, DashboardStats } from '../types';
|
|
3
|
+
export declare function useFeltDB(db: StateFirstDB | null, namespace?: string): StudioContext | null;
|
|
4
|
+
/**
|
|
5
|
+
* useDashboardStats Hook - Get runtime statistics
|
|
6
|
+
*/
|
|
7
|
+
export declare function useDashboardStats(db: StateFirstDB | null, model?: FlowSpec | null, namespace?: string): DashboardStats | null;
|
|
8
|
+
/**
|
|
9
|
+
* useRuntimeDiagnostics Hook - Get health status
|
|
10
|
+
*/
|
|
11
|
+
export declare function useRuntimeDiagnostics(db: StateFirstDB | null): {
|
|
12
|
+
diagnostics: RuntimeDiagnostics | null;
|
|
13
|
+
loading: boolean;
|
|
14
|
+
error: string | null;
|
|
15
|
+
refresh: () => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* useCollection Hook - Subscribe to collection changes
|
|
19
|
+
*/
|
|
20
|
+
export declare function useCollection<T>(db: StateFirstDB | null, collectionName: string): {
|
|
21
|
+
items: T[];
|
|
22
|
+
loading: boolean;
|
|
23
|
+
error: string | null;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* usePeers Hook - Monitor connected peers
|
|
27
|
+
*/
|
|
28
|
+
export declare function usePeers(db: StateFirstDB | null): string[];
|
|
29
|
+
/**
|
|
30
|
+
* useProvenance Hook - Get provenance graph
|
|
31
|
+
*/
|
|
32
|
+
export declare function useProvenance(db: StateFirstDB | null, reference: string): {
|
|
33
|
+
provenance: any;
|
|
34
|
+
loading: boolean;
|
|
35
|
+
error: string | null;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,SAAS,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,EAAE,SAAS,SAAY,GAAG,aAAa,GAAG,IAAI,CA2B9F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,EAAE,KAAK,GAAE,QAAQ,GAAG,IAAW,EAAE,SAAS,SAAY,GAAG,cAAc,GAAG,IAAI,CA0CtI;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;;;;;EA0B5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM;;;;EA4B/E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,YAyB/C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM;;;;EA6BvE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FeltDB Studio - Main Export
|
|
3
|
+
*
|
|
4
|
+
* Interactive browser-based developer interface for FeltDB
|
|
5
|
+
*/
|
|
6
|
+
export * from './app';
|
|
7
|
+
export * from './components';
|
|
8
|
+
export * from './hooks';
|
|
9
|
+
export * from './types';
|
|
10
|
+
export * from './utils';
|
|
11
|
+
export { StudioApp } from './app';
|
|
12
|
+
export { OverviewDashboard } from './components/OverviewDashboard';
|
|
13
|
+
export { StateExplorer } from './components/StateExplorer';
|
|
14
|
+
export { ReferenceExplorer } from './components/ReferenceExplorer';
|
|
15
|
+
export { OperationsExplorer } from './components/OperationsExplorer';
|
|
16
|
+
export { PeerMap } from './components/PeerMap';
|
|
17
|
+
export { CapabilityExplorer } from './components/CapabilityExplorer';
|
|
18
|
+
export { ExecutionViewer } from './components/ExecutionViewer';
|
|
19
|
+
export { ConflictExplorer } from './components/ConflictExplorer';
|
|
20
|
+
export { WorkflowVisualizer } from './components/WorkflowVisualizer';
|
|
21
|
+
export { AgentExplorer } from './components/AgentExplorer';
|
|
22
|
+
export { ProvenanceViewer } from './components/ProvenanceViewer';
|
|
23
|
+
export { HealthCenter } from './components/HealthCenter';
|
|
24
|
+
export { SettingsPanel } from './components/SettingsPanel';
|
|
25
|
+
export { GlobalSearch } from './components/GlobalSearch';
|
|
26
|
+
export { ApplicationDesigner } from './components/ApplicationDesigner';
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/feltdb-icon.svg" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>FeltDB Studio</title>
|
|
8
|
+
<style>
|
|
9
|
+
* {
|
|
10
|
+
margin: 0;
|
|
11
|
+
padding: 0;
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
html, body {
|
|
16
|
+
width: 100%;
|
|
17
|
+
height: 100%;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
#root {
|
|
21
|
+
width: 100%;
|
|
22
|
+
height: 100%;
|
|
23
|
+
}
|
|
24
|
+
</style>
|
|
25
|
+
</head>
|
|
26
|
+
<body>
|
|
27
|
+
<div id="root"></div>
|
|
28
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
29
|
+
</body>
|
|
30
|
+
</html>
|
|
@@ -0,0 +1,236 @@
|
|
|
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-BRYUceo9.js";
|
|
2
|
+
import { t as x } from "./KeyManagementPanel-BOvWTRyH.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";
|
|
10
|
+
//#region src/app.tsx
|
|
11
|
+
function U({ db: s, remoteUrl: b, namespace: S = "default" }) {
|
|
12
|
+
let [C, w] = F(null), T = e(s || null, S), E = o(s || null, C, S), { diagnostics: D } = n(s || null), O = v(s || null), [k, A] = F();
|
|
13
|
+
return P(() => {
|
|
14
|
+
let e = !0;
|
|
15
|
+
return fetch("/_feltdb/project", { cache: "no-store" }).then(async (t) => {
|
|
16
|
+
if (!t.ok) throw Error("No project model endpoint");
|
|
17
|
+
let n = await t.json();
|
|
18
|
+
e && w(H(n.source));
|
|
19
|
+
}).catch(async () => {
|
|
20
|
+
let t = s ? await s.collection("_flow_apps").all() : [];
|
|
21
|
+
e && t[0]?.spec && w(t[0].spec);
|
|
22
|
+
}), () => {
|
|
23
|
+
e = !1;
|
|
24
|
+
};
|
|
25
|
+
}, [s]), /* @__PURE__ */ B(I, { children: /* @__PURE__ */ V("div", {
|
|
26
|
+
className: "studio-app",
|
|
27
|
+
children: [/* @__PURE__ */ V("nav", {
|
|
28
|
+
className: "studio-nav",
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ V("div", {
|
|
31
|
+
className: "nav-header",
|
|
32
|
+
children: [/* @__PURE__ */ B("h1", { children: "FeltDB Studio" }), T && /* @__PURE__ */ B("div", {
|
|
33
|
+
className: "instance-info",
|
|
34
|
+
children: T.namespace
|
|
35
|
+
})]
|
|
36
|
+
}),
|
|
37
|
+
/* @__PURE__ */ B("div", {
|
|
38
|
+
className: "nav-search",
|
|
39
|
+
children: /* @__PURE__ */ B(d, {
|
|
40
|
+
db: s,
|
|
41
|
+
model: C
|
|
42
|
+
})
|
|
43
|
+
}),
|
|
44
|
+
/* @__PURE__ */ V("ul", {
|
|
45
|
+
className: "nav-menu",
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ B("li", {
|
|
48
|
+
className: "nav-section",
|
|
49
|
+
children: "Design"
|
|
50
|
+
}),
|
|
51
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
52
|
+
to: "/",
|
|
53
|
+
children: "Application"
|
|
54
|
+
}) }),
|
|
55
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
56
|
+
to: "/capabilities",
|
|
57
|
+
children: "Capabilities"
|
|
58
|
+
}) }),
|
|
59
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
60
|
+
to: "/workflows",
|
|
61
|
+
children: "Workflows"
|
|
62
|
+
}) }),
|
|
63
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
64
|
+
to: "/agents",
|
|
65
|
+
children: "Agents"
|
|
66
|
+
}) }),
|
|
67
|
+
/* @__PURE__ */ B("li", {
|
|
68
|
+
className: "nav-section",
|
|
69
|
+
children: "Observe"
|
|
70
|
+
}),
|
|
71
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
72
|
+
to: "/overview",
|
|
73
|
+
children: "Overview"
|
|
74
|
+
}) }),
|
|
75
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
76
|
+
to: "/state",
|
|
77
|
+
children: "State"
|
|
78
|
+
}) }),
|
|
79
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
80
|
+
to: "/references",
|
|
81
|
+
children: "References"
|
|
82
|
+
}) }),
|
|
83
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
84
|
+
to: "/operations",
|
|
85
|
+
children: "Operations"
|
|
86
|
+
}) }),
|
|
87
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
88
|
+
to: "/peers",
|
|
89
|
+
children: "Peers"
|
|
90
|
+
}) }),
|
|
91
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
92
|
+
to: "/executions",
|
|
93
|
+
children: "Executions"
|
|
94
|
+
}) }),
|
|
95
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
96
|
+
to: "/provenance",
|
|
97
|
+
children: "Provenance"
|
|
98
|
+
}) }),
|
|
99
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
100
|
+
to: "/conflicts",
|
|
101
|
+
children: "Conflicts"
|
|
102
|
+
}) }),
|
|
103
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
104
|
+
to: "/health",
|
|
105
|
+
children: "Health"
|
|
106
|
+
}) }),
|
|
107
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
108
|
+
to: "/settings",
|
|
109
|
+
children: "Settings"
|
|
110
|
+
}) }),
|
|
111
|
+
/* @__PURE__ */ B("li", { children: /* @__PURE__ */ B(L, {
|
|
112
|
+
to: "/api-keys",
|
|
113
|
+
children: "API Keys"
|
|
114
|
+
}) })
|
|
115
|
+
]
|
|
116
|
+
})
|
|
117
|
+
]
|
|
118
|
+
}), /* @__PURE__ */ B("main", {
|
|
119
|
+
className: "studio-content",
|
|
120
|
+
children: /* @__PURE__ */ V(z, { children: [
|
|
121
|
+
/* @__PURE__ */ B(R, {
|
|
122
|
+
path: "/",
|
|
123
|
+
element: /* @__PURE__ */ B(g, {
|
|
124
|
+
db: s,
|
|
125
|
+
namespace: S,
|
|
126
|
+
projectSpec: C,
|
|
127
|
+
onSpecChange: w
|
|
128
|
+
})
|
|
129
|
+
}),
|
|
130
|
+
/* @__PURE__ */ B(R, {
|
|
131
|
+
path: "/overview",
|
|
132
|
+
element: /* @__PURE__ */ B(y, { stats: E })
|
|
133
|
+
}),
|
|
134
|
+
/* @__PURE__ */ B(R, {
|
|
135
|
+
path: "/state",
|
|
136
|
+
element: /* @__PURE__ */ B(u, {
|
|
137
|
+
db: s,
|
|
138
|
+
model: C,
|
|
139
|
+
namespace: S
|
|
140
|
+
})
|
|
141
|
+
}),
|
|
142
|
+
/* @__PURE__ */ B(R, {
|
|
143
|
+
path: "/references",
|
|
144
|
+
element: /* @__PURE__ */ B(p, {
|
|
145
|
+
db: s,
|
|
146
|
+
model: C,
|
|
147
|
+
namespace: S
|
|
148
|
+
})
|
|
149
|
+
}),
|
|
150
|
+
/* @__PURE__ */ B(R, {
|
|
151
|
+
path: "/operations",
|
|
152
|
+
element: /* @__PURE__ */ B(a, {
|
|
153
|
+
db: s,
|
|
154
|
+
model: C,
|
|
155
|
+
namespace: S
|
|
156
|
+
})
|
|
157
|
+
}),
|
|
158
|
+
/* @__PURE__ */ B(R, {
|
|
159
|
+
path: "/peers",
|
|
160
|
+
element: /* @__PURE__ */ B(i, {
|
|
161
|
+
peers: O,
|
|
162
|
+
localInstance: T?.instanceId
|
|
163
|
+
})
|
|
164
|
+
}),
|
|
165
|
+
/* @__PURE__ */ B(R, {
|
|
166
|
+
path: "/capabilities",
|
|
167
|
+
element: /* @__PURE__ */ B(_, {
|
|
168
|
+
db: s,
|
|
169
|
+
model: C
|
|
170
|
+
})
|
|
171
|
+
}),
|
|
172
|
+
/* @__PURE__ */ B(R, {
|
|
173
|
+
path: "/executions",
|
|
174
|
+
element: /* @__PURE__ */ B(l, {
|
|
175
|
+
db: s,
|
|
176
|
+
model: C
|
|
177
|
+
})
|
|
178
|
+
}),
|
|
179
|
+
/* @__PURE__ */ B(R, {
|
|
180
|
+
path: "/workflows",
|
|
181
|
+
element: /* @__PURE__ */ B(h, {
|
|
182
|
+
db: s,
|
|
183
|
+
model: C
|
|
184
|
+
})
|
|
185
|
+
}),
|
|
186
|
+
/* @__PURE__ */ B(R, {
|
|
187
|
+
path: "/agents",
|
|
188
|
+
element: /* @__PURE__ */ B(f, {
|
|
189
|
+
db: s,
|
|
190
|
+
model: C
|
|
191
|
+
})
|
|
192
|
+
}),
|
|
193
|
+
/* @__PURE__ */ B(R, {
|
|
194
|
+
path: "/provenance",
|
|
195
|
+
element: /* @__PURE__ */ B(t, {
|
|
196
|
+
db: s,
|
|
197
|
+
model: C,
|
|
198
|
+
namespace: S,
|
|
199
|
+
reference: k
|
|
200
|
+
})
|
|
201
|
+
}),
|
|
202
|
+
/* @__PURE__ */ B(R, {
|
|
203
|
+
path: "/conflicts",
|
|
204
|
+
element: /* @__PURE__ */ B(r, {
|
|
205
|
+
db: s,
|
|
206
|
+
diagnostics: D
|
|
207
|
+
})
|
|
208
|
+
}),
|
|
209
|
+
/* @__PURE__ */ B(R, {
|
|
210
|
+
path: "/health",
|
|
211
|
+
element: /* @__PURE__ */ B(c, {
|
|
212
|
+
diagnostics: D,
|
|
213
|
+
model: C
|
|
214
|
+
})
|
|
215
|
+
}),
|
|
216
|
+
/* @__PURE__ */ B(R, {
|
|
217
|
+
path: "/settings",
|
|
218
|
+
element: /* @__PURE__ */ B(m, { db: s })
|
|
219
|
+
}),
|
|
220
|
+
/* @__PURE__ */ B(R, {
|
|
221
|
+
path: "/api-keys",
|
|
222
|
+
element: /* @__PURE__ */ V("div", {
|
|
223
|
+
style: { padding: "2rem" },
|
|
224
|
+
children: [/* @__PURE__ */ B("h1", { children: "API Key Management" }), /* @__PURE__ */ B(x, {
|
|
225
|
+
apiUrl: b || "http://localhost:8080",
|
|
226
|
+
token: "",
|
|
227
|
+
namespace: S
|
|
228
|
+
})]
|
|
229
|
+
})
|
|
230
|
+
})
|
|
231
|
+
] })
|
|
232
|
+
})]
|
|
233
|
+
}) });
|
|
234
|
+
}
|
|
235
|
+
//#endregion
|
|
236
|
+
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 };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,aAAa,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
._panel_1cbba_1{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2rem}._header_1cbba_8{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}._header_1cbba_8 h2{color:var(--text-primary);margin:0;font-size:1.5rem}._createButton_1cbba_23{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:background-color .2s}._createButton_1cbba_23:hover{background:var(--accent-hover)}._error_1cbba_38{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:4px;margin-bottom:1rem;padding:1rem}._createForm_1cbba_47{background:var(--surface-alt);border:1px solid var(--border);border-radius:4px;margin-bottom:2rem;padding:1.5rem}._formGroup_1cbba_55{margin-bottom:1.5rem}._formGroup_1cbba_55 label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}._formGroup_1cbba_55 input[type=text]{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:4px;padding:.5rem;font-family:inherit}._scopeList_1cbba_76{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}._scopeCheckbox_1cbba_82{cursor:pointer;color:var(--text-primary);align-items:center;display:flex}._scopeCheckbox_1cbba_82 input{cursor:pointer;margin-right:.5rem}._submitButton_1cbba_94{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:.75rem 1.5rem;font-weight:600}._submitButton_1cbba_94:hover{background:var(--accent-hover)}._empty_1cbba_109{text-align:center;color:var(--text-secondary);background:var(--surface-alt);border-radius:4px;padding:2rem}._keysList_1cbba_117{flex-direction:column;gap:1rem;display:flex}._keyCard_1cbba_123{border:1px solid var(--border);background:var(--surface-alt);border-radius:4px;padding:1.5rem;transition:border-color .2s}._keyCard_1cbba_123:hover{border-color:var(--accent)}._keyHeader_1cbba_135{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;display:flex}._keyHeader_1cbba_135 h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1.1rem}._namespace_1cbba_150{color:var(--text-secondary);margin:0;font-size:.85rem}._status_1cbba_156{border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}._status_1cbba_156._active_1cbba_163{background:var(--success-bg);color:var(--success-text)}._status_1cbba_156._expired_1cbba_168{background:var(--warning-bg);color:var(--warning-text)}._keyDetails_1cbba_173{gap:1rem;margin-bottom:1rem;display:grid}._detail_1cbba_179{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}._detail_1cbba_179 strong{color:var(--text-primary)}._detail_1cbba_179 span,._detail_1cbba_179 code{color:var(--text-secondary)}._detail_1cbba_179 code{background:var(--code-bg);border-radius:3px;padding:.25rem .5rem;font-family:monospace;font-size:.9rem}._copyBtn_1cbba_203{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:.25rem .5rem;font-size:.85rem}._copyBtn_1cbba_203:hover{background:var(--accent-hover)}._daysLeft_1cbba_217{color:var(--warning-text);font-size:.85rem;font-weight:600}._scopes_1cbba_223{margin-top:.75rem}._scopeTags_1cbba_227{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}._scopeTag_1cbba_227{background:var(--tag-bg);color:var(--tag-text);border-radius:12px;padding:.25rem .75rem;font-family:monospace;font-size:.85rem}._keyActions_1cbba_243{border-top:1px solid var(--border);gap:.5rem;padding-top:1rem;display:flex}._revokeBtn_1cbba_250{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:background-color .2s}._revokeBtn_1cbba_250:hover{background:var(--error-hover-bg)}._info_1cbba_265{background:var(--info-bg);color:var(--text-secondary);border-radius:4px;margin-top:2rem;padding:1rem;font-size:.9rem}._info_1cbba_265 p{margin:0}:root{--surface:#fff;--surface-alt:#f5f5f5;--text-primary:#000;--text-secondary:#666;--border:#e0e0e0;--accent:#007bff;--accent-hover:#0056b3;--error-bg:#f8d7da;--error-border:#f5c6cb;--error-text:#721c24;--error-hover-bg:#f5c6cb;--success-bg:#d4edda;--success-text:#155724;--warning-bg:#fff3cd;--warning-text:#856404;--info-bg:#e2e3e5;--input-bg:#fff;--code-bg:#f4f4f4;--tag-bg:#e9ecef;--tag-text:#495057}@media (prefers-color-scheme:dark){:root{--surface:#1e1e1e;--surface-alt:#2d2d2d;--text-primary:#fff;--text-secondary:#b0b0b0;--border:#404040;--accent:#0d6efd;--accent-hover:#0a58ca;--error-bg:#3d1f1f;--error-border:#664141;--error-text:#f8b7bc;--error-hover-bg:#4a2828;--success-bg:#1f3f1f;--success-text:#7ddc7d;--warning-bg:#3f3f1f;--warning-text:#ffdd57;--info-bg:#2d2d3d;--input-bg:#2d2d2d;--code-bg:#2d2d2d;--tag-bg:#3d3d4d;--tag-text:#b0b0b0}}.studio-app{color:#333;background:#f5f5f5;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:flex}.studio-nav{color:#fff;background:#1a1a1a;border-right:1px solid #333;width:250px;padding:20px;overflow-y:auto}.nav-header h1{margin:0 0 30px;font-size:18px;font-weight:600}.instance-info{color:#999;border-bottom:1px solid #333;margin-top:-20px;margin-bottom:20px;padding-bottom:10px;font-size:12px}.nav-search{margin-bottom:20px}.nav-search .search-input{color:#fff;background:#2a2a2a;border:1px solid #444;border-radius:4px;width:100%;padding:8px;font-size:12px}.nav-menu{margin:0;padding:0;list-style:none}.nav-menu li{margin-bottom:8px}.nav-menu .nav-section{color:#71717a;letter-spacing:.14em;text-transform:uppercase;margin:22px 14px 7px;font-size:10px;font-weight:800}.application-designer{--ink:#17211b;--muted:#68756d;--line:#dce4de;--paper:#fbfcf9;min-height:100%;color:var(--ink)}.designer-header{justify-content:space-between;align-items:flex-end;gap:24px;padding:8px 4px 22px;display:flex}.designer-header h1{letter-spacing:-.03em;font-family:Georgia,serif;font-size:34px}.designer-header p{color:var(--muted);margin-top:5px}.eyebrow{color:#287052;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800}.designer-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-ghost{color:#33443a;border:1px solid var(--line);background:#fff}.designer-actions .btn-primary{background:#1f684c}.cloud-publisher{background:#fff;border:1px solid #cbdad0;border-radius:10px;gap:14px;margin-bottom:12px;padding:18px;display:grid;box-shadow:0 10px 28px #26372d1a}.cloud-publisher-heading{justify-content:space-between;gap:18px;display:flex}.cloud-publisher-heading h2{margin-top:3px;font:600 20px/1.2 Georgia,serif}.cloud-publisher-heading p{color:var(--muted);margin-top:4px;font-size:12px}.cloud-publisher-heading>button{color:#718078;cursor:pointer;background:0 0;border:0;align-self:flex-start;font-size:22px}.cloud-fields{grid-template-columns:1.4fr .7fr 1fr;gap:10px;display:grid}.cloud-fields label{color:#65736a;letter-spacing:.07em;text-transform:uppercase;gap:5px;font-size:9px;font-weight:800;display:grid}.cloud-fields input{color:#20342a;background:#f9fbf9;border:1px solid #cbd8cf;border-radius:6px;outline:0;width:100%;padding:9px 10px;font-size:12px}.cloud-fields input:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.cloud-destructive{color:#8b4d22;align-items:center;gap:7px;font-size:11px;display:flex}.cloud-destructive input{accent-color:#a55d2b}.local-destructive{color:#8b4d22;background:#fff7ed;border:1px solid #f0d7bb;border-radius:7px;align-items:center;gap:7px;margin-bottom:12px;padding:9px 12px;font-size:11px;display:flex}.local-destructive input{accent-color:#a55d2b}.cloud-error{color:#9b2c2c;background:#fff0f0;border:1px solid #f1caca;border-radius:6px;padding:8px 10px;font-size:11px}.cloud-actions{justify-content:flex-end;gap:8px;display:flex}.cloud-actions .btn:disabled{cursor:wait;opacity:.65}.designer-status{color:#286046;background:#eaf5ee;border:1px solid #cce5d5;border-radius:8px;justify-content:space-between;margin-bottom:12px;padding:9px 13px;font-size:12px;display:flex}.designer-status.error{color:#9b2c2c;background:#fff0f0;border-color:#f1caca}.designer-grid{background:var(--paper);border:1px solid var(--line);border-radius:12px;grid-template-columns:190px minmax(420px,1fr) minmax(340px,.8fr);height:calc(100vh - 150px);min-height:620px;display:grid;overflow:hidden;box-shadow:0 12px 40px #26372d14}.model-tree,.model-canvas,.dsl-panel{min-width:0}.model-tree{border-right:1px solid var(--line);background:#f2f5f0;padding:14px;overflow:auto}.panel-title{color:#34463b;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:38px;font-size:12px;font-weight:800;display:flex}.panel-title button{color:#286046;cursor:pointer;background:#dce9df;border:0;border-radius:6px;width:25px;height:25px}.model-tree section{margin-top:16px}.model-tree section h3{color:#7a857e;letter-spacing:.12em;text-transform:uppercase;margin:0 7px 6px;font-size:10px}.tree-item,.tree-empty{border-radius:6px;padding:6px 8px;font-size:12px}.tree-item{color:#27372e;background:#ffffffb3;margin-bottom:3px}.tree-empty{color:#9aa39d;font-style:italic}.collection-editor{background:#fff;border:1px solid #d3ded6;border-radius:7px;gap:7px;margin-top:10px;padding:9px;display:grid}.collection-editor label{color:#65736a;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:800;display:grid}.collection-editor input{color:#20342a;border:1px solid #cbd8cf;border-radius:5px;outline:0;width:100%;min-width:0;padding:7px 8px;font-size:11px}.collection-editor input:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.collection-editor>div:last-child{justify-content:flex-end;gap:4px;display:flex}.collection-editor button{color:#526158;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 7px;font-size:10px}.collection-editor .collection-save{color:#fff;background:#287052}.model-canvas{background-color:#f8faf6;background-image:radial-gradient(#d8e0da 1px,#0000 1px);background-size:18px 18px;flex-direction:column;padding:14px;display:flex;overflow:hidden}.graph-legend{color:#859189;text-transform:none;letter-spacing:0;font-weight:500}.graph-board{flex:1;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start;gap:16px;padding:22px 8px;display:grid;overflow:auto}.model-node{background:#fff;border:1px solid #cfdbd2;border-top:3px solid #327258;border-radius:9px;padding:14px;position:relative;box-shadow:0 5px 14px #273d3014}.model-node.workflow-node{border-top-color:#9b6a2f}.model-node.agent-node{border-top-color:#70539b}.node-kind{color:#849087;letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:800}.model-node h3{margin:3px 0 10px;font-family:Georgia,serif;font-size:18px}.node-field,.node-step{border-top:1px solid #eef1ee;justify-content:space-between;gap:8px;padding:5px 0;font-size:11px;display:flex}.node-field code{color:#527060;font-size:10px}.node-step{color:#59675f;display:block}.node-add{color:#357257;cursor:pointer;background:#f0f7f2;border:1px dashed #b9d2c1;border-radius:5px;margin-top:9px;padding:4px 7px;font-size:10px}.field-editor{background:#f5f8f5;border:1px solid #d7e2da;border-radius:7px;gap:9px;margin-top:10px;padding:11px;display:grid}.field-editor label{color:#65736a;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:700;display:grid}.field-editor input[type=text],.field-editor input:not([type]),.field-editor select{color:#20342a;background:#fff;border:1px solid #cbd8cf;border-radius:5px;outline:0;width:100%;min-width:0;padding:7px 8px;font:11px/1.2 inherit}.field-editor input:focus,.field-editor select:focus{border-color:#398166;box-shadow:0 0 0 2px #39816624}.field-editor-row{grid-template-columns:1fr 1fr;gap:7px;display:grid}.field-editor .field-optional{color:#43564a;letter-spacing:0;text-transform:none;align-items:center;gap:6px;font-size:10px;font-weight:500;display:flex}.field-optional input{accent-color:#287052}.field-error{color:#a13d3d;font-size:10px}.field-editor-actions{justify-content:flex-end;gap:6px;display:flex}.field-editor-actions button{color:#526158;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 8px;font-size:10px}.field-editor-actions .field-save{color:#fff;background:#287052}.change-strip{border-top:1px solid var(--line);white-space:nowrap;background:#ffffffeb;align-items:center;gap:12px;min-height:42px;padding:7px 10px;font-size:10px;display:flex;overflow:auto}.change-strip .added{color:#24714f}.change-strip .changed{color:#94611e}.change-strip .removed{color:#a13d3d}.dsl-panel{color:#d9e4dc;background:#17211b;border-left:1px solid #0c1510;flex-direction:column;padding:14px;display:flex}.dsl-panel .panel-title{color:#aebdb3;border-color:#344139}.dsl-panel .panel-title span:last-child{color:#6f8276;text-transform:none;font-weight:500}.dsl-panel textarea{resize:none;color:#d9e4dc;-moz-tab-size:2;tab-size:2;background:0 0;border:0;outline:0;flex:1;width:100%;padding:15px 2px;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.diagnostics{border-top:1px solid #344139;max-height:120px;padding-top:8px;font:10px/1.5 ui-monospace,monospace;overflow:auto}.diagnostics .error{color:#ff9f9f}.diagnostics .warning{color:#f3d18a}@media (max-width:1100px){.designer-grid{grid-template-columns:160px 1fr;height:auto}.dsl-panel{grid-column:1/-1;height:480px}.designer-header{flex-direction:column;align-items:flex-start}.cloud-fields{grid-template-columns:1fr}}.nav-menu a{color:#ccc;border-radius:4px;padding:10px 15px;text-decoration:none;transition:all .2s;display:block}.nav-menu a:hover{color:#fff;background:#333}.studio-content{flex:1;padding:20px;overflow-y:auto}.search-input{border:1px solid #ddd;border-radius:4px;width:100%;padding:10px;font-size:14px}.filter-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px;font-size:14px}.btn{cursor:pointer;border:none;border-radius:4px;padding:10px 15px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background:#007bff}.btn-primary:hover{background:#0056b3}.overview-dashboard{background:#fff;border-radius:8px;padding:30px;box-shadow:0 1px 3px #0000001a}.dashboard-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;display:flex}.dashboard-header h1{margin:0;font-size:28px}.namespace-badge{color:#fff;background:#007bff;border-radius:20px;padding:5px 15px;font-size:12px;font-weight:600}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;display:grid}.stat-card{text-align:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:15px}.stat-card label{color:#666;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.stat-card .status-indicator{margin-right:5px;font-size:20px}.stat-card .status-indicator.healthy{color:#28a745}.stat-card .status-indicator.degraded{color:#ffc107}.stat-card .status-indicator.unhealthy{color:#dc3545}.stat-number{color:#007bff;font-size:24px;font-weight:700;display:block}.explorer-placeholder,.capabilities-placeholder,.executions-placeholder,.provenance-placeholder,.peer-placeholder,.empty-message,.placeholder-text{text-align:center;color:#999;background:#f9f9f9;border:2px dashed #ddd;border-radius:6px;margin-top:20px;padding:40px}.placeholder-text{border:none;padding:20px}.peer-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:20px;display:grid}.peer-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:10px;padding:15px;display:flex}.peer-status{font-size:12px}.peer-status.online{color:#28a745}.peer-name{font-weight:500}.health-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px;display:grid}.health-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:10px;padding:15px;display:flex}.health-item.status-healthy{background:#f8f9fa;border-color:#d4edda}.health-item.status-warning{background:#fffbf0;border-color:#fff3cd}.health-item.status-error{background:#fff5f5;border-color:#f8d7da}.status-icon{font-size:16px;font-weight:700}.health-item.status-healthy .status-icon{color:#28a745}.health-item.status-warning .status-icon{color:#ffc107}.health-item.status-error .status-icon{color:#dc3545}.component-name{font-weight:500}.reference-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.search-box{margin-bottom:20px}.reference-details{margin-top:20px}.detail-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:10px 0;display:flex}.detail-row label{color:#666;font-weight:600}.detail-row span{color:#333}.status-materialized{color:#28a745;font-weight:500}.operations-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.filter-controls{margin-bottom:20px}.operations-table{border-collapse:collapse;width:100%;margin-top:20px}.operations-table th{text-align:left;background:#f5f5f5;border-bottom:2px solid #ddd;padding:10px;font-weight:600}.operations-table td{border-bottom:1px solid #f0f0f0;padding:10px}.conflict-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.conflict-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px;display:grid}.summary-stat{text-align:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:15px}.summary-stat label{color:#666;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.workflow-visualizer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.workflow-controls{margin-bottom:20px}.workflows-list,.workflow-detail{margin-top:20px}.agent-explorer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.agents-grid,.agent-detail{margin-top:20px}.provenance-viewer{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.provenance-content{margin-top:20px}.settings-panel{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.settings-tabs{border-bottom:1px solid #e0e0e0;gap:10px;margin:20px 0;display:flex}.tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 15px;font-weight:500;transition:all .2s}.tab.active{color:#007bff;border-bottom-color:#007bff}.settings-content{margin-top:20px}.keys-list,.connection-info{margin:20px 0}.info-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:10px 0;display:flex}.info-row label{color:#666;font-weight:600}.monospace{font-family:Monaco,Courier New,monospace;font-size:12px}.global-search{position:relative}.search-input.global{margin-bottom:10px}.search-results{z-index:1000;background:#fff;border:1px solid #ddd;border-radius:4px;max-height:400px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.results-group{border-bottom:1px solid #f0f0f0;padding:10px}.results-group h4{color:#666;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:600}.results-group .empty-message{color:#999;background:0 0;border:none;padding:5px 0;font-size:12px}@media (max-width:768px){.studio-app{flex-direction:column}.studio-nav{border-bottom:1px solid #333;border-right:none;width:100%;max-height:200px}.nav-menu{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.nav-menu a{padding:8px 5px;font-size:12px}}.studio-model-page{color:#19251f;max-width:1280px;margin:0 auto}.studio-model-page>header{margin-bottom:22px}.studio-model-page>header h1{margin:4px 0 6px;font-family:Georgia,serif;font-size:36px}.studio-model-page>header p{color:#68776f;margin:0}.eyebrow,.card-kind{color:#217052;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800}.model-summary{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.model-summary>span,.model-summary select{color:#426052;background:#f8fbf9;border:1px solid #d6e1da;border-radius:999px;padding:7px 12px;font-size:12px}.studio-card-grid,.state-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.studio-card{background:#fff;border:1px solid #d7e0da;border-radius:12px;padding:18px;box-shadow:0 6px 22px #1937280d}.studio-card h2{margin:6px 0 14px;font-family:Georgia,serif;font-size:22px}.model-empty{color:#75847c;text-align:center;background:#fafcfb;border:1px dashed #cbd8d0;border-radius:10px;grid-column:1/-1;padding:34px}.model-empty.compact{padding:20px 10px}.state-collection>header{justify-content:space-between;align-items:center;display:flex}.state-collection>header h2{margin-bottom:8px}.state-collection>header strong{color:#237154;font:30px Georgia,serif}.state-row{text-align:left;color:#26372f;cursor:pointer;background:0 0;border:0;border-top:1px solid #e8edea;grid-template-columns:1fr auto;gap:8px;width:100%;padding:12px 2px;display:grid}.state-row span:first-child{flex-direction:column;gap:3px;display:flex}.state-row small{color:#859189}.state-row pre{color:#dcebe2;background:#13231b;border-radius:8px;grid-column:1/-1;margin:4px 0 0;padding:12px;overflow:auto}.table-shell{background:#fff;border:1px solid #d7e0da;border-radius:12px;overflow:auto}.table-shell table{width:100%;margin:0}.event-pill{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.event-pill.put{color:#176443;background:#dff4e9}.event-pill.delete{color:#963e2c;background:#fbe4df}.reference-query{gap:8px;margin-bottom:18px;display:flex}.reference-query input{border:1px solid #cad7cf;border-radius:8px;flex:1;padding:12px 14px;font-family:monospace}.reference-query button{color:#fff;cursor:pointer;background:#1f7152;border:0;border-radius:8px;padding:0 20px;font-weight:700}.reference-layout{grid-template-columns:minmax(220px,.35fr) 1fr;gap:16px;display:grid}.reference-example{cursor:pointer;background:0 0;border:0;border-top:1px solid #e8edea;justify-content:space-between;width:100%;padding:12px 0;display:flex}.reference-example small{color:#829087}.reference-result pre,.execution-row pre{color:#dcebe2;background:#14231c;border-radius:8px;padding:14px;overflow:auto}.execution-list{gap:10px;margin-bottom:20px;display:grid}.execution-row{background:#fff;border:1px solid #d8e1db;border-radius:10px;grid-template-columns:1fr auto;gap:10px;padding:14px;display:grid}.execution-row>div{flex-direction:column;display:flex}.execution-row small{color:#829087}.execution-row pre{grid-column:1/-1;max-height:180px;margin:0}.execution-empty{margin-top:14px}.provenance-nodes{flex-wrap:wrap;gap:10px;display:flex}.provenance-nodes>div,.provenance-event{border:1px solid #d8e1db;border-radius:8px;flex-direction:column;gap:3px;padding:12px;display:flex}.provenance-nodes small,.provenance-event small{color:#849087}.provenance-event{grid-template-columns:45px 1fr 1fr auto;margin-top:8px;display:grid}.peer-topology{align-items:center;gap:10px;padding:30px 4px;display:flex;overflow:auto}.peer-node{background:#fff;border:1px solid #cad8cf;border-radius:12px;min-width:230px;padding:18px}.peer-node.local{color:#eef7f2;background:#183429}.peer-node span,.peer-node small{opacity:.7;font-size:11px}.peer-node h2{margin:6px 0;font-size:15px}.peer-link{background:#81a893;width:45px;height:2px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.metric-grid article{color:#fff;background:#183429;border-radius:10px;flex-direction:column;padding:18px;display:flex}.metric-grid b{font:32px Georgia,serif}.metric-grid span{opacity:.7;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.health-item{align-items:center;gap:12px;display:flex}.health-item div{flex-direction:column;gap:3px;display:flex}.health-item small{color:#78857e}.health-issue{background:#fff2dc;border-radius:8px;margin:10px 0;padding:12px}.search-result{border-top:1px solid #edf0ee;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 0;display:grid}.search-result span{color:#287254;text-transform:uppercase;font-size:10px}.search-result small{color:#829087;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}@media (max-width:800px){.reference-layout,.metric-grid{grid-template-columns:1fr}.provenance-event{grid-template-columns:35px 1fr}.provenance-event code,.provenance-event small{grid-column:2}}
|
|
2
|
+
/*$vite$:1*/
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FeltDB Studio Types
|
|
3
|
+
*/
|
|
4
|
+
export interface StudioContext {
|
|
5
|
+
db: any;
|
|
6
|
+
connected: boolean;
|
|
7
|
+
namespace: string;
|
|
8
|
+
instanceId: string;
|
|
9
|
+
environment: 'browser' | 'self-hosted' | 'remote';
|
|
10
|
+
}
|
|
11
|
+
export interface DashboardStats {
|
|
12
|
+
namespace: string;
|
|
13
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
14
|
+
storageBackend: string;
|
|
15
|
+
persistence: 'durable' | 'volatile';
|
|
16
|
+
peersCount: number;
|
|
17
|
+
objectsCount: number;
|
|
18
|
+
operationsCount: number;
|
|
19
|
+
capabilitiesCount: number;
|
|
20
|
+
executionsCount: number;
|
|
21
|
+
workflowsCount: number;
|
|
22
|
+
agentsCount: number;
|
|
23
|
+
conflictsCount: number;
|
|
24
|
+
}
|
|
25
|
+
export interface Peer {
|
|
26
|
+
id: string;
|
|
27
|
+
status: 'online' | 'offline' | 'syncing';
|
|
28
|
+
stateVersion: number;
|
|
29
|
+
capabilities: number;
|
|
30
|
+
objects: number;
|
|
31
|
+
operations: number;
|
|
32
|
+
lastSync: number;
|
|
33
|
+
compatibility: 'current' | 'outdated' | 'incompatible';
|
|
34
|
+
}
|
|
35
|
+
export interface Capability {
|
|
36
|
+
id: string;
|
|
37
|
+
name: string;
|
|
38
|
+
version: number;
|
|
39
|
+
providers: number;
|
|
40
|
+
state: 'compatible' | 'incompatible';
|
|
41
|
+
execution: 'available' | 'unavailable';
|
|
42
|
+
authorization: 'allowed' | 'denied';
|
|
43
|
+
}
|
|
44
|
+
export interface Execution {
|
|
45
|
+
executionId: string;
|
|
46
|
+
capability: string;
|
|
47
|
+
inputs: string[];
|
|
48
|
+
requestedBy: string;
|
|
49
|
+
selectedProvider: string;
|
|
50
|
+
stateVersion: string;
|
|
51
|
+
status: 'queued' | 'running' | 'completed' | 'failed';
|
|
52
|
+
startedAt?: number;
|
|
53
|
+
completedAt?: number;
|
|
54
|
+
result?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface Workflow {
|
|
57
|
+
id: string;
|
|
58
|
+
name: string;
|
|
59
|
+
status: 'running' | 'completed' | 'blocked' | 'failed' | 'waiting';
|
|
60
|
+
owner: string;
|
|
61
|
+
currentStep?: string;
|
|
62
|
+
steps: WorkflowStep[];
|
|
63
|
+
inputs?: Record<string, any>;
|
|
64
|
+
outputs?: Record<string, any>;
|
|
65
|
+
}
|
|
66
|
+
export interface WorkflowStep {
|
|
67
|
+
name: string;
|
|
68
|
+
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
69
|
+
capability?: string;
|
|
70
|
+
execution?: string;
|
|
71
|
+
inputs?: any[];
|
|
72
|
+
outputs?: any;
|
|
73
|
+
}
|
|
74
|
+
export interface Agent {
|
|
75
|
+
name: string;
|
|
76
|
+
status: 'running' | 'idle' | 'waiting' | 'failed';
|
|
77
|
+
owner: string;
|
|
78
|
+
goal?: string;
|
|
79
|
+
currentWorkflow?: string;
|
|
80
|
+
currentStep?: string;
|
|
81
|
+
capabilities: string[];
|
|
82
|
+
observedReferences: number;
|
|
83
|
+
outputs: number;
|
|
84
|
+
}
|
|
85
|
+
export interface ProvenanceNode {
|
|
86
|
+
id: string;
|
|
87
|
+
type: string;
|
|
88
|
+
label: string;
|
|
89
|
+
timestamp: number;
|
|
90
|
+
metadata?: Record<string, any>;
|
|
91
|
+
}
|
|
92
|
+
export interface ProvenanceEdge {
|
|
93
|
+
from: string;
|
|
94
|
+
to: string;
|
|
95
|
+
edgeType: string;
|
|
96
|
+
metadata?: Record<string, any>;
|
|
97
|
+
}
|
|
98
|
+
export interface ProvenanceGraph {
|
|
99
|
+
root: ProvenanceNode;
|
|
100
|
+
nodes: ProvenanceNode[];
|
|
101
|
+
edges: ProvenanceEdge[];
|
|
102
|
+
}
|
|
103
|
+
export interface Operation {
|
|
104
|
+
id: number;
|
|
105
|
+
type: string;
|
|
106
|
+
reference: string;
|
|
107
|
+
instance: string;
|
|
108
|
+
timestamp: number;
|
|
109
|
+
vectorClock: Record<string, number>;
|
|
110
|
+
contentHash?: string;
|
|
111
|
+
provenance?: string;
|
|
112
|
+
}
|
|
113
|
+
export interface Conflict {
|
|
114
|
+
reference: string;
|
|
115
|
+
operationA: string;
|
|
116
|
+
operationB: string;
|
|
117
|
+
relationship: 'concurrent' | 'causally-related';
|
|
118
|
+
winner: string;
|
|
119
|
+
resolution: string;
|
|
120
|
+
converged: boolean;
|
|
121
|
+
}
|
|
122
|
+
export interface HealthStatus {
|
|
123
|
+
component: string;
|
|
124
|
+
status: 'healthy' | 'warning' | 'error';
|
|
125
|
+
message?: string;
|
|
126
|
+
action?: string;
|
|
127
|
+
}
|
|
128
|
+
export interface RTCConnection {
|
|
129
|
+
peerId: string;
|
|
130
|
+
connected: boolean;
|
|
131
|
+
latency?: number;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { StateFirstDB } from '@feltdb/core';
|
|
2
|
+
import { DashboardStats, Peer } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Fetch dashboard statistics from the database
|
|
5
|
+
*/
|
|
6
|
+
export declare function fetchDashboardStats(db: StateFirstDB): Promise<DashboardStats>;
|
|
7
|
+
/**
|
|
8
|
+
* Fetch connected peers
|
|
9
|
+
*/
|
|
10
|
+
export declare function fetchPeers(db: StateFirstDB): Promise<Peer[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Search for a reference or object
|
|
13
|
+
*/
|
|
14
|
+
export declare function searchReferences(db: StateFirstDB, query: string): Promise<Array<{
|
|
15
|
+
type: string;
|
|
16
|
+
id: string;
|
|
17
|
+
label: string;
|
|
18
|
+
}>>;
|
|
19
|
+
/**
|
|
20
|
+
* Fetch provenance graph for a reference
|
|
21
|
+
*/
|
|
22
|
+
export declare function fetchProvenance(db: StateFirstDB, reference: string): Promise<import('@feltdb/core').ProvenanceGraph | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Get runtime diagnostics
|
|
25
|
+
*/
|
|
26
|
+
export declare function fetchDiagnostics(db: StateFirstDB): Promise<import('@feltdb/core').RuntimeDiagnostics | null>;
|
|
27
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EACV,cAAc,EACd,IAAI,EAML,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAkBnF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAalE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAI7D;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,0DAOxE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,YAAY,6DAOtD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for formatting and display
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Format a timestamp for display
|
|
6
|
+
*/
|
|
7
|
+
export declare function formatTime(ms: number): string;
|
|
8
|
+
/**
|
|
9
|
+
* Format a relative time (e.g., "2 minutes ago")
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatRelativeTime(ms: number): string;
|
|
12
|
+
/**
|
|
13
|
+
* Format bytes for display
|
|
14
|
+
*/
|
|
15
|
+
export declare function formatBytes(bytes: number): string;
|
|
16
|
+
/**
|
|
17
|
+
* Shorten a reference for display
|
|
18
|
+
*/
|
|
19
|
+
export declare function formatReference(ref: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Capitalize first letter
|
|
22
|
+
*/
|
|
23
|
+
export declare function capitalize(str: string): string;
|
|
24
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAYrD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC"}
|