@omiron33/omi-neuron-web 0.1.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 (55) hide show
  1. package/README.md +55 -0
  2. package/dist/api/index.cjs +943 -0
  3. package/dist/api/index.cjs.map +1 -0
  4. package/dist/api/index.d.cts +140 -0
  5. package/dist/api/index.d.ts +140 -0
  6. package/dist/api/index.js +934 -0
  7. package/dist/api/index.js.map +1 -0
  8. package/dist/chunk-BSOSHBDR.cjs +300 -0
  9. package/dist/chunk-BSOSHBDR.cjs.map +1 -0
  10. package/dist/chunk-COO66N7H.cjs +950 -0
  11. package/dist/chunk-COO66N7H.cjs.map +1 -0
  12. package/dist/chunk-FXKXMSLY.cjs +270 -0
  13. package/dist/chunk-FXKXMSLY.cjs.map +1 -0
  14. package/dist/chunk-PSDVPB7Y.js +289 -0
  15. package/dist/chunk-PSDVPB7Y.js.map +1 -0
  16. package/dist/chunk-RQCGONPN.js +937 -0
  17. package/dist/chunk-RQCGONPN.js.map +1 -0
  18. package/dist/chunk-RTSFO7BW.cjs +592 -0
  19. package/dist/chunk-RTSFO7BW.cjs.map +1 -0
  20. package/dist/chunk-TFLMPBX7.js +262 -0
  21. package/dist/chunk-TFLMPBX7.js.map +1 -0
  22. package/dist/chunk-XNR42GCJ.js +547 -0
  23. package/dist/chunk-XNR42GCJ.js.map +1 -0
  24. package/dist/cli/index.cjs +571 -0
  25. package/dist/cli/index.cjs.map +1 -0
  26. package/dist/cli/index.d.cts +1 -0
  27. package/dist/cli/index.d.ts +1 -0
  28. package/dist/cli/index.js +563 -0
  29. package/dist/cli/index.js.map +1 -0
  30. package/dist/database-B0vplyA4.d.cts +41 -0
  31. package/dist/database-B0vplyA4.d.ts +41 -0
  32. package/dist/edge-BzsYe2Ed.d.cts +269 -0
  33. package/dist/edge-BzsYe2Ed.d.ts +269 -0
  34. package/dist/index.cjs +895 -0
  35. package/dist/index.cjs.map +1 -0
  36. package/dist/index.d.cts +1484 -0
  37. package/dist/index.d.ts +1484 -0
  38. package/dist/index.js +654 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/migration/index.cjs +32 -0
  41. package/dist/migration/index.cjs.map +1 -0
  42. package/dist/migration/index.d.cts +51 -0
  43. package/dist/migration/index.d.ts +51 -0
  44. package/dist/migration/index.js +3 -0
  45. package/dist/migration/index.js.map +1 -0
  46. package/dist/query-helpers-D8po5Mn-.d.cts +777 -0
  47. package/dist/query-helpers-DvQTA2_Z.d.ts +777 -0
  48. package/dist/visualization/index.cjs +485 -0
  49. package/dist/visualization/index.cjs.map +1 -0
  50. package/dist/visualization/index.d.cts +134 -0
  51. package/dist/visualization/index.d.ts +134 -0
  52. package/dist/visualization/index.js +460 -0
  53. package/dist/visualization/index.js.map +1 -0
  54. package/docker/docker-compose.template.yml +28 -0
  55. package/package.json +116 -0
@@ -0,0 +1,134 @@
1
+ import React__default from 'react';
2
+ import { N as NeuronVisualNode, a as NeuronVisualEdge, b as NeuronNode, c as NeuronEdge } from '../edge-BzsYe2Ed.cjs';
3
+ import * as THREE from 'three';
4
+ import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
5
+ import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer.js';
6
+
7
+ interface NeuronStoryBeat {
8
+ id: string;
9
+ label: string;
10
+ nodeIds: string[];
11
+ }
12
+ interface StudyPathRequest {
13
+ fromNodeId: string;
14
+ toNodeId: string;
15
+ }
16
+ interface NeuronWebTheme {
17
+ colors: {
18
+ background: string;
19
+ domainColors: Record<string, string>;
20
+ defaultDomainColor: string;
21
+ edgeDefault: string;
22
+ edgeActive: string;
23
+ edgeSelected: string;
24
+ labelText: string;
25
+ labelBackground: string;
26
+ };
27
+ typography: {
28
+ labelFontFamily: string;
29
+ labelFontSize: number;
30
+ labelFontWeight: string;
31
+ };
32
+ effects: {
33
+ starfieldEnabled: boolean;
34
+ starfieldColor: string;
35
+ glowEnabled: boolean;
36
+ glowIntensity: number;
37
+ };
38
+ animation: {
39
+ focusDuration: number;
40
+ transitionDuration: number;
41
+ easing: string;
42
+ };
43
+ }
44
+ interface NeuronWebProps {
45
+ graphData: {
46
+ nodes: NeuronVisualNode[];
47
+ edges: NeuronVisualEdge[];
48
+ storyBeats?: NeuronStoryBeat[];
49
+ };
50
+ fullHeight?: boolean;
51
+ isFullScreen?: boolean;
52
+ className?: string;
53
+ style?: React__default.CSSProperties;
54
+ isLoading?: boolean;
55
+ error?: string | null;
56
+ selectedNode?: NeuronNode | null;
57
+ focusNodeSlug?: string | null;
58
+ visibleNodeSlugs?: string[] | null;
59
+ onNodeClick?: (node: NeuronNode) => void;
60
+ onNodeDoubleClick?: (node: NeuronNode) => void;
61
+ onNodeHover?: (node: NeuronNode | null) => void;
62
+ onNodeFocused?: (node: NeuronNode) => void;
63
+ onEdgeClick?: (edge: NeuronEdge) => void;
64
+ onBackgroundClick?: () => void;
65
+ onCameraChange?: (position: [number, number, number]) => void;
66
+ studyPathRequest?: StudyPathRequest | null;
67
+ onStudyPathComplete?: () => void;
68
+ theme?: Partial<NeuronWebTheme>;
69
+ domainColors?: Record<string, string>;
70
+ renderNodeDetail?: (node: NeuronNode) => React__default.ReactNode;
71
+ renderEmptyState?: () => React__default.ReactNode;
72
+ renderLoadingState?: () => React__default.ReactNode;
73
+ performanceMode?: 'auto' | 'normal' | 'degraded' | 'fallback';
74
+ ariaLabel?: string;
75
+ }
76
+
77
+ declare function NeuronWeb({ graphData, className, style, isLoading, error, renderEmptyState, renderLoadingState, ariaLabel, theme, }: NeuronWebProps): React__default.ReactElement;
78
+
79
+ interface SceneConfig {
80
+ backgroundColor: string;
81
+ cameraPosition: [number, number, number];
82
+ cameraTarget: [number, number, number];
83
+ minZoom: number;
84
+ maxZoom: number;
85
+ enableStarfield: boolean;
86
+ starfieldCount: number;
87
+ pixelRatioCap: number;
88
+ }
89
+ declare class SceneManager {
90
+ private container;
91
+ private config;
92
+ scene: THREE.Scene;
93
+ camera: THREE.PerspectiveCamera;
94
+ renderer: THREE.WebGLRenderer;
95
+ labelRenderer: CSS2DRenderer;
96
+ controls: OrbitControls;
97
+ private animationId;
98
+ constructor(container: HTMLElement, config: SceneConfig);
99
+ initialize(): void;
100
+ dispose(): void;
101
+ startAnimationLoop(): void;
102
+ stopAnimationLoop(): void;
103
+ render(): void;
104
+ resize: () => void;
105
+ updateBackground(color: string): void;
106
+ updateCamera(position: [number, number, number]): void;
107
+ getWorldPosition(screenX: number, screenY: number): THREE.Vector3;
108
+ screenToWorld(x: number, y: number): THREE.Vector3;
109
+ worldToScreen(position: THREE.Vector3): {
110
+ x: number;
111
+ y: number;
112
+ };
113
+ onContextLost: () => void;
114
+ onContextRestored: () => void;
115
+ }
116
+
117
+ declare class ThemeEngine {
118
+ private theme;
119
+ onThemeChange: (theme: NeuronWebTheme) => void;
120
+ constructor(initialTheme?: Partial<NeuronWebTheme>);
121
+ getTheme(): NeuronWebTheme;
122
+ setTheme(theme: Partial<NeuronWebTheme>): void;
123
+ resetTheme(): void;
124
+ setDomainColor(domain: string, color: string): void;
125
+ setBackground(color: string): void;
126
+ setLabelStyle(style: Partial<NeuronWebTheme['typography']>): void;
127
+ applyPreset(preset: 'dark' | 'light' | 'custom'): void;
128
+ saveToStorage(): void;
129
+ loadFromStorage(): void;
130
+ }
131
+
132
+ declare const DEFAULT_THEME: NeuronWebTheme;
133
+
134
+ export { DEFAULT_THEME, NeuronVisualEdge, NeuronVisualNode, NeuronWeb, type NeuronWebProps, type NeuronWebTheme, SceneManager, ThemeEngine };
@@ -0,0 +1,134 @@
1
+ import React__default from 'react';
2
+ import { N as NeuronVisualNode, a as NeuronVisualEdge, b as NeuronNode, c as NeuronEdge } from '../edge-BzsYe2Ed.js';
3
+ import * as THREE from 'three';
4
+ import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
5
+ import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer.js';
6
+
7
+ interface NeuronStoryBeat {
8
+ id: string;
9
+ label: string;
10
+ nodeIds: string[];
11
+ }
12
+ interface StudyPathRequest {
13
+ fromNodeId: string;
14
+ toNodeId: string;
15
+ }
16
+ interface NeuronWebTheme {
17
+ colors: {
18
+ background: string;
19
+ domainColors: Record<string, string>;
20
+ defaultDomainColor: string;
21
+ edgeDefault: string;
22
+ edgeActive: string;
23
+ edgeSelected: string;
24
+ labelText: string;
25
+ labelBackground: string;
26
+ };
27
+ typography: {
28
+ labelFontFamily: string;
29
+ labelFontSize: number;
30
+ labelFontWeight: string;
31
+ };
32
+ effects: {
33
+ starfieldEnabled: boolean;
34
+ starfieldColor: string;
35
+ glowEnabled: boolean;
36
+ glowIntensity: number;
37
+ };
38
+ animation: {
39
+ focusDuration: number;
40
+ transitionDuration: number;
41
+ easing: string;
42
+ };
43
+ }
44
+ interface NeuronWebProps {
45
+ graphData: {
46
+ nodes: NeuronVisualNode[];
47
+ edges: NeuronVisualEdge[];
48
+ storyBeats?: NeuronStoryBeat[];
49
+ };
50
+ fullHeight?: boolean;
51
+ isFullScreen?: boolean;
52
+ className?: string;
53
+ style?: React__default.CSSProperties;
54
+ isLoading?: boolean;
55
+ error?: string | null;
56
+ selectedNode?: NeuronNode | null;
57
+ focusNodeSlug?: string | null;
58
+ visibleNodeSlugs?: string[] | null;
59
+ onNodeClick?: (node: NeuronNode) => void;
60
+ onNodeDoubleClick?: (node: NeuronNode) => void;
61
+ onNodeHover?: (node: NeuronNode | null) => void;
62
+ onNodeFocused?: (node: NeuronNode) => void;
63
+ onEdgeClick?: (edge: NeuronEdge) => void;
64
+ onBackgroundClick?: () => void;
65
+ onCameraChange?: (position: [number, number, number]) => void;
66
+ studyPathRequest?: StudyPathRequest | null;
67
+ onStudyPathComplete?: () => void;
68
+ theme?: Partial<NeuronWebTheme>;
69
+ domainColors?: Record<string, string>;
70
+ renderNodeDetail?: (node: NeuronNode) => React__default.ReactNode;
71
+ renderEmptyState?: () => React__default.ReactNode;
72
+ renderLoadingState?: () => React__default.ReactNode;
73
+ performanceMode?: 'auto' | 'normal' | 'degraded' | 'fallback';
74
+ ariaLabel?: string;
75
+ }
76
+
77
+ declare function NeuronWeb({ graphData, className, style, isLoading, error, renderEmptyState, renderLoadingState, ariaLabel, theme, }: NeuronWebProps): React__default.ReactElement;
78
+
79
+ interface SceneConfig {
80
+ backgroundColor: string;
81
+ cameraPosition: [number, number, number];
82
+ cameraTarget: [number, number, number];
83
+ minZoom: number;
84
+ maxZoom: number;
85
+ enableStarfield: boolean;
86
+ starfieldCount: number;
87
+ pixelRatioCap: number;
88
+ }
89
+ declare class SceneManager {
90
+ private container;
91
+ private config;
92
+ scene: THREE.Scene;
93
+ camera: THREE.PerspectiveCamera;
94
+ renderer: THREE.WebGLRenderer;
95
+ labelRenderer: CSS2DRenderer;
96
+ controls: OrbitControls;
97
+ private animationId;
98
+ constructor(container: HTMLElement, config: SceneConfig);
99
+ initialize(): void;
100
+ dispose(): void;
101
+ startAnimationLoop(): void;
102
+ stopAnimationLoop(): void;
103
+ render(): void;
104
+ resize: () => void;
105
+ updateBackground(color: string): void;
106
+ updateCamera(position: [number, number, number]): void;
107
+ getWorldPosition(screenX: number, screenY: number): THREE.Vector3;
108
+ screenToWorld(x: number, y: number): THREE.Vector3;
109
+ worldToScreen(position: THREE.Vector3): {
110
+ x: number;
111
+ y: number;
112
+ };
113
+ onContextLost: () => void;
114
+ onContextRestored: () => void;
115
+ }
116
+
117
+ declare class ThemeEngine {
118
+ private theme;
119
+ onThemeChange: (theme: NeuronWebTheme) => void;
120
+ constructor(initialTheme?: Partial<NeuronWebTheme>);
121
+ getTheme(): NeuronWebTheme;
122
+ setTheme(theme: Partial<NeuronWebTheme>): void;
123
+ resetTheme(): void;
124
+ setDomainColor(domain: string, color: string): void;
125
+ setBackground(color: string): void;
126
+ setLabelStyle(style: Partial<NeuronWebTheme['typography']>): void;
127
+ applyPreset(preset: 'dark' | 'light' | 'custom'): void;
128
+ saveToStorage(): void;
129
+ loadFromStorage(): void;
130
+ }
131
+
132
+ declare const DEFAULT_THEME: NeuronWebTheme;
133
+
134
+ export { DEFAULT_THEME, NeuronVisualEdge, NeuronVisualNode, NeuronWeb, type NeuronWebProps, type NeuronWebTheme, SceneManager, ThemeEngine };