@hasna/mementos 0.14.20 → 0.14.22

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 (238) hide show
  1. package/LICENSE +3 -189
  2. package/README.md +15 -27
  3. package/dist/agent-setup.d.ts +34 -0
  4. package/dist/agent-setup.d.ts.map +1 -0
  5. package/dist/cli.d.ts +3 -0
  6. package/dist/cli.d.ts.map +1 -0
  7. package/dist/cli.js +517 -0
  8. package/dist/index.d.ts +3 -27
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +455 -14652
  11. package/dist/mcp-runtime.d.ts +23 -0
  12. package/dist/mcp-runtime.d.ts.map +1 -0
  13. package/dist/mcp.d.ts +3 -0
  14. package/dist/mcp.d.ts.map +1 -0
  15. package/dist/mcp.js +300 -0
  16. package/dist/remote-client.d.ts +44 -0
  17. package/dist/remote-client.d.ts.map +1 -0
  18. package/package.json +13 -53
  19. package/dist/cli/brains.d.ts +0 -3
  20. package/dist/cli/brains.d.ts.map +0 -1
  21. package/dist/cli/index.d.ts +0 -3
  22. package/dist/cli/index.d.ts.map +0 -1
  23. package/dist/cli/index.js +0 -25738
  24. package/dist/db/acl.d.ts +0 -34
  25. package/dist/db/acl.d.ts.map +0 -1
  26. package/dist/db/agents.d.ts +0 -15
  27. package/dist/db/agents.d.ts.map +0 -1
  28. package/dist/db/audit.d.ts +0 -39
  29. package/dist/db/audit.d.ts.map +0 -1
  30. package/dist/db/database.d.ts +0 -10
  31. package/dist/db/database.d.ts.map +0 -1
  32. package/dist/db/entities.d.ts +0 -62
  33. package/dist/db/entities.d.ts.map +0 -1
  34. package/dist/db/entity-memories.d.ts +0 -34
  35. package/dist/db/entity-memories.d.ts.map +0 -1
  36. package/dist/db/locks.d.ts +0 -63
  37. package/dist/db/locks.d.ts.map +0 -1
  38. package/dist/db/machines.d.ts +0 -16
  39. package/dist/db/machines.d.ts.map +0 -1
  40. package/dist/db/memories.d.ts +0 -40
  41. package/dist/db/memories.d.ts.map +0 -1
  42. package/dist/db/pg-migrate.d.ts +0 -14
  43. package/dist/db/pg-migrate.d.ts.map +0 -1
  44. package/dist/db/pg-migrations.d.ts +0 -8
  45. package/dist/db/pg-migrations.d.ts.map +0 -1
  46. package/dist/db/projects.d.ts +0 -6
  47. package/dist/db/projects.d.ts.map +0 -1
  48. package/dist/db/ratings.d.ts +0 -23
  49. package/dist/db/ratings.d.ts.map +0 -1
  50. package/dist/db/relations.d.ts +0 -29
  51. package/dist/db/relations.d.ts.map +0 -1
  52. package/dist/db/session-jobs.d.ts +0 -49
  53. package/dist/db/session-jobs.d.ts.map +0 -1
  54. package/dist/db/synthesis.d.ts +0 -101
  55. package/dist/db/synthesis.d.ts.map +0 -1
  56. package/dist/db/tool-events.d.ts +0 -27
  57. package/dist/db/tool-events.d.ts.map +0 -1
  58. package/dist/db/webhook_hooks.d.ts +0 -25
  59. package/dist/db/webhook_hooks.d.ts.map +0 -1
  60. package/dist/lib/activation-matcher.d.ts +0 -16
  61. package/dist/lib/activation-matcher.d.ts.map +0 -1
  62. package/dist/lib/asmr/categorizer.d.ts +0 -31
  63. package/dist/lib/asmr/categorizer.d.ts.map +0 -1
  64. package/dist/lib/asmr/context-agent.d.ts +0 -4
  65. package/dist/lib/asmr/context-agent.d.ts.map +0 -1
  66. package/dist/lib/asmr/ensemble.d.ts +0 -23
  67. package/dist/lib/asmr/ensemble.d.ts.map +0 -1
  68. package/dist/lib/asmr/fact-agent.d.ts +0 -4
  69. package/dist/lib/asmr/fact-agent.d.ts.map +0 -1
  70. package/dist/lib/asmr/index.d.ts +0 -7
  71. package/dist/lib/asmr/index.d.ts.map +0 -1
  72. package/dist/lib/asmr/orchestrator.d.ts +0 -4
  73. package/dist/lib/asmr/orchestrator.d.ts.map +0 -1
  74. package/dist/lib/asmr/temporal-agent.d.ts +0 -4
  75. package/dist/lib/asmr/temporal-agent.d.ts.map +0 -1
  76. package/dist/lib/asmr/types.d.ts +0 -27
  77. package/dist/lib/asmr/types.d.ts.map +0 -1
  78. package/dist/lib/auto-inject-orchestrator.d.ts +0 -57
  79. package/dist/lib/auto-inject-orchestrator.d.ts.map +0 -1
  80. package/dist/lib/auto-memory-queue.d.ts +0 -46
  81. package/dist/lib/auto-memory-queue.d.ts.map +0 -1
  82. package/dist/lib/auto-memory.d.ts +0 -18
  83. package/dist/lib/auto-memory.d.ts.map +0 -1
  84. package/dist/lib/bench.d.ts +0 -20
  85. package/dist/lib/bench.d.ts.map +0 -1
  86. package/dist/lib/built-in-hooks.d.ts +0 -12
  87. package/dist/lib/built-in-hooks.d.ts.map +0 -1
  88. package/dist/lib/channel-pusher.d.ts +0 -39
  89. package/dist/lib/channel-pusher.d.ts.map +0 -1
  90. package/dist/lib/config.d.ts +0 -9
  91. package/dist/lib/config.d.ts.map +0 -1
  92. package/dist/lib/connectors/files.d.ts +0 -8
  93. package/dist/lib/connectors/files.d.ts.map +0 -1
  94. package/dist/lib/connectors/github.d.ts +0 -7
  95. package/dist/lib/connectors/github.d.ts.map +0 -1
  96. package/dist/lib/connectors/index.d.ts +0 -12
  97. package/dist/lib/connectors/index.d.ts.map +0 -1
  98. package/dist/lib/connectors/notion.d.ts +0 -7
  99. package/dist/lib/connectors/notion.d.ts.map +0 -1
  100. package/dist/lib/connectors/types.d.ts +0 -27
  101. package/dist/lib/connectors/types.d.ts.map +0 -1
  102. package/dist/lib/context-extractor.d.ts +0 -14
  103. package/dist/lib/context-extractor.d.ts.map +0 -1
  104. package/dist/lib/context.d.ts +0 -35
  105. package/dist/lib/context.d.ts.map +0 -1
  106. package/dist/lib/contradiction.d.ts +0 -50
  107. package/dist/lib/contradiction.d.ts.map +0 -1
  108. package/dist/lib/decay.d.ts +0 -35
  109. package/dist/lib/decay.d.ts.map +0 -1
  110. package/dist/lib/dedup.d.ts +0 -33
  111. package/dist/lib/dedup.d.ts.map +0 -1
  112. package/dist/lib/duration.d.ts +0 -28
  113. package/dist/lib/duration.d.ts.map +0 -1
  114. package/dist/lib/embeddings.d.ts +0 -20
  115. package/dist/lib/embeddings.d.ts.map +0 -1
  116. package/dist/lib/export-v1.d.ts +0 -30
  117. package/dist/lib/export-v1.d.ts.map +0 -1
  118. package/dist/lib/extractor.d.ts +0 -9
  119. package/dist/lib/extractor.d.ts.map +0 -1
  120. package/dist/lib/extractors/audio.d.ts +0 -8
  121. package/dist/lib/extractors/audio.d.ts.map +0 -1
  122. package/dist/lib/extractors/index.d.ts +0 -12
  123. package/dist/lib/extractors/index.d.ts.map +0 -1
  124. package/dist/lib/extractors/ocr.d.ts +0 -7
  125. package/dist/lib/extractors/ocr.d.ts.map +0 -1
  126. package/dist/lib/extractors/pdf.d.ts +0 -7
  127. package/dist/lib/extractors/pdf.d.ts.map +0 -1
  128. package/dist/lib/extractors/types.d.ts +0 -12
  129. package/dist/lib/extractors/types.d.ts.map +0 -1
  130. package/dist/lib/file-deps.d.ts +0 -27
  131. package/dist/lib/file-deps.d.ts.map +0 -1
  132. package/dist/lib/focus.d.ts +0 -58
  133. package/dist/lib/focus.d.ts.map +0 -1
  134. package/dist/lib/gatherer.d.ts +0 -16
  135. package/dist/lib/gatherer.d.ts.map +0 -1
  136. package/dist/lib/gdpr.d.ts +0 -24
  137. package/dist/lib/gdpr.d.ts.map +0 -1
  138. package/dist/lib/hooks.d.ts +0 -50
  139. package/dist/lib/hooks.d.ts.map +0 -1
  140. package/dist/lib/importers/index.d.ts +0 -38
  141. package/dist/lib/importers/index.d.ts.map +0 -1
  142. package/dist/lib/injector.d.ts +0 -86
  143. package/dist/lib/injector.d.ts.map +0 -1
  144. package/dist/lib/matryoshka.d.ts +0 -50
  145. package/dist/lib/matryoshka.d.ts.map +0 -1
  146. package/dist/lib/memory-lock.d.ts +0 -58
  147. package/dist/lib/memory-lock.d.ts.map +0 -1
  148. package/dist/lib/model-config.d.ts +0 -14
  149. package/dist/lib/model-config.d.ts.map +0 -1
  150. package/dist/lib/open-sessions-connector.d.ts +0 -60
  151. package/dist/lib/open-sessions-connector.d.ts.map +0 -1
  152. package/dist/lib/poisoning.d.ts +0 -19
  153. package/dist/lib/poisoning.d.ts.map +0 -1
  154. package/dist/lib/poll.d.ts +0 -17
  155. package/dist/lib/poll.d.ts.map +0 -1
  156. package/dist/lib/procedural-extractor.d.ts +0 -21
  157. package/dist/lib/procedural-extractor.d.ts.map +0 -1
  158. package/dist/lib/profile-sync.d.ts +0 -20
  159. package/dist/lib/profile-sync.d.ts.map +0 -1
  160. package/dist/lib/profile-synthesizer.d.ts +0 -20
  161. package/dist/lib/profile-synthesizer.d.ts.map +0 -1
  162. package/dist/lib/project-detect.d.ts +0 -18
  163. package/dist/lib/project-detect.d.ts.map +0 -1
  164. package/dist/lib/providers/anthropic.d.ts +0 -21
  165. package/dist/lib/providers/anthropic.d.ts.map +0 -1
  166. package/dist/lib/providers/base.d.ts +0 -96
  167. package/dist/lib/providers/base.d.ts.map +0 -1
  168. package/dist/lib/providers/cerebras.d.ts +0 -20
  169. package/dist/lib/providers/cerebras.d.ts.map +0 -1
  170. package/dist/lib/providers/grok.d.ts +0 -19
  171. package/dist/lib/providers/grok.d.ts.map +0 -1
  172. package/dist/lib/providers/index.d.ts +0 -7
  173. package/dist/lib/providers/index.d.ts.map +0 -1
  174. package/dist/lib/providers/openai-compat.d.ts +0 -18
  175. package/dist/lib/providers/openai-compat.d.ts.map +0 -1
  176. package/dist/lib/providers/openai.d.ts +0 -20
  177. package/dist/lib/providers/openai.d.ts.map +0 -1
  178. package/dist/lib/providers/registry.d.ts +0 -38
  179. package/dist/lib/providers/registry.d.ts.map +0 -1
  180. package/dist/lib/quality.d.ts +0 -16
  181. package/dist/lib/quality.d.ts.map +0 -1
  182. package/dist/lib/redact.d.ts +0 -10
  183. package/dist/lib/redact.d.ts.map +0 -1
  184. package/dist/lib/remote-sync.d.ts +0 -49
  185. package/dist/lib/remote-sync.d.ts.map +0 -1
  186. package/dist/lib/retention.d.ts +0 -17
  187. package/dist/lib/retention.d.ts.map +0 -1
  188. package/dist/lib/search.d.ts +0 -52
  189. package/dist/lib/search.d.ts.map +0 -1
  190. package/dist/lib/session-auto-resolve.d.ts +0 -28
  191. package/dist/lib/session-auto-resolve.d.ts.map +0 -1
  192. package/dist/lib/session-processor.d.ts +0 -38
  193. package/dist/lib/session-processor.d.ts.map +0 -1
  194. package/dist/lib/session-queue.d.ts +0 -28
  195. package/dist/lib/session-queue.d.ts.map +0 -1
  196. package/dist/lib/session-registry.d.ts +0 -47
  197. package/dist/lib/session-registry.d.ts.map +0 -1
  198. package/dist/lib/session-start-briefing.d.ts +0 -10
  199. package/dist/lib/session-start-briefing.d.ts.map +0 -1
  200. package/dist/lib/session-watcher.d.ts +0 -30
  201. package/dist/lib/session-watcher.d.ts.map +0 -1
  202. package/dist/lib/sync.d.ts +0 -10
  203. package/dist/lib/sync.d.ts.map +0 -1
  204. package/dist/lib/synthesis/corpus-builder.d.ts +0 -30
  205. package/dist/lib/synthesis/corpus-builder.d.ts.map +0 -1
  206. package/dist/lib/synthesis/executor.d.ts +0 -14
  207. package/dist/lib/synthesis/executor.d.ts.map +0 -1
  208. package/dist/lib/synthesis/index.d.ts +0 -37
  209. package/dist/lib/synthesis/index.d.ts.map +0 -1
  210. package/dist/lib/synthesis/llm-analyzer.d.ts +0 -18
  211. package/dist/lib/synthesis/llm-analyzer.d.ts.map +0 -1
  212. package/dist/lib/synthesis/metrics.d.ts +0 -13
  213. package/dist/lib/synthesis/metrics.d.ts.map +0 -1
  214. package/dist/lib/synthesis/scheduler.d.ts +0 -18
  215. package/dist/lib/synthesis/scheduler.d.ts.map +0 -1
  216. package/dist/lib/synthesis/validator.d.ts +0 -19
  217. package/dist/lib/synthesis/validator.d.ts.map +0 -1
  218. package/dist/lib/tool-lesson-extractor.d.ts +0 -24
  219. package/dist/lib/tool-lesson-extractor.d.ts.map +0 -1
  220. package/dist/lib/tool-memory-synthesizer.d.ts +0 -28
  221. package/dist/lib/tool-memory-synthesizer.d.ts.map +0 -1
  222. package/dist/lib/topic-clusterer.d.ts +0 -21
  223. package/dist/lib/topic-clusterer.d.ts.map +0 -1
  224. package/dist/lib/when-to-use-generator.d.ts +0 -22
  225. package/dist/lib/when-to-use-generator.d.ts.map +0 -1
  226. package/dist/mcp/index.d.ts +0 -5
  227. package/dist/mcp/index.d.ts.map +0 -1
  228. package/dist/mcp/index.js +0 -30113
  229. package/dist/mcp/memory-broadcast.d.ts +0 -12
  230. package/dist/mcp/memory-broadcast.d.ts.map +0 -1
  231. package/dist/sdk/index.js +0 -397
  232. package/dist/server/index.d.ts +0 -7
  233. package/dist/server/index.d.ts.map +0 -1
  234. package/dist/server/index.js +0 -18221
  235. package/dist/types/hooks.d.ts +0 -136
  236. package/dist/types/hooks.d.ts.map +0 -1
  237. package/dist/types/index.d.ts +0 -345
  238. package/dist/types/index.d.ts.map +0 -1
@@ -1,18 +0,0 @@
1
- /**
2
- * Shared base for all OpenAI-compatible providers.
3
- * Used by: OpenAI, Cerebras, Grok/xAI.
4
- * Handles: API calls, exponential backoff on 429, shared JSON parsing.
5
- */
6
- import { BaseProvider, type ProviderConfig, type MemoryExtractionContext, type ExtractedMemory, type EntityExtractionResult } from "./base.js";
7
- export declare abstract class OpenAICompatProvider extends BaseProvider {
8
- protected abstract readonly baseUrl: string;
9
- protected abstract readonly authHeader: string;
10
- constructor(config: ProviderConfig);
11
- extractMemories(text: string, context: MemoryExtractionContext): Promise<ExtractedMemory[]>;
12
- extractEntities(text: string): Promise<EntityExtractionResult>;
13
- scoreImportance(content: string, _context: MemoryExtractionContext): Promise<number>;
14
- /** Call with exponential backoff on 429 (rate limit), max 3 retries */
15
- private callWithRetry;
16
- private callAPI;
17
- }
18
- //# sourceMappingURL=openai-compat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-compat.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/openai-compat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAK5B,MAAM,WAAW,CAAC;AAEnB,8BAAsB,oBAAqB,SAAQ,YAAY;IAC7D,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEnC,MAAM,EAAE,cAAc;IAI5B,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,eAAe,EAAE,CAAC;IAkBvB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAoB9D,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC;IAalB,uEAAuE;YACzD,aAAa;YAsBb,OAAO;CA0CtB"}
@@ -1,20 +0,0 @@
1
- /**
2
- * OpenAI provider.
3
- * Default model: gpt-4.1-nano (ultra cheap, fast).
4
- * Premium: gpt-4.1-mini, gpt-4.1.
5
- * Env var: OPENAI_API_KEY.
6
- */
7
- import { OpenAICompatProvider } from "./openai-compat.js";
8
- import type { ProviderConfig, ProviderName } from "./base.js";
9
- export declare const OPENAI_MODELS: {
10
- readonly default: "gpt-4.1-nano";
11
- readonly mini: "gpt-4.1-mini";
12
- readonly full: "gpt-4.1";
13
- };
14
- export declare class OpenAIProvider extends OpenAICompatProvider {
15
- readonly name: ProviderName;
16
- protected readonly baseUrl = "https://api.openai.com/v1";
17
- protected readonly authHeader = "Authorization";
18
- constructor(config?: Partial<ProviderConfig>);
19
- }
20
- //# sourceMappingURL=openai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/openai.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9D,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,qBAAa,cAAe,SAAQ,oBAAoB;IACtD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAY;IACvC,SAAS,CAAC,QAAQ,CAAC,OAAO,+BAA+B;IACzD,SAAS,CAAC,QAAQ,CAAC,UAAU,mBAAmB;gBAEpC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;CAS7C"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Provider registry — resolves API keys, manages fallback chain,
3
- * health checks. Works with zero config (just needs one env var set).
4
- * Default: Anthropic Haiku → Cerebras → OpenAI.
5
- */
6
- import { type AutoMemoryConfig, type LLMProvider, type ProviderName } from "./base.js";
7
- declare class ProviderRegistry {
8
- private config;
9
- private _instances;
10
- /** Update runtime config without restart */
11
- configure(partial: Partial<AutoMemoryConfig>): void;
12
- getConfig(): Readonly<AutoMemoryConfig>;
13
- /** Get primary provider, or null if no API key available */
14
- getPrimary(): LLMProvider | null;
15
- /** Get fallback chain — all available providers excluding primary */
16
- getFallbacks(): LLMProvider[];
17
- /**
18
- * Get the best available provider.
19
- * Returns primary if available, otherwise first available fallback.
20
- * Returns null only if no providers have API keys configured.
21
- */
22
- getAvailable(): LLMProvider | null;
23
- /**
24
- * Get a specific provider by name.
25
- * Returns null if no API key is configured for that provider.
26
- */
27
- getProvider(name: ProviderName): LLMProvider | null;
28
- /** Check which providers have API keys configured */
29
- health(): Record<ProviderName, {
30
- available: boolean;
31
- model: string;
32
- }>;
33
- private createProvider;
34
- }
35
- /** Singleton registry — shared across the whole process */
36
- export declare const providerRegistry: ProviderRegistry;
37
- export {};
38
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAInB,cAAM,gBAAgB;IACpB,OAAO,CAAC,MAAM,CAAuD;IACrE,OAAO,CAAC,UAAU,CAAwC;IAE1D,4CAA4C;IAC5C,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAMnD,SAAS,IAAI,QAAQ,CAAC,gBAAgB,CAAC;IAIvC,4DAA4D;IAC5D,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC,qEAAqE;IACrE,YAAY,IAAI,WAAW,EAAE;IAQ7B;;;;OAIG;IACH,YAAY,IAAI,WAAW,GAAG,IAAI;IAOlC;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI;IAcnD,qDAAqD;IACrD,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAarE,OAAO,CAAC,cAAc;CAiBvB;AAED,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Memory quality auto-scoring.
3
- * Heuristic scoring based on specificity, actionability, freshness, consistency.
4
- */
5
- import type { Memory } from "../types/index.js";
6
- export interface QualityScore {
7
- total: number;
8
- specificity: number;
9
- actionability: number;
10
- freshness: number;
11
- }
12
- /**
13
- * Compute a quality score for a memory.
14
- */
15
- export declare function computeQualityScore(memory: Memory): QualityScore;
16
- //# sourceMappingURL=quality.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/lib/quality.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAwBhE"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Detect and redact secrets from text.
3
- * Returns the text with secrets replaced by [REDACTED].
4
- */
5
- export declare function redactSecrets(text: string): string;
6
- /**
7
- * Check if text contains any detectable secrets.
8
- */
9
- export declare function containsSecrets(text: string): boolean;
10
- //# sourceMappingURL=redact.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/lib/redact.ts"],"names":[],"mappings":"AAsCA;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMrD"}
@@ -1,49 +0,0 @@
1
- /**
2
- * Remote sync — push/pull memories to/from a remote mementos-serve instance.
3
- *
4
- * The remote must be running `mementos-serve`. Point at it via:
5
- * MEMENTOS_REMOTE_URL=http://apple01:19428
6
- * or pass the URL directly to push/pull functions.
7
- */
8
- declare const DEFAULT_PORT = 19428;
9
- export interface RemoteSyncOptions {
10
- remoteUrl?: string;
11
- scope?: "global" | "shared" | "private" | "working";
12
- agentId?: string;
13
- projectId?: string;
14
- since?: string;
15
- limit?: number;
16
- overwrite?: boolean;
17
- }
18
- export interface RemoteSyncResult {
19
- pushed?: number;
20
- pulled?: number;
21
- errors: string[];
22
- remote_url: string;
23
- }
24
- /**
25
- * Push local memories to a remote mementos-serve instance.
26
- * Uses POST /api/memories/import on the remote.
27
- */
28
- export declare function pushToRemote(opts?: RemoteSyncOptions): Promise<RemoteSyncResult>;
29
- /**
30
- * Pull memories from a remote mementos-serve instance into local DB.
31
- * Uses POST /api/memories/export on the remote.
32
- */
33
- export declare function pullFromRemote(opts?: RemoteSyncOptions): Promise<RemoteSyncResult>;
34
- /**
35
- * Bidirectional sync: push local then pull remote.
36
- * On key conflict, newer timestamp wins.
37
- */
38
- export declare function syncWithRemote(opts?: RemoteSyncOptions): Promise<RemoteSyncResult>;
39
- /**
40
- * Check if a remote mementos-serve is reachable.
41
- */
42
- export declare function pingRemote(url?: string): Promise<{
43
- ok: boolean;
44
- url: string;
45
- status?: number;
46
- error?: string;
47
- }>;
48
- export { DEFAULT_PORT };
49
- //# sourceMappingURL=remote-sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-sync.d.ts","sourceRoot":"","sources":["../../src/lib/remote-sync.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,QAAA,MAAM,YAAY,QAAQ,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAqBD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA4B1F;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyB5F;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAU5F;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAUrH;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- import type { MementosConfig } from "../types/index.js";
3
- export declare function enforceQuotas(config: MementosConfig, db?: Database): number;
4
- export declare function archiveStale(staleDays: number, db?: Database): number;
5
- export declare function archiveUnused(days: number, db?: Database): number;
6
- export declare function deprioritizeStale(days: number, db?: Database): number;
7
- export declare function runCleanup(config: MementosConfig, db?: Database): {
8
- expired: number;
9
- evicted: number;
10
- archived: number;
11
- unused_archived: number;
12
- deprioritized: number;
13
- };
14
- export declare function enforceMemoryBounds(projectId?: string, db?: Database): {
15
- archived: number;
16
- };
17
- //# sourceMappingURL=retention.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../../src/lib/retention.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,mBAAmB,CAAC;AAUrE,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CA0C3E;AAMD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAwBrE;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAoBjE;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CA2BrE;AAMD,wBAAgB,UAAU,CACxB,MAAM,EAAE,cAAc,EACtB,EAAE,CAAC,EAAE,QAAQ,GACZ;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAgBxG;AAOD,wBAAgB,mBAAmB,CACjC,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAuEtB"}
@@ -1,52 +0,0 @@
1
- import { Database } from "bun:sqlite";
2
- import type { Memory, MemoryFilter, MemorySearchResult } from "../types/index.js";
3
- /**
4
- * Search memories by query string with relevance scoring.
5
- *
6
- * Uses FTS5 full-text search when available, falling back to LIKE queries.
7
- * Searches across key, value, summary, and tags. Results are scored,
8
- * weighted by importance, filtered, and sorted by score DESC then
9
- * importance DESC.
10
- */
11
- export declare function searchMemories(query: string, filter?: MemoryFilter, db?: Database): MemorySearchResult[];
12
- /**
13
- * Search memories using FTS5 BM25 ranking explicitly.
14
- * Returns results ranked by BM25 score (key weight 10, value weight 5, summary weight 3).
15
- */
16
- export declare function searchWithBm25(query: string, filter?: MemoryFilter, db?: Database): MemorySearchResult[];
17
- export interface HybridSearchResult {
18
- memory: Memory;
19
- score: number;
20
- keyword_rank: number | null;
21
- semantic_rank: number | null;
22
- match_type: MemorySearchResult["match_type"];
23
- highlights?: {
24
- field: string;
25
- snippet: string;
26
- }[];
27
- }
28
- /**
29
- * Hybrid search: runs keyword search (FTS5+fuzzy) and semantic search in parallel,
30
- * then fuses results using Reciprocal Rank Fusion (RRF).
31
- *
32
- * This combines the precision of keyword matching with the recall of semantic similarity.
33
- */
34
- export declare function hybridSearch(query: string, options?: {
35
- filter?: MemoryFilter;
36
- semantic_threshold?: number;
37
- semantic_weight?: number;
38
- keyword_weight?: number;
39
- limit?: number;
40
- k?: number;
41
- }, db?: Database): Promise<HybridSearchResult[]>;
42
- export declare function logSearchQuery(query: string, resultCount: number, agentId?: string, projectId?: string, db?: Database): void;
43
- export declare function getSearchHistory(limit?: number, projectId?: string, db?: Database): {
44
- query: string;
45
- result_count: number;
46
- created_at: string;
47
- }[];
48
- export declare function getPopularSearches(limit?: number, projectId?: string, db?: Database): {
49
- query: string;
50
- count: number;
51
- }[];
52
- //# sourceMappingURL=search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAyB,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA2nBlF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,YAAY,EACrB,EAAE,CAAC,EAAE,QAAQ,GACZ,kBAAkB,EAAE,CAiEtB;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,YAAY,EACrB,EAAE,CAAC,EAAE,QAAQ,GACZ,kBAAkB,EAAE,CAwDtB;AAMD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnD;AAgBD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;CACP,EACN,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiE/B;AAMD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,CAWN;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,GAAE,MAAW,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,CAU/D;AAED,wBAAgB,kBAAkB,CAChC,KAAK,GAAE,MAAW,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAUpC"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Auto-resolve agent_id and project_id from session metadata.
3
- * When a session is ingested without explicit agent/project context,
4
- * try to detect them from available metadata fields.
5
- */
6
- import type { Database } from "bun:sqlite";
7
- export interface AutoResolveResult {
8
- agentId: string | null;
9
- projectId: string | null;
10
- confidence: "high" | "low" | "none";
11
- method: string;
12
- }
13
- /**
14
- * Attempt to resolve agent_id and project_id from metadata fields.
15
- *
16
- * Strategy:
17
- * 1. If metadata.agentName matches an existing agent → agentId = agent.id, confidence=high
18
- * 2. If metadata.workingDir matches a registered project path → projectId = project.id, confidence=high
19
- * 3. If metadata.gitRemote contains a repo name that matches a project name → confidence=low
20
- * 4. Otherwise confidence=none
21
- */
22
- export declare function autoResolveAgentProject(metadata: {
23
- workingDir?: string;
24
- agentName?: string;
25
- gitRemote?: string;
26
- sessionSource?: string;
27
- }, db?: Database): AutoResolveResult;
28
- //# sourceMappingURL=session-auto-resolve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-auto-resolve.d.ts","sourceRoot":"","sources":["../../src/lib/session-auto-resolve.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQ3C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE;IACR,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,EACD,EAAE,CAAC,EAAE,QAAQ,GACZ,iBAAiB,CAsFnB"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Session transcript processor.
3
- * Takes a full session transcript, chunks it, calls LLM to extract memories,
4
- * saves extracted memories tagged with session_id + source.
5
- * All failures are silently caught — never throws.
6
- */
7
- import type { Database } from "bun:sqlite";
8
- export interface ChunkResult {
9
- chunkIndex: number;
10
- memoriesExtracted: number;
11
- }
12
- export interface ProcessingResult {
13
- jobId: string;
14
- chunksProcessed: number;
15
- memoriesExtracted: number;
16
- errors: string[];
17
- }
18
- /**
19
- * Split a transcript into chunks with overlap.
20
- */
21
- export declare function chunkTranscript(transcript: string, chunkSize?: number, overlap?: number): string[];
22
- /**
23
- * Extract memories from a single chunk using the available LLM provider.
24
- * Returns the count of memories saved.
25
- */
26
- export declare function extractMemoriesFromChunk(chunk: string, context: {
27
- sessionId: string;
28
- agentId?: string;
29
- projectId?: string;
30
- source?: string;
31
- }, db?: Database): Promise<number>;
32
- /**
33
- * Process a session memory job end-to-end.
34
- * Fetches the job, marks it processing, chunks transcript, extracts memories.
35
- * Updates job status to completed or failed.
36
- */
37
- export declare function processSessionJob(jobId: string, db?: Database): Promise<ProcessingResult>;
38
- //# sourceMappingURL=session-processor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-processor.d.ts","sourceRoot":"","sources":["../../src/lib/session-processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAe3C,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAaD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,SAAS,SAAO,EAChB,OAAO,SAAM,GACZ,MAAM,EAAE,CAeV;AAMD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,EACD,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,MAAM,CAAC,CAyHjB;AAMD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAqH3B"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Background queue for session memory job processing.
3
- * Polls for pending jobs every 5 seconds, processes one at a time (concurrency=1).
4
- * Fire-and-forget: enqueueSessionJob() returns immediately, processing happens async.
5
- */
6
- export interface SessionQueueStats {
7
- pending: number;
8
- processing: number;
9
- completed: number;
10
- failed: number;
11
- }
12
- /**
13
- * Enqueue a job ID for processing. Fire-and-forget.
14
- * The background worker will pick it up within the next polling interval.
15
- */
16
- export declare function enqueueSessionJob(jobId: string): void;
17
- /**
18
- * Get in-memory queue stats.
19
- * Note: pending/completed/failed counts come from DB when a full scan is needed;
20
- * this returns a lightweight in-memory snapshot.
21
- */
22
- export declare function getSessionQueueStats(): SessionQueueStats;
23
- /**
24
- * Start the background polling worker.
25
- * Idempotent — safe to call multiple times (only starts once).
26
- */
27
- export declare function startSessionQueueWorker(): void;
28
- //# sourceMappingURL=session-queue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-queue.d.ts","sourceRoot":"","sources":["../../src/lib/session-queue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAeD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAMrD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CA6BxD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAQ9C"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Session Registry — shared registry of active Claude Code sessions.
3
- * Designed to be reusable across the open-* ecosystem (mementos, todos, conversations).
4
- *
5
- * Uses a shared SQLite DB at ~/.open-sessions-registry.db.
6
- * Each MCP server registers on connect, heartbeats, and can query peers.
7
- * PID identifies the Claude Code process — all MCPs in same session share a PID.
8
- */
9
- export interface SessionInfo {
10
- id: string;
11
- pid: number;
12
- cwd: string;
13
- git_root: string | null;
14
- agent_name: string | null;
15
- project_name: string | null;
16
- tty: string | null;
17
- mcp_server: string;
18
- metadata: Record<string, unknown>;
19
- registered_at: string;
20
- last_seen_at: string;
21
- }
22
- export interface SessionFilter {
23
- project_name?: string;
24
- git_root?: string;
25
- mcp_server?: string;
26
- agent_name?: string;
27
- exclude_pid?: number;
28
- }
29
- export declare function registerSession(opts: {
30
- mcp_server: string;
31
- agent_name?: string;
32
- project_name?: string;
33
- cwd?: string;
34
- git_root?: string;
35
- tty?: string;
36
- metadata?: Record<string, unknown>;
37
- }): SessionInfo;
38
- export declare function heartbeatSession(id: string): void;
39
- export declare function unregisterSession(id: string): void;
40
- export declare function getSession(id: string): SessionInfo | null;
41
- export declare function listSessions(filter?: SessionFilter): SessionInfo[];
42
- export declare function getSessionByAgent(agentName: string): SessionInfo | null;
43
- export declare function getSessionsByProject(projectName: string): SessionInfo[];
44
- export declare function cleanStaleSessions(): number;
45
- export declare function updateSessionAgent(mcpServer: string, agentName: string): void;
46
- export declare function closeRegistry(): void;
47
- //# sourceMappingURL=session-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-registry.d.ts","sourceRoot":"","sources":["../../src/lib/session-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAwFD,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,WAAW,CA8Cd;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAGjD;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAGlD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAIzD;AAED,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,WAAW,EAAE,CAsClE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAGvE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAEvE;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAW3C;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAO7E;AAMD,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Session Start Briefing — pushes a project memory briefing when a new session begins.
3
- * Includes: synthesized profile, top memories, last session summary, flagged items.
4
- */
5
- export declare function pushSessionBriefing(options: {
6
- project_id?: string;
7
- project_name?: string;
8
- agent_id?: string;
9
- }): Promise<boolean>;
10
- //# sourceMappingURL=session-start-briefing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-start-briefing.d.ts","sourceRoot":"","sources":["../../src/lib/session-start-briefing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,OAAO,CAAC,CAqFnB"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Session Watcher — watches the active Claude Code session JSONL file
3
- * for new messages. Enables proactive memory injection by detecting
4
- * what the agent is working on in real-time.
5
- */
6
- export interface SessionMessage {
7
- role: "user" | "assistant" | "tool";
8
- content: string | {
9
- type: string;
10
- text?: string;
11
- name?: string;
12
- input?: Record<string, unknown>;
13
- }[];
14
- tool_use?: {
15
- name: string;
16
- input: Record<string, unknown>;
17
- }[];
18
- timestamp: string;
19
- }
20
- export type MessageCallback = (message: SessionMessage) => void;
21
- export declare function startSessionWatcher(cwd: string, callback: MessageCallback): {
22
- sessionFile: string | null;
23
- };
24
- export declare function stopSessionWatcher(): void;
25
- export declare function getWatcherStatus(): {
26
- active: boolean;
27
- watching_file: string | null;
28
- last_offset: number;
29
- };
30
- //# sourceMappingURL=session-watcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-watcher.d.ts","sourceRoot":"","sources":["../../src/lib/session-watcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,CAAC;IACpG,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,CAAC;IAC9D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AA+EhE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG;IAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAiC1G;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAYzC;AAED,wBAAgB,gBAAgB,IAAI;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB,CAMA"}
@@ -1,10 +0,0 @@
1
- import { Database } from "bun:sqlite";
2
- import type { ConflictResolution, SyncDirection, SyncResult } from "../types/index.js";
3
- export declare function syncMemories(agentName: string, direction?: SyncDirection, options?: {
4
- agent_id?: string;
5
- project_id?: string;
6
- conflict_resolution?: ConflictResolution;
7
- db?: Database;
8
- }): SyncResult;
9
- export declare const defaultSyncAgents: string[];
10
- //# sourceMappingURL=sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,OAAO,KAAK,EACV,kBAAkB,EAElB,aAAa,EACb,UAAU,EACX,MAAM,mBAAmB,CAAC;AA6K3B,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,aAAsB,EACjC,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,EAAE,CAAC,EAAE,QAAQ,CAAC;CACV,GACL,UAAU,CAgCZ;AAED,eAAO,MAAM,iBAAiB,UAAgC,CAAC"}
@@ -1,30 +0,0 @@
1
- import { Database } from "bun:sqlite";
2
- import type { Memory } from "../../types/index.js";
3
- export interface MemoryCorpusItem {
4
- memory: Memory;
5
- recallCount: number;
6
- lastRecalled: string | null;
7
- searchHits: number;
8
- similarMemoryIds: string[];
9
- }
10
- export interface AnalysisCorpus {
11
- projectId: string | null;
12
- totalMemories: number;
13
- items: MemoryCorpusItem[];
14
- staleMemories: Memory[];
15
- duplicateCandidates: Array<{
16
- a: Memory;
17
- b: Memory;
18
- similarity: number;
19
- }>;
20
- lowImportanceHighRecall: Memory[];
21
- highImportanceLowRecall: Memory[];
22
- generatedAt: string;
23
- }
24
- export declare function buildCorpus(options: {
25
- projectId?: string;
26
- agentId?: string;
27
- limit?: number;
28
- db?: Database;
29
- }): Promise<AnalysisCorpus>;
30
- //# sourceMappingURL=corpus-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"corpus-builder.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/corpus-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASnD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAyDD,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,QAAQ,CAAC;CACf,GAAG,OAAO,CAAC,cAAc,CAAC,CA0H1B"}
@@ -1,14 +0,0 @@
1
- import { Database } from "bun:sqlite";
2
- import { type SynthesisProposal } from "../../db/synthesis.js";
3
- export interface ExecutionResult {
4
- runId: string;
5
- executed: number;
6
- failed: number;
7
- rollbackData: Record<string, unknown>;
8
- }
9
- export declare function executeProposals(runId: string, proposals: SynthesisProposal[], db?: Database): Promise<ExecutionResult>;
10
- export declare function rollbackRun(runId: string, db?: Database): Promise<{
11
- rolled_back: number;
12
- errors: string[];
13
- }>;
14
- //# sourceMappingURL=executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAMD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,iBAAiB,EAAE,EAC9B,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC,eAAe,CAAC,CAsC1B;AAgND,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAmBpD"}
@@ -1,37 +0,0 @@
1
- import { Database } from "bun:sqlite";
2
- import { type SynthesisProposal, type SynthesisRun } from "../../db/synthesis.js";
3
- import { type SafetyConfig } from "./validator.js";
4
- import { type EffectivenessReport } from "./metrics.js";
5
- export type { SafetyConfig } from "./validator.js";
6
- export type { EffectivenessReport } from "./metrics.js";
7
- export type { AnalysisCorpus, MemoryCorpusItem } from "./corpus-builder.js";
8
- export type { SynthesisAnalysisResult } from "./llm-analyzer.js";
9
- export type { ValidationResult, SafetyConfig as SafetyConfigType } from "./validator.js";
10
- export type { ExecutionResult } from "./executor.js";
11
- export type { SchedulerConfig, SchedulerState } from "./scheduler.js";
12
- export interface SynthesisOptions {
13
- projectId?: string;
14
- agentId?: string;
15
- provider?: string;
16
- maxProposals?: number;
17
- dryRun?: boolean;
18
- safetyConfig?: Partial<SafetyConfig>;
19
- db?: Database;
20
- }
21
- export interface SynthesisResult {
22
- run: SynthesisRun;
23
- proposals: SynthesisProposal[];
24
- executed: number;
25
- metrics: EffectivenessReport | null;
26
- dryRun: boolean;
27
- }
28
- export declare function runSynthesis(options?: SynthesisOptions): Promise<SynthesisResult>;
29
- export declare function rollbackSynthesis(runId: string, db?: Database): Promise<{
30
- rolled_back: number;
31
- errors: string[];
32
- }>;
33
- export declare function getSynthesisStatus(runId?: string, projectId?: string, db?: Database): {
34
- lastRun: SynthesisRun | null;
35
- recentRuns: SynthesisRun[];
36
- };
37
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAM9E,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzF,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMtE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,EAAE,CAAC,EAAE,QAAQ,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,YAAY,CAAC;IAClB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;CACjB;AAMD,wBAAsB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAwJ3F;AAMD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAUpD;AAMD,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ;IAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,YAAY,EAAE,CAAA;CAAE,CAwB9D"}
@@ -1,18 +0,0 @@
1
- import type { AnalysisCorpus } from "./corpus-builder.js";
2
- export interface SynthesisAnalysisResult {
3
- proposals: Array<{
4
- type: "merge" | "archive" | "promote" | "update_value" | "add_tag" | "remove_duplicate";
5
- memory_ids: string[];
6
- target_memory_id?: string;
7
- proposed_changes: Record<string, unknown>;
8
- reasoning: string;
9
- confidence: number;
10
- }>;
11
- summary: string;
12
- analysisDurationMs: number;
13
- }
14
- export declare function analyzeCorpus(corpus: AnalysisCorpus, options?: {
15
- provider?: string;
16
- maxProposals?: number;
17
- }): Promise<SynthesisAnalysisResult>;
18
- //# sourceMappingURL=llm-analyzer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"llm-analyzer.d.ts","sourceRoot":"","sources":["../../../src/lib/synthesis/llm-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAM1D,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,kBAAkB,CAAC;QACxF,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAyFD,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAAC,uBAAuB,CAAC,CA8ClC"}
@@ -1,13 +0,0 @@
1
- import { Database } from "bun:sqlite";
2
- import { type SynthesisMetric } from "../../db/synthesis.js";
3
- import type { AnalysisCorpus } from "./corpus-builder.js";
4
- export interface EffectivenessReport {
5
- runId: string;
6
- corpusReduction: number;
7
- importanceDrift: number;
8
- deduplicationRate: number;
9
- estimatedRecallImprovement: number;
10
- metrics: SynthesisMetric[];
11
- }
12
- export declare function measureEffectiveness(runId: string, preCorpus: AnalysisCorpus, db?: Database): Promise<EffectivenessReport>;
13
- //# sourceMappingURL=metrics.d.ts.map