@soulcraft/brainy 3.44.0 → 3.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +89 -0
- package/dist/augmentations/KnowledgeAugmentation.d.ts +40 -0
- package/dist/augmentations/KnowledgeAugmentation.js +251 -0
- package/dist/brainy.d.ts +8 -1
- package/dist/brainy.js +25 -1
- package/dist/neural/embeddedTypeEmbeddings.d.ts +1 -1
- package/dist/neural/embeddedTypeEmbeddings.js +2 -2
- package/dist/storage/adapters/typeAwareStorageAdapter.d.ts +210 -0
- package/dist/storage/adapters/typeAwareStorageAdapter.js +626 -0
- package/dist/storage/storageFactory.d.ts +23 -2
- package/dist/storage/storageFactory.js +19 -1
- package/dist/types/brainyDataInterface.d.ts +52 -0
- package/dist/types/brainyDataInterface.js +10 -0
- package/dist/types/graphTypes.d.ts +132 -0
- package/dist/types/graphTypes.js +172 -0
- package/dist/utils/metadataIndex.d.ts +73 -2
- package/dist/utils/metadataIndex.js +316 -74
- package/dist/vfs/ConceptSystem.d.ts +203 -0
- package/dist/vfs/ConceptSystem.js +545 -0
- package/dist/vfs/EntityManager.d.ts +75 -0
- package/dist/vfs/EntityManager.js +216 -0
- package/dist/vfs/EventRecorder.d.ts +84 -0
- package/dist/vfs/EventRecorder.js +269 -0
- package/dist/vfs/GitBridge.d.ts +167 -0
- package/dist/vfs/GitBridge.js +537 -0
- package/dist/vfs/KnowledgeLayer.d.ts +35 -0
- package/dist/vfs/KnowledgeLayer.js +443 -0
- package/dist/vfs/PersistentEntitySystem.d.ts +165 -0
- package/dist/vfs/PersistentEntitySystem.js +503 -0
- package/dist/vfs/SemanticVersioning.d.ts +105 -0
- package/dist/vfs/SemanticVersioning.js +309 -0
- package/package.json +1 -1
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal Concept System for VFS
|
|
3
|
+
*
|
|
4
|
+
* Manages concepts that transcend files and exist independently
|
|
5
|
+
* Ideas that can be linked to multiple manifestations across domains
|
|
6
|
+
* PRODUCTION-READY: Real implementation using Brainy
|
|
7
|
+
*/
|
|
8
|
+
import { Brainy } from '../brainy.js';
|
|
9
|
+
import { EntityManager, ManagedEntity } from './EntityManager.js';
|
|
10
|
+
/**
|
|
11
|
+
* Universal concept that exists independently of files
|
|
12
|
+
*/
|
|
13
|
+
export interface UniversalConcept extends ManagedEntity {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
domain: string;
|
|
18
|
+
category: string;
|
|
19
|
+
keywords: string[];
|
|
20
|
+
links: ConceptLink[];
|
|
21
|
+
manifestations: ConceptManifestation[];
|
|
22
|
+
strength: number;
|
|
23
|
+
created: number;
|
|
24
|
+
lastUpdated: number;
|
|
25
|
+
version: number;
|
|
26
|
+
metadata: Record<string, any>;
|
|
27
|
+
conceptType?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* A link between concepts
|
|
31
|
+
*/
|
|
32
|
+
export interface ConceptLink {
|
|
33
|
+
id: string;
|
|
34
|
+
targetConceptId: string;
|
|
35
|
+
relationship: 'extends' | 'implements' | 'uses' | 'opposite' | 'related' | 'contains' | 'part-of';
|
|
36
|
+
strength: number;
|
|
37
|
+
context?: string;
|
|
38
|
+
bidirectional: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A manifestation of a concept in a specific location
|
|
42
|
+
*/
|
|
43
|
+
export interface ConceptManifestation extends ManagedEntity {
|
|
44
|
+
id: string;
|
|
45
|
+
conceptId: string;
|
|
46
|
+
filePath: string;
|
|
47
|
+
context: string;
|
|
48
|
+
form: 'definition' | 'usage' | 'example' | 'discussion' | 'implementation';
|
|
49
|
+
position?: {
|
|
50
|
+
line?: number;
|
|
51
|
+
column?: number;
|
|
52
|
+
offset?: number;
|
|
53
|
+
};
|
|
54
|
+
confidence: number;
|
|
55
|
+
timestamp: number;
|
|
56
|
+
extractedBy: 'manual' | 'auto' | 'ai';
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Configuration for concept system
|
|
60
|
+
*/
|
|
61
|
+
export interface ConceptSystemConfig {
|
|
62
|
+
autoLink?: boolean;
|
|
63
|
+
similarityThreshold?: number;
|
|
64
|
+
maxManifestations?: number;
|
|
65
|
+
strengthDecay?: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Concept graph structure for visualization
|
|
69
|
+
*/
|
|
70
|
+
export interface ConceptGraph {
|
|
71
|
+
concepts: Array<{
|
|
72
|
+
id: string;
|
|
73
|
+
name: string;
|
|
74
|
+
domain: string;
|
|
75
|
+
strength: number;
|
|
76
|
+
manifestationCount: number;
|
|
77
|
+
}>;
|
|
78
|
+
links: Array<{
|
|
79
|
+
source: string;
|
|
80
|
+
target: string;
|
|
81
|
+
relationship: string;
|
|
82
|
+
strength: number;
|
|
83
|
+
}>;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Universal Concept System
|
|
87
|
+
*
|
|
88
|
+
* Manages concepts that exist independently of any specific file or context
|
|
89
|
+
* Examples:
|
|
90
|
+
* - "Authentication" concept appearing in docs, code, tests
|
|
91
|
+
* - "Customer Journey" concept in marketing, UX, analytics
|
|
92
|
+
* - "Dependency Injection" pattern across multiple codebases
|
|
93
|
+
* - "Sustainability" theme in various research papers
|
|
94
|
+
*/
|
|
95
|
+
export declare class ConceptSystem extends EntityManager {
|
|
96
|
+
private config;
|
|
97
|
+
private conceptCache;
|
|
98
|
+
constructor(brain: Brainy, config?: ConceptSystemConfig);
|
|
99
|
+
/**
|
|
100
|
+
* Create a new universal concept
|
|
101
|
+
*/
|
|
102
|
+
createConcept(concept: Omit<UniversalConcept, 'id' | 'created' | 'lastUpdated' | 'version' | 'links' | 'manifestations'>): Promise<string>;
|
|
103
|
+
/**
|
|
104
|
+
* Find concepts by various criteria
|
|
105
|
+
*/
|
|
106
|
+
findConcepts(query: {
|
|
107
|
+
name?: string;
|
|
108
|
+
domain?: string;
|
|
109
|
+
category?: string;
|
|
110
|
+
keywords?: string[];
|
|
111
|
+
similar?: string;
|
|
112
|
+
manifestedIn?: string;
|
|
113
|
+
}): Promise<UniversalConcept[]>;
|
|
114
|
+
/**
|
|
115
|
+
* Link two concepts together
|
|
116
|
+
*/
|
|
117
|
+
linkConcept(fromConceptId: string, toConceptId: string, relationship: ConceptLink['relationship'], options?: {
|
|
118
|
+
strength?: number;
|
|
119
|
+
context?: string;
|
|
120
|
+
bidirectional?: boolean;
|
|
121
|
+
}): Promise<string>;
|
|
122
|
+
/**
|
|
123
|
+
* Record a manifestation of a concept in a file
|
|
124
|
+
*/
|
|
125
|
+
recordManifestation(conceptId: string, filePath: string, context: string, form: ConceptManifestation['form'], options?: {
|
|
126
|
+
position?: ConceptManifestation['position'];
|
|
127
|
+
confidence?: number;
|
|
128
|
+
extractedBy?: ConceptManifestation['extractedBy'];
|
|
129
|
+
}): Promise<string>;
|
|
130
|
+
/**
|
|
131
|
+
* Extract and link concepts from content
|
|
132
|
+
*/
|
|
133
|
+
extractAndLinkConcepts(filePath: string, content: Buffer): Promise<string[]>;
|
|
134
|
+
/**
|
|
135
|
+
* Get concept graph for visualization
|
|
136
|
+
*/
|
|
137
|
+
getConceptGraph(options?: {
|
|
138
|
+
domain?: string;
|
|
139
|
+
minStrength?: number;
|
|
140
|
+
maxConcepts?: number;
|
|
141
|
+
}): Promise<ConceptGraph>;
|
|
142
|
+
/**
|
|
143
|
+
* Find appearances of a concept
|
|
144
|
+
*/
|
|
145
|
+
findAppearances(conceptId: string, options?: {
|
|
146
|
+
filePath?: string;
|
|
147
|
+
form?: ConceptManifestation['form'];
|
|
148
|
+
minConfidence?: number;
|
|
149
|
+
limit?: number;
|
|
150
|
+
}): Promise<ConceptManifestation[]>;
|
|
151
|
+
/**
|
|
152
|
+
* Auto-link concept to similar concepts
|
|
153
|
+
*/
|
|
154
|
+
private autoLinkConcept;
|
|
155
|
+
/**
|
|
156
|
+
* Get concept by ID
|
|
157
|
+
*/
|
|
158
|
+
private getConcept;
|
|
159
|
+
/**
|
|
160
|
+
* Update stored concept
|
|
161
|
+
*/
|
|
162
|
+
private updateConcept;
|
|
163
|
+
/**
|
|
164
|
+
* Calculate similarity between two concepts
|
|
165
|
+
*/
|
|
166
|
+
private calculateConceptSimilarity;
|
|
167
|
+
/**
|
|
168
|
+
* Generate embedding for concept
|
|
169
|
+
*/
|
|
170
|
+
private generateConceptEmbedding;
|
|
171
|
+
/**
|
|
172
|
+
* Generate embedding for text
|
|
173
|
+
*/
|
|
174
|
+
private generateTextEmbedding;
|
|
175
|
+
/**
|
|
176
|
+
* Get reverse relationship type
|
|
177
|
+
*/
|
|
178
|
+
private getReverseRelationship;
|
|
179
|
+
/**
|
|
180
|
+
* Map concept relationship to VerbType
|
|
181
|
+
*/
|
|
182
|
+
private getVerbType;
|
|
183
|
+
/**
|
|
184
|
+
* Detect concept domain from context
|
|
185
|
+
*/
|
|
186
|
+
private detectDomain;
|
|
187
|
+
/**
|
|
188
|
+
* Detect concept category
|
|
189
|
+
*/
|
|
190
|
+
private detectCategory;
|
|
191
|
+
/**
|
|
192
|
+
* Detect manifestation form from context
|
|
193
|
+
*/
|
|
194
|
+
private detectManifestationForm;
|
|
195
|
+
/**
|
|
196
|
+
* Extract context around a position
|
|
197
|
+
*/
|
|
198
|
+
private extractContext;
|
|
199
|
+
/**
|
|
200
|
+
* Clear concept cache
|
|
201
|
+
*/
|
|
202
|
+
clearCache(conceptId?: string): void;
|
|
203
|
+
}
|