aifastdb 0.2.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.
Files changed (53) hide show
  1. package/aidb.win32-x64-msvc.node +0 -0
  2. package/aifastdb.win32-x64-msvc.node +0 -0
  3. package/dist/client.d.ts +140 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +270 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/connectme-adapter.d.ts +76 -0
  8. package/dist/connectme-adapter.d.ts.map +1 -0
  9. package/dist/connectme-adapter.js +456 -0
  10. package/dist/connectme-adapter.js.map +1 -0
  11. package/dist/family-tree.d.ts +482 -0
  12. package/dist/family-tree.d.ts.map +1 -0
  13. package/dist/family-tree.js +676 -0
  14. package/dist/family-tree.js.map +1 -0
  15. package/dist/family-types.d.ts +228 -0
  16. package/dist/family-types.d.ts.map +1 -0
  17. package/dist/family-types.js +108 -0
  18. package/dist/family-types.js.map +1 -0
  19. package/dist/index.d.ts +25 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +70 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/memory-manager.d.ts +82 -0
  24. package/dist/memory-manager.d.ts.map +1 -0
  25. package/dist/memory-manager.js +273 -0
  26. package/dist/memory-manager.js.map +1 -0
  27. package/dist/native.d.ts +352 -0
  28. package/dist/native.d.ts.map +1 -0
  29. package/dist/native.js +35 -0
  30. package/dist/native.js.map +1 -0
  31. package/dist/query-builder.d.ts +143 -0
  32. package/dist/query-builder.d.ts.map +1 -0
  33. package/dist/query-builder.js +240 -0
  34. package/dist/query-builder.js.map +1 -0
  35. package/dist/social-graph.d.ts +392 -0
  36. package/dist/social-graph.d.ts.map +1 -0
  37. package/dist/social-graph.js +545 -0
  38. package/dist/social-graph.js.map +1 -0
  39. package/dist/social-types.d.ts +379 -0
  40. package/dist/social-types.d.ts.map +1 -0
  41. package/dist/social-types.js +34 -0
  42. package/dist/social-types.js.map +1 -0
  43. package/dist/types.d.ts +475 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/dist/types.js +161 -0
  46. package/dist/types.js.map +1 -0
  47. package/dist/vibe-synapse.d.ts +174 -0
  48. package/dist/vibe-synapse.d.ts.map +1 -0
  49. package/dist/vibe-synapse.js +509 -0
  50. package/dist/vibe-synapse.js.map +1 -0
  51. package/package.json +61 -0
  52. package/vibebase.node +0 -0
  53. package/vibebase.win32-x64-msvc.node +0 -0
Binary file
Binary file
@@ -0,0 +1,140 @@
1
+ /**
2
+ * High-level AiFastDb Client
3
+ *
4
+ * Provides a convenient wrapper around the native AiFastDb with:
5
+ * - Automatic embedding generation
6
+ * - OpenAI integration
7
+ * - Simplified API
8
+ */
9
+ import type { IAiFastDb, AiFastDbConfig, MemoryInput, MemoryNode, QueryOptions, SearchResult, PreparedContext } from './native';
10
+ import { QueryBuilder } from './query-builder';
11
+ import { MemoryManager, MemoryManagerConfig } from './memory-manager';
12
+ import type { EmbeddingProvider, OpenAIEmbeddingConfig } from './types';
13
+ /**
14
+ * AiFastDb Client configuration
15
+ */
16
+ export interface AiFastDbClientConfig extends AiFastDbConfig {
17
+ /** OpenAI configuration for embeddings */
18
+ openai?: OpenAIEmbeddingConfig;
19
+ /** Custom embedding provider */
20
+ embeddingProvider?: EmbeddingProvider;
21
+ /** Memory manager configuration */
22
+ memoryManager?: MemoryManagerConfig;
23
+ }
24
+ /**
25
+ * High-level AiFastDb Client
26
+ */
27
+ export declare class AiFastDbClient {
28
+ private config;
29
+ private db;
30
+ private embeddingProvider?;
31
+ private memoryManager;
32
+ private initialized;
33
+ private initPromise?;
34
+ constructor(config: AiFastDbClientConfig);
35
+ /**
36
+ * Initialize the client (called automatically)
37
+ */
38
+ private initialize;
39
+ /**
40
+ * Ensure client is initialized
41
+ */
42
+ private ensureInitialized;
43
+ /**
44
+ * Get the native database instance
45
+ */
46
+ get native(): IAiFastDb;
47
+ /**
48
+ * Get the memory manager
49
+ */
50
+ get memory(): MemoryManager;
51
+ /**
52
+ * Get database size
53
+ */
54
+ get size(): number;
55
+ /**
56
+ * Store a memory with automatic embedding
57
+ */
58
+ remember(content: string, options?: Partial<MemoryInput>): Promise<MemoryNode>;
59
+ /**
60
+ * Store multiple memories
61
+ */
62
+ rememberMany(items: Array<{
63
+ content: string;
64
+ options?: Partial<MemoryInput>;
65
+ }>): Promise<MemoryNode[]>;
66
+ /**
67
+ * Recall memories by query
68
+ */
69
+ recall(query: string, limit?: number): Promise<MemoryNode[]>;
70
+ /**
71
+ * Advanced recall with options
72
+ */
73
+ recallAdvanced(options: QueryOptions): Promise<SearchResult[]>;
74
+ /**
75
+ * Create a query builder
76
+ */
77
+ query(): QueryBuilder;
78
+ /**
79
+ * Get a memory by ID
80
+ */
81
+ get(id: string): MemoryNode | null;
82
+ /**
83
+ * Delete a memory
84
+ */
85
+ forget(id: string): boolean;
86
+ /**
87
+ * Check if memory exists
88
+ */
89
+ has(id: string): boolean;
90
+ /**
91
+ * Get context for LLM
92
+ */
93
+ getContext(query: string, maxTokens?: number): Promise<PreparedContext>;
94
+ /**
95
+ * Find memories by tag
96
+ */
97
+ findByTag(tag: string): MemoryNode[];
98
+ /**
99
+ * Find important memories
100
+ */
101
+ findImportant(minImportance?: number): MemoryNode[];
102
+ /**
103
+ * Add an entity
104
+ */
105
+ addEntity(name: string, type: string, properties?: Record<string, unknown>): string;
106
+ /**
107
+ * Add a relation
108
+ */
109
+ addRelation(source: string, target: string, type: string, weight?: number): string;
110
+ /**
111
+ * Explore the knowledge graph
112
+ */
113
+ explore(startId: string, maxHops?: number, relationTypes?: string[]): Record<string, unknown>[];
114
+ /**
115
+ * Flush changes to disk
116
+ */
117
+ flush(): void;
118
+ /**
119
+ * Close the database
120
+ */
121
+ close(): void;
122
+ /**
123
+ * Prune old memories
124
+ */
125
+ prune(): number;
126
+ /**
127
+ * Get statistics
128
+ */
129
+ stats(): {
130
+ totalMemories: number;
131
+ avgImportance: number;
132
+ oldestMemory: number;
133
+ newestMemory: number;
134
+ };
135
+ }
136
+ /**
137
+ * Create a new AiFastDb client
138
+ */
139
+ export declare function createAiFastDb(config: AiFastDbClientConfig): Promise<AiFastDbClient>;
140
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../ts/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,270 @@
1
+ "use strict";
2
+ /**
3
+ * High-level AiFastDb Client
4
+ *
5
+ * Provides a convenient wrapper around the native AiFastDb with:
6
+ * - Automatic embedding generation
7
+ * - OpenAI integration
8
+ * - Simplified API
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.AiFastDbClient = void 0;
45
+ exports.createAiFastDb = createAiFastDb;
46
+ const native_1 = require("./native");
47
+ const query_builder_1 = require("./query-builder");
48
+ const memory_manager_1 = require("./memory-manager");
49
+ /**
50
+ * Create an OpenAI embedding provider
51
+ */
52
+ async function createOpenAIProvider(config) {
53
+ // Dynamic import to avoid requiring openai when not used
54
+ const { default: OpenAI } = await Promise.resolve().then(() => __importStar(require('openai')));
55
+ const client = new OpenAI({
56
+ apiKey: config.apiKey,
57
+ baseURL: config.baseUrl,
58
+ });
59
+ const model = config.model ?? 'text-embedding-ada-002';
60
+ const dimension = model.includes('3-small') ? 1536 :
61
+ model.includes('3-large') ? 3072 : 1536;
62
+ return {
63
+ dimension,
64
+ async embed(text) {
65
+ const response = await client.embeddings.create({
66
+ model,
67
+ input: text,
68
+ });
69
+ return response.data[0].embedding;
70
+ },
71
+ async embedBatch(texts) {
72
+ const response = await client.embeddings.create({
73
+ model,
74
+ input: texts,
75
+ });
76
+ return response.data.map(d => d.embedding);
77
+ },
78
+ };
79
+ }
80
+ /**
81
+ * High-level AiFastDb Client
82
+ */
83
+ class AiFastDbClient {
84
+ constructor(config) {
85
+ this.config = config;
86
+ this.initialized = false;
87
+ this.db = new native_1.AiFastDb({
88
+ path: config.path,
89
+ dimension: config.dimension,
90
+ hnsw: config.hnsw,
91
+ });
92
+ this.memoryManager = new memory_manager_1.MemoryManager(this.db, config.memoryManager);
93
+ // Start async initialization
94
+ this.initPromise = this.initialize();
95
+ }
96
+ /**
97
+ * Initialize the client (called automatically)
98
+ */
99
+ async initialize() {
100
+ if (this.initialized)
101
+ return;
102
+ // Setup embedding provider
103
+ if (this.config.embeddingProvider) {
104
+ this.embeddingProvider = this.config.embeddingProvider;
105
+ }
106
+ else if (this.config.openai) {
107
+ this.embeddingProvider = await createOpenAIProvider(this.config.openai);
108
+ }
109
+ if (this.embeddingProvider) {
110
+ this.memoryManager.setEmbeddingProvider(this.embeddingProvider);
111
+ }
112
+ this.initialized = true;
113
+ }
114
+ /**
115
+ * Ensure client is initialized
116
+ */
117
+ async ensureInitialized() {
118
+ if (!this.initialized && this.initPromise) {
119
+ await this.initPromise;
120
+ }
121
+ }
122
+ /**
123
+ * Get the native database instance
124
+ */
125
+ get native() {
126
+ return this.db;
127
+ }
128
+ /**
129
+ * Get the memory manager
130
+ */
131
+ get memory() {
132
+ return this.memoryManager;
133
+ }
134
+ /**
135
+ * Get database size
136
+ */
137
+ get size() {
138
+ return this.db.size;
139
+ }
140
+ /**
141
+ * Store a memory with automatic embedding
142
+ */
143
+ async remember(content, options) {
144
+ await this.ensureInitialized();
145
+ return this.memoryManager.remember(content, options);
146
+ }
147
+ /**
148
+ * Store multiple memories
149
+ */
150
+ async rememberMany(items) {
151
+ await this.ensureInitialized();
152
+ return this.memoryManager.rememberMany(items);
153
+ }
154
+ /**
155
+ * Recall memories by query
156
+ */
157
+ async recall(query, limit) {
158
+ await this.ensureInitialized();
159
+ return this.memoryManager.recall(query, limit);
160
+ }
161
+ /**
162
+ * Advanced recall with options
163
+ */
164
+ async recallAdvanced(options) {
165
+ await this.ensureInitialized();
166
+ // Auto-embed query text if needed
167
+ if (options.query && this.embeddingProvider && !options.vector) {
168
+ options.vector = await this.embeddingProvider.embed(options.query);
169
+ }
170
+ return this.db.recall(options);
171
+ }
172
+ /**
173
+ * Create a query builder
174
+ */
175
+ query() {
176
+ return new query_builder_1.QueryBuilder(this.db);
177
+ }
178
+ /**
179
+ * Get a memory by ID
180
+ */
181
+ get(id) {
182
+ return this.db.get(id);
183
+ }
184
+ /**
185
+ * Delete a memory
186
+ */
187
+ forget(id) {
188
+ return this.db.forget(id);
189
+ }
190
+ /**
191
+ * Check if memory exists
192
+ */
193
+ has(id) {
194
+ return this.db.has(id);
195
+ }
196
+ /**
197
+ * Get context for LLM
198
+ */
199
+ async getContext(query, maxTokens) {
200
+ await this.ensureInitialized();
201
+ return this.memoryManager.getContext(query, maxTokens);
202
+ }
203
+ /**
204
+ * Find memories by tag
205
+ */
206
+ findByTag(tag) {
207
+ return this.db.findByTag(tag);
208
+ }
209
+ /**
210
+ * Find important memories
211
+ */
212
+ findImportant(minImportance = 0.7) {
213
+ return this.db.findImportant(minImportance);
214
+ }
215
+ // === Knowledge Graph ===
216
+ /**
217
+ * Add an entity
218
+ */
219
+ addEntity(name, type, properties) {
220
+ return this.db.addEntity(name, type, properties);
221
+ }
222
+ /**
223
+ * Add a relation
224
+ */
225
+ addRelation(source, target, type, weight) {
226
+ return this.db.addRelation(source, target, type, weight);
227
+ }
228
+ /**
229
+ * Explore the knowledge graph
230
+ */
231
+ explore(startId, maxHops, relationTypes) {
232
+ return this.db.explore(startId, maxHops, relationTypes);
233
+ }
234
+ // === Lifecycle ===
235
+ /**
236
+ * Flush changes to disk
237
+ */
238
+ flush() {
239
+ this.db.flush();
240
+ }
241
+ /**
242
+ * Close the database
243
+ */
244
+ close() {
245
+ this.db.close();
246
+ }
247
+ /**
248
+ * Prune old memories
249
+ */
250
+ prune() {
251
+ return this.memoryManager.prune();
252
+ }
253
+ /**
254
+ * Get statistics
255
+ */
256
+ stats() {
257
+ return this.memoryManager.stats();
258
+ }
259
+ }
260
+ exports.AiFastDbClient = AiFastDbClient;
261
+ /**
262
+ * Create a new AiFastDb client
263
+ */
264
+ async function createAiFastDb(config) {
265
+ const client = new AiFastDbClient(config);
266
+ // Wait for initialization
267
+ await client.initPromise;
268
+ return client;
269
+ }
270
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../ts/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * ConnectMeAdapter - Data adapter for connectMeTrae2 format
3
+ *
4
+ * Provides import/export functionality between connectMeTrae2 JSON format
5
+ * and AiFastDb's social graph.
6
+ */
7
+ import type { SocialGraph } from './social-graph';
8
+ import type { ConnectMeData, ImportResult, ExportOptions } from './social-types';
9
+ /**
10
+ * ConnectMeAdapter converts between connectMeTrae2 format and AiFastDb social graph.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { AiFastDb, SocialGraph, ConnectMeAdapter } from 'aifastdb';
15
+ * import * as fs from 'fs';
16
+ *
17
+ * const db = new AiFastDb({ path: './data', dimension: 768 });
18
+ * const social = new SocialGraph(db);
19
+ * const adapter = new ConnectMeAdapter(social);
20
+ *
21
+ * // Import from connectMeTrae2 format
22
+ * const data = {
23
+ * persons: JSON.parse(fs.readFileSync('persons.json', 'utf-8')),
24
+ * tags: JSON.parse(fs.readFileSync('tags.json', 'utf-8')),
25
+ * };
26
+ *
27
+ * const result = await adapter.import(data);
28
+ * console.log(`Imported ${result.persons.created} persons`);
29
+ * ```
30
+ */
31
+ export declare class ConnectMeAdapter {
32
+ private social;
33
+ constructor(social: SocialGraph);
34
+ /**
35
+ * Import data from connectMeTrae2 format
36
+ */
37
+ import(data: ConnectMeData): Promise<ImportResult>;
38
+ /**
39
+ * Import a single tag
40
+ */
41
+ private importTag;
42
+ /**
43
+ * Import a single person
44
+ */
45
+ private importPerson;
46
+ /**
47
+ * Determine tag type based on tag properties
48
+ */
49
+ private determineTagType;
50
+ /**
51
+ * Sort tags by hierarchy (parents before children)
52
+ */
53
+ private sortTagsByHierarchy;
54
+ /**
55
+ * Export data to connectMeTrae2 format
56
+ */
57
+ export(options?: ExportOptions): Promise<ConnectMeData>;
58
+ /**
59
+ * Import friend relationships from an adjacency list
60
+ *
61
+ * @param friendships Array of [personA_id, personB_id] pairs
62
+ */
63
+ importFriendships(friendships: Array<[string, string]>): Promise<{
64
+ created: number;
65
+ failed: number;
66
+ }>;
67
+ /**
68
+ * Validate connectMeTrae2 data format
69
+ */
70
+ validate(data: unknown): {
71
+ valid: boolean;
72
+ errors: string[];
73
+ };
74
+ }
75
+ export default ConnectMeAdapter;
76
+ //# sourceMappingURL=connectme-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectme-adapter.d.ts","sourceRoot":"","sources":["../ts/connectme-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EAGb,YAAY,EACZ,aAAa,EAKd,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAQ/B;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA2JxD;;OAEG;IACH,OAAO,CAAC,SAAS;IAiBjB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;OAEG;IACG,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAyH7D;;;;OAIG;IACG,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB3G;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAoC9D;AAED,eAAe,gBAAgB,CAAC"}