@omiron33/omi-neuron-web 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/dist/NeuronWeb-BS4yLYQf.d.cts +85 -0
- package/dist/NeuronWeb-pWxbA_oL.d.ts +85 -0
- package/dist/api/index.cjs +32 -32
- package/dist/api/index.js +1 -1
- package/dist/chunk-2WP2AEZC.cjs +545 -0
- package/dist/chunk-2WP2AEZC.cjs.map +1 -0
- package/dist/{chunk-XNR42GCJ.js → chunk-6LW4KNAU.js} +2 -2
- package/dist/{chunk-XNR42GCJ.js.map → chunk-6LW4KNAU.js.map} +1 -1
- package/dist/chunk-DMF2DKZA.js +519 -0
- package/dist/chunk-DMF2DKZA.js.map +1 -0
- package/dist/{chunk-RTSFO7BW.cjs → chunk-OBZGUYGW.cjs} +2 -2
- package/dist/{chunk-RTSFO7BW.cjs.map → chunk-OBZGUYGW.cjs.map} +1 -1
- package/dist/cli/index.cjs +4 -4
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +4 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/index.cjs +51 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/visualization/index.cjs +21 -478
- package/dist/visualization/index.cjs.map +1 -1
- package/dist/visualization/index.d.cts +8 -75
- package/dist/visualization/index.d.ts +8 -75
- package/dist/visualization/index.js +1 -458
- package/dist/visualization/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs.map
CHANGED
|
@@ -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 { d as NeuronLayoutMode, a as NeuronLayoutOptions, b as NeuronWeb, c as NeuronWebProps, N as NeuronWebTheme } from './NeuronWeb-BS4yLYQf.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.
|
|
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 { d as NeuronLayoutMode, a as NeuronLayoutOptions, b as NeuronWeb, c as NeuronWebProps, N as NeuronWebTheme } from './NeuronWeb-pWxbA_oL.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.
|
|
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
|
-
|
|
2
|
-
|
|
1
|
+
export { NeuronWeb } from './chunk-DMF2DKZA.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.
|
|
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.
|
|
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
|