context-gatekeeper 0.3.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 (305) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +774 -0
  3. package/README.zh.md +765 -0
  4. package/bin/context-gatekeeper-cli.js +60 -0
  5. package/dist/api/gdpr.d.ts +104 -0
  6. package/dist/api/gdpr.d.ts.map +1 -0
  7. package/dist/api/gdpr.js +229 -0
  8. package/dist/api/gdpr.js.map +1 -0
  9. package/dist/api/health-check.d.ts +13 -0
  10. package/dist/api/health-check.d.ts.map +1 -0
  11. package/dist/api/health-check.js +2 -0
  12. package/dist/api/health-check.js.map +1 -0
  13. package/dist/api/index.d.ts +7 -0
  14. package/dist/api/index.d.ts.map +1 -0
  15. package/dist/api/index.js +8 -0
  16. package/dist/api/index.js.map +1 -0
  17. package/dist/api/observability.d.ts +39 -0
  18. package/dist/api/observability.d.ts.map +1 -0
  19. package/dist/api/observability.js +132 -0
  20. package/dist/api/observability.js.map +1 -0
  21. package/dist/api/session-manager.d.ts +41 -0
  22. package/dist/api/session-manager.d.ts.map +1 -0
  23. package/dist/api/session-manager.js +129 -0
  24. package/dist/api/session-manager.js.map +1 -0
  25. package/dist/index.d.ts +2 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +7 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/mcp/server.d.ts +8 -0
  30. package/dist/mcp/server.d.ts.map +1 -0
  31. package/dist/mcp/server.js +613 -0
  32. package/dist/mcp/server.js.map +1 -0
  33. package/dist/mcp/tools/configure-llm.d.ts +26 -0
  34. package/dist/mcp/tools/configure-llm.d.ts.map +1 -0
  35. package/dist/mcp/tools/configure-llm.js +32 -0
  36. package/dist/mcp/tools/configure-llm.js.map +1 -0
  37. package/dist/mcp/tools/context-compress.d.ts +15 -0
  38. package/dist/mcp/tools/context-compress.d.ts.map +1 -0
  39. package/dist/mcp/tools/context-compress.js +15 -0
  40. package/dist/mcp/tools/context-compress.js.map +1 -0
  41. package/dist/mcp/tools/dual-mode-execute.d.ts +78 -0
  42. package/dist/mcp/tools/dual-mode-execute.d.ts.map +1 -0
  43. package/dist/mcp/tools/dual-mode-execute.js +299 -0
  44. package/dist/mcp/tools/dual-mode-execute.js.map +1 -0
  45. package/dist/mcp/tools/index.d.ts +19 -0
  46. package/dist/mcp/tools/index.d.ts.map +1 -0
  47. package/dist/mcp/tools/index.js +20 -0
  48. package/dist/mcp/tools/index.js.map +1 -0
  49. package/dist/mcp/tools/intelligent-recall.d.ts +67 -0
  50. package/dist/mcp/tools/intelligent-recall.d.ts.map +1 -0
  51. package/dist/mcp/tools/intelligent-recall.js +208 -0
  52. package/dist/mcp/tools/intelligent-recall.js.map +1 -0
  53. package/dist/mcp/tools/memory-anchor.d.ts +13 -0
  54. package/dist/mcp/tools/memory-anchor.d.ts.map +1 -0
  55. package/dist/mcp/tools/memory-anchor.js +16 -0
  56. package/dist/mcp/tools/memory-anchor.js.map +1 -0
  57. package/dist/mcp/tools/memory-delete-batch.d.ts +16 -0
  58. package/dist/mcp/tools/memory-delete-batch.d.ts.map +1 -0
  59. package/dist/mcp/tools/memory-delete-batch.js +26 -0
  60. package/dist/mcp/tools/memory-delete-batch.js.map +1 -0
  61. package/dist/mcp/tools/memory-extract.d.ts +68 -0
  62. package/dist/mcp/tools/memory-extract.d.ts.map +1 -0
  63. package/dist/mcp/tools/memory-extract.js +280 -0
  64. package/dist/mcp/tools/memory-extract.js.map +1 -0
  65. package/dist/mcp/tools/memory-recall.d.ts +42 -0
  66. package/dist/mcp/tools/memory-recall.d.ts.map +1 -0
  67. package/dist/mcp/tools/memory-recall.js +37 -0
  68. package/dist/mcp/tools/memory-recall.js.map +1 -0
  69. package/dist/mcp/tools/memory-report-usage.d.ts +17 -0
  70. package/dist/mcp/tools/memory-report-usage.d.ts.map +1 -0
  71. package/dist/mcp/tools/memory-report-usage.js +15 -0
  72. package/dist/mcp/tools/memory-report-usage.js.map +1 -0
  73. package/dist/mcp/tools/memory-search.d.ts +43 -0
  74. package/dist/mcp/tools/memory-search.d.ts.map +1 -0
  75. package/dist/mcp/tools/memory-search.js +38 -0
  76. package/dist/mcp/tools/memory-search.js.map +1 -0
  77. package/dist/mcp/tools/memory-session.d.ts +118 -0
  78. package/dist/mcp/tools/memory-session.d.ts.map +1 -0
  79. package/dist/mcp/tools/memory-session.js +113 -0
  80. package/dist/mcp/tools/memory-session.js.map +1 -0
  81. package/dist/mcp/tools/memory-stats.d.ts +10 -0
  82. package/dist/mcp/tools/memory-stats.d.ts.map +1 -0
  83. package/dist/mcp/tools/memory-stats.js +35 -0
  84. package/dist/mcp/tools/memory-stats.js.map +1 -0
  85. package/dist/mcp/tools/memory-store-batch.d.ts +49 -0
  86. package/dist/mcp/tools/memory-store-batch.d.ts.map +1 -0
  87. package/dist/mcp/tools/memory-store-batch.js +48 -0
  88. package/dist/mcp/tools/memory-store-batch.js.map +1 -0
  89. package/dist/mcp/tools/memory-store.d.ts +37 -0
  90. package/dist/mcp/tools/memory-store.d.ts.map +1 -0
  91. package/dist/mcp/tools/memory-store.js +34 -0
  92. package/dist/mcp/tools/memory-store.js.map +1 -0
  93. package/dist/mcp/tools/project-create.d.ts +16 -0
  94. package/dist/mcp/tools/project-create.d.ts.map +1 -0
  95. package/dist/mcp/tools/project-create.js +14 -0
  96. package/dist/mcp/tools/project-create.js.map +1 -0
  97. package/dist/models/types.d.ts +88 -0
  98. package/dist/models/types.d.ts.map +1 -0
  99. package/dist/models/types.js +19 -0
  100. package/dist/models/types.js.map +1 -0
  101. package/dist/schema/compression.d.ts +7 -0
  102. package/dist/schema/compression.d.ts.map +1 -0
  103. package/dist/schema/compression.js +66 -0
  104. package/dist/schema/compression.js.map +1 -0
  105. package/dist/schema/fulltext-search.d.ts +10 -0
  106. package/dist/schema/fulltext-search.d.ts.map +1 -0
  107. package/dist/schema/fulltext-search.js +73 -0
  108. package/dist/schema/fulltext-search.js.map +1 -0
  109. package/dist/schema/index.d.ts +9 -0
  110. package/dist/schema/index.d.ts.map +1 -0
  111. package/dist/schema/index.js +9 -0
  112. package/dist/schema/index.js.map +1 -0
  113. package/dist/schema/knowledge-graph.d.ts +108 -0
  114. package/dist/schema/knowledge-graph.d.ts.map +1 -0
  115. package/dist/schema/knowledge-graph.js +372 -0
  116. package/dist/schema/knowledge-graph.js.map +1 -0
  117. package/dist/schema/memory-session.d.ts +62 -0
  118. package/dist/schema/memory-session.d.ts.map +1 -0
  119. package/dist/schema/memory-session.js +258 -0
  120. package/dist/schema/memory-session.js.map +1 -0
  121. package/dist/schema/memory.d.ts +84 -0
  122. package/dist/schema/memory.d.ts.map +1 -0
  123. package/dist/schema/memory.js +622 -0
  124. package/dist/schema/memory.js.map +1 -0
  125. package/dist/schema/project.d.ts +8 -0
  126. package/dist/schema/project.d.ts.map +1 -0
  127. package/dist/schema/project.js +68 -0
  128. package/dist/schema/project.js.map +1 -0
  129. package/dist/schema/schema-init.d.ts +2 -0
  130. package/dist/schema/schema-init.d.ts.map +1 -0
  131. package/dist/schema/schema-init.js +199 -0
  132. package/dist/schema/schema-init.js.map +1 -0
  133. package/dist/schema/vector-index.d.ts +28 -0
  134. package/dist/schema/vector-index.d.ts.map +1 -0
  135. package/dist/schema/vector-index.js +179 -0
  136. package/dist/schema/vector-index.js.map +1 -0
  137. package/dist/scripts/agents/base.d.ts +89 -0
  138. package/dist/scripts/agents/base.d.ts.map +1 -0
  139. package/dist/scripts/agents/base.js +148 -0
  140. package/dist/scripts/agents/base.js.map +1 -0
  141. package/dist/scripts/agents/base.ts +193 -0
  142. package/dist/scripts/agents/claude-code.d.ts +21 -0
  143. package/dist/scripts/agents/claude-code.d.ts.map +1 -0
  144. package/dist/scripts/agents/claude-code.js +33 -0
  145. package/dist/scripts/agents/claude-code.js.map +1 -0
  146. package/dist/scripts/agents/claude-code.ts +36 -0
  147. package/dist/scripts/agents/claude-desktop.d.ts +25 -0
  148. package/dist/scripts/agents/claude-desktop.d.ts.map +1 -0
  149. package/dist/scripts/agents/claude-desktop.js +36 -0
  150. package/dist/scripts/agents/claude-desktop.js.map +1 -0
  151. package/dist/scripts/agents/claude-desktop.ts +39 -0
  152. package/dist/scripts/agents/cline.d.ts +22 -0
  153. package/dist/scripts/agents/cline.d.ts.map +1 -0
  154. package/dist/scripts/agents/cline.js +35 -0
  155. package/dist/scripts/agents/cline.js.map +1 -0
  156. package/dist/scripts/agents/cline.ts +38 -0
  157. package/dist/scripts/agents/continue.d.ts +20 -0
  158. package/dist/scripts/agents/continue.d.ts.map +1 -0
  159. package/dist/scripts/agents/continue.js +35 -0
  160. package/dist/scripts/agents/continue.js.map +1 -0
  161. package/dist/scripts/agents/continue.ts +38 -0
  162. package/dist/scripts/agents/cursor.d.ts +27 -0
  163. package/dist/scripts/agents/cursor.d.ts.map +1 -0
  164. package/dist/scripts/agents/cursor.js +38 -0
  165. package/dist/scripts/agents/cursor.js.map +1 -0
  166. package/dist/scripts/agents/cursor.ts +41 -0
  167. package/dist/scripts/cli/config-gen.d.ts +59 -0
  168. package/dist/scripts/cli/config-gen.d.ts.map +1 -0
  169. package/dist/scripts/cli/config-gen.js +156 -0
  170. package/dist/scripts/cli/config-gen.js.map +1 -0
  171. package/dist/scripts/cli/config-gen.ts +164 -0
  172. package/dist/scripts/cli/detect.d.ts +42 -0
  173. package/dist/scripts/cli/detect.d.ts.map +1 -0
  174. package/dist/scripts/cli/detect.js +131 -0
  175. package/dist/scripts/cli/detect.js.map +1 -0
  176. package/dist/scripts/cli/detect.ts +162 -0
  177. package/dist/scripts/cli/install.d.ts +31 -0
  178. package/dist/scripts/cli/install.d.ts.map +1 -0
  179. package/dist/scripts/cli/install.js +125 -0
  180. package/dist/scripts/cli/install.js.map +1 -0
  181. package/dist/scripts/cli/install.ts +157 -0
  182. package/dist/scripts/cli/status.d.ts +8 -0
  183. package/dist/scripts/cli/status.d.ts.map +1 -0
  184. package/dist/scripts/cli/status.js +39 -0
  185. package/dist/scripts/cli/status.js.map +1 -0
  186. package/dist/scripts/cli/status.ts +48 -0
  187. package/dist/scripts/cli/uninstall.d.ts +22 -0
  188. package/dist/scripts/cli/uninstall.d.ts.map +1 -0
  189. package/dist/scripts/cli/uninstall.js +141 -0
  190. package/dist/scripts/cli/uninstall.js.map +1 -0
  191. package/dist/scripts/cli/uninstall.ts +157 -0
  192. package/dist/scripts/cli.d.ts +23 -0
  193. package/dist/scripts/cli.d.ts.map +1 -0
  194. package/dist/scripts/cli.js +166 -0
  195. package/dist/scripts/cli.js.map +1 -0
  196. package/dist/scripts/cli.ts +173 -0
  197. package/dist/services/classifier/index.d.ts +36 -0
  198. package/dist/services/classifier/index.d.ts.map +1 -0
  199. package/dist/services/classifier/index.js +104 -0
  200. package/dist/services/classifier/index.js.map +1 -0
  201. package/dist/services/classifier/llm.d.ts +37 -0
  202. package/dist/services/classifier/llm.d.ts.map +1 -0
  203. package/dist/services/classifier/llm.js +119 -0
  204. package/dist/services/classifier/llm.js.map +1 -0
  205. package/dist/services/classifier/rules.d.ts +22 -0
  206. package/dist/services/classifier/rules.d.ts.map +1 -0
  207. package/dist/services/classifier/rules.js +98 -0
  208. package/dist/services/classifier/rules.js.map +1 -0
  209. package/dist/services/compressor/index.d.ts +3 -0
  210. package/dist/services/compressor/index.d.ts.map +1 -0
  211. package/dist/services/compressor/index.js +3 -0
  212. package/dist/services/compressor/index.js.map +1 -0
  213. package/dist/services/compressor/threshold.d.ts +35 -0
  214. package/dist/services/compressor/threshold.d.ts.map +1 -0
  215. package/dist/services/compressor/threshold.js +60 -0
  216. package/dist/services/compressor/threshold.js.map +1 -0
  217. package/dist/services/compressor/trigger.d.ts +24 -0
  218. package/dist/services/compressor/trigger.d.ts.map +1 -0
  219. package/dist/services/compressor/trigger.js +91 -0
  220. package/dist/services/compressor/trigger.js.map +1 -0
  221. package/dist/services/constraint-extractor.d.ts +25 -0
  222. package/dist/services/constraint-extractor.d.ts.map +1 -0
  223. package/dist/services/constraint-extractor.js +97 -0
  224. package/dist/services/constraint-extractor.js.map +1 -0
  225. package/dist/services/database-health.d.ts +22 -0
  226. package/dist/services/database-health.d.ts.map +1 -0
  227. package/dist/services/database-health.js +122 -0
  228. package/dist/services/database-health.js.map +1 -0
  229. package/dist/services/embedding-fixed.d.ts +9 -0
  230. package/dist/services/embedding-fixed.d.ts.map +1 -0
  231. package/dist/services/embedding-fixed.js +70 -0
  232. package/dist/services/embedding-fixed.js.map +1 -0
  233. package/dist/services/embedding-provider.d.ts +79 -0
  234. package/dist/services/embedding-provider.d.ts.map +1 -0
  235. package/dist/services/embedding-provider.js +229 -0
  236. package/dist/services/embedding-provider.js.map +1 -0
  237. package/dist/services/embedding.d.ts +17 -0
  238. package/dist/services/embedding.d.ts.map +1 -0
  239. package/dist/services/embedding.js +99 -0
  240. package/dist/services/embedding.js.map +1 -0
  241. package/dist/services/hnsw-index.d.ts +76 -0
  242. package/dist/services/hnsw-index.d.ts.map +1 -0
  243. package/dist/services/hnsw-index.js +301 -0
  244. package/dist/services/hnsw-index.js.map +1 -0
  245. package/dist/services/llm.d.ts +39 -0
  246. package/dist/services/llm.d.ts.map +1 -0
  247. package/dist/services/llm.js +207 -0
  248. package/dist/services/llm.js.map +1 -0
  249. package/dist/services/memory-tiers.d.ts +75 -0
  250. package/dist/services/memory-tiers.d.ts.map +1 -0
  251. package/dist/services/memory-tiers.js +275 -0
  252. package/dist/services/memory-tiers.js.map +1 -0
  253. package/dist/services/memory.d.ts +33 -0
  254. package/dist/services/memory.d.ts.map +1 -0
  255. package/dist/services/memory.js +209 -0
  256. package/dist/services/memory.js.map +1 -0
  257. package/dist/services/multi-agent-sharing.d.ts +83 -0
  258. package/dist/services/multi-agent-sharing.d.ts.map +1 -0
  259. package/dist/services/multi-agent-sharing.js +278 -0
  260. package/dist/services/multi-agent-sharing.js.map +1 -0
  261. package/dist/services/reranker.d.ts +88 -0
  262. package/dist/services/reranker.d.ts.map +1 -0
  263. package/dist/services/reranker.js +234 -0
  264. package/dist/services/reranker.js.map +1 -0
  265. package/dist/services/triple-extractor.d.ts +35 -0
  266. package/dist/services/triple-extractor.d.ts.map +1 -0
  267. package/dist/services/triple-extractor.js +293 -0
  268. package/dist/services/triple-extractor.js.map +1 -0
  269. package/dist/services/vector-provider.d.ts +40 -0
  270. package/dist/services/vector-provider.d.ts.map +1 -0
  271. package/dist/services/vector-provider.js +225 -0
  272. package/dist/services/vector-provider.js.map +1 -0
  273. package/dist/utils/after-chain-executor.d.ts +26 -0
  274. package/dist/utils/after-chain-executor.d.ts.map +1 -0
  275. package/dist/utils/after-chain-executor.js +135 -0
  276. package/dist/utils/after-chain-executor.js.map +1 -0
  277. package/dist/utils/after-chain.d.ts +94 -0
  278. package/dist/utils/after-chain.d.ts.map +1 -0
  279. package/dist/utils/after-chain.js +155 -0
  280. package/dist/utils/after-chain.js.map +1 -0
  281. package/dist/utils/db.d.ts +29 -0
  282. package/dist/utils/db.d.ts.map +1 -0
  283. package/dist/utils/db.js +201 -0
  284. package/dist/utils/db.js.map +1 -0
  285. package/dist/utils/encryption.d.ts +87 -0
  286. package/dist/utils/encryption.d.ts.map +1 -0
  287. package/dist/utils/encryption.js +175 -0
  288. package/dist/utils/encryption.js.map +1 -0
  289. package/dist/utils/errors.d.ts +35 -0
  290. package/dist/utils/errors.d.ts.map +1 -0
  291. package/dist/utils/errors.js +56 -0
  292. package/dist/utils/errors.js.map +1 -0
  293. package/dist/utils/logger.d.ts +27 -0
  294. package/dist/utils/logger.d.ts.map +1 -0
  295. package/dist/utils/logger.js +177 -0
  296. package/dist/utils/logger.js.map +1 -0
  297. package/dist/utils/priority.d.ts +26 -0
  298. package/dist/utils/priority.d.ts.map +1 -0
  299. package/dist/utils/priority.js +43 -0
  300. package/dist/utils/priority.js.map +1 -0
  301. package/dist/utils/watchdog.d.ts +57 -0
  302. package/dist/utils/watchdog.d.ts.map +1 -0
  303. package/dist/utils/watchdog.js +164 -0
  304. package/dist/utils/watchdog.js.map +1 -0
  305. package/package.json +78 -0
@@ -0,0 +1,62 @@
1
+ export interface MemorySessionRecord {
2
+ id: string;
3
+ userId: string;
4
+ agentId: string;
5
+ projectId: string;
6
+ scope: string;
7
+ key: string;
8
+ value: string | null;
9
+ meta: Record<string, unknown>;
10
+ version: number;
11
+ updatedBy: string | null;
12
+ createdAt: string;
13
+ updatedAt: string;
14
+ expiresAt: Date | null;
15
+ deleted: boolean;
16
+ }
17
+ export interface MemorySessionInput {
18
+ userId: string;
19
+ agentId: string;
20
+ projectId: string;
21
+ scope: 'session' | 'short' | 'long' | 'archival';
22
+ key: string;
23
+ value?: string;
24
+ meta?: Record<string, unknown>;
25
+ updatedBy?: string;
26
+ expiresAt?: Date | string | null;
27
+ }
28
+ export interface SessionCleanupStats {
29
+ sessionRemoved: number;
30
+ shortRemoved: number;
31
+ longRemoved: number;
32
+ archivalRemoved: number;
33
+ }
34
+ export declare function createMemorySession(input: MemorySessionInput): MemorySessionRecord;
35
+ export declare function getMemorySession(id: string): MemorySessionRecord | null;
36
+ export declare function getMemorySessionByIsolation(input: {
37
+ userId: string;
38
+ agentId: string;
39
+ projectId: string;
40
+ scope: MemorySessionInput['scope'];
41
+ key: string;
42
+ }): MemorySessionRecord | null;
43
+ export declare function listMemorySessions(input?: {
44
+ userId?: string;
45
+ agentId?: string;
46
+ projectId?: string;
47
+ scope?: MemorySessionInput['scope'];
48
+ key?: string;
49
+ includeDeleted?: boolean;
50
+ limit?: number;
51
+ }): MemorySessionRecord[];
52
+ export declare function updateMemorySession(id: string, input: {
53
+ value?: string;
54
+ meta?: Record<string, unknown>;
55
+ updatedBy?: string;
56
+ expiresAt?: Date | string | null;
57
+ deleted?: boolean;
58
+ }): MemorySessionRecord;
59
+ export declare function deleteMemorySession(id: string): void;
60
+ export declare function cleanupExpiredMemorySessions(): SessionCleanupStats;
61
+ export declare function initMemorySessions(): void;
62
+ //# sourceMappingURL=memory-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-session.d.ts","sourceRoot":"","sources":["../../src/schema/memory-session.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAiClF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAOvE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,mBAAmB,GAAG,IAAI,CAW7B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,GAAE;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,GAAG,mBAAmB,EAAE,CA2C7B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,mBAAmB,CAuCtB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAcpD;AAED,wBAAgB,4BAA4B,IAAI,mBAAmB,CAkClE;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CA6DzC"}
@@ -0,0 +1,258 @@
1
+ import { getDatabase } from '../utils/db.js';
2
+ import { DatabaseError } from '../utils/errors.js';
3
+ import { query, run } from '../utils/db.js';
4
+ import { createHash } from 'crypto';
5
+ import { logger } from '../utils/logger.js';
6
+ export function createMemorySession(input) {
7
+ const id = generateId(input);
8
+ const now = new Date().toISOString();
9
+ try {
10
+ const expiresAt = input.expiresAt instanceof Date ? input.expiresAt.toISOString() : (input.expiresAt ?? null);
11
+ run(`
12
+ INSERT OR REPLACE INTO memory_sessions
13
+ (id, user_id, agent_id, project_id, scope, key, value, meta, version, updated_by, created_at, updated_at, expires_at, deleted)
14
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, 1, ?, ?, ?, ?, 0)
15
+ `, [
16
+ id,
17
+ input.userId,
18
+ input.agentId,
19
+ input.projectId,
20
+ input.scope,
21
+ input.key,
22
+ input.value ?? null,
23
+ JSON.stringify(input.meta ?? {}),
24
+ input.updatedBy ?? null,
25
+ now,
26
+ now,
27
+ expiresAt
28
+ ]);
29
+ return getMemorySession(id);
30
+ }
31
+ catch (error) {
32
+ throw new DatabaseError('Failed to create memory session', error);
33
+ }
34
+ }
35
+ export function getMemorySession(id) {
36
+ try {
37
+ const rows = query(`SELECT * FROM memory_sessions WHERE id = ? AND deleted = 0`, [id]);
38
+ return rows.length > 0 ? mapMemorySessionRow(rows[0]) : null;
39
+ }
40
+ catch (error) {
41
+ throw new DatabaseError('Failed to get memory session', error);
42
+ }
43
+ }
44
+ export function getMemorySessionByIsolation(input) {
45
+ try {
46
+ const rows = query(`SELECT * FROM memory_sessions WHERE user_id = ? AND agent_id = ? AND project_id = ? AND scope = ? AND key = ? AND deleted = 0`, [input.userId, input.agentId, input.projectId, input.scope, input.key]);
47
+ return rows.length > 0 ? mapMemorySessionRow(rows[0]) : null;
48
+ }
49
+ catch (error) {
50
+ throw new DatabaseError('Failed to get memory session by isolation', error);
51
+ }
52
+ }
53
+ export function listMemorySessions(input = {}) {
54
+ try {
55
+ const conditions = [];
56
+ const params = [];
57
+ if (input.userId) {
58
+ conditions.push('user_id = ?');
59
+ params.push(input.userId);
60
+ }
61
+ if (input.agentId) {
62
+ conditions.push('agent_id = ?');
63
+ params.push(input.agentId);
64
+ }
65
+ if (input.projectId) {
66
+ conditions.push('project_id = ?');
67
+ params.push(input.projectId);
68
+ }
69
+ if (input.scope) {
70
+ conditions.push('scope = ?');
71
+ params.push(input.scope);
72
+ }
73
+ if (input.key) {
74
+ conditions.push('key = ?');
75
+ params.push(input.key);
76
+ }
77
+ if (!input.includeDeleted) {
78
+ conditions.push('deleted = 0');
79
+ }
80
+ const limit = Math.max(1, Math.min(input.limit ?? 200, 1000));
81
+ const sql = `SELECT * FROM memory_sessions${conditions.length ? ' WHERE ' + conditions.join(' AND ') : ''} ORDER BY updated_at DESC LIMIT ?`;
82
+ params.push(limit);
83
+ const rows = query(sql, params);
84
+ return rows.map(mapMemorySessionRow);
85
+ }
86
+ catch (error) {
87
+ throw new DatabaseError('Failed to list memory sessions', error);
88
+ }
89
+ }
90
+ export function updateMemorySession(id, input) {
91
+ const existing = getMemorySession(id);
92
+ if (!existing) {
93
+ throw new DatabaseError('Memory session not found', new Error(id));
94
+ }
95
+ const updates = ['version = version + 1', 'updated_at = ?'];
96
+ const values = [new Date().toISOString()];
97
+ if (input.value !== undefined) {
98
+ updates.push('value = ?');
99
+ values.push(input.value ?? null);
100
+ }
101
+ if (input.meta !== undefined) {
102
+ updates.push('meta = ?');
103
+ values.push(JSON.stringify(input.meta));
104
+ }
105
+ if (input.updatedBy !== undefined) {
106
+ updates.push('updated_by = ?');
107
+ values.push(input.updatedBy);
108
+ }
109
+ if (input.expiresAt !== undefined) {
110
+ updates.push('expires_at = ?');
111
+ const expiresAt = input.expiresAt instanceof Date ? input.expiresAt.toISOString() : (input.expiresAt ?? null);
112
+ values.push(expiresAt);
113
+ }
114
+ if (input.deleted !== undefined) {
115
+ updates.push('deleted = ?');
116
+ values.push(input.deleted ? 1 : 0);
117
+ }
118
+ values.push(id);
119
+ run(`UPDATE memory_sessions SET ${updates.join(', ')} WHERE id = ?`, values);
120
+ return getMemorySession(id);
121
+ }
122
+ export function deleteMemorySession(id) {
123
+ try {
124
+ const result = run(`UPDATE memory_sessions SET deleted = 1, updated_at = ?, version = version + 1 WHERE id = ? AND deleted = 0`, [
125
+ new Date().toISOString(),
126
+ id
127
+ ]);
128
+ if (result.changes === 0) {
129
+ throw new DatabaseError('Memory session not found', new Error(id));
130
+ }
131
+ }
132
+ catch (error) {
133
+ if (error instanceof DatabaseError)
134
+ throw error;
135
+ throw new DatabaseError('Failed to delete memory session', error);
136
+ }
137
+ }
138
+ export function cleanupExpiredMemorySessions() {
139
+ const now = new Date().toISOString();
140
+ const scopeStats = { session: 0, short: 0, long: 0, archival: 0 };
141
+ try {
142
+ const expiredRows = query(`SELECT scope FROM memory_sessions WHERE expires_at IS NOT NULL AND datetime(expires_at) < datetime(?) AND deleted = 0`, [now]);
143
+ for (const row of expiredRows) {
144
+ scopeStats[row.scope] = (scopeStats[row.scope] || 0) + 1;
145
+ }
146
+ run(`
147
+ UPDATE memory_sessions
148
+ SET deleted = 1, updated_at = ?, version = version + 1
149
+ WHERE expires_at IS NOT NULL
150
+ AND datetime(expires_at) < datetime(?)
151
+ AND deleted = 0
152
+ `, [now, now]);
153
+ return {
154
+ sessionRemoved: scopeStats.session ?? 0,
155
+ shortRemoved: scopeStats.short ?? 0,
156
+ longRemoved: scopeStats.long ?? 0,
157
+ archivalRemoved: scopeStats.archival ?? 0
158
+ };
159
+ }
160
+ catch (error) {
161
+ throw new DatabaseError('Failed to cleanup expired memory sessions', error);
162
+ }
163
+ }
164
+ export function initMemorySessions() {
165
+ const db = getDatabase();
166
+ try {
167
+ // First, migrate any existing table to add new columns
168
+ const sessionsColumnsToAdd = [
169
+ { name: 'user_id', def: "TEXT DEFAULT 'default'" },
170
+ { name: 'agent_id', def: "TEXT DEFAULT 'default'" },
171
+ { name: 'project_id', def: "TEXT DEFAULT 'default'" },
172
+ ];
173
+ // Check if table exists and has columns
174
+ const tableCheck = db.exec(`SELECT name FROM sqlite_master WHERE type='table' AND name='memory_sessions'`);
175
+ if (tableCheck.length > 0 && tableCheck[0].values.length > 0) {
176
+ // Table exists - get existing columns
177
+ const result = db.exec(`PRAGMA table_info(memory_sessions)`);
178
+ const existingColumns = result[0]?.values?.map((row) => row[1]) || [];
179
+ // Add missing columns
180
+ for (const col of sessionsColumnsToAdd) {
181
+ if (!existingColumns.includes(col.name)) {
182
+ try {
183
+ db.run(`ALTER TABLE memory_sessions ADD COLUMN ${col.name} ${col.def}`);
184
+ }
185
+ catch (error) {
186
+ // Ignore "duplicate column name" errors (sql.js may return "duplicate column name: colname")
187
+ if (!(error instanceof Error && /duplicate column/i.test(error.message))) {
188
+ logger.warn(`Failed to add column memory_sessions.${col.name}`, { column: col.name, error: error instanceof Error ? error.message : String(error) });
189
+ }
190
+ }
191
+ }
192
+ }
193
+ }
194
+ // If table doesn't exist, CREATE TABLE will create it with all columns
195
+ db.run(`
196
+ CREATE TABLE IF NOT EXISTS memory_sessions (
197
+ id TEXT PRIMARY KEY,
198
+ user_id TEXT NOT NULL DEFAULT 'default',
199
+ agent_id TEXT NOT NULL DEFAULT 'default',
200
+ project_id TEXT NOT NULL DEFAULT 'default',
201
+ scope TEXT NOT NULL CHECK (scope IN ('session', 'short', 'long', 'archival')),
202
+ key TEXT NOT NULL,
203
+ value TEXT,
204
+ meta TEXT NOT NULL DEFAULT '{}',
205
+ version INTEGER NOT NULL DEFAULT 1,
206
+ updated_by TEXT,
207
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
208
+ updated_at TEXT NOT NULL DEFAULT (datetime('now')),
209
+ expires_at TEXT,
210
+ deleted INTEGER NOT NULL DEFAULT 0
211
+ )
212
+ `);
213
+ db.run(`CREATE UNIQUE INDEX IF NOT EXISTS idx_memory_sessions_isolation ON memory_sessions(user_id, agent_id, project_id, scope, key)`);
214
+ db.run(`CREATE INDEX IF NOT EXISTS idx_memory_sessions_user_agent_project ON memory_sessions(user_id, agent_id, project_id)`);
215
+ db.run(`CREATE INDEX IF NOT EXISTS idx_memory_sessions_scope ON memory_sessions(scope)`);
216
+ db.run(`CREATE INDEX IF NOT EXISTS idx_memory_sessions_updated_at ON memory_sessions(updated_at)`);
217
+ db.run(`CREATE INDEX IF NOT EXISTS idx_memory_sessions_deleted ON memory_sessions(deleted)`);
218
+ }
219
+ catch (error) {
220
+ throw new DatabaseError('Failed to initialize memory session schema', error);
221
+ }
222
+ }
223
+ function generateId(input) {
224
+ const normalizedKey = input.key.replace(/[^a-z0-9_-]/gi, '-').toLowerCase();
225
+ const unique = `${input.userId}:${input.agentId}:${input.projectId}:${input.scope}:${normalizedKey}`;
226
+ return `ms-${createHash('sha1').update(unique).digest('hex')}`;
227
+ }
228
+ function mapMemorySessionRow(row) {
229
+ return {
230
+ id: row.id,
231
+ userId: row.user_id,
232
+ agentId: row.agent_id,
233
+ projectId: row.project_id,
234
+ scope: row.scope,
235
+ key: row.key,
236
+ value: row.value,
237
+ meta: safeParseJson(row.meta),
238
+ version: row.version,
239
+ updatedBy: row.updated_by,
240
+ createdAt: row.created_at,
241
+ updatedAt: row.updated_at,
242
+ expiresAt: row.expires_at ? new Date(row.expires_at) : null,
243
+ deleted: row.deleted === 1
244
+ };
245
+ }
246
+ function safeParseJson(value) {
247
+ try {
248
+ const parsed = JSON.parse(value || '{}');
249
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
250
+ return parsed;
251
+ }
252
+ }
253
+ catch {
254
+ // ignore malformed payloads
255
+ }
256
+ return {};
257
+ }
258
+ //# sourceMappingURL=memory-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-session.js","sourceRoot":"","sources":["../../src/schema/memory-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import { Memory, CreateMemoryInput, UpdateMemoryInput } from '../models/types.js';
2
+ export declare function computeContentHash(content: string): string;
3
+ export declare function findDuplicateByHash(hash: string, isolation?: {
4
+ userId?: string;
5
+ agentId?: string;
6
+ projectId?: string;
7
+ }): Memory | null;
8
+ export declare function storeEmbedding(memoryId: string, content: string, embedding: number[], embeddingModel?: string, embeddingModelVersion?: string, embeddingDimension?: number): void;
9
+ export declare function getEmbedding(memoryId: string): {
10
+ embedding: number[];
11
+ model: string;
12
+ modelVersion: string;
13
+ dimension: number;
14
+ } | null;
15
+ export declare function searchMemoriesBM25(queryText: string, projectTags?: string[], limit?: number, isolation?: {
16
+ userId?: string;
17
+ agentId?: string;
18
+ projectId?: string;
19
+ }): Memory[];
20
+ export declare function searchMemoriesVector(queryEmbedding: number[], projectTags?: string[], limit?: number, minSimilarity?: number, isolation?: {
21
+ userId?: string;
22
+ agentId?: string;
23
+ projectId?: string;
24
+ }): Array<Memory & {
25
+ similarity: number;
26
+ }>;
27
+ export declare function searchMemoriesHybrid(queryText: string, queryEmbedding: number[], projectTags?: string[], limit?: number, bm25Weight?: number, vectorWeight?: number, isolation?: {
28
+ userId?: string;
29
+ agentId?: string;
30
+ projectId?: string;
31
+ }): Array<Memory & {
32
+ bm25Score: number;
33
+ similarity: number;
34
+ combinedScore: number;
35
+ }>;
36
+ export declare function deleteEmbedding(memoryId: string): void;
37
+ export declare function cleanupExpiredMemories(): number;
38
+ export declare function createMemory(input: CreateMemoryInput, updatedBy?: string): Memory;
39
+ export declare function getMemory(id: string, isolation?: {
40
+ userId?: string;
41
+ agentId?: string;
42
+ projectId?: string;
43
+ }): Memory | null;
44
+ export declare function getMemoryOrThrow(id: string, isolation?: {
45
+ userId?: string;
46
+ agentId?: string;
47
+ projectId?: string;
48
+ }): Memory;
49
+ export declare function updateMemory(id: string, input: UpdateMemoryInput, updatedBy?: string, isolation?: {
50
+ userId?: string;
51
+ agentId?: string;
52
+ projectId?: string;
53
+ }): Memory;
54
+ export declare function deleteMemory(id: string, _updatedBy?: string, isolation?: {
55
+ userId?: string;
56
+ agentId?: string;
57
+ projectId?: string;
58
+ }): void;
59
+ export declare function listMemories(projectTags?: string[], isolation?: {
60
+ userId?: string;
61
+ agentId?: string;
62
+ projectId?: string;
63
+ }): Memory[];
64
+ export declare function searchMemories(searchQuery: string, projectTags?: string[], limit?: number, isolation?: {
65
+ userId?: string;
66
+ agentId?: string;
67
+ projectId?: string;
68
+ }): Memory[];
69
+ export declare function incrementAccessCount(id: string): void;
70
+ export declare function anchorMemory(id: string): Memory;
71
+ export declare function getMemoriesByIds(ids: string[], isolation?: {
72
+ userId?: string;
73
+ agentId?: string;
74
+ projectId?: string;
75
+ }): Memory[];
76
+ export declare function buildIsolationFilter(isolation?: {
77
+ userId?: string;
78
+ agentId?: string;
79
+ projectId?: string;
80
+ }): {
81
+ sql: string;
82
+ params: unknown[];
83
+ };
84
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/schema/memory.ts"],"names":[],"mappings":"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"}