@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.
Files changed (116) hide show
  1. package/README.md +250 -0
  2. package/dist/cache-manager.d.ts +134 -0
  3. package/dist/cache-manager.d.ts.map +1 -0
  4. package/dist/cache-manager.js +407 -0
  5. package/dist/cache-manager.js.map +1 -0
  6. package/dist/cli/save.d.ts +20 -0
  7. package/dist/cli/save.d.ts.map +1 -0
  8. package/dist/cli/save.js +94 -0
  9. package/dist/cli/save.js.map +1 -0
  10. package/dist/cli/setup.d.ts +18 -0
  11. package/dist/cli/setup.d.ts.map +1 -0
  12. package/dist/cli/setup.js +163 -0
  13. package/dist/cli/setup.js.map +1 -0
  14. package/dist/cli/viewer.d.ts +21 -0
  15. package/dist/cli/viewer.d.ts.map +1 -0
  16. package/dist/cli/viewer.js +182 -0
  17. package/dist/cli/viewer.js.map +1 -0
  18. package/dist/hnsw-index.d.ts +111 -0
  19. package/dist/hnsw-index.d.ts.map +1 -0
  20. package/dist/hnsw-index.js +781 -0
  21. package/dist/hnsw-index.js.map +1 -0
  22. package/dist/hooks/cli.d.ts +20 -0
  23. package/dist/hooks/cli.d.ts.map +1 -0
  24. package/dist/hooks/cli.js +102 -0
  25. package/dist/hooks/cli.js.map +1 -0
  26. package/dist/hooks/context.d.ts +31 -0
  27. package/dist/hooks/context.d.ts.map +1 -0
  28. package/dist/hooks/context.js +64 -0
  29. package/dist/hooks/context.js.map +1 -0
  30. package/dist/hooks/index.d.ts +16 -0
  31. package/dist/hooks/index.d.ts.map +1 -0
  32. package/dist/hooks/index.js +20 -0
  33. package/dist/hooks/index.js.map +1 -0
  34. package/dist/hooks/observation.d.ts +30 -0
  35. package/dist/hooks/observation.d.ts.map +1 -0
  36. package/dist/hooks/observation.js +79 -0
  37. package/dist/hooks/observation.js.map +1 -0
  38. package/dist/hooks/service.d.ts +102 -0
  39. package/dist/hooks/service.d.ts.map +1 -0
  40. package/dist/hooks/service.js +454 -0
  41. package/dist/hooks/service.js.map +1 -0
  42. package/dist/hooks/session-init.d.ts +30 -0
  43. package/dist/hooks/session-init.d.ts.map +1 -0
  44. package/dist/hooks/session-init.js +54 -0
  45. package/dist/hooks/session-init.js.map +1 -0
  46. package/dist/hooks/summarize.d.ts +30 -0
  47. package/dist/hooks/summarize.d.ts.map +1 -0
  48. package/dist/hooks/summarize.js +74 -0
  49. package/dist/hooks/summarize.js.map +1 -0
  50. package/dist/hooks/types.d.ts +193 -0
  51. package/dist/hooks/types.d.ts.map +1 -0
  52. package/dist/hooks/types.js +137 -0
  53. package/dist/hooks/types.js.map +1 -0
  54. package/dist/index.d.ts +173 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +564 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/mcp/index.d.ts +9 -0
  59. package/dist/mcp/index.d.ts.map +1 -0
  60. package/dist/mcp/index.js +9 -0
  61. package/dist/mcp/index.js.map +1 -0
  62. package/dist/mcp/server.d.ts +22 -0
  63. package/dist/mcp/server.d.ts.map +1 -0
  64. package/dist/mcp/server.js +368 -0
  65. package/dist/mcp/server.js.map +1 -0
  66. package/dist/mcp/tools.d.ts +14 -0
  67. package/dist/mcp/tools.d.ts.map +1 -0
  68. package/dist/mcp/tools.js +110 -0
  69. package/dist/mcp/tools.js.map +1 -0
  70. package/dist/mcp/types.d.ts +100 -0
  71. package/dist/mcp/types.d.ts.map +1 -0
  72. package/dist/mcp/types.js +9 -0
  73. package/dist/mcp/types.js.map +1 -0
  74. package/dist/migration.d.ts +77 -0
  75. package/dist/migration.d.ts.map +1 -0
  76. package/dist/migration.js +457 -0
  77. package/dist/migration.js.map +1 -0
  78. package/dist/sqljs-backend.d.ts +128 -0
  79. package/dist/sqljs-backend.d.ts.map +1 -0
  80. package/dist/sqljs-backend.js +623 -0
  81. package/dist/sqljs-backend.js.map +1 -0
  82. package/dist/types.d.ts +481 -0
  83. package/dist/types.d.ts.map +1 -0
  84. package/dist/types.js +73 -0
  85. package/dist/types.js.map +1 -0
  86. package/hooks.json +46 -0
  87. package/package.json +67 -0
  88. package/src/__tests__/index.test.ts +407 -0
  89. package/src/__tests__/sqljs-backend.test.ts +410 -0
  90. package/src/cache-manager.ts +515 -0
  91. package/src/cli/save.ts +109 -0
  92. package/src/cli/setup.ts +203 -0
  93. package/src/cli/viewer.ts +218 -0
  94. package/src/hnsw-index.ts +1013 -0
  95. package/src/hooks/__tests__/handlers.test.ts +298 -0
  96. package/src/hooks/__tests__/integration.test.ts +431 -0
  97. package/src/hooks/__tests__/service.test.ts +487 -0
  98. package/src/hooks/__tests__/types.test.ts +341 -0
  99. package/src/hooks/cli.ts +121 -0
  100. package/src/hooks/context.ts +77 -0
  101. package/src/hooks/index.ts +23 -0
  102. package/src/hooks/observation.ts +102 -0
  103. package/src/hooks/service.ts +582 -0
  104. package/src/hooks/session-init.ts +70 -0
  105. package/src/hooks/summarize.ts +89 -0
  106. package/src/hooks/types.ts +365 -0
  107. package/src/index.ts +755 -0
  108. package/src/mcp/__tests__/server.test.ts +181 -0
  109. package/src/mcp/index.ts +9 -0
  110. package/src/mcp/server.ts +441 -0
  111. package/src/mcp/tools.ts +113 -0
  112. package/src/mcp/types.ts +109 -0
  113. package/src/migration.ts +574 -0
  114. package/src/sql.js.d.ts +70 -0
  115. package/src/sqljs-backend.ts +789 -0
  116. 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":"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"}