@legioncodeinc/hive 0.1.0 → 0.2.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.
- package/LICENSE +661 -661
- package/README.md +262 -262
- package/dist/daemon/dashboard/app.js +25 -25
- package/dist/dashboard/web/hive-graph-projection.d.ts +46 -0
- package/dist/dashboard/web/hive-graph-projection.js +41 -0
- package/dist/dashboard/web/hive-graph-projection.js.map +1 -0
- package/dist/dashboard/web/pages/graph.d.ts +49 -3
- package/dist/dashboard/web/pages/graph.js +2 -2
- package/dist/dashboard/web/pages/graph.js.map +1 -1
- package/dist/dashboard/web/pages/hive-graph.d.ts +11 -0
- package/dist/dashboard/web/pages/hive-graph.js +241 -0
- package/dist/dashboard/web/pages/hive-graph.js.map +1 -0
- package/dist/dashboard/web/registry.js +6 -0
- package/dist/dashboard/web/registry.js.map +1 -1
- package/dist/dashboard/web/wire.d.ts +120 -0
- package/dist/dashboard/web/wire.js +187 -0
- package/dist/dashboard/web/wire.js.map +1 -1
- package/dist/service/templates.js +78 -78
- package/dist/telemetry/emit.js +2 -2
- package/package.json +54 -50
- package/dist/dashboard/web/readiness-splash.d.ts +0 -39
- package/dist/dashboard/web/readiness-splash.js +0 -201
- package/dist/dashboard/web/readiness-splash.js.map +0 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PRD-015b — client-side transform from nectar's portable projection document
|
|
3
|
+
* (`GET /api/hive-graph/projection`, decision #39) into the shared {@link GraphWire}
|
|
4
|
+
* shape the dashboard graph canvas already renders.
|
|
5
|
+
*/
|
|
6
|
+
import type { GraphWire } from "./wire.js";
|
|
7
|
+
/** One file entry in the portable projection (`src/projection/format.ts`). */
|
|
8
|
+
export interface ProjectionFileEntry {
|
|
9
|
+
readonly content_hash: string;
|
|
10
|
+
readonly path: string;
|
|
11
|
+
readonly title: string;
|
|
12
|
+
readonly description: string;
|
|
13
|
+
readonly concepts: readonly string[];
|
|
14
|
+
readonly describe_model: string;
|
|
15
|
+
readonly described_at: string;
|
|
16
|
+
}
|
|
17
|
+
/** One derived-from entry in the portable projection. */
|
|
18
|
+
export interface ProjectionDerivedEntry {
|
|
19
|
+
readonly from_nectar: string;
|
|
20
|
+
readonly fork_content_hash: string;
|
|
21
|
+
}
|
|
22
|
+
/** The portable projection document the nectar daemon serves. */
|
|
23
|
+
export interface PortableProjectionWire {
|
|
24
|
+
readonly version: number;
|
|
25
|
+
readonly generated_at: string;
|
|
26
|
+
readonly generator: string;
|
|
27
|
+
readonly project: {
|
|
28
|
+
readonly org_id: string;
|
|
29
|
+
readonly workspace_id: string;
|
|
30
|
+
readonly project_id: string;
|
|
31
|
+
};
|
|
32
|
+
readonly files: Readonly<Record<string, ProjectionFileEntry>>;
|
|
33
|
+
readonly derived: Readonly<Record<string, ProjectionDerivedEntry>>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Derive a file-category kind from a path for the kind filter (b-AC-1). Uses the
|
|
37
|
+
* extension when present, otherwise the top-level directory segment, otherwise `file`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function fileKindFromPath(path: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* Transform a portable projection into {@link GraphWire}: nodes from `files`, edges from
|
|
42
|
+
* `derived` (`from` = derived nectar, `to` = `from_nectar`, `kind` = `derived_from`).
|
|
43
|
+
* The projection carries no server-side truncation (b-AC-8); density is bounded later by
|
|
44
|
+
* {@link capGraphForRender} on the page.
|
|
45
|
+
*/
|
|
46
|
+
export declare function projectionToGraphWire(projection: PortableProjectionWire): GraphWire;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PRD-015b — client-side transform from nectar's portable projection document
|
|
3
|
+
* (`GET /api/hive-graph/projection`, decision #39) into the shared {@link GraphWire}
|
|
4
|
+
* shape the dashboard graph canvas already renders.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Derive a file-category kind from a path for the kind filter (b-AC-1). Uses the
|
|
8
|
+
* extension when present, otherwise the top-level directory segment, otherwise `file`.
|
|
9
|
+
*/
|
|
10
|
+
export function fileKindFromPath(path) {
|
|
11
|
+
const base = path.split("/").pop() ?? path;
|
|
12
|
+
const dot = base.lastIndexOf(".");
|
|
13
|
+
if (dot > 0 && dot < base.length - 1)
|
|
14
|
+
return base.slice(dot + 1).toLowerCase();
|
|
15
|
+
const first = path.split("/").find((seg) => seg !== "");
|
|
16
|
+
return first !== undefined && first !== "" ? first.toLowerCase() : "file";
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Transform a portable projection into {@link GraphWire}: nodes from `files`, edges from
|
|
20
|
+
* `derived` (`from` = derived nectar, `to` = `from_nectar`, `kind` = `derived_from`).
|
|
21
|
+
* The projection carries no server-side truncation (b-AC-8); density is bounded later by
|
|
22
|
+
* {@link capGraphForRender} on the page.
|
|
23
|
+
*/
|
|
24
|
+
export function projectionToGraphWire(projection) {
|
|
25
|
+
const nodes = Object.entries(projection.files).map(([id, entry]) => ({
|
|
26
|
+
id,
|
|
27
|
+
label: entry.path,
|
|
28
|
+
kind: fileKindFromPath(entry.path),
|
|
29
|
+
}));
|
|
30
|
+
const edges = Object.entries(projection.derived).map(([derivedNectar, entry]) => ({
|
|
31
|
+
from: derivedNectar,
|
|
32
|
+
to: entry.from_nectar,
|
|
33
|
+
kind: "derived_from",
|
|
34
|
+
}));
|
|
35
|
+
return {
|
|
36
|
+
built: nodes.length > 0,
|
|
37
|
+
nodes,
|
|
38
|
+
edges,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=hive-graph-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hive-graph-projection.js","sourceRoot":"","sources":["../../../src/dashboard/web/hive-graph-projection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmCH;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IACxD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkC;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,EAAE;QACF,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;KAClC,CAAC,CAAC,CAAC;IACJ,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,IAAI,EAAE,aAAa;QACnB,EAAE,EAAE,KAAK,CAAC,WAAW;QACrB,IAAI,EAAE,cAAc;KACpB,CAAC,CAAC,CAAC;IACJ,OAAO;QACN,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;QACvB,KAAK;QACL,KAAK;KACL,CAAC;AACH,CAAC"}
|
|
@@ -28,15 +28,31 @@
|
|
|
28
28
|
* viewBox transform).
|
|
29
29
|
*/
|
|
30
30
|
import React from "react";
|
|
31
|
-
import { neighborsOf } from "../graph-layout.js";
|
|
31
|
+
import { neighborsOf, type Point } from "../graph-layout.js";
|
|
32
32
|
import type { PageProps } from "../page-frame.js";
|
|
33
33
|
import { type GraphWire } from "../wire.js";
|
|
34
|
+
/**
|
|
35
|
+
* The full-page layout canvas extent — the pure `layout(...)` fits node positions inside this box. Far
|
|
36
|
+
* larger than the mini-widget's 540×200 so a real entity set spreads out (D-2). The SVG scales to its
|
|
37
|
+
* container via `viewBox`; pan/zoom transforms this base box (it is NOT the rendered pixel size).
|
|
38
|
+
*/
|
|
39
|
+
declare const GRAPH_VIEW: {
|
|
40
|
+
readonly width: 1600;
|
|
41
|
+
readonly height: 1000;
|
|
42
|
+
};
|
|
43
|
+
/** Zoom bounds (D-3): the viewBox scale never goes below/above these so the graph can never invert/vanish. */
|
|
44
|
+
declare const MIN_ZOOM = 0.25;
|
|
45
|
+
declare const MAX_ZOOM = 4;
|
|
46
|
+
/** The multiplicative zoom step per wheel notch / button press. */
|
|
47
|
+
declare const ZOOM_STEP = 1.15;
|
|
34
48
|
/** The pan/zoom view transform over the SVG viewBox: a scale + an (x,y) translate of the base box. */
|
|
35
|
-
interface ViewTransform {
|
|
49
|
+
export interface ViewTransform {
|
|
36
50
|
readonly scale: number;
|
|
37
51
|
readonly tx: number;
|
|
38
52
|
readonly ty: number;
|
|
39
53
|
}
|
|
54
|
+
/** The identity transform — the fit/reset baseline (whole base box framed, no pan). */
|
|
55
|
+
declare const IDENTITY_TRANSFORM: ViewTransform;
|
|
40
56
|
/**
|
|
41
57
|
* Compute the SVG `viewBox` string from the base box + the pan/zoom transform. A larger `scale` shows
|
|
42
58
|
* LESS of the base box (zoom in): the visible width is `width / scale`. `tx`/`ty` translate the visible
|
|
@@ -60,6 +76,36 @@ export declare function applyKindFilter(graph: GraphWire, hidden: ReadonlySet<st
|
|
|
60
76
|
* focuses + selects the returned node's id.
|
|
61
77
|
*/
|
|
62
78
|
export declare function findNode(graph: GraphWire, query: string): string | null;
|
|
79
|
+
/** Center the view on a node position: pick a `tx`/`ty` that frames `p` in the middle of the visible box. */
|
|
80
|
+
export declare function centerOn(p: Point, scale: number): ViewTransform;
|
|
81
|
+
/** One kind toggle + its swatch + visible count. Toggling flips the kind's hidden state. */
|
|
82
|
+
declare function KindToggle({ kind, count, hidden, onToggle, }: {
|
|
83
|
+
kind: string;
|
|
84
|
+
count: number;
|
|
85
|
+
hidden: boolean;
|
|
86
|
+
onToggle: () => void;
|
|
87
|
+
}): React.JSX.Element;
|
|
88
|
+
/**
|
|
89
|
+
* The full-page interactive graph canvas. Positions come from the SHARED pure `layout(...)` (D-1),
|
|
90
|
+
* parameterized with {@link GRAPH_VIEW}. Draws one `<line>` per edge whose endpoints both exist and one
|
|
91
|
+
* node group per node (a `<circle>` mark + a `<text>` label — XSS-safe). Pan (drag the background) and
|
|
92
|
+
* bounded zoom (wheel) transform the viewBox via the controlled `transform` prop. Clicking a node
|
|
93
|
+
* selects it; clicking the background clears. Node labels are React text only.
|
|
94
|
+
*/
|
|
95
|
+
declare function GraphCanvasFull({ graph, selected, transform, onSelect, onClear, onPanZoom, }: {
|
|
96
|
+
graph: GraphWire;
|
|
97
|
+
selected: string | null;
|
|
98
|
+
transform: ViewTransform;
|
|
99
|
+
onSelect: (id: string) => void;
|
|
100
|
+
onClear: () => void;
|
|
101
|
+
onPanZoom: (next: ViewTransform) => void;
|
|
102
|
+
}): React.JSX.Element;
|
|
103
|
+
/** A compact toolbar button (zoom in/out, fit). Mono, bordered, transparent — matches the kit. */
|
|
104
|
+
declare function ToolButton({ label, ariaLabel, onClick }: {
|
|
105
|
+
label: string;
|
|
106
|
+
ariaLabel: string;
|
|
107
|
+
onClick: () => void;
|
|
108
|
+
}): React.JSX.Element;
|
|
63
109
|
/**
|
|
64
110
|
* The Memory Graph page (PRD-041, memory-only). Hydrates the memory graph via `wire.memoryGraph()`
|
|
65
111
|
* through the shared `wire`, and renders the full-page interactive graph: the shared pure `layout(...)`,
|
|
@@ -69,4 +115,4 @@ export declare function findNode(graph: GraphWire, query: string): string | null
|
|
|
69
115
|
*/
|
|
70
116
|
export declare function GraphPage({ wire }: PageProps): React.JSX.Element;
|
|
71
117
|
/** Re-export the pure neighbor helper the page's detail panel relies on (test convenience). */
|
|
72
|
-
export { neighborsOf };
|
|
118
|
+
export { neighborsOf, GraphCanvasFull, KindToggle, ToolButton, IDENTITY_TRANSFORM, GRAPH_VIEW, MIN_ZOOM, MAX_ZOOM, ZOOM_STEP };
|
|
@@ -106,7 +106,7 @@ export function findNode(graph, query) {
|
|
|
106
106
|
return hit?.id ?? null;
|
|
107
107
|
}
|
|
108
108
|
/** Center the view on a node position: pick a `tx`/`ty` that frames `p` in the middle of the visible box. */
|
|
109
|
-
function centerOn(p, scale) {
|
|
109
|
+
export function centerOn(p, scale) {
|
|
110
110
|
const w = GRAPH_VIEW.width / scale;
|
|
111
111
|
const h = GRAPH_VIEW.height / scale;
|
|
112
112
|
return { scale, tx: p.x - w / 2, ty: p.y - h / 2 };
|
|
@@ -358,5 +358,5 @@ export function GraphPage({ wire }) {
|
|
|
358
358
|
}, children: _jsx(GraphCanvasFull, { graph: rendered, selected: selectedNode?.id ?? null, transform: transform, onSelect: onSelect, onClear: clearSelection, onPanZoom: setTransform }) }), selectedNode !== null && _jsx(NodeDetailPanel, { node: selectedNode, graph: graph, onClear: clearSelection })] })] })) }));
|
|
359
359
|
}
|
|
360
360
|
/** Re-export the pure neighbor helper the page's detail panel relies on (test convenience). */
|
|
361
|
-
export { neighborsOf };
|
|
361
|
+
export { neighborsOf, GraphCanvasFull, KindToggle, ToolButton, IDENTITY_TRANSFORM, GRAPH_VIEW, MIN_ZOOM, MAX_ZOOM, ZOOM_STEP };
|
|
362
362
|
//# sourceMappingURL=graph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/dashboard/web/pages/graph.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/dashboard/web/pages/graph.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PRD-015 — the Hive Graph dashboard page (`/hive-graph`).
|
|
3
|
+
*
|
|
4
|
+
* Renders nectar's file-provenance graph (nodes = nectars, edges = derived_from), a PRD-012 search
|
|
5
|
+
* box, and PRD-008 status/queue/cost widgets. All data hydrates through the shared `wire` + `usePoll`
|
|
6
|
+
* recipe; hive's server-side proxy forwards `/api/hive-graph/*` to nectar (ADR-0002).
|
|
7
|
+
*/
|
|
8
|
+
import React from "react";
|
|
9
|
+
import type { PageProps } from "../page-frame.js";
|
|
10
|
+
/** The routed Hive Graph page (PRD-015). */
|
|
11
|
+
export declare function HiveGraphPage({ wire }: PageProps): React.JSX.Element;
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* PRD-015 — the Hive Graph dashboard page (`/hive-graph`).
|
|
4
|
+
*
|
|
5
|
+
* Renders nectar's file-provenance graph (nodes = nectars, edges = derived_from), a PRD-012 search
|
|
6
|
+
* box, and PRD-008 status/queue/cost widgets. All data hydrates through the shared `wire` + `usePoll`
|
|
7
|
+
* recipe; hive's server-side proxy forwards `/api/hive-graph/*` to nectar (ADR-0002).
|
|
8
|
+
*/
|
|
9
|
+
import React from "react";
|
|
10
|
+
import { layout } from "../graph-layout.js";
|
|
11
|
+
import { Panel } from "../panels.js";
|
|
12
|
+
import { Badge, Button } from "../primitives.js";
|
|
13
|
+
import { isTabHidden, PageFrame } from "../page-frame.js";
|
|
14
|
+
import { NeedsProjectSelection } from "../needs-project.js";
|
|
15
|
+
import { useScope } from "../scope-context.js";
|
|
16
|
+
import { GraphCanvasFull, KindToggle, ToolButton, IDENTITY_TRANSFORM, GRAPH_VIEW, MIN_ZOOM, MAX_ZOOM, ZOOM_STEP, applyKindFilter, centerOn, distinctKinds, } from "./graph.js";
|
|
17
|
+
import { capGraphForRender, EMPTY_GRAPH, EMPTY_HIVE_GRAPH_STATUS, MAX_RENDER_NODES, } from "../wire.js";
|
|
18
|
+
/** Poll interval for graph + status widgets (mirrors Memory Graph discipline). */
|
|
19
|
+
const HIVE_GRAPH_POLL_MS = 8000;
|
|
20
|
+
function clamp(n, lo, hi) {
|
|
21
|
+
return Math.min(hi, Math.max(lo, n));
|
|
22
|
+
}
|
|
23
|
+
/** The file-graph-specific side panel (b-AC-6). */
|
|
24
|
+
function FileNodeDetailPanel({ node, file, derived, onClear, }) {
|
|
25
|
+
return (_jsxs("aside", { "data-testid": "hive-graph-detail-panel", style: {
|
|
26
|
+
width: 320,
|
|
27
|
+
flex: "none",
|
|
28
|
+
alignSelf: "stretch",
|
|
29
|
+
padding: 16,
|
|
30
|
+
background: "var(--bg-surface)",
|
|
31
|
+
border: "1px solid var(--border-default)",
|
|
32
|
+
borderRadius: "var(--radius-lg)",
|
|
33
|
+
display: "flex",
|
|
34
|
+
flexDirection: "column",
|
|
35
|
+
gap: 10,
|
|
36
|
+
overflow: "auto",
|
|
37
|
+
}, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [_jsx("span", { style: { fontSize: 14, color: "var(--text-primary)", minWidth: 0, wordBreak: "break-word" }, children: node.label }), _jsx("span", { style: { flex: 1 } }), _jsx(Badge, { tone: "neutral", mono: true, children: node.kind || "file" })] }), _jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 11, color: "var(--text-tertiary)", wordBreak: "break-all" }, children: node.id }), file !== undefined && file.description !== "" && (_jsx("p", { style: { fontSize: 13, color: "var(--text-secondary)", margin: 0, lineHeight: 1.45 }, children: file.description })), derived !== undefined && derived.from_nectar !== "" && (_jsxs("div", { style: { fontFamily: "var(--font-mono)", fontSize: 12, color: "var(--text-tertiary)" }, children: ["derived from ", derived.from_nectar] })), _jsx("button", { type: "button", onClick: onClear, style: {
|
|
38
|
+
height: 28,
|
|
39
|
+
padding: "0 12px",
|
|
40
|
+
background: "transparent",
|
|
41
|
+
border: "1px solid var(--border-default)",
|
|
42
|
+
borderRadius: "var(--radius-md)",
|
|
43
|
+
color: "var(--text-secondary)",
|
|
44
|
+
fontFamily: "var(--font-mono)",
|
|
45
|
+
fontSize: 12,
|
|
46
|
+
cursor: "pointer",
|
|
47
|
+
alignSelf: "flex-start",
|
|
48
|
+
marginTop: "auto",
|
|
49
|
+
}, children: "clear selection" })] }));
|
|
50
|
+
}
|
|
51
|
+
function HiveGraphEmptyState({ unreachable }) {
|
|
52
|
+
return (_jsxs("div", { "data-testid": "hive-graph-empty-state", style: {
|
|
53
|
+
display: "flex",
|
|
54
|
+
flexDirection: "column",
|
|
55
|
+
alignItems: "center",
|
|
56
|
+
justifyContent: "center",
|
|
57
|
+
gap: 10,
|
|
58
|
+
minHeight: 360,
|
|
59
|
+
padding: "48px 16px",
|
|
60
|
+
background: "var(--bg-surface)",
|
|
61
|
+
border: "1px solid var(--border-default)",
|
|
62
|
+
borderRadius: "var(--radius-lg)",
|
|
63
|
+
textAlign: "center",
|
|
64
|
+
}, children: [_jsx("div", { style: { fontSize: 15, color: "var(--text-tertiary)" }, children: unreachable ? "Nectar is unreachable — the Hive Graph is unavailable." : "No Hive Graph yet for this project." }), !unreachable && (_jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 12, color: "var(--text-tertiary)", maxWidth: 460 }, children: "Describe files with nectar, or trigger a build below, to populate the graph." }))] }));
|
|
65
|
+
}
|
|
66
|
+
function StatusWidgets({ status }) {
|
|
67
|
+
if (status.unreachable) {
|
|
68
|
+
return (_jsx("div", { "data-testid": "hive-graph-status-unavailable", style: { fontFamily: "var(--font-mono)", fontSize: 12, color: "var(--severity-critical)" }, children: "Status unavailable \u2014 nectar is unreachable." }));
|
|
69
|
+
}
|
|
70
|
+
const ds = status.describeStatus;
|
|
71
|
+
return (_jsxs("div", { "data-testid": "hive-graph-status-widgets", style: { display: "flex", flexWrap: "wrap", gap: 10 }, children: [_jsxs(Badge, { tone: "neutral", mono: true, children: ["queue ", status.queueDepth] }), _jsxs(Badge, { tone: "neutral", mono: true, children: ["described ", ds.described] }), _jsxs(Badge, { tone: "neutral", mono: true, children: ["pending ", ds.pending] }), _jsxs(Badge, { tone: "neutral", mono: true, children: ["failed ", ds.failed] }), _jsxs(Badge, { tone: "neutral", mono: true, children: ["cost $", status.costSpentUsd.toFixed(2)] }), status.degraded && (_jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 11, color: "var(--text-tertiary)" }, children: "degraded read" }))] }));
|
|
72
|
+
}
|
|
73
|
+
function SearchResults({ results, onSelect, }) {
|
|
74
|
+
if (results.unreachable) {
|
|
75
|
+
return (_jsx("div", { "data-testid": "hive-graph-search-unavailable", style: { fontFamily: "var(--font-mono)", fontSize: 12, color: "var(--severity-critical)" }, children: "Search unavailable \u2014 nectar is unreachable." }));
|
|
76
|
+
}
|
|
77
|
+
return (_jsxs("div", { "data-testid": "hive-graph-search-results", style: { display: "flex", flexDirection: "column", gap: 8 }, children: [results.hits.length === 0 ? (_jsx("span", { style: { fontFamily: "var(--font-mono)", fontSize: 12, color: "var(--text-tertiary)" }, children: "No matches." })) : (results.hits.map((hit) => (_jsxs("button", { type: "button", "data-testid": `hive-graph-search-hit-${hit.id}`, onClick: () => onSelect(hit), style: {
|
|
78
|
+
textAlign: "left",
|
|
79
|
+
padding: "10px 12px",
|
|
80
|
+
background: "var(--bg-elevated)",
|
|
81
|
+
border: "1px solid var(--border-subtle)",
|
|
82
|
+
borderRadius: "var(--radius-md)",
|
|
83
|
+
cursor: "pointer",
|
|
84
|
+
}, children: [_jsx("div", { style: { fontFamily: "var(--font-mono)", fontSize: 12, color: "var(--text-primary)" }, children: hit.path }), hit.body !== "" && (_jsx("div", { style: { fontSize: 12, color: "var(--text-secondary)", marginTop: 4, lineHeight: 1.4 }, children: hit.body }))] }, hit.id)))), results.degraded && (_jsx("div", { "data-testid": "hive-graph-search-degraded", style: { fontFamily: "var(--font-mono)", fontSize: 11, color: "var(--text-tertiary)" }, children: "Search ran in degraded mode (lexical-only or partial index)." }))] }));
|
|
85
|
+
}
|
|
86
|
+
function HiveGraphBuildButton({ onBuild, }) {
|
|
87
|
+
const [building, setBuilding] = React.useState(false);
|
|
88
|
+
const [ack, setAck] = React.useState(null);
|
|
89
|
+
const inFlightRef = React.useRef(false);
|
|
90
|
+
const run = React.useCallback(async () => {
|
|
91
|
+
if (inFlightRef.current)
|
|
92
|
+
return;
|
|
93
|
+
inFlightRef.current = true;
|
|
94
|
+
setBuilding(true);
|
|
95
|
+
setAck(null);
|
|
96
|
+
try {
|
|
97
|
+
setAck(await onBuild());
|
|
98
|
+
}
|
|
99
|
+
finally {
|
|
100
|
+
inFlightRef.current = false;
|
|
101
|
+
setBuilding(false);
|
|
102
|
+
}
|
|
103
|
+
}, [onBuild]);
|
|
104
|
+
return (_jsxs("div", { "data-testid": "hive-graph-build", style: { display: "flex", flexDirection: "column", gap: 6 }, children: [_jsx(Button, { variant: "primary", onClick: () => void run(), disabled: building, "data-testid": "hive-graph-build-button", children: building ? "Building…" : "Build Hive Graph" }), ack !== null && ack.state !== "accepted" && (_jsx("span", { "data-testid": "hive-graph-build-message", style: {
|
|
105
|
+
fontFamily: "var(--font-mono)",
|
|
106
|
+
fontSize: 12,
|
|
107
|
+
color: ack.state === "already_running" ? "var(--severity-warning)" : "var(--severity-critical)",
|
|
108
|
+
}, children: ack.message })), ack !== null && ack.state === "accepted" && (_jsx("span", { "data-testid": "hive-graph-build-accepted", style: { fontFamily: "var(--font-mono)", fontSize: 12, color: "var(--text-tertiary)" }, children: ack.message }))] }));
|
|
109
|
+
}
|
|
110
|
+
/** The routed Hive Graph page (PRD-015). */
|
|
111
|
+
export function HiveGraphPage({ wire }) {
|
|
112
|
+
const { scope } = useScope();
|
|
113
|
+
const project = scope.project;
|
|
114
|
+
const [graph, setGraph] = React.useState(EMPTY_GRAPH);
|
|
115
|
+
const [files, setFiles] = React.useState({});
|
|
116
|
+
const [derived, setDerived] = React.useState({});
|
|
117
|
+
const [graphUnreachable, setGraphUnreachable] = React.useState(false);
|
|
118
|
+
const [status, setStatus] = React.useState({ ...EMPTY_HIVE_GRAPH_STATUS, unreachable: false });
|
|
119
|
+
const [selected, setSelected] = React.useState(null);
|
|
120
|
+
const [hiddenKinds, setHiddenKinds] = React.useState(new Set());
|
|
121
|
+
const [transform, setTransform] = React.useState(IDENTITY_TRANSFORM);
|
|
122
|
+
const [searchQuery, setSearchQuery] = React.useState("");
|
|
123
|
+
const [searchResults, setSearchResults] = React.useState(null);
|
|
124
|
+
const [searching, setSearching] = React.useState(false);
|
|
125
|
+
React.useEffect(() => {
|
|
126
|
+
if (project === undefined) {
|
|
127
|
+
setGraph(EMPTY_GRAPH);
|
|
128
|
+
setFiles({});
|
|
129
|
+
setDerived({});
|
|
130
|
+
setGraphUnreachable(false);
|
|
131
|
+
setStatus({ ...EMPTY_HIVE_GRAPH_STATUS, unreachable: false });
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
let alive = true;
|
|
135
|
+
const tick = async () => {
|
|
136
|
+
if (!alive || isTabHidden())
|
|
137
|
+
return;
|
|
138
|
+
const [graphRes, statusRes] = await Promise.all([wire.hiveGraphFileGraph(project), wire.hiveGraphStatus(project)]);
|
|
139
|
+
if (!alive)
|
|
140
|
+
return;
|
|
141
|
+
setGraph(graphRes.graph);
|
|
142
|
+
setFiles(graphRes.files);
|
|
143
|
+
setDerived(graphRes.derived);
|
|
144
|
+
setGraphUnreachable(graphRes.unreachable);
|
|
145
|
+
setStatus(statusRes);
|
|
146
|
+
};
|
|
147
|
+
void tick();
|
|
148
|
+
const id = setInterval(() => void tick(), HIVE_GRAPH_POLL_MS);
|
|
149
|
+
return () => {
|
|
150
|
+
alive = false;
|
|
151
|
+
clearInterval(id);
|
|
152
|
+
};
|
|
153
|
+
}, [wire, project]);
|
|
154
|
+
const onSearchSubmit = React.useCallback(async () => {
|
|
155
|
+
if (project === undefined || searchQuery.trim() === "")
|
|
156
|
+
return;
|
|
157
|
+
setSearching(true);
|
|
158
|
+
try {
|
|
159
|
+
setSearchResults(await wire.hiveGraphSearch(searchQuery, project));
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
setSearching(false);
|
|
163
|
+
}
|
|
164
|
+
}, [wire, project, searchQuery]);
|
|
165
|
+
const focusNode = React.useCallback((nodeId) => {
|
|
166
|
+
setSelected(nodeId);
|
|
167
|
+
const positions = layout(renderedRef.current.nodes, renderedRef.current.edges, GRAPH_VIEW);
|
|
168
|
+
const p = positions.get(nodeId);
|
|
169
|
+
if (p !== undefined)
|
|
170
|
+
setTransform((t) => centerOn(p, Math.max(t.scale, 1.4)));
|
|
171
|
+
}, []);
|
|
172
|
+
const kinds = React.useMemo(() => distinctKinds(graph), [graph]);
|
|
173
|
+
const visible = React.useMemo(() => applyKindFilter(graph, hiddenKinds), [graph, hiddenKinds]);
|
|
174
|
+
const { graph: rendered, capped } = React.useMemo(() => capGraphForRender(visible, MAX_RENDER_NODES), [visible]);
|
|
175
|
+
const renderedRef = React.useRef(rendered);
|
|
176
|
+
renderedRef.current = rendered;
|
|
177
|
+
const selectedNode = selected !== null ? rendered.nodes.find((n) => n.id === selected) ?? null : null;
|
|
178
|
+
const toggleKind = React.useCallback((kind) => {
|
|
179
|
+
setHiddenKinds((prev) => {
|
|
180
|
+
const next = new Set(prev);
|
|
181
|
+
if (next.has(kind))
|
|
182
|
+
next.delete(kind);
|
|
183
|
+
else
|
|
184
|
+
next.add(kind);
|
|
185
|
+
return next;
|
|
186
|
+
});
|
|
187
|
+
}, []);
|
|
188
|
+
const fit = React.useCallback(() => setTransform(IDENTITY_TRANSFORM), []);
|
|
189
|
+
const zoomIn = React.useCallback(() => setTransform((t) => ({ ...t, scale: clamp(t.scale * ZOOM_STEP, MIN_ZOOM, MAX_ZOOM) })), []);
|
|
190
|
+
const zoomOut = React.useCallback(() => setTransform((t) => ({ ...t, scale: clamp(t.scale / ZOOM_STEP, MIN_ZOOM, MAX_ZOOM) })), []);
|
|
191
|
+
const onSelect = React.useCallback((id) => setSelected((cur) => (cur === id ? null : id)), []);
|
|
192
|
+
const clearSelection = React.useCallback(() => setSelected(null), []);
|
|
193
|
+
const eyebrow = `${rendered.nodes.length} files · ${rendered.edges.length} provenance links`;
|
|
194
|
+
return (_jsx(PageFrame, { title: "Hive Graph", eyebrow: project === undefined ? "hive graph" : eyebrow, children: project === undefined ? (_jsx(NeedsProjectSelection, { surface: "Hive Graph" })) : (_jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 16 }, children: [_jsx(Panel, { title: "Pipeline status", right: _jsx(HiveGraphBuildButton, { onBuild: () => wire.hiveGraphBuild() }), children: _jsx(StatusWidgets, { status: status }) }), _jsxs(Panel, { title: "Search", children: [_jsxs("div", { style: { display: "flex", gap: 8, marginBottom: 12 }, children: [_jsx("input", { "aria-label": "search hive graph", "data-testid": "hive-graph-search-input", type: "text", value: searchQuery, disabled: project === undefined, placeholder: "search files and descriptions\u2026", onChange: (e) => setSearchQuery(e.target.value), onKeyDown: (e) => {
|
|
195
|
+
if (e.key === "Enter")
|
|
196
|
+
void onSearchSubmit();
|
|
197
|
+
}, style: {
|
|
198
|
+
flex: 1,
|
|
199
|
+
height: 30,
|
|
200
|
+
padding: "0 12px",
|
|
201
|
+
background: "var(--bg-surface)",
|
|
202
|
+
border: "1px solid var(--border-default)",
|
|
203
|
+
borderRadius: "var(--radius-md)",
|
|
204
|
+
color: "var(--text-primary)",
|
|
205
|
+
fontFamily: "var(--font-mono)",
|
|
206
|
+
fontSize: 13,
|
|
207
|
+
} }), _jsx(Button, { variant: "primary", onClick: () => void onSearchSubmit(), disabled: searching || searchQuery.trim() === "", "data-testid": "hive-graph-search-submit", children: searching ? "Searching…" : "Search" })] }), searchResults !== null && _jsx(SearchResults, { results: searchResults, onSelect: (hit) => focusNode(hit.id) })] }), graphUnreachable || !graph.built ? (_jsx(HiveGraphEmptyState, { unreachable: graphUnreachable })) : (_jsxs(_Fragment, { children: [capped && (_jsxs("div", { "data-testid": "hive-graph-truncation-notice", style: {
|
|
208
|
+
display: "flex",
|
|
209
|
+
alignItems: "center",
|
|
210
|
+
gap: 8,
|
|
211
|
+
padding: "9px 12px",
|
|
212
|
+
background: "var(--bg-elevated)",
|
|
213
|
+
border: "1px solid var(--border-subtle)",
|
|
214
|
+
borderRadius: "var(--radius-md)",
|
|
215
|
+
fontFamily: "var(--font-mono)",
|
|
216
|
+
fontSize: 12,
|
|
217
|
+
color: "var(--text-tertiary)",
|
|
218
|
+
}, children: [_jsx("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--severity-warning)", flex: "none" } }), "Rendering is capped at ", MAX_RENDER_NODES.toLocaleString(), " nodes. Use search and kind filters to focus."] })), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 12, flexWrap: "wrap" }, children: [_jsx("div", { style: { display: "flex", alignItems: "center", gap: 8, flexWrap: "wrap" }, children: kinds.map((k) => {
|
|
219
|
+
const count = graph.nodes.filter((n) => n.kind === k).length;
|
|
220
|
+
return _jsx(KindToggle, { kind: k, count: count, hidden: hiddenKinds.has(k), onToggle: () => toggleKind(k) }, k);
|
|
221
|
+
}) }), _jsx("span", { style: { flex: 1 } }), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6 }, children: [_jsx(ToolButton, { label: "\u2212", ariaLabel: "zoom out", onClick: zoomOut }), _jsx(ToolButton, { label: "+", ariaLabel: "zoom in", onClick: zoomIn }), _jsx("button", { type: "button", "data-testid": "hive-graph-fit-view", onClick: fit, style: {
|
|
222
|
+
height: 30,
|
|
223
|
+
padding: "0 12px",
|
|
224
|
+
background: "transparent",
|
|
225
|
+
border: "1px solid var(--border-default)",
|
|
226
|
+
borderRadius: "var(--radius-md)",
|
|
227
|
+
color: "var(--text-secondary)",
|
|
228
|
+
fontFamily: "var(--font-mono)",
|
|
229
|
+
fontSize: 12,
|
|
230
|
+
cursor: "pointer",
|
|
231
|
+
}, children: "fit" })] })] }), _jsxs("div", { style: { display: "flex", gap: 16, alignItems: "stretch" }, children: [_jsx("div", { style: {
|
|
232
|
+
flex: 1,
|
|
233
|
+
minWidth: 0,
|
|
234
|
+
height: "70vh",
|
|
235
|
+
background: "var(--bg-surface)",
|
|
236
|
+
border: "1px solid var(--border-default)",
|
|
237
|
+
borderRadius: "var(--radius-lg)",
|
|
238
|
+
overflow: "hidden",
|
|
239
|
+
}, children: _jsx(GraphCanvasFull, { graph: rendered, selected: selectedNode?.id ?? null, transform: transform, onSelect: onSelect, onClear: clearSelection, onPanZoom: setTransform }) }), selectedNode !== null && (_jsx(FileNodeDetailPanel, { node: selectedNode, file: files[selectedNode.id], derived: derived[selectedNode.id], onClear: clearSelection }))] })] }))] })) }));
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=hive-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hive-graph.js","sourceRoot":"","sources":["../../../../src/dashboard/web/pages/hive-graph.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { DashboardPage } from "./pages/dashboard.js";
|
|
3
3
|
import { GraphPage } from "./pages/graph.js";
|
|
4
|
+
import { HiveGraphPage } from "./pages/hive-graph.js";
|
|
4
5
|
import { HarnessesPage, resolveHarnessSubItems } from "./pages/harnesses.js";
|
|
5
6
|
import { HealthPage } from "./pages/health.js";
|
|
6
7
|
import { LogsPage } from "./pages/logs.js";
|
|
@@ -23,6 +24,8 @@ const ProjectsIcon = (_jsx(Icon, { children: _jsx("path", { d: "M3 7a2 2 0 0 1 2
|
|
|
23
24
|
const MemoriesIcon = (_jsxs(Icon, { children: [_jsx("path", { d: "M12 3l7 4v8l-7 4-7-4V7z" }), _jsx("path", { d: "M12 8v8" })] }));
|
|
24
25
|
/** Memory Graph — connected nodes (the knowledge/memory graph). */
|
|
25
26
|
const GraphIcon = (_jsxs(Icon, { children: [_jsx("circle", { cx: 6, cy: 6, r: 2.5 }), _jsx("circle", { cx: 18, cy: 9, r: 2.5 }), _jsx("circle", { cx: 9, cy: 18, r: 2.5 }), _jsx("path", { d: "M8 7.5l8 1.5M8 16l1-7.5" })] }));
|
|
27
|
+
/** Hive Graph — file nectars + derived_from provenance (PRD-015). */
|
|
28
|
+
const HiveGraphIcon = (_jsxs(Icon, { children: [_jsx("path", { d: "M6 4h8a2 2 0 0 1 2 2v12H4V6a2 2 0 0 1 2-2z" }), _jsx("path", { d: "M8 8h6M8 12h4" }), _jsx("path", { d: "M14 4v4h4" })] }));
|
|
26
29
|
/** Sync — a circular refresh (skill propagation). */
|
|
27
30
|
const SyncIcon = (_jsxs(Icon, { children: [_jsx("path", { d: "M21 12a9 9 0 1 1-3-6.7" }), _jsx("path", { d: "M21 4v4h-4" })] }));
|
|
28
31
|
/** Logs — a document with lines (the live-log stream). */
|
|
@@ -61,6 +64,9 @@ export const ROUTES = [
|
|
|
61
64
|
// useful); this page now shows ONLY the memory/knowledge graph. The daemon still builds the codebase
|
|
62
65
|
// graph in the background (assemble.ts auto-build) for the stale-ref/lifecycle diagnostic.
|
|
63
66
|
{ route: "/graph", label: "Memory Graph", icon: GraphIcon, component: GraphPage },
|
|
67
|
+
// PRD-015: the Hive Graph page (file nectars + derived_from provenance). ONE registry entry is the
|
|
68
|
+
// whole wiring (037c contract): a separate route from Memory Graph — not a third graph on `/graph`.
|
|
69
|
+
{ route: "/hive-graph", label: "Hive Graph", icon: HiveGraphIcon, component: HiveGraphPage },
|
|
64
70
|
{ route: "/sync", label: "Sync", icon: SyncIcon, component: SyncPage },
|
|
65
71
|
{ route: "/logs", label: "Logs", icon: LogsIcon, component: LogsPage },
|
|
66
72
|
// PRD-005b/PRD-005c: the persistent fleet health page (per-service metrics + Deep Lake stats +
|