@aitytech/agentkits-memory 1.0.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/README.md +250 -0
- package/dist/cache-manager.d.ts +134 -0
- package/dist/cache-manager.d.ts.map +1 -0
- package/dist/cache-manager.js +407 -0
- package/dist/cache-manager.js.map +1 -0
- package/dist/cli/save.d.ts +20 -0
- package/dist/cli/save.d.ts.map +1 -0
- package/dist/cli/save.js +94 -0
- package/dist/cli/save.js.map +1 -0
- package/dist/cli/setup.d.ts +18 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +163 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli/viewer.d.ts +21 -0
- package/dist/cli/viewer.d.ts.map +1 -0
- package/dist/cli/viewer.js +182 -0
- package/dist/cli/viewer.js.map +1 -0
- package/dist/hnsw-index.d.ts +111 -0
- package/dist/hnsw-index.d.ts.map +1 -0
- package/dist/hnsw-index.js +781 -0
- package/dist/hnsw-index.js.map +1 -0
- package/dist/hooks/cli.d.ts +20 -0
- package/dist/hooks/cli.d.ts.map +1 -0
- package/dist/hooks/cli.js +102 -0
- package/dist/hooks/cli.js.map +1 -0
- package/dist/hooks/context.d.ts +31 -0
- package/dist/hooks/context.d.ts.map +1 -0
- package/dist/hooks/context.js +64 -0
- package/dist/hooks/context.js.map +1 -0
- package/dist/hooks/index.d.ts +16 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +20 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/observation.d.ts +30 -0
- package/dist/hooks/observation.d.ts.map +1 -0
- package/dist/hooks/observation.js +79 -0
- package/dist/hooks/observation.js.map +1 -0
- package/dist/hooks/service.d.ts +102 -0
- package/dist/hooks/service.d.ts.map +1 -0
- package/dist/hooks/service.js +454 -0
- package/dist/hooks/service.js.map +1 -0
- package/dist/hooks/session-init.d.ts +30 -0
- package/dist/hooks/session-init.d.ts.map +1 -0
- package/dist/hooks/session-init.js +54 -0
- package/dist/hooks/session-init.js.map +1 -0
- package/dist/hooks/summarize.d.ts +30 -0
- package/dist/hooks/summarize.d.ts.map +1 -0
- package/dist/hooks/summarize.js +74 -0
- package/dist/hooks/summarize.js.map +1 -0
- package/dist/hooks/types.d.ts +193 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +137 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +173 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +564 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +9 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +9 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +22 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +368 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +14 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +110 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +100 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +9 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/migration.d.ts +77 -0
- package/dist/migration.d.ts.map +1 -0
- package/dist/migration.js +457 -0
- package/dist/migration.js.map +1 -0
- package/dist/sqljs-backend.d.ts +128 -0
- package/dist/sqljs-backend.d.ts.map +1 -0
- package/dist/sqljs-backend.js +623 -0
- package/dist/sqljs-backend.js.map +1 -0
- package/dist/types.d.ts +481 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +73 -0
- package/dist/types.js.map +1 -0
- package/hooks.json +46 -0
- package/package.json +67 -0
- package/src/__tests__/index.test.ts +407 -0
- package/src/__tests__/sqljs-backend.test.ts +410 -0
- package/src/cache-manager.ts +515 -0
- package/src/cli/save.ts +109 -0
- package/src/cli/setup.ts +203 -0
- package/src/cli/viewer.ts +218 -0
- package/src/hnsw-index.ts +1013 -0
- package/src/hooks/__tests__/handlers.test.ts +298 -0
- package/src/hooks/__tests__/integration.test.ts +431 -0
- package/src/hooks/__tests__/service.test.ts +487 -0
- package/src/hooks/__tests__/types.test.ts +341 -0
- package/src/hooks/cli.ts +121 -0
- package/src/hooks/context.ts +77 -0
- package/src/hooks/index.ts +23 -0
- package/src/hooks/observation.ts +102 -0
- package/src/hooks/service.ts +582 -0
- package/src/hooks/session-init.ts +70 -0
- package/src/hooks/summarize.ts +89 -0
- package/src/hooks/types.ts +365 -0
- package/src/index.ts +755 -0
- package/src/mcp/__tests__/server.test.ts +181 -0
- package/src/mcp/index.ts +9 -0
- package/src/mcp/server.ts +441 -0
- package/src/mcp/tools.ts +113 -0
- package/src/mcp/types.ts +109 -0
- package/src/migration.ts +574 -0
- package/src/sql.js.d.ts +70 -0
- package/src/sqljs-backend.ts +789 -0
- package/src/types.ts +715 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SqlJsBackend - Pure JavaScript SQLite for Windows compatibility
|
|
3
|
+
*
|
|
4
|
+
* When better-sqlite3 native compilation fails on Windows,
|
|
5
|
+
* sql.js provides a WASM-based fallback that works everywhere.
|
|
6
|
+
*
|
|
7
|
+
* @module @agentkits/memory/sqljs-backend
|
|
8
|
+
*/
|
|
9
|
+
import { EventEmitter } from 'node:events';
|
|
10
|
+
import { IMemoryBackend, MemoryEntry, MemoryEntryUpdate, MemoryQuery, SearchOptions, SearchResult, BackendStats, HealthCheckResult, EmbeddingGenerator } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for SqlJs Backend
|
|
13
|
+
*/
|
|
14
|
+
export interface SqlJsBackendConfig {
|
|
15
|
+
/** Path to SQLite database file (:memory: for in-memory) */
|
|
16
|
+
databasePath: string;
|
|
17
|
+
/** Enable query optimization */
|
|
18
|
+
optimize: boolean;
|
|
19
|
+
/** Default namespace */
|
|
20
|
+
defaultNamespace: string;
|
|
21
|
+
/** Embedding generator (for compatibility with hybrid mode) */
|
|
22
|
+
embeddingGenerator?: EmbeddingGenerator;
|
|
23
|
+
/** Maximum entries before auto-cleanup */
|
|
24
|
+
maxEntries: number;
|
|
25
|
+
/** Enable verbose logging */
|
|
26
|
+
verbose: boolean;
|
|
27
|
+
/** Auto-persist interval in milliseconds (0 = manual only) */
|
|
28
|
+
autoPersistInterval: number;
|
|
29
|
+
/** Path to sql.js WASM file (optional, will use CDN default) */
|
|
30
|
+
wasmPath?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* SqlJs Backend for Cross-Platform Memory Storage
|
|
34
|
+
*
|
|
35
|
+
* Provides:
|
|
36
|
+
* - Pure JavaScript/WASM implementation (no native compilation)
|
|
37
|
+
* - Windows, macOS, Linux compatibility
|
|
38
|
+
* - Same SQL interface as better-sqlite3
|
|
39
|
+
* - In-memory with periodic disk persistence
|
|
40
|
+
* - Fallback when native SQLite fails
|
|
41
|
+
*/
|
|
42
|
+
export declare class SqlJsBackend extends EventEmitter implements IMemoryBackend {
|
|
43
|
+
private config;
|
|
44
|
+
private db;
|
|
45
|
+
private initialized;
|
|
46
|
+
private persistTimer;
|
|
47
|
+
private SQL;
|
|
48
|
+
private stats;
|
|
49
|
+
constructor(config?: Partial<SqlJsBackendConfig>);
|
|
50
|
+
/**
|
|
51
|
+
* Initialize the SqlJs backend
|
|
52
|
+
*/
|
|
53
|
+
initialize(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Shutdown the backend
|
|
56
|
+
*/
|
|
57
|
+
shutdown(): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Create database schema
|
|
60
|
+
*/
|
|
61
|
+
private createSchema;
|
|
62
|
+
/**
|
|
63
|
+
* Store a memory entry
|
|
64
|
+
*/
|
|
65
|
+
store(entry: MemoryEntry): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Retrieve a memory entry by ID
|
|
68
|
+
*/
|
|
69
|
+
get(id: string): Promise<MemoryEntry | null>;
|
|
70
|
+
/**
|
|
71
|
+
* Retrieve a memory entry by key within a namespace
|
|
72
|
+
*/
|
|
73
|
+
getByKey(namespace: string, key: string): Promise<MemoryEntry | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Update a memory entry
|
|
76
|
+
*/
|
|
77
|
+
update(id: string, updateData: MemoryEntryUpdate): Promise<MemoryEntry | null>;
|
|
78
|
+
/**
|
|
79
|
+
* Delete a memory entry
|
|
80
|
+
*/
|
|
81
|
+
delete(id: string): Promise<boolean>;
|
|
82
|
+
/**
|
|
83
|
+
* Query memory entries
|
|
84
|
+
*/
|
|
85
|
+
query(query: MemoryQuery): Promise<MemoryEntry[]>;
|
|
86
|
+
/**
|
|
87
|
+
* Semantic vector search (limited without vector index)
|
|
88
|
+
*/
|
|
89
|
+
search(embedding: Float32Array, options: SearchOptions): Promise<SearchResult[]>;
|
|
90
|
+
/**
|
|
91
|
+
* Bulk insert entries
|
|
92
|
+
*/
|
|
93
|
+
bulkInsert(entries: MemoryEntry[]): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Bulk delete entries
|
|
96
|
+
*/
|
|
97
|
+
bulkDelete(ids: string[]): Promise<number>;
|
|
98
|
+
/**
|
|
99
|
+
* Get entry count
|
|
100
|
+
*/
|
|
101
|
+
count(namespace?: string): Promise<number>;
|
|
102
|
+
/**
|
|
103
|
+
* List all namespaces
|
|
104
|
+
*/
|
|
105
|
+
listNamespaces(): Promise<string[]>;
|
|
106
|
+
/**
|
|
107
|
+
* Clear all entries in a namespace
|
|
108
|
+
*/
|
|
109
|
+
clearNamespace(namespace: string): Promise<number>;
|
|
110
|
+
/**
|
|
111
|
+
* Get backend statistics
|
|
112
|
+
*/
|
|
113
|
+
getStats(): Promise<BackendStats>;
|
|
114
|
+
/**
|
|
115
|
+
* Perform health check
|
|
116
|
+
*/
|
|
117
|
+
healthCheck(): Promise<HealthCheckResult>;
|
|
118
|
+
/**
|
|
119
|
+
* Persist changes to disk (sql.js is in-memory, needs explicit save)
|
|
120
|
+
*/
|
|
121
|
+
persist(): Promise<void>;
|
|
122
|
+
private ensureInitialized;
|
|
123
|
+
private rowToEntry;
|
|
124
|
+
private updateAccessTracking;
|
|
125
|
+
private cosineSimilarity;
|
|
126
|
+
private estimateMemoryUsage;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=sqljs-backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqljs-backend.d.ts","sourceRoot":"","sources":["../src/sqljs-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,OAAO,EACL,cAAc,EACd,WAAW,EAEX,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAGjB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IAErB,gCAAgC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAElB,wBAAwB;IACxB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;IAEjB,8DAA8D;IAC9D,mBAAmB,EAAE,MAAM,CAAC;IAE5B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAcD;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,YAAa,YAAW,cAAc;IACtE,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,GAAG,CAAa;IAGxB,OAAO,CAAC,KAAK,CAKX;gBAEU,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAKpD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsDjC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAyCpB;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C9C;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA4BlD;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA8B3E;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAyBpF;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB1C;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAgHvD;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAmCtF;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvD;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAahD;;OAEG;IACG,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBhD;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAezC;;OAEG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUxD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAgCvC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA+C/C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB9B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,mBAAmB;CAO5B"}
|