@omiron33/omi-neuron-web 0.1.0 → 0.1.2

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/dist/index.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkRTSFO7BW_cjs = require('./chunk-RTSFO7BW.cjs');
3
+ var chunkKC7V76I3_cjs = require('./chunk-KC7V76I3.cjs');
4
+ var chunkOBZGUYGW_cjs = require('./chunk-OBZGUYGW.cjs');
4
5
  var chunkFXKXMSLY_cjs = require('./chunk-FXKXMSLY.cjs');
5
6
  var chunkCOO66N7H_cjs = require('./chunk-COO66N7H.cjs');
6
7
  var chunkBSOSHBDR_cjs = require('./chunk-BSOSHBDR.cjs');
@@ -96,7 +97,7 @@ var DataProcessor = class {
96
97
  content,
97
98
  metadata
98
99
  };
99
- return chunkRTSFO7BW_cjs.nodeCreateSchema.parse(node);
100
+ return chunkOBZGUYGW_cjs.nodeCreateSchema.parse(node);
100
101
  }
101
102
  processBatch(items) {
102
103
  const nodes = [];
@@ -560,11 +561,11 @@ var NeuronApiClient = class {
560
561
  var buildDefaultConfig = (overrides) => ({
561
562
  instance: {
562
563
  name: "default",
563
- version: "0.1.0",
564
+ version: "0.1.1",
564
565
  repoName: "omi-neuron-web"
565
566
  },
566
- visualization: { ...chunkRTSFO7BW_cjs.DEFAULT_VISUALIZATION_SETTINGS, ...overrides?.visualization ?? {} },
567
- analysis: { ...chunkRTSFO7BW_cjs.DEFAULT_ANALYSIS_SETTINGS, ...overrides?.analysis ?? {} },
567
+ visualization: { ...chunkOBZGUYGW_cjs.DEFAULT_VISUALIZATION_SETTINGS, ...overrides?.visualization ?? {} },
568
+ analysis: { ...chunkOBZGUYGW_cjs.DEFAULT_ANALYSIS_SETTINGS, ...overrides?.analysis ?? {} },
568
569
  nodeTypes: overrides?.nodeTypes ?? [],
569
570
  domains: overrides?.domains ?? [],
570
571
  relationshipTypes: overrides?.relationshipTypes ?? [],
@@ -651,167 +652,171 @@ function NeuronWebProvider({ children, config }) {
651
652
  }
652
653
 
653
654
  // src/index.ts
654
- var VERSION = "0.1.0";
655
+ var VERSION = "0.1.1";
655
656
 
657
+ Object.defineProperty(exports, "NeuronWeb", {
658
+ enumerable: true,
659
+ get: function () { return chunkKC7V76I3_cjs.NeuronWeb; }
660
+ });
656
661
  Object.defineProperty(exports, "DEFAULT_ANALYSIS_SETTINGS", {
657
662
  enumerable: true,
658
- get: function () { return chunkRTSFO7BW_cjs.DEFAULT_ANALYSIS_SETTINGS; }
663
+ get: function () { return chunkOBZGUYGW_cjs.DEFAULT_ANALYSIS_SETTINGS; }
659
664
  });
660
665
  Object.defineProperty(exports, "DEFAULT_VISUALIZATION_SETTINGS", {
661
666
  enumerable: true,
662
- get: function () { return chunkRTSFO7BW_cjs.DEFAULT_VISUALIZATION_SETTINGS; }
667
+ get: function () { return chunkOBZGUYGW_cjs.DEFAULT_VISUALIZATION_SETTINGS; }
663
668
  });
664
669
  Object.defineProperty(exports, "ScoringEngine", {
665
670
  enumerable: true,
666
- get: function () { return chunkRTSFO7BW_cjs.ScoringEngine; }
671
+ get: function () { return chunkOBZGUYGW_cjs.ScoringEngine; }
667
672
  });
668
673
  Object.defineProperty(exports, "analysisOptionsSchema", {
669
674
  enumerable: true,
670
- get: function () { return chunkRTSFO7BW_cjs.analysisOptionsSchema; }
675
+ get: function () { return chunkOBZGUYGW_cjs.analysisOptionsSchema; }
671
676
  });
672
677
  Object.defineProperty(exports, "analysisRequestSchema", {
673
678
  enumerable: true,
674
- get: function () { return chunkRTSFO7BW_cjs.analysisRequestSchema; }
679
+ get: function () { return chunkOBZGUYGW_cjs.analysisRequestSchema; }
675
680
  });
676
681
  Object.defineProperty(exports, "analysisSettingsSchema", {
677
682
  enumerable: true,
678
- get: function () { return chunkRTSFO7BW_cjs.analysisSettingsSchema; }
683
+ get: function () { return chunkOBZGUYGW_cjs.analysisSettingsSchema; }
679
684
  });
680
685
  Object.defineProperty(exports, "buildDelete", {
681
686
  enumerable: true,
682
- get: function () { return chunkRTSFO7BW_cjs.buildDelete; }
687
+ get: function () { return chunkOBZGUYGW_cjs.buildDelete; }
683
688
  });
684
689
  Object.defineProperty(exports, "buildInsert", {
685
690
  enumerable: true,
686
- get: function () { return chunkRTSFO7BW_cjs.buildInsert; }
691
+ get: function () { return chunkOBZGUYGW_cjs.buildInsert; }
687
692
  });
688
693
  Object.defineProperty(exports, "buildSelect", {
689
694
  enumerable: true,
690
- get: function () { return chunkRTSFO7BW_cjs.buildSelect; }
695
+ get: function () { return chunkOBZGUYGW_cjs.buildSelect; }
691
696
  });
692
697
  Object.defineProperty(exports, "buildUpdate", {
693
698
  enumerable: true,
694
- get: function () { return chunkRTSFO7BW_cjs.buildUpdate; }
699
+ get: function () { return chunkOBZGUYGW_cjs.buildUpdate; }
695
700
  });
696
701
  Object.defineProperty(exports, "buildWhereClause", {
697
702
  enumerable: true,
698
- get: function () { return chunkRTSFO7BW_cjs.buildWhereClause; }
703
+ get: function () { return chunkOBZGUYGW_cjs.buildWhereClause; }
699
704
  });
700
705
  Object.defineProperty(exports, "createDatabase", {
701
706
  enumerable: true,
702
- get: function () { return chunkRTSFO7BW_cjs.createDatabase; }
707
+ get: function () { return chunkOBZGUYGW_cjs.createDatabase; }
703
708
  });
704
709
  Object.defineProperty(exports, "createDatabaseFromEnv", {
705
710
  enumerable: true,
706
- get: function () { return chunkRTSFO7BW_cjs.createDatabaseFromEnv; }
711
+ get: function () { return chunkOBZGUYGW_cjs.createDatabaseFromEnv; }
707
712
  });
708
713
  Object.defineProperty(exports, "databaseSettingsSchema", {
709
714
  enumerable: true,
710
- get: function () { return chunkRTSFO7BW_cjs.databaseSettingsSchema; }
715
+ get: function () { return chunkOBZGUYGW_cjs.databaseSettingsSchema; }
711
716
  });
712
717
  Object.defineProperty(exports, "domainConfigSchema", {
713
718
  enumerable: true,
714
- get: function () { return chunkRTSFO7BW_cjs.domainConfigSchema; }
719
+ get: function () { return chunkOBZGUYGW_cjs.domainConfigSchema; }
715
720
  });
716
721
  Object.defineProperty(exports, "edgeCreateSchema", {
717
722
  enumerable: true,
718
- get: function () { return chunkRTSFO7BW_cjs.edgeCreateSchema; }
723
+ get: function () { return chunkOBZGUYGW_cjs.edgeCreateSchema; }
719
724
  });
720
725
  Object.defineProperty(exports, "edgeEvidenceSchema", {
721
726
  enumerable: true,
722
- get: function () { return chunkRTSFO7BW_cjs.edgeEvidenceSchema; }
727
+ get: function () { return chunkOBZGUYGW_cjs.edgeEvidenceSchema; }
723
728
  });
724
729
  Object.defineProperty(exports, "edgeFilterSchema", {
725
730
  enumerable: true,
726
- get: function () { return chunkRTSFO7BW_cjs.edgeFilterSchema; }
731
+ get: function () { return chunkOBZGUYGW_cjs.edgeFilterSchema; }
727
732
  });
728
733
  Object.defineProperty(exports, "edgeUpdateSchema", {
729
734
  enumerable: true,
730
- get: function () { return chunkRTSFO7BW_cjs.edgeUpdateSchema; }
735
+ get: function () { return chunkOBZGUYGW_cjs.edgeUpdateSchema; }
731
736
  });
732
737
  Object.defineProperty(exports, "expandGraphRequestSchema", {
733
738
  enumerable: true,
734
- get: function () { return chunkRTSFO7BW_cjs.expandGraphRequestSchema; }
739
+ get: function () { return chunkOBZGUYGW_cjs.expandGraphRequestSchema; }
735
740
  });
736
741
  Object.defineProperty(exports, "findPathRequestSchema", {
737
742
  enumerable: true,
738
- get: function () { return chunkRTSFO7BW_cjs.findPathRequestSchema; }
743
+ get: function () { return chunkOBZGUYGW_cjs.findPathRequestSchema; }
739
744
  });
740
745
  Object.defineProperty(exports, "findSimilarRequestSchema", {
741
746
  enumerable: true,
742
- get: function () { return chunkRTSFO7BW_cjs.findSimilarRequestSchema; }
747
+ get: function () { return chunkOBZGUYGW_cjs.findSimilarRequestSchema; }
743
748
  });
744
749
  Object.defineProperty(exports, "getDatabase", {
745
750
  enumerable: true,
746
- get: function () { return chunkRTSFO7BW_cjs.getDatabase; }
751
+ get: function () { return chunkOBZGUYGW_cjs.getDatabase; }
747
752
  });
748
753
  Object.defineProperty(exports, "getGraphParamsSchema", {
749
754
  enumerable: true,
750
- get: function () { return chunkRTSFO7BW_cjs.getGraphParamsSchema; }
755
+ get: function () { return chunkOBZGUYGW_cjs.getGraphParamsSchema; }
751
756
  });
752
757
  Object.defineProperty(exports, "listEdgesParamsSchema", {
753
758
  enumerable: true,
754
- get: function () { return chunkRTSFO7BW_cjs.listEdgesParamsSchema; }
759
+ get: function () { return chunkOBZGUYGW_cjs.listEdgesParamsSchema; }
755
760
  });
756
761
  Object.defineProperty(exports, "listNodesParamsSchema", {
757
762
  enumerable: true,
758
- get: function () { return chunkRTSFO7BW_cjs.listNodesParamsSchema; }
763
+ get: function () { return chunkOBZGUYGW_cjs.listNodesParamsSchema; }
759
764
  });
760
765
  Object.defineProperty(exports, "neuronConfigSchema", {
761
766
  enumerable: true,
762
- get: function () { return chunkRTSFO7BW_cjs.neuronConfigSchema; }
767
+ get: function () { return chunkOBZGUYGW_cjs.neuronConfigSchema; }
763
768
  });
764
769
  Object.defineProperty(exports, "neuronSettingsSchema", {
765
770
  enumerable: true,
766
- get: function () { return chunkRTSFO7BW_cjs.neuronSettingsSchema; }
771
+ get: function () { return chunkOBZGUYGW_cjs.neuronSettingsSchema; }
767
772
  });
768
773
  Object.defineProperty(exports, "neuronSettingsUpdateSchema", {
769
774
  enumerable: true,
770
- get: function () { return chunkRTSFO7BW_cjs.neuronSettingsUpdateSchema; }
775
+ get: function () { return chunkOBZGUYGW_cjs.neuronSettingsUpdateSchema; }
771
776
  });
772
777
  Object.defineProperty(exports, "nodeBatchCreateSchema", {
773
778
  enumerable: true,
774
- get: function () { return chunkRTSFO7BW_cjs.nodeBatchCreateSchema; }
779
+ get: function () { return chunkOBZGUYGW_cjs.nodeBatchCreateSchema; }
775
780
  });
776
781
  Object.defineProperty(exports, "nodeCreateSchema", {
777
782
  enumerable: true,
778
- get: function () { return chunkRTSFO7BW_cjs.nodeCreateSchema; }
783
+ get: function () { return chunkOBZGUYGW_cjs.nodeCreateSchema; }
779
784
  });
780
785
  Object.defineProperty(exports, "nodeFilterSchema", {
781
786
  enumerable: true,
782
- get: function () { return chunkRTSFO7BW_cjs.nodeFilterSchema; }
787
+ get: function () { return chunkOBZGUYGW_cjs.nodeFilterSchema; }
783
788
  });
784
789
  Object.defineProperty(exports, "nodeTierSchema", {
785
790
  enumerable: true,
786
- get: function () { return chunkRTSFO7BW_cjs.nodeTierSchema; }
791
+ get: function () { return chunkOBZGUYGW_cjs.nodeTierSchema; }
787
792
  });
788
793
  Object.defineProperty(exports, "nodeTypeConfigSchema", {
789
794
  enumerable: true,
790
- get: function () { return chunkRTSFO7BW_cjs.nodeTypeConfigSchema; }
795
+ get: function () { return chunkOBZGUYGW_cjs.nodeTypeConfigSchema; }
791
796
  });
792
797
  Object.defineProperty(exports, "nodeUpdateSchema", {
793
798
  enumerable: true,
794
- get: function () { return chunkRTSFO7BW_cjs.nodeUpdateSchema; }
799
+ get: function () { return chunkOBZGUYGW_cjs.nodeUpdateSchema; }
795
800
  });
796
801
  Object.defineProperty(exports, "paginationSchema", {
797
802
  enumerable: true,
798
- get: function () { return chunkRTSFO7BW_cjs.paginationSchema; }
803
+ get: function () { return chunkOBZGUYGW_cjs.paginationSchema; }
799
804
  });
800
805
  Object.defineProperty(exports, "relationshipTypeConfigSchema", {
801
806
  enumerable: true,
802
- get: function () { return chunkRTSFO7BW_cjs.relationshipTypeConfigSchema; }
807
+ get: function () { return chunkOBZGUYGW_cjs.relationshipTypeConfigSchema; }
803
808
  });
804
809
  Object.defineProperty(exports, "resetDatabaseSingleton", {
805
810
  enumerable: true,
806
- get: function () { return chunkRTSFO7BW_cjs.resetDatabaseSingleton; }
811
+ get: function () { return chunkOBZGUYGW_cjs.resetDatabaseSingleton; }
807
812
  });
808
813
  Object.defineProperty(exports, "semanticSearchRequestSchema", {
809
814
  enumerable: true,
810
- get: function () { return chunkRTSFO7BW_cjs.semanticSearchRequestSchema; }
815
+ get: function () { return chunkOBZGUYGW_cjs.semanticSearchRequestSchema; }
811
816
  });
812
817
  Object.defineProperty(exports, "visualizationSettingsSchema", {
813
818
  enumerable: true,
814
- get: function () { return chunkRTSFO7BW_cjs.visualizationSettingsSchema; }
819
+ get: function () { return chunkOBZGUYGW_cjs.visualizationSettingsSchema; }
815
820
  });
816
821
  Object.defineProperty(exports, "DockerManager", {
817
822
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/schemas/cluster.ts","../src/core/events/helpers.ts","../src/core/events/middleware/logging.ts","../src/core/events/middleware/validation.ts","../src/core/analysis/data-processor.ts","../src/config/index.ts","../src/react/context.ts","../src/react/hooks/useNeuronContext.ts","../src/react/hooks/useNeuronGraph.ts","../src/react/hooks/useNeuronNodes.ts","../src/react/hooks/useNeuronAnalysis.ts","../src/react/hooks/useNeuronSettings.ts","../src/react/hooks/useNeuronSearch.ts","../src/react/hooks/useNeuronEvents.ts","../src/react/api-client.ts","../src/react/NeuronWebProvider.tsx","../src/index.ts"],"names":["z","createEvent","nodeCreateSchema","slugify","createContext","useContext","useState","useCallback","useEffect","DEFAULT_VISUALIZATION_SETTINGS","DEFAULT_ANALYSIS_SETTINGS","useMemo","EventBus"],"mappings":"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","file":"index.cjs","sourcesContent":["import { z } from 'zod';\n\nexport const clusteringConfigSchema = z.object({\n algorithm: z.enum(['kmeans', 'dbscan', 'hierarchical']),\n clusterCount: z.coerce.number().int().min(1).optional(),\n minClusterSize: z.coerce.number().int().min(1).optional(),\n similarityThreshold: z.coerce.number().min(0).max(1).optional(),\n epsilon: z.coerce.number().min(0).optional(),\n minSamples: z.coerce.number().int().min(1).optional(),\n});\n\nexport const clusterCreateSchema = z.object({\n label: z.string().min(1).max(255),\n clusterType: z.string().max(100).optional(),\n centroid: z.array(z.number()).optional(),\n memberCount: z.number().int().min(0).optional(),\n avgSimilarity: z.number().min(0).max(1).optional(),\n cohesion: z.number().min(0).max(1).optional(),\n description: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const clusterUpdateSchema = clusterCreateSchema.partial();\n\nexport type ClusteringConfigInput = z.infer<typeof clusteringConfigSchema>;\nexport type ClusterCreateInput = z.infer<typeof clusterCreateSchema>;\nexport type ClusterUpdateInput = z.infer<typeof clusterUpdateSchema>;\n","import type {\n AnalysisCompletedEventPayload,\n AnalysisFailedEventPayload,\n AnalysisProgressEventPayload,\n AnalysisStartedEventPayload,\n EdgeCreatedEventPayload,\n EdgeDeletedEventPayload,\n EdgeUpdatedEventPayload,\n EventSource,\n NeuronEvent,\n NeuronEventType,\n NodeBatchCreatedEventPayload,\n NodeCreatedEventPayload,\n NodeDeletedEventPayload,\n NodeUpdatedEventPayload,\n} from '../types/events';\nimport { createEvent } from './event-bus';\n\nexport const createNodeEvent = (\n type: 'node:created' | 'node:updated' | 'node:deleted' | 'node:batch_created',\n payload:\n | NodeCreatedEventPayload\n | NodeUpdatedEventPayload\n | NodeDeletedEventPayload\n | NodeBatchCreatedEventPayload,\n source: EventSource = 'system'\n): NeuronEvent => createEvent(type, payload, source);\n\nexport const createEdgeEvent = (\n type: 'edge:created' | 'edge:updated' | 'edge:deleted',\n payload: EdgeCreatedEventPayload | EdgeUpdatedEventPayload | EdgeDeletedEventPayload,\n source: EventSource = 'system'\n): NeuronEvent => createEvent(type, payload, source);\n\nexport const createAnalysisEvent = (\n type: 'analysis:started' | 'analysis:progress' | 'analysis:completed' | 'analysis:failed',\n payload:\n | AnalysisStartedEventPayload\n | AnalysisProgressEventPayload\n | AnalysisCompletedEventPayload\n | AnalysisFailedEventPayload,\n source: EventSource = 'analysis'\n): NeuronEvent => createEvent(type, payload, source);\n\nexport const createGenericEvent = <T>(\n type: NeuronEventType,\n payload: T,\n source: EventSource = 'system'\n): NeuronEvent<T> => createEvent(type, payload, source);\n","import type { EventMiddleware } from '../event-bus';\n\nexport const loggingMiddleware: EventMiddleware = (event, next) => {\n // eslint-disable-next-line no-console\n console.debug(`[omi-neuron:event] ${event.type}`, event);\n void next();\n};\n","import type { EventMiddleware } from '../event-bus';\n\nexport const validationMiddleware: EventMiddleware = (event, next) => {\n if (!event.type) {\n throw new Error('Event missing type');\n }\n if (!event.timestamp) {\n throw new Error('Event missing timestamp');\n }\n return next();\n};\n","import slugify from 'slugify';\nimport { nodeCreateSchema } from '../schemas/node';\nimport type { NeuronNodeCreate } from '../types/node';\n\nexport interface ProcessingOptions {\n skipDuplicates?: boolean;\n updateOnConflict?: boolean;\n defaultNodeType?: string;\n defaultDomain?: string;\n contentFields?: string[];\n labelField?: string;\n slugField?: string;\n metadataFields?: string[];\n}\n\nconst stripHtml = (value: string) => value.replace(/<[^>]+>/g, ' ');\n\nconst normalizeValue = (value: unknown): string | undefined => {\n if (value === null || value === undefined) return undefined;\n if (value instanceof Date) return value.toISOString();\n if (Array.isArray(value)) return value.map((item) => normalizeValue(item)).filter(Boolean).join(' ');\n if (typeof value === 'object') return JSON.stringify(value);\n return String(value);\n};\n\nconst flattenObject = (obj: Record<string, unknown>, prefix = ''): Record<string, unknown> => {\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(obj)) {\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (value && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)) {\n Object.assign(result, flattenObject(value as Record<string, unknown>, nextKey));\n } else {\n result[nextKey] = value;\n }\n }\n return result;\n};\n\nexport class DataProcessor {\n constructor(private options: ProcessingOptions = {}) {}\n\n processItem(item: Record<string, unknown>): NeuronNodeCreate {\n const flattened = flattenObject(item);\n const labelField = this.options.labelField ?? 'label';\n const label = normalizeValue(flattened[labelField]) ?? 'Untitled';\n\n const slugField = this.options.slugField;\n const slug = slugField ? normalizeValue(flattened[slugField]) : undefined;\n\n const content = this.extractContent(flattened);\n const metadata = this.extractMetadata(flattened);\n\n const node: NeuronNodeCreate = {\n slug,\n label,\n nodeType: this.options.defaultNodeType,\n domain: this.options.defaultDomain,\n content,\n metadata,\n };\n\n return nodeCreateSchema.parse(node);\n }\n\n processBatch(items: Record<string, unknown>[]): {\n nodes: NeuronNodeCreate[];\n errors: Array<{ index: number; error: string }>;\n } {\n const nodes: NeuronNodeCreate[] = [];\n const errors: Array<{ index: number; error: string }> = [];\n\n items.forEach((item, index) => {\n try {\n nodes.push(this.processItem(item));\n } catch (error) {\n errors.push({\n index,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n });\n\n return { nodes, errors };\n }\n\n processJSON(json: string): NeuronNodeCreate[] {\n const parsed = JSON.parse(json);\n if (Array.isArray(parsed)) {\n return this.processBatch(parsed).nodes;\n }\n return [this.processItem(parsed)];\n }\n\n processCSV(csv: string): NeuronNodeCreate[] {\n const lines = csv.trim().split(/\\r?\\n/);\n if (lines.length === 0) return [];\n const headers = lines[0].split(',').map((h) => h.trim());\n const items = lines.slice(1).map((line) => {\n const values = line.split(',');\n const item: Record<string, unknown> = {};\n headers.forEach((header, idx) => {\n item[header] = values[idx]?.trim();\n });\n return item;\n });\n return this.processBatch(items).nodes;\n }\n\n generateSlug(label: string, existingSlugs: Set<string> = new Set()): string {\n const base = slugify(label, { lower: true, strict: true, trim: true }).slice(0, 255);\n if (!existingSlugs.has(base)) return base;\n let suffix = 1;\n let slug = `${base}-${suffix}`;\n while (existingSlugs.has(slug)) {\n suffix += 1;\n slug = `${base}-${suffix}`;\n }\n return slug;\n }\n\n extractContent(item: Record<string, unknown>): string {\n const fields = this.options.contentFields ?? ['label', 'summary', 'description', 'content'];\n const parts = fields\n .map((field) => normalizeValue(item[field]))\n .filter((value): value is string => Boolean(value));\n const joined = parts.join(' ');\n return stripHtml(joined).replace(/\\s+/g, ' ').trim();\n }\n\n detectDuplicates(nodes: NeuronNodeCreate[]): {\n unique: NeuronNodeCreate[];\n duplicates: Array<{ node: NeuronNodeCreate; reason: string }>;\n } {\n const seen = new Set<string>();\n const unique: NeuronNodeCreate[] = [];\n const duplicates: Array<{ node: NeuronNodeCreate; reason: string }> = [];\n\n nodes.forEach((node) => {\n const slug = node.slug ?? this.generateSlug(node.label, seen);\n if (seen.has(slug)) {\n duplicates.push({ node, reason: `Duplicate slug: ${slug}` });\n return;\n }\n seen.add(slug);\n unique.push({ ...node, slug });\n });\n\n return { unique, duplicates };\n }\n\n private extractMetadata(item: Record<string, unknown>): Record<string, unknown> | undefined {\n if (!this.options.metadataFields?.length) return undefined;\n const metadata: Record<string, unknown> = {};\n this.options.metadataFields.forEach((field) => {\n if (field in item) {\n metadata[field] = item[field];\n }\n });\n return Object.keys(metadata).length > 0 ? metadata : undefined;\n }\n}\n","import type { NeuronConfig } from '../core/types/settings';\n\nexport const defineNeuronConfig = (config: NeuronConfig): NeuronConfig => config;\n","import { createContext } from 'react';\nimport type { NeuronSettings, NeuronConfig } from '../core/types/settings';\nimport type { NeuronEvent } from '../core/types/events';\nimport type { EventBus } from '../core/events/event-bus';\nimport type { NeuronApiClient } from './api-client';\n\nexport interface ErrorContext {\n message: string;\n}\n\nexport interface NeuronContextValue {\n config: NeuronConfig;\n settings: NeuronSettings;\n api: NeuronApiClient;\n events: EventBus;\n isInitialized: boolean;\n error: Error | null;\n updateSettings: (settings: Partial<NeuronSettings>) => Promise<void>;\n resetSettings: () => Promise<void>;\n onEvent?: (event: NeuronEvent) => void;\n onError?: (error: Error, context: ErrorContext) => void;\n}\n\nexport const NeuronContext = createContext<NeuronContextValue | null>(null);\n","import { useContext } from 'react';\nimport { NeuronContext } from '../context';\n\nexport function useNeuronContext() {\n const context = useContext(NeuronContext);\n if (!context) {\n throw new Error('useNeuronContext must be used within NeuronWebProvider');\n }\n return context;\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport type {\n GraphFilters,\n NeuronVisualCluster,\n NeuronVisualEdge,\n NeuronVisualNode,\n} from '../../core/types';\nimport type { GetGraphParams, FindPathResponse } from '../../core/types/api';\nimport { useNeuronContext } from './useNeuronContext';\n\nexport interface UseNeuronGraphOptions {\n domains?: string[];\n nodeTypes?: string[];\n minEdgeStrength?: number;\n autoRefresh?: boolean;\n refreshInterval?: number;\n}\n\nexport function useNeuronGraph(options?: UseNeuronGraphOptions) {\n const { api } = useNeuronContext();\n const [nodes, setNodes] = useState<NeuronVisualNode[]>([]);\n const [edges, setEdges] = useState<NeuronVisualEdge[]>([]);\n const [clusters, setClusters] = useState<NeuronVisualCluster[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [filters, setFilters] = useState<GraphFilters>({});\n const [selectedNode, setSelectedNode] = useState<string | null>(null);\n\n const fetchGraph = useCallback(async () => {\n setIsLoading(true);\n try {\n const params: GetGraphParams = {\n domains: options?.domains,\n nodeTypes: options?.nodeTypes,\n minEdgeStrength: options?.minEdgeStrength,\n };\n const response = await api.graph.get(params);\n setNodes(response.nodes);\n setEdges(response.edges);\n setClusters(response.clusters ?? []);\n setError(null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setIsLoading(false);\n }\n }, [api, options]);\n\n useEffect(() => {\n void fetchGraph();\n }, [fetchGraph]);\n\n const expandFromNode = async (nodeId: string, depth = 1) => {\n const response = await api.graph.expand({ fromNodeIds: [nodeId], depth, direction: 'both' });\n setNodes(response.nodes);\n setEdges(response.edges);\n };\n\n const findPath = async (fromId: string, toId: string): Promise<FindPathResponse['paths'][number]> => {\n const response = await api.graph.findPath({ fromNodeId: fromId, toNodeId: toId });\n return response.paths[0];\n };\n\n return {\n nodes,\n edges,\n clusters,\n isLoading,\n error,\n filters,\n setFilters: (next: Partial<GraphFilters>) => setFilters((prev) => ({ ...prev, ...next })),\n clearFilters: () => setFilters({}),\n selectedNode: selectedNode ? nodes.find((node) => node.id === selectedNode) ?? null : null,\n selectNode: (nodeId: string | null) => setSelectedNode(nodeId),\n clearSelection: () => setSelectedNode(null),\n refetch: fetchGraph,\n expandFromNode,\n findPath,\n };\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport type { ListNodesParams, NeuronNode, NeuronNodeCreate, NeuronNodeUpdate } from '../../core/types';\nimport { useNeuronContext } from './useNeuronContext';\n\nexport interface UseNeuronNodesOptions {\n initialFilters?: ListNodesParams;\n pageSize?: number;\n}\n\nexport function useNeuronNodes(options?: UseNeuronNodesOptions) {\n const { api } = useNeuronContext();\n const [nodes, setNodes] = useState<NeuronNode[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [page, setPage] = useState(1);\n const [totalPages, setTotalPages] = useState(1);\n\n const fetchNodes = useCallback(async () => {\n setIsLoading(true);\n try {\n const response = await api.nodes.list({\n ...options?.initialFilters,\n page,\n limit: options?.pageSize ?? 50,\n });\n setNodes(response.nodes);\n setTotalPages(response.pagination.totalPages ?? 1);\n setError(null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setIsLoading(false);\n }\n }, [api, options, page]);\n\n useEffect(() => {\n void fetchNodes();\n }, [fetchNodes]);\n\n return {\n nodes,\n isLoading,\n error,\n createNode: async (data: NeuronNodeCreate) => {\n const response = await api.nodes.create({ nodes: [data] });\n await fetchNodes();\n return response.created[0];\n },\n updateNode: async (id: string, data: NeuronNodeUpdate) => {\n const updated = await api.nodes.update(id, data);\n await fetchNodes();\n return updated as NeuronNode;\n },\n deleteNode: async (id: string) => {\n await api.nodes.delete(id);\n await fetchNodes();\n },\n batchCreate: async (nodesInput: NeuronNodeCreate[]) => {\n const response = await api.nodes.create({ nodes: nodesInput });\n await fetchNodes();\n return response.created;\n },\n search: async (query: string) => {\n const response = await api.nodes.list({ search: query });\n setNodes(response.nodes);\n },\n pagination: {\n page,\n totalPages,\n hasNext: page < totalPages,\n hasPrev: page > 1,\n },\n setPage,\n nextPage: () => setPage((prev) => Math.min(prev + 1, totalPages)),\n prevPage: () => setPage((prev) => Math.max(prev - 1, 1)),\n };\n}\n","import { useState } from 'react';\nimport type { AnalysisRequest, AnalysisResponse, AnalysisRun } from '../../core/types';\nimport { useNeuronContext } from './useNeuronContext';\n\nexport function useNeuronAnalysis() {\n const { api } = useNeuronContext();\n const [activeJobs, setActiveJobs] = useState<AnalysisRun[]>([]);\n const [jobHistory, setJobHistory] = useState<AnalysisRun[]>([]);\n const [isRunning, setIsRunning] = useState(false);\n const [currentProgress, setCurrentProgress] = useState<number | null>(null);\n\n const startAnalysis = async (request: AnalysisRequest): Promise<AnalysisResponse> => {\n setIsRunning(true);\n const response = await api.analyze.start(request);\n setActiveJobs((prev) => [...prev, { ...(response as unknown as AnalysisRun) }]);\n return response;\n };\n\n const cancelJob = async (jobId: string) => {\n await api.analyze.cancel(jobId);\n setActiveJobs((prev) => prev.filter((job) => job.id !== jobId));\n };\n\n const getJobStatus = async (jobId: string) => {\n const response = await api.analyze.getStatus(jobId);\n setJobHistory((prev) => [...prev, response.job]);\n setIsRunning(false);\n setCurrentProgress(response.job.progress ?? null);\n return response.job;\n };\n\n return {\n activeJobs,\n jobHistory,\n startAnalysis,\n cancelJob,\n getJobStatus,\n isRunning,\n currentProgress,\n };\n}\n","import { useState } from 'react';\nimport type { NeuronSettings, NeuronSettingsUpdate, VisualizationSettings } from '../../core/types';\nimport { useNeuronContext } from './useNeuronContext';\n\nexport function useNeuronSettings() {\n const { settings, api, updateSettings } = useNeuronContext();\n const [isLoading] = useState(false);\n const [isUpdating, setIsUpdating] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const update = async (updates: NeuronSettingsUpdate) => {\n try {\n setIsUpdating(true);\n await updateSettings(updates as Partial<NeuronSettings>);\n } catch (err) {\n setError(err as Error);\n } finally {\n setIsUpdating(false);\n }\n };\n\n const reset = async (sections?: string[]) => {\n await api.settings.reset();\n if (sections?.length) {\n await update({});\n }\n };\n\n return {\n settings,\n isLoading,\n isUpdating,\n error,\n updateSettings: update,\n resetSettings: reset,\n setDomainColor: async (domain: string, color: string) => {\n await update({\n visualization: {\n ...(settings.visualization as VisualizationSettings),\n domainColors: { ...settings.visualization.domainColors, [domain]: color },\n },\n });\n },\n setVisualization: async (updates: Partial<VisualizationSettings>) => {\n await update({ visualization: updates });\n },\n };\n}\n","import { useState } from 'react';\nimport type { FindSimilarOptions, SearchResult, SemanticSearchOptions } from '../../core/types';\nimport { useNeuronContext } from './useNeuronContext';\n\nexport function useNeuronSearch() {\n const { api } = useNeuronContext();\n const [results, setResults] = useState<SearchResult[]>([]);\n const [isSearching, setIsSearching] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const search = async (query: string, options?: SemanticSearchOptions) => {\n setIsSearching(true);\n try {\n const response = await api.search.semantic({ query, ...options });\n setResults(response.results as SearchResult[]);\n setError(null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setIsSearching(false);\n }\n };\n\n const findSimilar = async (nodeId: string, options?: FindSimilarOptions) => {\n setIsSearching(true);\n try {\n const response = await api.search.similar({ nodeId, ...options });\n setResults(response.results as SearchResult[]);\n setError(null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setIsSearching(false);\n }\n };\n\n return {\n results,\n isSearching,\n error,\n search,\n findSimilar,\n clearResults: () => setResults([]),\n };\n}\n","import { useEffect } from 'react';\nimport type { AnalysisRun, NeuronEventType, NeuronNode } from '../../core/types';\nimport type {\n AnalysisCompletedEventPayload,\n AnalysisFailedEventPayload,\n AnalysisProgressEventPayload,\n AnalysisStartedEventPayload,\n EventHandler,\n EventSubscription,\n NodeCreatedEventPayload,\n NodeDeletedEventPayload,\n NodeUpdatedEventPayload,\n} from '../../core/types/events';\nimport { useNeuronContext } from './useNeuronContext';\nimport { createEvent } from '../../core/events/event-bus';\n\nexport function useNeuronEvents() {\n const { events } = useNeuronContext();\n\n return {\n subscribe: <T>(type: NeuronEventType, handler: EventHandler<T>) => {\n useEffect(() => {\n const sub = events.subscribe(type, handler);\n return () => sub.unsubscribe();\n }, [type, handler]);\n },\n emit: <T>(type: NeuronEventType, payload: T) => {\n events.emit(createEvent(type, payload, 'ui'));\n },\n };\n}\n\nexport function useNodeEvents(handlers: {\n onCreated?: (node: NeuronNode) => void;\n onUpdated?: (node: NeuronNode) => void;\n onDeleted?: (nodeId: string) => void;\n}): void {\n const { events } = useNeuronContext();\n\n useEffect(() => {\n const subs: EventSubscription[] = [];\n if (handlers.onCreated) {\n subs.push(\n events.subscribe('node:created', (event) =>\n handlers.onCreated?.((event.payload as NodeCreatedEventPayload).node)\n )\n );\n }\n if (handlers.onUpdated) {\n subs.push(\n events.subscribe('node:updated', (event) =>\n handlers.onUpdated?.((event.payload as NodeUpdatedEventPayload).node)\n )\n );\n }\n if (handlers.onDeleted) {\n subs.push(\n events.subscribe('node:deleted', (event) =>\n handlers.onDeleted?.((event.payload as NodeDeletedEventPayload).nodeId)\n )\n );\n }\n return () => subs.forEach((sub) => sub.unsubscribe());\n }, [handlers]);\n}\n\nexport function useAnalysisEvents(handlers: {\n onStarted?: (jobId: string) => void;\n onProgress?: (jobId: string, progress: number) => void;\n onCompleted?: (job: AnalysisRun) => void;\n onFailed?: (jobId: string, error: string) => void;\n}): void {\n const { events } = useNeuronContext();\n\n useEffect(() => {\n const subs: EventSubscription[] = [];\n if (handlers.onStarted) {\n subs.push(\n events.subscribe('analysis:started', (event) =>\n handlers.onStarted?.((event.payload as AnalysisStartedEventPayload).jobId)\n )\n );\n }\n if (handlers.onProgress) {\n subs.push(\n events.subscribe('analysis:progress', (event) => {\n const payload = event.payload as AnalysisProgressEventPayload;\n return handlers.onProgress?.(payload.jobId, payload.progress);\n })\n );\n }\n if (handlers.onCompleted) {\n subs.push(\n events.subscribe('analysis:completed', (event) =>\n handlers.onCompleted?.((event.payload as AnalysisCompletedEventPayload).job)\n )\n );\n }\n if (handlers.onFailed) {\n subs.push(\n events.subscribe('analysis:failed', (event) => {\n const payload = event.payload as AnalysisFailedEventPayload;\n return handlers.onFailed?.(payload.jobId, payload.error);\n })\n );\n }\n return () => subs.forEach((sub) => sub.unsubscribe());\n }, [handlers]);\n}\n","import type {\n AnalysisRequest,\n AnalysisResponse,\n CancelAnalysisResponse,\n CreateEdgesRequest,\n CreateEdgesResponse,\n CreateNodesRequest,\n CreateNodesResponse,\n DeleteEdgeResponse,\n DeleteNodeResponse,\n ExpandGraphRequest,\n ExpandGraphResponse,\n FindPathRequest,\n FindPathResponse,\n FindSimilarRequest,\n FindSimilarResponse,\n GetAnalysisJobResponse,\n GetGraphParams,\n GetGraphResponse,\n GetNodeResponse,\n GetSettingsResponse,\n ListEdgesParams,\n ListEdgesResponse,\n ListNodesParams,\n ListNodesResponse,\n SemanticSearchRequest,\n SemanticSearchResponse,\n UpdateEdgeRequest,\n UpdateNodeRequest,\n UpdateSettingsRequest,\n UpdateSettingsResponse,\n ResetSettingsResponse,\n} from '../core/types/api';\n\nexport class NeuronApiClient {\n constructor(private basePath: string) {}\n\n private async request<T>(path: string, options?: RequestInit): Promise<T> {\n const response = await fetch(`${this.basePath}${path}`, {\n headers: { 'Content-Type': 'application/json' },\n ...options,\n });\n if (!response.ok) {\n throw new Error(`Request failed: ${response.status}`);\n }\n return response.json() as Promise<T>;\n }\n\n nodes = {\n list: (params?: ListNodesParams) =>\n this.request<ListNodesResponse>(`/nodes?${new URLSearchParams(params as Record<string, string>)}`),\n get: (id: string) => this.request<GetNodeResponse>(`/nodes/${id}`),\n create: (data: CreateNodesRequest) =>\n this.request<CreateNodesResponse>('/nodes', { method: 'POST', body: JSON.stringify(data) }),\n update: (id: string, data: UpdateNodeRequest) =>\n this.request(`/nodes/${id}`, { method: 'PATCH', body: JSON.stringify(data) }),\n delete: (id: string) => this.request<DeleteNodeResponse>(`/nodes/${id}`, { method: 'DELETE' }),\n };\n\n edges = {\n list: (params?: ListEdgesParams) =>\n this.request<ListEdgesResponse>(`/edges?${new URLSearchParams(params as Record<string, string>)}`),\n create: (data: CreateEdgesRequest) =>\n this.request<CreateEdgesResponse>('/edges', { method: 'POST', body: JSON.stringify(data) }),\n update: (id: string, data: UpdateEdgeRequest) =>\n this.request(`/edges/${id}`, { method: 'PATCH', body: JSON.stringify(data) }),\n delete: (id: string) => this.request<DeleteEdgeResponse>(`/edges/${id}`, { method: 'DELETE' }),\n };\n\n graph = {\n get: (params?: GetGraphParams) =>\n this.request<GetGraphResponse>(`/graph?${new URLSearchParams(params as Record<string, string>)}`),\n expand: (data: ExpandGraphRequest) =>\n this.request<ExpandGraphResponse>('/graph/expand', { method: 'POST', body: JSON.stringify(data) }),\n findPath: (data: FindPathRequest) =>\n this.request<FindPathResponse>('/graph/path', { method: 'POST', body: JSON.stringify(data) }),\n };\n\n analyze = {\n start: (data: AnalysisRequest) =>\n this.request<AnalysisResponse>('/analyze', { method: 'POST', body: JSON.stringify(data) }),\n getStatus: (jobId: string) => this.request<GetAnalysisJobResponse>(`/analyze/${jobId}`),\n cancel: (jobId: string) =>\n this.request<CancelAnalysisResponse>(`/analyze/${jobId}/cancel`, { method: 'POST' }),\n };\n\n settings = {\n get: () => this.request<GetSettingsResponse>('/settings'),\n update: (data: UpdateSettingsRequest) =>\n this.request<UpdateSettingsResponse>('/settings', { method: 'PATCH', body: JSON.stringify(data) }),\n reset: () => this.request<ResetSettingsResponse>('/settings/reset', { method: 'POST' }),\n };\n\n search = {\n semantic: (data: SemanticSearchRequest) =>\n this.request<SemanticSearchResponse>('/search', { method: 'POST', body: JSON.stringify(data) }),\n similar: (data: FindSimilarRequest) =>\n this.request<FindSimilarResponse>('/search/similar', { method: 'POST', body: JSON.stringify(data) }),\n };\n}\n","'use client';\n\nimport React, { useEffect, useMemo, useState } from 'react';\nimport type { NeuronSettings, NeuronConfig, NeuronSettingsUpdate } from '../core/types/settings';\nimport type { NeuronEvent } from '../core/types/events';\nimport { DEFAULT_ANALYSIS_SETTINGS, DEFAULT_VISUALIZATION_SETTINGS } from '../core/types/settings';\nimport { EventBus } from '../core/events/event-bus';\nimport { NeuronApiClient } from './api-client';\nimport { NeuronContext, type ErrorContext } from './context';\n\nexport interface NeuronWebProviderProps {\n children: React.ReactNode;\n config: {\n openaiApiKey?: string;\n databaseUrl?: string;\n settings?: Partial<NeuronSettings>;\n onEvent?: (event: NeuronEvent) => void;\n onError?: (error: Error, context: ErrorContext) => void;\n };\n}\n\nconst buildDefaultConfig = (overrides?: Partial<NeuronSettings>): NeuronConfig => ({\n instance: {\n name: 'default',\n version: '0.1.0',\n repoName: 'omi-neuron-web',\n },\n visualization: { ...DEFAULT_VISUALIZATION_SETTINGS, ...(overrides?.visualization ?? {}) },\n analysis: { ...DEFAULT_ANALYSIS_SETTINGS, ...(overrides?.analysis ?? {}) },\n nodeTypes: overrides?.nodeTypes ?? [],\n domains: overrides?.domains ?? [],\n relationshipTypes: overrides?.relationshipTypes ?? [],\n openai: {\n apiKey: '',\n },\n database: {\n mode: 'external',\n port: 5433,\n url: undefined,\n },\n api: {\n basePath: '/api/neuron',\n enableCors: false,\n },\n logging: {\n level: 'info',\n prettyPrint: true,\n },\n});\n\nexport function NeuronWebProvider({ children, config }: NeuronWebProviderProps): React.ReactElement {\n const [settings, setSettings] = useState<NeuronSettings>(() =>\n buildDefaultConfig(config.settings) as NeuronSettings\n );\n const [error, setError] = useState<Error | null>(null);\n const [isInitialized, setIsInitialized] = useState(false);\n\n const resolvedConfig = useMemo(() => {\n const base = buildDefaultConfig(config.settings);\n return {\n ...base,\n openai: {\n apiKey: config.openaiApiKey ?? base.openai.apiKey,\n },\n database: {\n ...base.database,\n url: config.databaseUrl ?? base.database.url,\n },\n } as NeuronConfig;\n }, [config]);\n\n const apiClient = useMemo(() => new NeuronApiClient(resolvedConfig.api.basePath), [resolvedConfig]);\n const eventBus = useMemo(() => new EventBus(), []);\n\n useEffect(() => {\n eventBus.subscribeAll((event) => config.onEvent?.(event));\n }, [eventBus, config]);\n\n useEffect(() => {\n let mounted = true;\n apiClient\n .settings.get()\n .then((response) => {\n if (mounted) {\n setSettings(response.settings as NeuronSettings);\n setIsInitialized(true);\n }\n })\n .catch((err) => {\n setError(err as Error);\n config.onError?.(err as Error, { message: 'Failed to load settings' });\n });\n return () => {\n mounted = false;\n };\n }, [apiClient]);\n\n const updateSettings = async (updates: Partial<NeuronSettings>) => {\n const response = await apiClient.settings.update(updates as NeuronSettingsUpdate);\n setSettings(response.settings as NeuronSettings);\n };\n\n const resetSettings = async () => {\n const response = await apiClient.settings.reset();\n setSettings(response.settings as NeuronSettings);\n };\n\n const contextValue = useMemo(\n () => ({\n config: resolvedConfig,\n settings,\n api: apiClient,\n events: eventBus,\n isInitialized,\n error,\n updateSettings,\n resetSettings,\n onEvent: config.onEvent,\n onError: config.onError,\n }),\n [resolvedConfig, settings, apiClient, eventBus, isInitialized, error, config]\n );\n\n return <NeuronContext.Provider value={contextValue}>{children}</NeuronContext.Provider>;\n}\n","/**\n * omi-neuron-web\n * A drop-in Next.js library for data analysis and 3D visualization\n */\n\n// Core types\nexport * from './core/types';\nexport * from './core/schemas';\nexport * from './core/events';\nexport { DataProcessor } from './core/analysis/data-processor';\nexport { EmbeddingsService } from './core/analysis/embeddings-service';\nexport { ClusteringEngine } from './core/analysis/clustering-engine';\nexport { RelationshipEngine } from './core/analysis/relationship-engine';\nexport { ScoringEngine } from './core/analysis/scoring-engine';\nexport { AnalysisPipeline } from './core/analysis/pipeline';\nexport * from './storage';\nexport * from './config';\n\n// Re-export visualization (when implemented)\n// export { NeuronWeb } from './visualization';\n\n// Re-export hooks (when implemented)\nexport * from './react/hooks';\n\n// Re-export provider (when implemented)\nexport { NeuronWebProvider } from './react/NeuronWebProvider';\n\n// Version\nexport const VERSION = '0.1.0';\n"]}
1
+ {"version":3,"sources":["../src/core/schemas/cluster.ts","../src/core/events/helpers.ts","../src/core/events/middleware/logging.ts","../src/core/events/middleware/validation.ts","../src/core/analysis/data-processor.ts","../src/config/index.ts","../src/react/context.ts","../src/react/hooks/useNeuronContext.ts","../src/react/hooks/useNeuronGraph.ts","../src/react/hooks/useNeuronNodes.ts","../src/react/hooks/useNeuronAnalysis.ts","../src/react/hooks/useNeuronSettings.ts","../src/react/hooks/useNeuronSearch.ts","../src/react/hooks/useNeuronEvents.ts","../src/react/api-client.ts","../src/react/NeuronWebProvider.tsx","../src/index.ts"],"names":["z","createEvent","nodeCreateSchema","slugify","createContext","useContext","useState","useCallback","useEffect","DEFAULT_VISUALIZATION_SETTINGS","DEFAULT_ANALYSIS_SETTINGS","useMemo","EventBus"],"mappings":"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","file":"index.cjs","sourcesContent":["import { z } from 'zod';\n\nexport const clusteringConfigSchema = z.object({\n algorithm: z.enum(['kmeans', 'dbscan', 'hierarchical']),\n clusterCount: z.coerce.number().int().min(1).optional(),\n minClusterSize: z.coerce.number().int().min(1).optional(),\n similarityThreshold: z.coerce.number().min(0).max(1).optional(),\n epsilon: z.coerce.number().min(0).optional(),\n minSamples: z.coerce.number().int().min(1).optional(),\n});\n\nexport const clusterCreateSchema = z.object({\n label: z.string().min(1).max(255),\n clusterType: z.string().max(100).optional(),\n centroid: z.array(z.number()).optional(),\n memberCount: z.number().int().min(0).optional(),\n avgSimilarity: z.number().min(0).max(1).optional(),\n cohesion: z.number().min(0).max(1).optional(),\n description: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport const clusterUpdateSchema = clusterCreateSchema.partial();\n\nexport type ClusteringConfigInput = z.infer<typeof clusteringConfigSchema>;\nexport type ClusterCreateInput = z.infer<typeof clusterCreateSchema>;\nexport type ClusterUpdateInput = z.infer<typeof clusterUpdateSchema>;\n","import type {\n AnalysisCompletedEventPayload,\n AnalysisFailedEventPayload,\n AnalysisProgressEventPayload,\n AnalysisStartedEventPayload,\n EdgeCreatedEventPayload,\n EdgeDeletedEventPayload,\n EdgeUpdatedEventPayload,\n EventSource,\n NeuronEvent,\n NeuronEventType,\n NodeBatchCreatedEventPayload,\n NodeCreatedEventPayload,\n NodeDeletedEventPayload,\n NodeUpdatedEventPayload,\n} from '../types/events';\nimport { createEvent } from './event-bus';\n\nexport const createNodeEvent = (\n type: 'node:created' | 'node:updated' | 'node:deleted' | 'node:batch_created',\n payload:\n | NodeCreatedEventPayload\n | NodeUpdatedEventPayload\n | NodeDeletedEventPayload\n | NodeBatchCreatedEventPayload,\n source: EventSource = 'system'\n): NeuronEvent => createEvent(type, payload, source);\n\nexport const createEdgeEvent = (\n type: 'edge:created' | 'edge:updated' | 'edge:deleted',\n payload: EdgeCreatedEventPayload | EdgeUpdatedEventPayload | EdgeDeletedEventPayload,\n source: EventSource = 'system'\n): NeuronEvent => createEvent(type, payload, source);\n\nexport const createAnalysisEvent = (\n type: 'analysis:started' | 'analysis:progress' | 'analysis:completed' | 'analysis:failed',\n payload:\n | AnalysisStartedEventPayload\n | AnalysisProgressEventPayload\n | AnalysisCompletedEventPayload\n | AnalysisFailedEventPayload,\n source: EventSource = 'analysis'\n): NeuronEvent => createEvent(type, payload, source);\n\nexport const createGenericEvent = <T>(\n type: NeuronEventType,\n payload: T,\n source: EventSource = 'system'\n): NeuronEvent<T> => createEvent(type, payload, source);\n","import type { EventMiddleware } from '../event-bus';\n\nexport const loggingMiddleware: EventMiddleware = (event, next) => {\n // eslint-disable-next-line no-console\n console.debug(`[omi-neuron:event] ${event.type}`, event);\n void next();\n};\n","import type { EventMiddleware } from '../event-bus';\n\nexport const validationMiddleware: EventMiddleware = (event, next) => {\n if (!event.type) {\n throw new Error('Event missing type');\n }\n if (!event.timestamp) {\n throw new Error('Event missing timestamp');\n }\n return next();\n};\n","import slugify from 'slugify';\nimport { nodeCreateSchema } from '../schemas/node';\nimport type { NeuronNodeCreate } from '../types/node';\n\nexport interface ProcessingOptions {\n skipDuplicates?: boolean;\n updateOnConflict?: boolean;\n defaultNodeType?: string;\n defaultDomain?: string;\n contentFields?: string[];\n labelField?: string;\n slugField?: string;\n metadataFields?: string[];\n}\n\nconst stripHtml = (value: string) => value.replace(/<[^>]+>/g, ' ');\n\nconst normalizeValue = (value: unknown): string | undefined => {\n if (value === null || value === undefined) return undefined;\n if (value instanceof Date) return value.toISOString();\n if (Array.isArray(value)) return value.map((item) => normalizeValue(item)).filter(Boolean).join(' ');\n if (typeof value === 'object') return JSON.stringify(value);\n return String(value);\n};\n\nconst flattenObject = (obj: Record<string, unknown>, prefix = ''): Record<string, unknown> => {\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(obj)) {\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (value && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)) {\n Object.assign(result, flattenObject(value as Record<string, unknown>, nextKey));\n } else {\n result[nextKey] = value;\n }\n }\n return result;\n};\n\nexport class DataProcessor {\n constructor(private options: ProcessingOptions = {}) {}\n\n processItem(item: Record<string, unknown>): NeuronNodeCreate {\n const flattened = flattenObject(item);\n const labelField = this.options.labelField ?? 'label';\n const label = normalizeValue(flattened[labelField]) ?? 'Untitled';\n\n const slugField = this.options.slugField;\n const slug = slugField ? normalizeValue(flattened[slugField]) : undefined;\n\n const content = this.extractContent(flattened);\n const metadata = this.extractMetadata(flattened);\n\n const node: NeuronNodeCreate = {\n slug,\n label,\n nodeType: this.options.defaultNodeType,\n domain: this.options.defaultDomain,\n content,\n metadata,\n };\n\n return nodeCreateSchema.parse(node);\n }\n\n processBatch(items: Record<string, unknown>[]): {\n nodes: NeuronNodeCreate[];\n errors: Array<{ index: number; error: string }>;\n } {\n const nodes: NeuronNodeCreate[] = [];\n const errors: Array<{ index: number; error: string }> = [];\n\n items.forEach((item, index) => {\n try {\n nodes.push(this.processItem(item));\n } catch (error) {\n errors.push({\n index,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n });\n\n return { nodes, errors };\n }\n\n processJSON(json: string): NeuronNodeCreate[] {\n const parsed = JSON.parse(json);\n if (Array.isArray(parsed)) {\n return this.processBatch(parsed).nodes;\n }\n return [this.processItem(parsed)];\n }\n\n processCSV(csv: string): NeuronNodeCreate[] {\n const lines = csv.trim().split(/\\r?\\n/);\n if (lines.length === 0) return [];\n const headers = lines[0].split(',').map((h) => h.trim());\n const items = lines.slice(1).map((line) => {\n const values = line.split(',');\n const item: Record<string, unknown> = {};\n headers.forEach((header, idx) => {\n item[header] = values[idx]?.trim();\n });\n return item;\n });\n return this.processBatch(items).nodes;\n }\n\n generateSlug(label: string, existingSlugs: Set<string> = new Set()): string {\n const base = slugify(label, { lower: true, strict: true, trim: true }).slice(0, 255);\n if (!existingSlugs.has(base)) return base;\n let suffix = 1;\n let slug = `${base}-${suffix}`;\n while (existingSlugs.has(slug)) {\n suffix += 1;\n slug = `${base}-${suffix}`;\n }\n return slug;\n }\n\n extractContent(item: Record<string, unknown>): string {\n const fields = this.options.contentFields ?? ['label', 'summary', 'description', 'content'];\n const parts = fields\n .map((field) => normalizeValue(item[field]))\n .filter((value): value is string => Boolean(value));\n const joined = parts.join(' ');\n return stripHtml(joined).replace(/\\s+/g, ' ').trim();\n }\n\n detectDuplicates(nodes: NeuronNodeCreate[]): {\n unique: NeuronNodeCreate[];\n duplicates: Array<{ node: NeuronNodeCreate; reason: string }>;\n } {\n const seen = new Set<string>();\n const unique: NeuronNodeCreate[] = [];\n const duplicates: Array<{ node: NeuronNodeCreate; reason: string }> = [];\n\n nodes.forEach((node) => {\n const slug = node.slug ?? this.generateSlug(node.label, seen);\n if (seen.has(slug)) {\n duplicates.push({ node, reason: `Duplicate slug: ${slug}` });\n return;\n }\n seen.add(slug);\n unique.push({ ...node, slug });\n });\n\n return { unique, duplicates };\n }\n\n private extractMetadata(item: Record<string, unknown>): Record<string, unknown> | undefined {\n if (!this.options.metadataFields?.length) return undefined;\n const metadata: Record<string, unknown> = {};\n this.options.metadataFields.forEach((field) => {\n if (field in item) {\n metadata[field] = item[field];\n }\n });\n return Object.keys(metadata).length > 0 ? metadata : undefined;\n }\n}\n","import type { NeuronConfig } from '../core/types/settings';\n\nexport const defineNeuronConfig = (config: NeuronConfig): NeuronConfig => config;\n","import { createContext } from 'react';\nimport type { NeuronSettings, NeuronConfig } from '../core/types/settings';\nimport type { NeuronEvent } from '../core/types/events';\nimport type { EventBus } from '../core/events/event-bus';\nimport type { NeuronApiClient } from './api-client';\n\nexport interface ErrorContext {\n message: string;\n}\n\nexport interface NeuronContextValue {\n config: NeuronConfig;\n settings: NeuronSettings;\n api: NeuronApiClient;\n events: EventBus;\n isInitialized: boolean;\n error: Error | null;\n updateSettings: (settings: Partial<NeuronSettings>) => Promise<void>;\n resetSettings: () => Promise<void>;\n onEvent?: (event: NeuronEvent) => void;\n onError?: (error: Error, context: ErrorContext) => void;\n}\n\nexport const NeuronContext = createContext<NeuronContextValue | null>(null);\n","import { useContext } from 'react';\nimport { NeuronContext } from '../context';\n\nexport function useNeuronContext() {\n const context = useContext(NeuronContext);\n if (!context) {\n throw new Error('useNeuronContext must be used within NeuronWebProvider');\n }\n return context;\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport type {\n GraphFilters,\n NeuronVisualCluster,\n NeuronVisualEdge,\n NeuronVisualNode,\n} from '../../core/types';\nimport type { GetGraphParams, FindPathResponse } from '../../core/types/api';\nimport { useNeuronContext } from './useNeuronContext';\n\nexport interface UseNeuronGraphOptions {\n domains?: string[];\n nodeTypes?: string[];\n minEdgeStrength?: number;\n autoRefresh?: boolean;\n refreshInterval?: number;\n}\n\nexport function useNeuronGraph(options?: UseNeuronGraphOptions) {\n const { api } = useNeuronContext();\n const [nodes, setNodes] = useState<NeuronVisualNode[]>([]);\n const [edges, setEdges] = useState<NeuronVisualEdge[]>([]);\n const [clusters, setClusters] = useState<NeuronVisualCluster[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [filters, setFilters] = useState<GraphFilters>({});\n const [selectedNode, setSelectedNode] = useState<string | null>(null);\n\n const fetchGraph = useCallback(async () => {\n setIsLoading(true);\n try {\n const params: GetGraphParams = {\n domains: options?.domains,\n nodeTypes: options?.nodeTypes,\n minEdgeStrength: options?.minEdgeStrength,\n };\n const response = await api.graph.get(params);\n setNodes(response.nodes);\n setEdges(response.edges);\n setClusters(response.clusters ?? []);\n setError(null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setIsLoading(false);\n }\n }, [api, options]);\n\n useEffect(() => {\n void fetchGraph();\n }, [fetchGraph]);\n\n const expandFromNode = async (nodeId: string, depth = 1) => {\n const response = await api.graph.expand({ fromNodeIds: [nodeId], depth, direction: 'both' });\n setNodes(response.nodes);\n setEdges(response.edges);\n };\n\n const findPath = async (fromId: string, toId: string): Promise<FindPathResponse['paths'][number]> => {\n const response = await api.graph.findPath({ fromNodeId: fromId, toNodeId: toId });\n return response.paths[0];\n };\n\n return {\n nodes,\n edges,\n clusters,\n isLoading,\n error,\n filters,\n setFilters: (next: Partial<GraphFilters>) => setFilters((prev) => ({ ...prev, ...next })),\n clearFilters: () => setFilters({}),\n selectedNode: selectedNode ? nodes.find((node) => node.id === selectedNode) ?? null : null,\n selectNode: (nodeId: string | null) => setSelectedNode(nodeId),\n clearSelection: () => setSelectedNode(null),\n refetch: fetchGraph,\n expandFromNode,\n findPath,\n };\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport type { ListNodesParams, NeuronNode, NeuronNodeCreate, NeuronNodeUpdate } from '../../core/types';\nimport { useNeuronContext } from './useNeuronContext';\n\nexport interface UseNeuronNodesOptions {\n initialFilters?: ListNodesParams;\n pageSize?: number;\n}\n\nexport function useNeuronNodes(options?: UseNeuronNodesOptions) {\n const { api } = useNeuronContext();\n const [nodes, setNodes] = useState<NeuronNode[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [page, setPage] = useState(1);\n const [totalPages, setTotalPages] = useState(1);\n\n const fetchNodes = useCallback(async () => {\n setIsLoading(true);\n try {\n const response = await api.nodes.list({\n ...options?.initialFilters,\n page,\n limit: options?.pageSize ?? 50,\n });\n setNodes(response.nodes);\n setTotalPages(response.pagination.totalPages ?? 1);\n setError(null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setIsLoading(false);\n }\n }, [api, options, page]);\n\n useEffect(() => {\n void fetchNodes();\n }, [fetchNodes]);\n\n return {\n nodes,\n isLoading,\n error,\n createNode: async (data: NeuronNodeCreate) => {\n const response = await api.nodes.create({ nodes: [data] });\n await fetchNodes();\n return response.created[0];\n },\n updateNode: async (id: string, data: NeuronNodeUpdate) => {\n const updated = await api.nodes.update(id, data);\n await fetchNodes();\n return updated as NeuronNode;\n },\n deleteNode: async (id: string) => {\n await api.nodes.delete(id);\n await fetchNodes();\n },\n batchCreate: async (nodesInput: NeuronNodeCreate[]) => {\n const response = await api.nodes.create({ nodes: nodesInput });\n await fetchNodes();\n return response.created;\n },\n search: async (query: string) => {\n const response = await api.nodes.list({ search: query });\n setNodes(response.nodes);\n },\n pagination: {\n page,\n totalPages,\n hasNext: page < totalPages,\n hasPrev: page > 1,\n },\n setPage,\n nextPage: () => setPage((prev) => Math.min(prev + 1, totalPages)),\n prevPage: () => setPage((prev) => Math.max(prev - 1, 1)),\n };\n}\n","import { useState } from 'react';\nimport type { AnalysisRequest, AnalysisResponse, AnalysisRun } from '../../core/types';\nimport { useNeuronContext } from './useNeuronContext';\n\nexport function useNeuronAnalysis() {\n const { api } = useNeuronContext();\n const [activeJobs, setActiveJobs] = useState<AnalysisRun[]>([]);\n const [jobHistory, setJobHistory] = useState<AnalysisRun[]>([]);\n const [isRunning, setIsRunning] = useState(false);\n const [currentProgress, setCurrentProgress] = useState<number | null>(null);\n\n const startAnalysis = async (request: AnalysisRequest): Promise<AnalysisResponse> => {\n setIsRunning(true);\n const response = await api.analyze.start(request);\n setActiveJobs((prev) => [...prev, { ...(response as unknown as AnalysisRun) }]);\n return response;\n };\n\n const cancelJob = async (jobId: string) => {\n await api.analyze.cancel(jobId);\n setActiveJobs((prev) => prev.filter((job) => job.id !== jobId));\n };\n\n const getJobStatus = async (jobId: string) => {\n const response = await api.analyze.getStatus(jobId);\n setJobHistory((prev) => [...prev, response.job]);\n setIsRunning(false);\n setCurrentProgress(response.job.progress ?? null);\n return response.job;\n };\n\n return {\n activeJobs,\n jobHistory,\n startAnalysis,\n cancelJob,\n getJobStatus,\n isRunning,\n currentProgress,\n };\n}\n","import { useState } from 'react';\nimport type { NeuronSettings, NeuronSettingsUpdate, VisualizationSettings } from '../../core/types';\nimport { useNeuronContext } from './useNeuronContext';\n\nexport function useNeuronSettings() {\n const { settings, api, updateSettings } = useNeuronContext();\n const [isLoading] = useState(false);\n const [isUpdating, setIsUpdating] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const update = async (updates: NeuronSettingsUpdate) => {\n try {\n setIsUpdating(true);\n await updateSettings(updates as Partial<NeuronSettings>);\n } catch (err) {\n setError(err as Error);\n } finally {\n setIsUpdating(false);\n }\n };\n\n const reset = async (sections?: string[]) => {\n await api.settings.reset();\n if (sections?.length) {\n await update({});\n }\n };\n\n return {\n settings,\n isLoading,\n isUpdating,\n error,\n updateSettings: update,\n resetSettings: reset,\n setDomainColor: async (domain: string, color: string) => {\n await update({\n visualization: {\n ...(settings.visualization as VisualizationSettings),\n domainColors: { ...settings.visualization.domainColors, [domain]: color },\n },\n });\n },\n setVisualization: async (updates: Partial<VisualizationSettings>) => {\n await update({ visualization: updates });\n },\n };\n}\n","import { useState } from 'react';\nimport type { FindSimilarOptions, SearchResult, SemanticSearchOptions } from '../../core/types';\nimport { useNeuronContext } from './useNeuronContext';\n\nexport function useNeuronSearch() {\n const { api } = useNeuronContext();\n const [results, setResults] = useState<SearchResult[]>([]);\n const [isSearching, setIsSearching] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const search = async (query: string, options?: SemanticSearchOptions) => {\n setIsSearching(true);\n try {\n const response = await api.search.semantic({ query, ...options });\n setResults(response.results as SearchResult[]);\n setError(null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setIsSearching(false);\n }\n };\n\n const findSimilar = async (nodeId: string, options?: FindSimilarOptions) => {\n setIsSearching(true);\n try {\n const response = await api.search.similar({ nodeId, ...options });\n setResults(response.results as SearchResult[]);\n setError(null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setIsSearching(false);\n }\n };\n\n return {\n results,\n isSearching,\n error,\n search,\n findSimilar,\n clearResults: () => setResults([]),\n };\n}\n","import { useEffect } from 'react';\nimport type { AnalysisRun, NeuronEventType, NeuronNode } from '../../core/types';\nimport type {\n AnalysisCompletedEventPayload,\n AnalysisFailedEventPayload,\n AnalysisProgressEventPayload,\n AnalysisStartedEventPayload,\n EventHandler,\n EventSubscription,\n NodeCreatedEventPayload,\n NodeDeletedEventPayload,\n NodeUpdatedEventPayload,\n} from '../../core/types/events';\nimport { useNeuronContext } from './useNeuronContext';\nimport { createEvent } from '../../core/events/event-bus';\n\nexport function useNeuronEvents() {\n const { events } = useNeuronContext();\n\n return {\n subscribe: <T>(type: NeuronEventType, handler: EventHandler<T>) => {\n useEffect(() => {\n const sub = events.subscribe(type, handler);\n return () => sub.unsubscribe();\n }, [type, handler]);\n },\n emit: <T>(type: NeuronEventType, payload: T) => {\n events.emit(createEvent(type, payload, 'ui'));\n },\n };\n}\n\nexport function useNodeEvents(handlers: {\n onCreated?: (node: NeuronNode) => void;\n onUpdated?: (node: NeuronNode) => void;\n onDeleted?: (nodeId: string) => void;\n}): void {\n const { events } = useNeuronContext();\n\n useEffect(() => {\n const subs: EventSubscription[] = [];\n if (handlers.onCreated) {\n subs.push(\n events.subscribe('node:created', (event) =>\n handlers.onCreated?.((event.payload as NodeCreatedEventPayload).node)\n )\n );\n }\n if (handlers.onUpdated) {\n subs.push(\n events.subscribe('node:updated', (event) =>\n handlers.onUpdated?.((event.payload as NodeUpdatedEventPayload).node)\n )\n );\n }\n if (handlers.onDeleted) {\n subs.push(\n events.subscribe('node:deleted', (event) =>\n handlers.onDeleted?.((event.payload as NodeDeletedEventPayload).nodeId)\n )\n );\n }\n return () => subs.forEach((sub) => sub.unsubscribe());\n }, [handlers]);\n}\n\nexport function useAnalysisEvents(handlers: {\n onStarted?: (jobId: string) => void;\n onProgress?: (jobId: string, progress: number) => void;\n onCompleted?: (job: AnalysisRun) => void;\n onFailed?: (jobId: string, error: string) => void;\n}): void {\n const { events } = useNeuronContext();\n\n useEffect(() => {\n const subs: EventSubscription[] = [];\n if (handlers.onStarted) {\n subs.push(\n events.subscribe('analysis:started', (event) =>\n handlers.onStarted?.((event.payload as AnalysisStartedEventPayload).jobId)\n )\n );\n }\n if (handlers.onProgress) {\n subs.push(\n events.subscribe('analysis:progress', (event) => {\n const payload = event.payload as AnalysisProgressEventPayload;\n return handlers.onProgress?.(payload.jobId, payload.progress);\n })\n );\n }\n if (handlers.onCompleted) {\n subs.push(\n events.subscribe('analysis:completed', (event) =>\n handlers.onCompleted?.((event.payload as AnalysisCompletedEventPayload).job)\n )\n );\n }\n if (handlers.onFailed) {\n subs.push(\n events.subscribe('analysis:failed', (event) => {\n const payload = event.payload as AnalysisFailedEventPayload;\n return handlers.onFailed?.(payload.jobId, payload.error);\n })\n );\n }\n return () => subs.forEach((sub) => sub.unsubscribe());\n }, [handlers]);\n}\n","import type {\n AnalysisRequest,\n AnalysisResponse,\n CancelAnalysisResponse,\n CreateEdgesRequest,\n CreateEdgesResponse,\n CreateNodesRequest,\n CreateNodesResponse,\n DeleteEdgeResponse,\n DeleteNodeResponse,\n ExpandGraphRequest,\n ExpandGraphResponse,\n FindPathRequest,\n FindPathResponse,\n FindSimilarRequest,\n FindSimilarResponse,\n GetAnalysisJobResponse,\n GetGraphParams,\n GetGraphResponse,\n GetNodeResponse,\n GetSettingsResponse,\n ListEdgesParams,\n ListEdgesResponse,\n ListNodesParams,\n ListNodesResponse,\n SemanticSearchRequest,\n SemanticSearchResponse,\n UpdateEdgeRequest,\n UpdateNodeRequest,\n UpdateSettingsRequest,\n UpdateSettingsResponse,\n ResetSettingsResponse,\n} from '../core/types/api';\n\nexport class NeuronApiClient {\n constructor(private basePath: string) {}\n\n private async request<T>(path: string, options?: RequestInit): Promise<T> {\n const response = await fetch(`${this.basePath}${path}`, {\n headers: { 'Content-Type': 'application/json' },\n ...options,\n });\n if (!response.ok) {\n throw new Error(`Request failed: ${response.status}`);\n }\n return response.json() as Promise<T>;\n }\n\n nodes = {\n list: (params?: ListNodesParams) =>\n this.request<ListNodesResponse>(`/nodes?${new URLSearchParams(params as Record<string, string>)}`),\n get: (id: string) => this.request<GetNodeResponse>(`/nodes/${id}`),\n create: (data: CreateNodesRequest) =>\n this.request<CreateNodesResponse>('/nodes', { method: 'POST', body: JSON.stringify(data) }),\n update: (id: string, data: UpdateNodeRequest) =>\n this.request(`/nodes/${id}`, { method: 'PATCH', body: JSON.stringify(data) }),\n delete: (id: string) => this.request<DeleteNodeResponse>(`/nodes/${id}`, { method: 'DELETE' }),\n };\n\n edges = {\n list: (params?: ListEdgesParams) =>\n this.request<ListEdgesResponse>(`/edges?${new URLSearchParams(params as Record<string, string>)}`),\n create: (data: CreateEdgesRequest) =>\n this.request<CreateEdgesResponse>('/edges', { method: 'POST', body: JSON.stringify(data) }),\n update: (id: string, data: UpdateEdgeRequest) =>\n this.request(`/edges/${id}`, { method: 'PATCH', body: JSON.stringify(data) }),\n delete: (id: string) => this.request<DeleteEdgeResponse>(`/edges/${id}`, { method: 'DELETE' }),\n };\n\n graph = {\n get: (params?: GetGraphParams) =>\n this.request<GetGraphResponse>(`/graph?${new URLSearchParams(params as Record<string, string>)}`),\n expand: (data: ExpandGraphRequest) =>\n this.request<ExpandGraphResponse>('/graph/expand', { method: 'POST', body: JSON.stringify(data) }),\n findPath: (data: FindPathRequest) =>\n this.request<FindPathResponse>('/graph/path', { method: 'POST', body: JSON.stringify(data) }),\n };\n\n analyze = {\n start: (data: AnalysisRequest) =>\n this.request<AnalysisResponse>('/analyze', { method: 'POST', body: JSON.stringify(data) }),\n getStatus: (jobId: string) => this.request<GetAnalysisJobResponse>(`/analyze/${jobId}`),\n cancel: (jobId: string) =>\n this.request<CancelAnalysisResponse>(`/analyze/${jobId}/cancel`, { method: 'POST' }),\n };\n\n settings = {\n get: () => this.request<GetSettingsResponse>('/settings'),\n update: (data: UpdateSettingsRequest) =>\n this.request<UpdateSettingsResponse>('/settings', { method: 'PATCH', body: JSON.stringify(data) }),\n reset: () => this.request<ResetSettingsResponse>('/settings/reset', { method: 'POST' }),\n };\n\n search = {\n semantic: (data: SemanticSearchRequest) =>\n this.request<SemanticSearchResponse>('/search', { method: 'POST', body: JSON.stringify(data) }),\n similar: (data: FindSimilarRequest) =>\n this.request<FindSimilarResponse>('/search/similar', { method: 'POST', body: JSON.stringify(data) }),\n };\n}\n","'use client';\n\nimport React, { useEffect, useMemo, useState } from 'react';\nimport type { NeuronSettings, NeuronConfig, NeuronSettingsUpdate } from '../core/types/settings';\nimport type { NeuronEvent } from '../core/types/events';\nimport { DEFAULT_ANALYSIS_SETTINGS, DEFAULT_VISUALIZATION_SETTINGS } from '../core/types/settings';\nimport { EventBus } from '../core/events/event-bus';\nimport { NeuronApiClient } from './api-client';\nimport { NeuronContext, type ErrorContext } from './context';\n\nexport interface NeuronWebProviderProps {\n children: React.ReactNode;\n config: {\n openaiApiKey?: string;\n databaseUrl?: string;\n settings?: Partial<NeuronSettings>;\n onEvent?: (event: NeuronEvent) => void;\n onError?: (error: Error, context: ErrorContext) => void;\n };\n}\n\nconst buildDefaultConfig = (overrides?: Partial<NeuronSettings>): NeuronConfig => ({\n instance: {\n name: 'default',\n version: '0.1.1',\n repoName: 'omi-neuron-web',\n },\n visualization: { ...DEFAULT_VISUALIZATION_SETTINGS, ...(overrides?.visualization ?? {}) },\n analysis: { ...DEFAULT_ANALYSIS_SETTINGS, ...(overrides?.analysis ?? {}) },\n nodeTypes: overrides?.nodeTypes ?? [],\n domains: overrides?.domains ?? [],\n relationshipTypes: overrides?.relationshipTypes ?? [],\n openai: {\n apiKey: '',\n },\n database: {\n mode: 'external',\n port: 5433,\n url: undefined,\n },\n api: {\n basePath: '/api/neuron',\n enableCors: false,\n },\n logging: {\n level: 'info',\n prettyPrint: true,\n },\n});\n\nexport function NeuronWebProvider({ children, config }: NeuronWebProviderProps): React.ReactElement {\n const [settings, setSettings] = useState<NeuronSettings>(() =>\n buildDefaultConfig(config.settings) as NeuronSettings\n );\n const [error, setError] = useState<Error | null>(null);\n const [isInitialized, setIsInitialized] = useState(false);\n\n const resolvedConfig = useMemo(() => {\n const base = buildDefaultConfig(config.settings);\n return {\n ...base,\n openai: {\n apiKey: config.openaiApiKey ?? base.openai.apiKey,\n },\n database: {\n ...base.database,\n url: config.databaseUrl ?? base.database.url,\n },\n } as NeuronConfig;\n }, [config]);\n\n const apiClient = useMemo(() => new NeuronApiClient(resolvedConfig.api.basePath), [resolvedConfig]);\n const eventBus = useMemo(() => new EventBus(), []);\n\n useEffect(() => {\n eventBus.subscribeAll((event) => config.onEvent?.(event));\n }, [eventBus, config]);\n\n useEffect(() => {\n let mounted = true;\n apiClient\n .settings.get()\n .then((response) => {\n if (mounted) {\n setSettings(response.settings as NeuronSettings);\n setIsInitialized(true);\n }\n })\n .catch((err) => {\n setError(err as Error);\n config.onError?.(err as Error, { message: 'Failed to load settings' });\n });\n return () => {\n mounted = false;\n };\n }, [apiClient]);\n\n const updateSettings = async (updates: Partial<NeuronSettings>) => {\n const response = await apiClient.settings.update(updates as NeuronSettingsUpdate);\n setSettings(response.settings as NeuronSettings);\n };\n\n const resetSettings = async () => {\n const response = await apiClient.settings.reset();\n setSettings(response.settings as NeuronSettings);\n };\n\n const contextValue = useMemo(\n () => ({\n config: resolvedConfig,\n settings,\n api: apiClient,\n events: eventBus,\n isInitialized,\n error,\n updateSettings,\n resetSettings,\n onEvent: config.onEvent,\n onError: config.onError,\n }),\n [resolvedConfig, settings, apiClient, eventBus, isInitialized, error, config]\n );\n\n return <NeuronContext.Provider value={contextValue}>{children}</NeuronContext.Provider>;\n}\n","/**\n * omi-neuron-web\n * A drop-in Next.js library for data analysis and 3D visualization\n */\n\n// Core types\nexport * from './core/types';\nexport * from './core/schemas';\nexport * from './core/events';\nexport { DataProcessor } from './core/analysis/data-processor';\nexport { EmbeddingsService } from './core/analysis/embeddings-service';\nexport { ClusteringEngine } from './core/analysis/clustering-engine';\nexport { RelationshipEngine } from './core/analysis/relationship-engine';\nexport { ScoringEngine } from './core/analysis/scoring-engine';\nexport { AnalysisPipeline } from './core/analysis/pipeline';\nexport * from './storage';\nexport * from './config';\n\n// Visualization\nexport { NeuronWeb } from './visualization';\nexport type { NeuronWebProps, NeuronWebTheme, NeuronLayoutOptions, NeuronLayoutMode } from './visualization';\n\n// Re-export hooks (when implemented)\nexport * from './react/hooks';\n\n// Re-export provider (when implemented)\nexport { NeuronWebProvider } from './react/NeuronWebProvider';\n\n// Version\nexport const VERSION = '0.1.1';\n\n"]}
package/dist/index.d.cts CHANGED
@@ -6,6 +6,7 @@ import { z } from 'zod';
6
6
  import { D as Database, a as DatabaseConfig } from './database-B0vplyA4.cjs';
7
7
  export { P as PoolStats } from './database-B0vplyA4.cjs';
8
8
  export { Migration, MigrationRunner, MigrationStatus, migration001, migration002, migration003, migration004, migrations } from './migration/index.cjs';
9
+ export { e as NeuronLayoutMode, b as NeuronLayoutOptions, c as NeuronWeb, d as NeuronWebProps, N as NeuronWebTheme } from './NeuronWeb-DG5ICk2K.cjs';
9
10
  import * as React from 'react';
10
11
  import React__default from 'react';
11
12
  import 'pg';
@@ -1479,6 +1480,6 @@ declare function NeuronWebProvider({ children, config }: NeuronWebProviderProps)
1479
1480
  * A drop-in Next.js library for data analysis and 3D visualization
1480
1481
  */
1481
1482
 
1482
- declare const VERSION = "0.1.0";
1483
+ declare const VERSION = "0.1.1";
1483
1484
 
1484
1485
  export { type AnalysisCancelledEventPayload, type AnalysisCompletedEventPayload, type AnalysisFailedEventPayload, type AnalysisOptionsInput, AnalysisPipeline, type AnalysisProgressEventPayload, AnalysisRequest, type AnalysisRequestInput, AnalysisResponse, AnalysisRun, type AnalysisSettingsInput, type AnalysisStartedEventPayload, CancelAnalysisResponse, type ClusterCreateInput, type ClusterCreatedEventPayload, ClusterMembership, type ClusterMembershipChangedEventPayload, type ClusterUpdateInput, type ClusterUpdatedEventPayload, ClusteringAlgorithm, type ClusteringConfigInput, ClusteringEngine, type ContainerStats, CreateEdgesRequest, CreateEdgesResponse, CreateNodesRequest, CreateNodesResponse, DataProcessor, Database, DatabaseConfig, type DatabaseSettingsInput, DeleteEdgeResponse, DeleteNodeResponse, type DockerConfig, DockerManager, type DomainConfigInput, type EdgeCreateInput, type EdgeCreatedEventPayload, type EdgeDeletedEventPayload, EdgeEvidence, type EdgeEvidenceInput, type EdgeFilterInput, type EdgeUpdateInput, type EdgeUpdatedEventPayload, EmbeddingsService, type EnsureOptions, EventBus, type EventFilterOptions, type EventHandler, type EventMiddleware, type EventSource, type EventSubscription, ExpandGraphRequest, type ExpandGraphRequestInput, ExpandGraphResponse, FindPathRequest, type FindPathRequestInput, FindPathResponse, FindSimilarOptions, FindSimilarRequest, type FindSimilarRequestInput, FindSimilarResponse, GetAnalysisJobResponse, GetGraphParams, type GetGraphParamsInput, GetGraphResponse, GetNodeResponse, GetSettingsResponse, GraphFilters, type HealthCheckResult, ListEdgesParams, type ListEdgesParamsInput, ListEdgesResponse, ListNodesParams, type ListNodesParamsInput, ListNodesResponse, type LogOptions, NeuronCluster, NeuronConfig, type NeuronConfigInput, NeuronEdge, type NeuronEvent, type NeuronEventEmitter, type NeuronEventType, NeuronNode, NeuronNodeCreate, NeuronNodeUpdate, NeuronSettings, type NeuronSettingsInput, NeuronSettingsUpdate, type NeuronSettingsUpdateInput, NeuronVisualCluster, NeuronVisualEdge, NeuronVisualNode, NeuronWebProvider, type NodeBatchCreateInput, type NodeBatchCreatedEventPayload, type NodeCreateInput, type NodeCreatedEventPayload, type NodeDeletedEventPayload, type NodeFilterInput, type NodeTypeConfigInput, type NodeUpdateInput, type NodeUpdatedEventPayload, type PaginationInput, RelationshipEngine, type RelationshipInferredEventPayload, type RelationshipRejectedEventPayload, RelationshipType, type RelationshipTypeConfigInput, ResetSettingsResponse, ScoringEngine, SearchResult, SemanticSearchOptions, SemanticSearchRequest, type SemanticSearchRequestInput, SemanticSearchResponse, type SettingsUpdatedEventPayload, type StartOptions, type StopOptions, UpdateEdgeRequest, UpdateNodeRequest, UpdateSettingsRequest, UpdateSettingsResponse, type UseNeuronGraphOptions, type UseNeuronNodesOptions, VERSION, VisualizationSettings, type VisualizationSettingsInput, type VizCameraChangedEventPayload, type VizFilterAppliedEventPayload, type VizNodeFocusedEventPayload, type VizNodeHoveredEventPayload, type VizNodeSelectedEventPayload, type VizPathCompletedEventPayload, type VizPathStartedEventPayload, analysisOptionsSchema, analysisRequestSchema, analysisSettingsSchema, clusterCreateSchema, clusterUpdateSchema, clusteringConfigSchema, createAnalysisEvent, createDatabase, createDatabaseFromEnv, createEdgeEvent, createEvent, createGenericEvent, createNodeEvent, databaseSettingsSchema, defineNeuronConfig, domainConfigSchema, edgeCreateSchema, edgeEvidenceSchema, edgeFilterSchema, edgeUpdateSchema, expandGraphRequestSchema, findPathRequestSchema, findSimilarRequestSchema, getDatabase, getGraphParamsSchema, listEdgesParamsSchema, listNodesParamsSchema, loggingMiddleware, neuronConfigSchema, neuronSettingsSchema, neuronSettingsUpdateSchema, nodeBatchCreateSchema, nodeCreateSchema, nodeFilterSchema, nodeTierSchema, nodeTypeConfigSchema, nodeUpdateSchema, paginationSchema, relationshipTypeConfigSchema, resetDatabaseSingleton, semanticSearchRequestSchema, useAnalysisEvents, useNeuronAnalysis, useNeuronContext, useNeuronEvents, useNeuronGraph, useNeuronNodes, useNeuronSearch, useNeuronSettings, useNodeEvents, validationMiddleware, visualizationSettingsSchema };
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ import { z } from 'zod';
6
6
  import { D as Database, a as DatabaseConfig } from './database-B0vplyA4.js';
7
7
  export { P as PoolStats } from './database-B0vplyA4.js';
8
8
  export { Migration, MigrationRunner, MigrationStatus, migration001, migration002, migration003, migration004, migrations } from './migration/index.js';
9
+ export { e as NeuronLayoutMode, b as NeuronLayoutOptions, c as NeuronWeb, d as NeuronWebProps, N as NeuronWebTheme } from './NeuronWeb-DbcYoeQE.js';
9
10
  import * as React from 'react';
10
11
  import React__default from 'react';
11
12
  import 'pg';
@@ -1479,6 +1480,6 @@ declare function NeuronWebProvider({ children, config }: NeuronWebProviderProps)
1479
1480
  * A drop-in Next.js library for data analysis and 3D visualization
1480
1481
  */
1481
1482
 
1482
- declare const VERSION = "0.1.0";
1483
+ declare const VERSION = "0.1.1";
1483
1484
 
1484
1485
  export { type AnalysisCancelledEventPayload, type AnalysisCompletedEventPayload, type AnalysisFailedEventPayload, type AnalysisOptionsInput, AnalysisPipeline, type AnalysisProgressEventPayload, AnalysisRequest, type AnalysisRequestInput, AnalysisResponse, AnalysisRun, type AnalysisSettingsInput, type AnalysisStartedEventPayload, CancelAnalysisResponse, type ClusterCreateInput, type ClusterCreatedEventPayload, ClusterMembership, type ClusterMembershipChangedEventPayload, type ClusterUpdateInput, type ClusterUpdatedEventPayload, ClusteringAlgorithm, type ClusteringConfigInput, ClusteringEngine, type ContainerStats, CreateEdgesRequest, CreateEdgesResponse, CreateNodesRequest, CreateNodesResponse, DataProcessor, Database, DatabaseConfig, type DatabaseSettingsInput, DeleteEdgeResponse, DeleteNodeResponse, type DockerConfig, DockerManager, type DomainConfigInput, type EdgeCreateInput, type EdgeCreatedEventPayload, type EdgeDeletedEventPayload, EdgeEvidence, type EdgeEvidenceInput, type EdgeFilterInput, type EdgeUpdateInput, type EdgeUpdatedEventPayload, EmbeddingsService, type EnsureOptions, EventBus, type EventFilterOptions, type EventHandler, type EventMiddleware, type EventSource, type EventSubscription, ExpandGraphRequest, type ExpandGraphRequestInput, ExpandGraphResponse, FindPathRequest, type FindPathRequestInput, FindPathResponse, FindSimilarOptions, FindSimilarRequest, type FindSimilarRequestInput, FindSimilarResponse, GetAnalysisJobResponse, GetGraphParams, type GetGraphParamsInput, GetGraphResponse, GetNodeResponse, GetSettingsResponse, GraphFilters, type HealthCheckResult, ListEdgesParams, type ListEdgesParamsInput, ListEdgesResponse, ListNodesParams, type ListNodesParamsInput, ListNodesResponse, type LogOptions, NeuronCluster, NeuronConfig, type NeuronConfigInput, NeuronEdge, type NeuronEvent, type NeuronEventEmitter, type NeuronEventType, NeuronNode, NeuronNodeCreate, NeuronNodeUpdate, NeuronSettings, type NeuronSettingsInput, NeuronSettingsUpdate, type NeuronSettingsUpdateInput, NeuronVisualCluster, NeuronVisualEdge, NeuronVisualNode, NeuronWebProvider, type NodeBatchCreateInput, type NodeBatchCreatedEventPayload, type NodeCreateInput, type NodeCreatedEventPayload, type NodeDeletedEventPayload, type NodeFilterInput, type NodeTypeConfigInput, type NodeUpdateInput, type NodeUpdatedEventPayload, type PaginationInput, RelationshipEngine, type RelationshipInferredEventPayload, type RelationshipRejectedEventPayload, RelationshipType, type RelationshipTypeConfigInput, ResetSettingsResponse, ScoringEngine, SearchResult, SemanticSearchOptions, SemanticSearchRequest, type SemanticSearchRequestInput, SemanticSearchResponse, type SettingsUpdatedEventPayload, type StartOptions, type StopOptions, UpdateEdgeRequest, UpdateNodeRequest, UpdateSettingsRequest, UpdateSettingsResponse, type UseNeuronGraphOptions, type UseNeuronNodesOptions, VERSION, VisualizationSettings, type VisualizationSettingsInput, type VizCameraChangedEventPayload, type VizFilterAppliedEventPayload, type VizNodeFocusedEventPayload, type VizNodeHoveredEventPayload, type VizNodeSelectedEventPayload, type VizPathCompletedEventPayload, type VizPathStartedEventPayload, analysisOptionsSchema, analysisRequestSchema, analysisSettingsSchema, clusterCreateSchema, clusterUpdateSchema, clusteringConfigSchema, createAnalysisEvent, createDatabase, createDatabaseFromEnv, createEdgeEvent, createEvent, createGenericEvent, createNodeEvent, databaseSettingsSchema, defineNeuronConfig, domainConfigSchema, edgeCreateSchema, edgeEvidenceSchema, edgeFilterSchema, edgeUpdateSchema, expandGraphRequestSchema, findPathRequestSchema, findSimilarRequestSchema, getDatabase, getGraphParamsSchema, listEdgesParamsSchema, listNodesParamsSchema, loggingMiddleware, neuronConfigSchema, neuronSettingsSchema, neuronSettingsUpdateSchema, nodeBatchCreateSchema, nodeCreateSchema, nodeFilterSchema, nodeTierSchema, nodeTypeConfigSchema, nodeUpdateSchema, paginationSchema, relationshipTypeConfigSchema, resetDatabaseSingleton, semanticSearchRequestSchema, useAnalysisEvents, useNeuronAnalysis, useNeuronContext, useNeuronEvents, useNeuronGraph, useNeuronNodes, useNeuronSearch, useNeuronSettings, useNodeEvents, validationMiddleware, visualizationSettingsSchema };
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
- import { nodeCreateSchema, DEFAULT_ANALYSIS_SETTINGS, DEFAULT_VISUALIZATION_SETTINGS } from './chunk-XNR42GCJ.js';
2
- export { DEFAULT_ANALYSIS_SETTINGS, DEFAULT_VISUALIZATION_SETTINGS, ScoringEngine, analysisOptionsSchema, analysisRequestSchema, analysisSettingsSchema, buildDelete, buildInsert, buildSelect, buildUpdate, buildWhereClause, createDatabase, createDatabaseFromEnv, databaseSettingsSchema, domainConfigSchema, edgeCreateSchema, edgeEvidenceSchema, edgeFilterSchema, edgeUpdateSchema, expandGraphRequestSchema, findPathRequestSchema, findSimilarRequestSchema, getDatabase, getGraphParamsSchema, listEdgesParamsSchema, listNodesParamsSchema, neuronConfigSchema, neuronSettingsSchema, neuronSettingsUpdateSchema, nodeBatchCreateSchema, nodeCreateSchema, nodeFilterSchema, nodeTierSchema, nodeTypeConfigSchema, nodeUpdateSchema, paginationSchema, relationshipTypeConfigSchema, resetDatabaseSingleton, semanticSearchRequestSchema, visualizationSettingsSchema } from './chunk-XNR42GCJ.js';
1
+ export { NeuronWeb } from './chunk-GPDX3O37.js';
2
+ import { nodeCreateSchema, DEFAULT_ANALYSIS_SETTINGS, DEFAULT_VISUALIZATION_SETTINGS } from './chunk-6LW4KNAU.js';
3
+ export { DEFAULT_ANALYSIS_SETTINGS, DEFAULT_VISUALIZATION_SETTINGS, ScoringEngine, analysisOptionsSchema, analysisRequestSchema, analysisSettingsSchema, buildDelete, buildInsert, buildSelect, buildUpdate, buildWhereClause, createDatabase, createDatabaseFromEnv, databaseSettingsSchema, domainConfigSchema, edgeCreateSchema, edgeEvidenceSchema, edgeFilterSchema, edgeUpdateSchema, expandGraphRequestSchema, findPathRequestSchema, findSimilarRequestSchema, getDatabase, getGraphParamsSchema, listEdgesParamsSchema, listNodesParamsSchema, neuronConfigSchema, neuronSettingsSchema, neuronSettingsUpdateSchema, nodeBatchCreateSchema, nodeCreateSchema, nodeFilterSchema, nodeTierSchema, nodeTypeConfigSchema, nodeUpdateSchema, paginationSchema, relationshipTypeConfigSchema, resetDatabaseSingleton, semanticSearchRequestSchema, visualizationSettingsSchema } from './chunk-6LW4KNAU.js';
3
4
  export { DockerManager } from './chunk-TFLMPBX7.js';
4
5
  import { createEvent, EventBus } from './chunk-RQCGONPN.js';
5
6
  export { AnalysisPipeline, ClusteringEngine, Database, EmbeddingsService, EventBus, RelationshipEngine, createEvent } from './chunk-RQCGONPN.js';
@@ -556,7 +557,7 @@ var NeuronApiClient = class {
556
557
  var buildDefaultConfig = (overrides) => ({
557
558
  instance: {
558
559
  name: "default",
559
- version: "0.1.0",
560
+ version: "0.1.1",
560
561
  repoName: "omi-neuron-web"
561
562
  },
562
563
  visualization: { ...DEFAULT_VISUALIZATION_SETTINGS, ...overrides?.visualization ?? {} },
@@ -647,7 +648,7 @@ function NeuronWebProvider({ children, config }) {
647
648
  }
648
649
 
649
650
  // src/index.ts
650
- var VERSION = "0.1.0";
651
+ var VERSION = "0.1.1";
651
652
 
652
653
  export { DataProcessor, NeuronWebProvider, VERSION, clusterCreateSchema, clusterUpdateSchema, clusteringConfigSchema, createAnalysisEvent, createEdgeEvent, createGenericEvent, createNodeEvent, defineNeuronConfig, loggingMiddleware, useAnalysisEvents, useNeuronAnalysis, useNeuronContext, useNeuronEvents, useNeuronGraph, useNeuronNodes, useNeuronSearch, useNeuronSettings, useNodeEvents, validationMiddleware };
653
654
  //# sourceMappingURL=index.js.map