@manya-os/weave 1.0.0

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 (50) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/LICENSE +21 -0
  3. package/README.md +252 -0
  4. package/dist/cjs/index.js +8 -0
  5. package/dist/cjs/index.js.map +6 -0
  6. package/dist/cjs/package.json +1 -0
  7. package/dist/esm/index.mjs +8 -0
  8. package/dist/esm/index.mjs.map +6 -0
  9. package/dist/esm/package.json +1 -0
  10. package/dist/types/errors.d.ts +28 -0
  11. package/dist/types/errors.d.ts.map +1 -0
  12. package/dist/types/export/exporter.d.ts +47 -0
  13. package/dist/types/export/exporter.d.ts.map +1 -0
  14. package/dist/types/export/index.d.ts +8 -0
  15. package/dist/types/export/index.d.ts.map +1 -0
  16. package/dist/types/filter/filter.d.ts +46 -0
  17. package/dist/types/filter/filter.d.ts.map +1 -0
  18. package/dist/types/filter/index.d.ts +8 -0
  19. package/dist/types/filter/index.d.ts.map +1 -0
  20. package/dist/types/graph/graph.d.ts +99 -0
  21. package/dist/types/graph/graph.d.ts.map +1 -0
  22. package/dist/types/graph/index.d.ts +8 -0
  23. package/dist/types/graph/index.d.ts.map +1 -0
  24. package/dist/types/index.d.ts +25 -0
  25. package/dist/types/index.d.ts.map +1 -0
  26. package/dist/types/interactive/index.d.ts +8 -0
  27. package/dist/types/interactive/index.d.ts.map +1 -0
  28. package/dist/types/interactive/interactive.d.ts +84 -0
  29. package/dist/types/interactive/interactive.d.ts.map +1 -0
  30. package/dist/types/layout/index.d.ts +9 -0
  31. package/dist/types/layout/index.d.ts.map +1 -0
  32. package/dist/types/layout/layout.d.ts +95 -0
  33. package/dist/types/layout/layout.d.ts.map +1 -0
  34. package/dist/types/logging.d.ts +33 -0
  35. package/dist/types/logging.d.ts.map +1 -0
  36. package/dist/types/render/index.d.ts +8 -0
  37. package/dist/types/render/index.d.ts.map +1 -0
  38. package/dist/types/render/renderer.d.ts +26 -0
  39. package/dist/types/render/renderer.d.ts.map +1 -0
  40. package/dist/types/search/index.d.ts +8 -0
  41. package/dist/types/search/index.d.ts.map +1 -0
  42. package/dist/types/search/search.d.ts +57 -0
  43. package/dist/types/search/search.d.ts.map +1 -0
  44. package/dist/types/topology/index.d.ts +8 -0
  45. package/dist/types/topology/index.d.ts.map +1 -0
  46. package/dist/types/topology/topology.d.ts +60 -0
  47. package/dist/types/topology/topology.d.ts.map +1 -0
  48. package/dist/types/types.d.ts +122 -0
  49. package/dist/types/types.d.ts.map +1 -0
  50. package/package.json +49 -0
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @manya-os/weave — graph search and path finding.
3
+ *
4
+ * Provides:
5
+ * - `search` — exact text search across node labels and properties.
6
+ * - `fuzzySearch` — token-level fuzzy match using a Levenshtein-based score.
7
+ * - `bfsPath` — shortest unweighted path (BFS).
8
+ * - `dijkstra` — shortest weighted path.
9
+ *
10
+ * Copyright 2024 Manya Hael Foundation. All rights reserved.
11
+ * Licensed under the Apache License, Version 2.0.
12
+ */
13
+ import type { NodeID, SearchResult } from '../types.js';
14
+ import type { Graph } from '../graph/graph.js';
15
+ /** Levenshtein edit distance. */
16
+ export declare function levenshtein(a: string, b: string): number;
17
+ /** Similarity score in [0, 1] based on Levenshtein distance. */
18
+ export declare function similarity(a: string, b: string): number;
19
+ /**
20
+ * Exact (case-insensitive, punctuation-normalized) text search.
21
+ *
22
+ * Returns results sorted by score desc, then node id asc.
23
+ *
24
+ * @param graph input
25
+ * @param query search query
26
+ */
27
+ export declare function search(graph: Graph, query: string): SearchResult[];
28
+ /**
29
+ * Fuzzy text search.
30
+ *
31
+ * Each node is scored by the best token-level similarity to the query across
32
+ * its searchable fields. Results with score < `threshold` (default 0.3) are
33
+ * dropped.
34
+ *
35
+ * @param graph input
36
+ * @param query search query
37
+ * @param threshold minimum similarity in [0, 1]
38
+ */
39
+ export declare function fuzzySearch(graph: Graph, query: string, threshold?: number): SearchResult[];
40
+ /**
41
+ * Breadth-first shortest path (unweighted).
42
+ *
43
+ * @returns the path as a list of node ids from `start` to `target`, or `null`
44
+ * if no path exists. Returns `[start]` if start === target.
45
+ */
46
+ export declare function bfsPath(graph: Graph, start: NodeID, target: NodeID): NodeID[] | null;
47
+ /**
48
+ * Dijkstra shortest weighted path.
49
+ *
50
+ * Uses edge `weight` (default 1). Returns the path and total distance, or
51
+ * `{ path: null, distance: Infinity }` if no path exists.
52
+ */
53
+ export declare function dijkstra(graph: Graph, start: NodeID, target: NodeID): {
54
+ path: NodeID[] | null;
55
+ distance: number;
56
+ };
57
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/search/search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO/C,iCAAiC;AACjC,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBxD;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIvD;AAgBD;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAqBlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,YAAY,EAAE,CAsChG;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAyBpF;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA2D7C"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @manya-os/weave — topology module barrel.
3
+ *
4
+ * Copyright 2024 Manya Hael Foundation. All rights reserved.
5
+ * Licensed under the Apache License, Version 2.0.
6
+ */
7
+ export { takeSnapshot, diffSnapshots, TopologyTracker } from './topology.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/topology/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @manya-os/weave — live system topology tracking.
3
+ *
4
+ * A `TopologyTracker` maintains a rolling history of `TopologySnapshot`s and
5
+ * can compute the structural `TopologyDiff` between any two snapshots (most
6
+ * commonly, the current and previous one).
7
+ *
8
+ * Copyright 2024 Manya Hael Foundation. All rights reserved.
9
+ * Licensed under the Apache License, Version 2.0.
10
+ */
11
+ import type { TopologySnapshot, TopologyDiff } from '../types.js';
12
+ import type { Graph } from '../graph/graph.js';
13
+ /**
14
+ * Take an immutable snapshot of the current state of a graph.
15
+ *
16
+ * The snapshot holds a deep copy of the graph's nodes/edges so that subsequent
17
+ * mutations to the live graph do not affect previously taken snapshots.
18
+ *
19
+ * @param graph live graph
20
+ * @param takenAt optional ISO 8601 timestamp (default: now)
21
+ */
22
+ export declare function takeSnapshot(graph: Graph, takenAt?: string): TopologySnapshot;
23
+ /**
24
+ * Compute the structural diff between two snapshots.
25
+ *
26
+ * Nodes/edges are compared by id. Node/edge bodies are taken from `b` for
27
+ * added entries.
28
+ *
29
+ * @param a earlier snapshot
30
+ * @param b later snapshot
31
+ */
32
+ export declare function diffSnapshots(a: TopologySnapshot, b: TopologySnapshot): TopologyDiff;
33
+ /**
34
+ * Live topology tracker.
35
+ *
36
+ * Maintains a rolling buffer of snapshots (default: most recent 2). Call
37
+ * `snapshot()` to record the current state, and `diff()` to compare the most
38
+ * recent two snapshots.
39
+ */
40
+ export declare class TopologyTracker {
41
+ private readonly maxHistory;
42
+ private history;
43
+ /** @param maxHistory maximum number of snapshots to retain (default 10). */
44
+ constructor(maxHistory?: number);
45
+ /** Record a snapshot of the given graph. Returns the new snapshot. */
46
+ snapshot(graph: Graph, takenAt?: string): TopologySnapshot;
47
+ /** All retained snapshots in chronological order. */
48
+ snapshots(): TopologySnapshot[];
49
+ /** The most recent snapshot, or undefined if none recorded. */
50
+ current(): TopologySnapshot | undefined;
51
+ /** The snapshot before the most recent, or undefined if < 2 snapshots exist. */
52
+ previous(): TopologySnapshot | undefined;
53
+ /** Diff the two most recent snapshots. Returns null if < 2 exist. */
54
+ diff(): TopologyDiff | null;
55
+ /** Diff two arbitrary retained snapshots by index. */
56
+ diffAt(i: number, j: number): TopologyDiff | null;
57
+ /** Clear all retained history. */
58
+ reset(): void;
59
+ }
60
+ //# sourceMappingURL=topology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAA8B,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,MAAiC,GAAG,gBAAgB,CAQvG;AAYD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAYpF;AAED;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,OAAO,CAA0B;IAEzC,4EAA4E;gBAChE,UAAU,GAAE,MAAW;IAKnC,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,MAAiC,GAAG,gBAAgB;IAOpF,qDAAqD;IACrD,SAAS,IAAI,gBAAgB,EAAE;IAI/B,+DAA+D;IAC/D,OAAO,IAAI,gBAAgB,GAAG,SAAS;IAIvC,gFAAgF;IAChF,QAAQ,IAAI,gBAAgB,GAAG,SAAS;IAIxC,qEAAqE;IACrE,IAAI,IAAI,YAAY,GAAG,IAAI;IAO3B,sDAAsD;IACtD,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAKjD,kCAAkC;IAClC,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * @manya-os/weave — shared type definitions.
3
+ *
4
+ * All public visualization types live here. The model is intentionally
5
+ * permissive (everything optional except ids) so the same engine can power
6
+ * dependency graphs, knowledge graphs, event flows, and architecture diagrams.
7
+ *
8
+ * Copyright 2024 Manya Hael Foundation. All rights reserved.
9
+ * Licensed under the Apache License, Version 2.0.
10
+ */
11
+ /** Stable identifier for a graph node. */
12
+ export type NodeID = string;
13
+ /** Stable identifier for a graph edge. */
14
+ export type EdgeID = string;
15
+ /** A node in a graph. */
16
+ export interface Node {
17
+ /** Unique node identifier. */
18
+ id: NodeID;
19
+ /** Human-readable label. */
20
+ label: string;
21
+ /** Optional semantic type (e.g. 'service', 'package', 'concept'). */
22
+ type?: string;
23
+ /** Optional arbitrary properties. */
24
+ properties?: Record<string, unknown>;
25
+ }
26
+ /** An edge connecting two nodes. */
27
+ export interface Edge {
28
+ /** Unique edge identifier. */
29
+ id: EdgeID;
30
+ /** Source node id. */
31
+ source: NodeID;
32
+ /** Target node id. */
33
+ target: NodeID;
34
+ /** Optional human-readable label. */
35
+ label?: string;
36
+ /** Optional semantic type (e.g. 'depends-on', 'calls', 'knows'). */
37
+ type?: string;
38
+ /** Optional numeric weight (defaults to 1). Used by weighted path search. */
39
+ weight?: number;
40
+ /** Optional arbitrary properties. */
41
+ properties?: Record<string, unknown>;
42
+ }
43
+ /**
44
+ * A 2-D point. Used for layout positions and screen coordinates.
45
+ */
46
+ export interface Point {
47
+ x: number;
48
+ y: number;
49
+ }
50
+ /** A layout maps node id → position. */
51
+ export type Layout = Map<NodeID, Point>;
52
+ /** Render configuration for the SVG renderer. */
53
+ export interface RenderConfig {
54
+ /** SVG width in user units. */
55
+ width: number;
56
+ /** SVG height in user units. */
57
+ height: number;
58
+ /** Radius of each node circle. */
59
+ nodeRadius: number;
60
+ /** Font size for labels in user units. */
61
+ fontSize: number;
62
+ /** Fill color for nodes. */
63
+ nodeColor: string;
64
+ /** Stroke color for edges. */
65
+ edgeColor: string;
66
+ /** Background color of the canvas. */
67
+ backgroundColor: string;
68
+ /** Whether to render node labels. */
69
+ showLabels: boolean;
70
+ }
71
+ /** A timestamped immutable snapshot of a graph. Used for topology diffing. */
72
+ export interface TopologySnapshot {
73
+ /** ISO 8601 timestamp when the snapshot was taken. */
74
+ takenAt: string;
75
+ /** The graph at this point in time. */
76
+ graph: Graph;
77
+ }
78
+ /** The structural difference between two topology snapshots. */
79
+ export interface TopologyDiff {
80
+ /** Nodes added in `b` that were not in `a`. */
81
+ addedNodes: Node[];
82
+ /** Node ids present in `a` but absent in `b`. */
83
+ removedNodes: NodeID[];
84
+ /** Edges added in `b` that were not in `a`. */
85
+ addedEdges: Edge[];
86
+ /** Edge ids present in `a` but absent in `b`. */
87
+ removedEdges: EdgeID[];
88
+ }
89
+ /**
90
+ * Pan/zoom viewport state. The viewport is centered on `(centerX, centerY)`
91
+ * in graph coordinates and applies a uniform `zoom` factor (1 = no zoom).
92
+ */
93
+ export interface Viewport {
94
+ centerX: number;
95
+ centerY: number;
96
+ zoom: number;
97
+ }
98
+ /** A single search hit. */
99
+ export interface SearchResult {
100
+ /** The node id that matched. */
101
+ nodeId: NodeID;
102
+ /** Match score in [0, 1]. Higher is better. */
103
+ score: number;
104
+ /** The field that matched ('label', 'type', or a property key). */
105
+ matchedField: string;
106
+ }
107
+ /**
108
+ * Graph — the core data model.
109
+ *
110
+ * Implemented as a class in `src/graph/graph.ts` but also re-exported here as
111
+ * a type alias for documentation purposes. The structural shape is
112
+ * `{ nodes: Node[]; edges: Edge[]; directed: boolean }`.
113
+ */
114
+ export interface Graph {
115
+ /** Whether the graph is directed. */
116
+ readonly directed: boolean;
117
+ /** Current nodes (snapshot). */
118
+ readonly nodes: Node[];
119
+ /** Current edges (snapshot). */
120
+ readonly edges: Edge[];
121
+ }
122
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@manya-os/weave",
3
+ "version": "1.0.0",
4
+ "description": "Interactive visualization substrate for the MANYA Intelligence OS — dependency graphs, knowledge graphs, event flows, layouts, filtering, search, export, live topology tracking, and pan/zoom exploration.",
5
+ "main": "dist/cjs/index.js",
6
+ "types": "dist/types/index.d.ts",
7
+ "scripts": {
8
+ "build": "node ../../scripts/build-package.js weave",
9
+ "test": "jest",
10
+ "clean": "rm -rf dist build node_modules",
11
+ "build:types": "node ../../scripts/build-types.js weave",
12
+ "build:bundle": "node ../../scripts/build-package.js weave --no-types && node ../../scripts/build-types.js weave"
13
+ },
14
+ "keywords": [
15
+ "manya",
16
+ "weave",
17
+ "graph",
18
+ "visualization",
19
+ "layout",
20
+ "force-directed",
21
+ "topology",
22
+ "dependency-graph",
23
+ "knowledge-graph",
24
+ "svg",
25
+ "graphviz",
26
+ "mermaid"
27
+ ],
28
+ "author": "Uviwe Menyiwe (Azura Daemon) <foundation@manyahael.org>",
29
+ "license": "Apache-2.0",
30
+ "dependencies": {},
31
+ "devDependencies": {},
32
+ "module": "dist/esm/index.mjs",
33
+ "exports": {
34
+ ".": {
35
+ "types": "./dist/types/index.d.ts",
36
+ "require": "./dist/cjs/index.js",
37
+ "import": "./dist/esm/index.mjs",
38
+ "default": "./dist/cjs/index.js"
39
+ },
40
+ "./package.json": "./package.json"
41
+ },
42
+ "sideEffects": false,
43
+ "files": [
44
+ "dist",
45
+ "README.md",
46
+ "CHANGELOG.md",
47
+ "LICENSE"
48
+ ]
49
+ }