@hasna/mementos 0.14.33 → 0.14.34

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 (240) hide show
  1. package/LICENSE +190 -3
  2. package/README.md +30 -41
  3. package/dist/cli/brains.d.ts +3 -0
  4. package/dist/cli/brains.d.ts.map +1 -0
  5. package/dist/cli/index.d.ts +3 -0
  6. package/dist/cli/index.d.ts.map +1 -0
  7. package/dist/cli/index.js +25767 -0
  8. package/dist/db/acl.d.ts +34 -0
  9. package/dist/db/acl.d.ts.map +1 -0
  10. package/dist/db/agents.d.ts +15 -0
  11. package/dist/db/agents.d.ts.map +1 -0
  12. package/dist/db/audit.d.ts +39 -0
  13. package/dist/db/audit.d.ts.map +1 -0
  14. package/dist/db/database.d.ts +10 -0
  15. package/dist/db/database.d.ts.map +1 -0
  16. package/dist/db/entities.d.ts +62 -0
  17. package/dist/db/entities.d.ts.map +1 -0
  18. package/dist/db/entity-memories.d.ts +34 -0
  19. package/dist/db/entity-memories.d.ts.map +1 -0
  20. package/dist/db/locks.d.ts +63 -0
  21. package/dist/db/locks.d.ts.map +1 -0
  22. package/dist/db/machines.d.ts +16 -0
  23. package/dist/db/machines.d.ts.map +1 -0
  24. package/dist/db/memories.d.ts +40 -0
  25. package/dist/db/memories.d.ts.map +1 -0
  26. package/dist/db/pg-migrate.d.ts +14 -0
  27. package/dist/db/pg-migrate.d.ts.map +1 -0
  28. package/dist/db/pg-migrations.d.ts +8 -0
  29. package/dist/db/pg-migrations.d.ts.map +1 -0
  30. package/dist/db/projects.d.ts +6 -0
  31. package/dist/db/projects.d.ts.map +1 -0
  32. package/dist/db/ratings.d.ts +23 -0
  33. package/dist/db/ratings.d.ts.map +1 -0
  34. package/dist/db/relations.d.ts +29 -0
  35. package/dist/db/relations.d.ts.map +1 -0
  36. package/dist/db/session-jobs.d.ts +49 -0
  37. package/dist/db/session-jobs.d.ts.map +1 -0
  38. package/dist/db/synthesis.d.ts +101 -0
  39. package/dist/db/synthesis.d.ts.map +1 -0
  40. package/dist/db/tool-events.d.ts +27 -0
  41. package/dist/db/tool-events.d.ts.map +1 -0
  42. package/dist/db/webhook_hooks.d.ts +25 -0
  43. package/dist/db/webhook_hooks.d.ts.map +1 -0
  44. package/dist/index.d.ts +27 -4
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +14642 -1018
  47. package/dist/lib/activation-matcher.d.ts +16 -0
  48. package/dist/lib/activation-matcher.d.ts.map +1 -0
  49. package/dist/lib/asmr/categorizer.d.ts +31 -0
  50. package/dist/lib/asmr/categorizer.d.ts.map +1 -0
  51. package/dist/lib/asmr/context-agent.d.ts +4 -0
  52. package/dist/lib/asmr/context-agent.d.ts.map +1 -0
  53. package/dist/lib/asmr/ensemble.d.ts +23 -0
  54. package/dist/lib/asmr/ensemble.d.ts.map +1 -0
  55. package/dist/lib/asmr/fact-agent.d.ts +4 -0
  56. package/dist/lib/asmr/fact-agent.d.ts.map +1 -0
  57. package/dist/lib/asmr/index.d.ts +7 -0
  58. package/dist/lib/asmr/index.d.ts.map +1 -0
  59. package/dist/lib/asmr/orchestrator.d.ts +4 -0
  60. package/dist/lib/asmr/orchestrator.d.ts.map +1 -0
  61. package/dist/lib/asmr/temporal-agent.d.ts +4 -0
  62. package/dist/lib/asmr/temporal-agent.d.ts.map +1 -0
  63. package/dist/lib/asmr/types.d.ts +27 -0
  64. package/dist/lib/asmr/types.d.ts.map +1 -0
  65. package/dist/lib/auto-inject-orchestrator.d.ts +57 -0
  66. package/dist/lib/auto-inject-orchestrator.d.ts.map +1 -0
  67. package/dist/lib/auto-memory-queue.d.ts +46 -0
  68. package/dist/lib/auto-memory-queue.d.ts.map +1 -0
  69. package/dist/lib/auto-memory.d.ts +18 -0
  70. package/dist/lib/auto-memory.d.ts.map +1 -0
  71. package/dist/lib/bench.d.ts +20 -0
  72. package/dist/lib/bench.d.ts.map +1 -0
  73. package/dist/lib/built-in-hooks.d.ts +12 -0
  74. package/dist/lib/built-in-hooks.d.ts.map +1 -0
  75. package/dist/lib/channel-pusher.d.ts +39 -0
  76. package/dist/lib/channel-pusher.d.ts.map +1 -0
  77. package/dist/lib/config.d.ts +9 -0
  78. package/dist/lib/config.d.ts.map +1 -0
  79. package/dist/lib/connectors/files.d.ts +8 -0
  80. package/dist/lib/connectors/files.d.ts.map +1 -0
  81. package/dist/lib/connectors/github.d.ts +7 -0
  82. package/dist/lib/connectors/github.d.ts.map +1 -0
  83. package/dist/lib/connectors/index.d.ts +12 -0
  84. package/dist/lib/connectors/index.d.ts.map +1 -0
  85. package/dist/lib/connectors/notion.d.ts +7 -0
  86. package/dist/lib/connectors/notion.d.ts.map +1 -0
  87. package/dist/lib/connectors/types.d.ts +27 -0
  88. package/dist/lib/connectors/types.d.ts.map +1 -0
  89. package/dist/lib/context-extractor.d.ts +14 -0
  90. package/dist/lib/context-extractor.d.ts.map +1 -0
  91. package/dist/lib/context.d.ts +35 -0
  92. package/dist/lib/context.d.ts.map +1 -0
  93. package/dist/lib/contradiction.d.ts +50 -0
  94. package/dist/lib/contradiction.d.ts.map +1 -0
  95. package/dist/lib/decay.d.ts +35 -0
  96. package/dist/lib/decay.d.ts.map +1 -0
  97. package/dist/lib/dedup.d.ts +33 -0
  98. package/dist/lib/dedup.d.ts.map +1 -0
  99. package/dist/lib/duration.d.ts +28 -0
  100. package/dist/lib/duration.d.ts.map +1 -0
  101. package/dist/lib/embeddings.d.ts +20 -0
  102. package/dist/lib/embeddings.d.ts.map +1 -0
  103. package/dist/lib/export-v1.d.ts +30 -0
  104. package/dist/lib/export-v1.d.ts.map +1 -0
  105. package/dist/lib/extractor.d.ts +9 -0
  106. package/dist/lib/extractor.d.ts.map +1 -0
  107. package/dist/lib/extractors/audio.d.ts +8 -0
  108. package/dist/lib/extractors/audio.d.ts.map +1 -0
  109. package/dist/lib/extractors/index.d.ts +12 -0
  110. package/dist/lib/extractors/index.d.ts.map +1 -0
  111. package/dist/lib/extractors/ocr.d.ts +7 -0
  112. package/dist/lib/extractors/ocr.d.ts.map +1 -0
  113. package/dist/lib/extractors/pdf.d.ts +7 -0
  114. package/dist/lib/extractors/pdf.d.ts.map +1 -0
  115. package/dist/lib/extractors/types.d.ts +12 -0
  116. package/dist/lib/extractors/types.d.ts.map +1 -0
  117. package/dist/lib/file-deps.d.ts +27 -0
  118. package/dist/lib/file-deps.d.ts.map +1 -0
  119. package/dist/lib/focus.d.ts +58 -0
  120. package/dist/lib/focus.d.ts.map +1 -0
  121. package/dist/lib/gatherer.d.ts +16 -0
  122. package/dist/lib/gatherer.d.ts.map +1 -0
  123. package/dist/lib/gdpr.d.ts +24 -0
  124. package/dist/lib/gdpr.d.ts.map +1 -0
  125. package/dist/lib/hooks.d.ts +50 -0
  126. package/dist/lib/hooks.d.ts.map +1 -0
  127. package/dist/lib/importers/index.d.ts +38 -0
  128. package/dist/lib/importers/index.d.ts.map +1 -0
  129. package/dist/lib/injector.d.ts +86 -0
  130. package/dist/lib/injector.d.ts.map +1 -0
  131. package/dist/lib/matryoshka.d.ts +50 -0
  132. package/dist/lib/matryoshka.d.ts.map +1 -0
  133. package/dist/lib/memory-lock.d.ts +58 -0
  134. package/dist/lib/memory-lock.d.ts.map +1 -0
  135. package/dist/lib/model-config.d.ts +14 -0
  136. package/dist/lib/model-config.d.ts.map +1 -0
  137. package/dist/lib/open-sessions-connector.d.ts +60 -0
  138. package/dist/lib/open-sessions-connector.d.ts.map +1 -0
  139. package/dist/lib/poisoning.d.ts +19 -0
  140. package/dist/lib/poisoning.d.ts.map +1 -0
  141. package/dist/lib/poll.d.ts +17 -0
  142. package/dist/lib/poll.d.ts.map +1 -0
  143. package/dist/lib/procedural-extractor.d.ts +21 -0
  144. package/dist/lib/procedural-extractor.d.ts.map +1 -0
  145. package/dist/lib/profile-sync.d.ts +20 -0
  146. package/dist/lib/profile-sync.d.ts.map +1 -0
  147. package/dist/lib/profile-synthesizer.d.ts +20 -0
  148. package/dist/lib/profile-synthesizer.d.ts.map +1 -0
  149. package/dist/lib/project-detect.d.ts +18 -0
  150. package/dist/lib/project-detect.d.ts.map +1 -0
  151. package/dist/lib/providers/anthropic.d.ts +21 -0
  152. package/dist/lib/providers/anthropic.d.ts.map +1 -0
  153. package/dist/lib/providers/base.d.ts +96 -0
  154. package/dist/lib/providers/base.d.ts.map +1 -0
  155. package/dist/lib/providers/cerebras.d.ts +20 -0
  156. package/dist/lib/providers/cerebras.d.ts.map +1 -0
  157. package/dist/lib/providers/grok.d.ts +19 -0
  158. package/dist/lib/providers/grok.d.ts.map +1 -0
  159. package/dist/lib/providers/index.d.ts +7 -0
  160. package/dist/lib/providers/index.d.ts.map +1 -0
  161. package/dist/lib/providers/openai-compat.d.ts +18 -0
  162. package/dist/lib/providers/openai-compat.d.ts.map +1 -0
  163. package/dist/lib/providers/openai.d.ts +20 -0
  164. package/dist/lib/providers/openai.d.ts.map +1 -0
  165. package/dist/lib/providers/registry.d.ts +38 -0
  166. package/dist/lib/providers/registry.d.ts.map +1 -0
  167. package/dist/lib/quality.d.ts +16 -0
  168. package/dist/lib/quality.d.ts.map +1 -0
  169. package/dist/lib/redact.d.ts +10 -0
  170. package/dist/lib/redact.d.ts.map +1 -0
  171. package/dist/lib/remote-sync.d.ts +49 -0
  172. package/dist/lib/remote-sync.d.ts.map +1 -0
  173. package/dist/lib/retention.d.ts +17 -0
  174. package/dist/lib/retention.d.ts.map +1 -0
  175. package/dist/lib/search.d.ts +52 -0
  176. package/dist/lib/search.d.ts.map +1 -0
  177. package/dist/lib/session-auto-resolve.d.ts +28 -0
  178. package/dist/lib/session-auto-resolve.d.ts.map +1 -0
  179. package/dist/lib/session-processor.d.ts +38 -0
  180. package/dist/lib/session-processor.d.ts.map +1 -0
  181. package/dist/lib/session-queue.d.ts +28 -0
  182. package/dist/lib/session-queue.d.ts.map +1 -0
  183. package/dist/lib/session-registry.d.ts +47 -0
  184. package/dist/lib/session-registry.d.ts.map +1 -0
  185. package/dist/lib/session-start-briefing.d.ts +10 -0
  186. package/dist/lib/session-start-briefing.d.ts.map +1 -0
  187. package/dist/lib/session-watcher.d.ts +30 -0
  188. package/dist/lib/session-watcher.d.ts.map +1 -0
  189. package/dist/lib/sync.d.ts +10 -0
  190. package/dist/lib/sync.d.ts.map +1 -0
  191. package/dist/lib/synthesis/corpus-builder.d.ts +30 -0
  192. package/dist/lib/synthesis/corpus-builder.d.ts.map +1 -0
  193. package/dist/lib/synthesis/executor.d.ts +14 -0
  194. package/dist/lib/synthesis/executor.d.ts.map +1 -0
  195. package/dist/lib/synthesis/index.d.ts +37 -0
  196. package/dist/lib/synthesis/index.d.ts.map +1 -0
  197. package/dist/lib/synthesis/llm-analyzer.d.ts +18 -0
  198. package/dist/lib/synthesis/llm-analyzer.d.ts.map +1 -0
  199. package/dist/lib/synthesis/metrics.d.ts +13 -0
  200. package/dist/lib/synthesis/metrics.d.ts.map +1 -0
  201. package/dist/lib/synthesis/scheduler.d.ts +18 -0
  202. package/dist/lib/synthesis/scheduler.d.ts.map +1 -0
  203. package/dist/lib/synthesis/validator.d.ts +19 -0
  204. package/dist/lib/synthesis/validator.d.ts.map +1 -0
  205. package/dist/lib/tool-lesson-extractor.d.ts +24 -0
  206. package/dist/lib/tool-lesson-extractor.d.ts.map +1 -0
  207. package/dist/lib/tool-memory-synthesizer.d.ts +28 -0
  208. package/dist/lib/tool-memory-synthesizer.d.ts.map +1 -0
  209. package/dist/lib/topic-clusterer.d.ts +21 -0
  210. package/dist/lib/topic-clusterer.d.ts.map +1 -0
  211. package/dist/lib/when-to-use-generator.d.ts +22 -0
  212. package/dist/lib/when-to-use-generator.d.ts.map +1 -0
  213. package/dist/mcp/index.d.ts +5 -0
  214. package/dist/mcp/index.d.ts.map +1 -0
  215. package/dist/mcp/index.js +30258 -0
  216. package/dist/mcp/memory-broadcast.d.ts +12 -0
  217. package/dist/mcp/memory-broadcast.d.ts.map +1 -0
  218. package/dist/sdk/index.js +397 -0
  219. package/dist/server/index.d.ts +7 -0
  220. package/dist/server/index.d.ts.map +1 -0
  221. package/dist/server/index.js +18250 -0
  222. package/dist/types/hooks.d.ts +136 -0
  223. package/dist/types/hooks.d.ts.map +1 -0
  224. package/dist/types/index.d.ts +345 -0
  225. package/dist/types/index.d.ts.map +1 -0
  226. package/package.json +53 -13
  227. package/dist/agent-setup.d.ts +0 -51
  228. package/dist/agent-setup.d.ts.map +0 -1
  229. package/dist/bridge.d.ts +0 -50
  230. package/dist/bridge.d.ts.map +0 -1
  231. package/dist/cli.d.ts +0 -3
  232. package/dist/cli.d.ts.map +0 -1
  233. package/dist/cli.js +0 -1434
  234. package/dist/mcp-runtime.d.ts +0 -24
  235. package/dist/mcp-runtime.d.ts.map +0 -1
  236. package/dist/mcp.d.ts +0 -3
  237. package/dist/mcp.d.ts.map +0 -1
  238. package/dist/mcp.js +0 -366
  239. package/dist/remote-client.d.ts +0 -51
  240. package/dist/remote-client.d.ts.map +0 -1
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Hook system types for open-mementos lifecycle events.
3
+ *
4
+ * Blocking hooks: handler returns false → operation is cancelled.
5
+ * Non-blocking hooks: fire-and-forget, never delay the caller.
6
+ */
7
+ import type { Memory, CreateMemoryInput, UpdateMemoryInput } from "./index.js";
8
+ export type HookType = "PreMemorySave" | "PostMemorySave" | "PreMemoryUpdate" | "PostMemoryUpdate" | "PreMemoryDelete" | "PostMemoryDelete" | "PreEntityCreate" | "PostEntityCreate" | "PreRelationCreate" | "PostRelationCreate" | "OnSessionStart" | "OnSessionEnd" | "PreMemoryInject" | "PostMemoryInject";
9
+ export interface BaseHookContext {
10
+ agentId?: string;
11
+ projectId?: string;
12
+ sessionId?: string;
13
+ timestamp: number;
14
+ }
15
+ export interface PreMemorySaveContext extends BaseHookContext {
16
+ input: CreateMemoryInput;
17
+ }
18
+ export interface PostMemorySaveContext extends BaseHookContext {
19
+ memory: Memory;
20
+ wasUpdated: boolean;
21
+ }
22
+ export interface PreMemoryUpdateContext extends BaseHookContext {
23
+ memoryId: string;
24
+ input: UpdateMemoryInput;
25
+ existing: Memory;
26
+ }
27
+ export interface PostMemoryUpdateContext extends BaseHookContext {
28
+ memory: Memory;
29
+ previousValue: string;
30
+ }
31
+ export interface PreMemoryDeleteContext extends BaseHookContext {
32
+ memoryId: string;
33
+ memory: Memory;
34
+ }
35
+ export interface PostMemoryDeleteContext extends BaseHookContext {
36
+ memoryId: string;
37
+ }
38
+ export interface PreEntityCreateContext extends BaseHookContext {
39
+ name: string;
40
+ entityType: string;
41
+ }
42
+ export interface PostEntityCreateContext extends BaseHookContext {
43
+ entityId: string;
44
+ name: string;
45
+ entityType: string;
46
+ }
47
+ export interface PreRelationCreateContext extends BaseHookContext {
48
+ sourceEntityId: string;
49
+ targetEntityId: string;
50
+ relationType: string;
51
+ }
52
+ export interface PostRelationCreateContext extends BaseHookContext {
53
+ relationId: string;
54
+ sourceEntityId: string;
55
+ targetEntityId: string;
56
+ relationType: string;
57
+ }
58
+ export interface OnSessionStartContext extends BaseHookContext {
59
+ agentId: string;
60
+ projectId?: string;
61
+ }
62
+ export interface OnSessionEndContext extends BaseHookContext {
63
+ agentId: string;
64
+ projectId?: string;
65
+ /** Optional session summary for memory extraction */
66
+ summary?: string;
67
+ }
68
+ export interface PreMemoryInjectContext extends BaseHookContext {
69
+ /** Memories about to be injected — hook can mutate this array */
70
+ memories: Memory[];
71
+ format: string;
72
+ }
73
+ export interface PostMemoryInjectContext extends BaseHookContext {
74
+ memoriesCount: number;
75
+ format: string;
76
+ contextLength: number;
77
+ }
78
+ /** Union of all hook contexts keyed by type */
79
+ export type HookContextMap = {
80
+ PreMemorySave: PreMemorySaveContext;
81
+ PostMemorySave: PostMemorySaveContext;
82
+ PreMemoryUpdate: PreMemoryUpdateContext;
83
+ PostMemoryUpdate: PostMemoryUpdateContext;
84
+ PreMemoryDelete: PreMemoryDeleteContext;
85
+ PostMemoryDelete: PostMemoryDeleteContext;
86
+ PreEntityCreate: PreEntityCreateContext;
87
+ PostEntityCreate: PostEntityCreateContext;
88
+ PreRelationCreate: PreRelationCreateContext;
89
+ PostRelationCreate: PostRelationCreateContext;
90
+ OnSessionStart: OnSessionStartContext;
91
+ OnSessionEnd: OnSessionEndContext;
92
+ PreMemoryInject: PreMemoryInjectContext;
93
+ PostMemoryInject: PostMemoryInjectContext;
94
+ };
95
+ /**
96
+ * Blocking hook: return false to cancel the operation.
97
+ * Non-blocking hook: return value is ignored.
98
+ */
99
+ export type HookHandler<T extends HookType = HookType> = (context: HookContextMap[T]) => Promise<boolean | void>;
100
+ export interface Hook<T extends HookType = HookType> {
101
+ id: string;
102
+ type: T;
103
+ handler: HookHandler<T>;
104
+ /** Lower number = runs first. Default: 50 */
105
+ priority: number;
106
+ /**
107
+ * If true: operation waits for handler result. Return false = cancel.
108
+ * If false: runs async in background, return value ignored.
109
+ */
110
+ blocking: boolean;
111
+ /** Scope: only fire for this agent (undefined = all agents) */
112
+ agentId?: string;
113
+ /** Scope: only fire for this project (undefined = all projects) */
114
+ projectId?: string;
115
+ /** Human-readable description */
116
+ description?: string;
117
+ /** Whether this is a built-in system hook (can't be unregistered) */
118
+ builtin?: boolean;
119
+ }
120
+ export type HookRegistration<T extends HookType = HookType> = Omit<Hook<T>, "id">;
121
+ export interface WebhookHook {
122
+ id: string;
123
+ type: HookType;
124
+ /** HTTP endpoint to POST the context to */
125
+ handlerUrl: string;
126
+ priority: number;
127
+ blocking: boolean;
128
+ agentId?: string;
129
+ projectId?: string;
130
+ description?: string;
131
+ enabled: boolean;
132
+ createdAt: string;
133
+ invocationCount: number;
134
+ failureCount: number;
135
+ }
136
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,345 @@
1
+ export type MemoryScope = "global" | "shared" | "private" | "working";
2
+ export type MemoryCategory = "preference" | "fact" | "knowledge" | "history" | "procedural" | "resource";
3
+ export type MemorySource = "user" | "agent" | "system" | "auto" | "imported";
4
+ export type MemoryStatus = "active" | "archived" | "expired";
5
+ export interface Memory {
6
+ id: string;
7
+ key: string;
8
+ value: string;
9
+ category: MemoryCategory;
10
+ scope: MemoryScope;
11
+ summary: string | null;
12
+ tags: string[];
13
+ importance: number;
14
+ source: MemorySource;
15
+ status: MemoryStatus;
16
+ pinned: boolean;
17
+ agent_id: string | null;
18
+ project_id: string | null;
19
+ session_id: string | null;
20
+ machine_id?: string | null;
21
+ flag?: string | null;
22
+ when_to_use?: string | null;
23
+ sequence_group?: string | null;
24
+ sequence_order?: number | null;
25
+ content_type?: "text" | "code" | "image" | "resource";
26
+ namespace?: string | null;
27
+ created_by_agent?: string | null;
28
+ updated_by_agent?: string | null;
29
+ trust_score?: number | null;
30
+ metadata: Record<string, unknown>;
31
+ access_count: number;
32
+ version: number;
33
+ expires_at: string | null;
34
+ valid_from: string | null;
35
+ valid_until: string | null;
36
+ ingested_at: string | null;
37
+ created_at: string;
38
+ updated_at: string;
39
+ accessed_at: string | null;
40
+ }
41
+ export interface MemoryWithRelations extends Memory {
42
+ agent: Agent | null;
43
+ project: Project | null;
44
+ }
45
+ export interface CreateMemoryInput {
46
+ key: string;
47
+ value: string;
48
+ category?: MemoryCategory;
49
+ scope?: MemoryScope;
50
+ summary?: string;
51
+ tags?: string[];
52
+ importance?: number;
53
+ source?: MemorySource;
54
+ agent_id?: string;
55
+ project_id?: string;
56
+ session_id?: string;
57
+ metadata?: Record<string, unknown>;
58
+ expires_at?: string;
59
+ ttl_ms?: number;
60
+ machine_id?: string;
61
+ flag?: string;
62
+ when_to_use?: string;
63
+ sequence_group?: string;
64
+ sequence_order?: number;
65
+ namespace?: string;
66
+ }
67
+ export interface UpdateMemoryInput {
68
+ value?: string;
69
+ category?: MemoryCategory;
70
+ scope?: MemoryScope;
71
+ summary?: string | null;
72
+ tags?: string[];
73
+ importance?: number;
74
+ pinned?: boolean;
75
+ status?: MemoryStatus;
76
+ metadata?: Record<string, unknown>;
77
+ expires_at?: string | null;
78
+ flag?: string | null;
79
+ when_to_use?: string | null;
80
+ version: number;
81
+ }
82
+ export interface MemoryFilter {
83
+ scope?: MemoryScope | MemoryScope[];
84
+ category?: MemoryCategory | MemoryCategory[];
85
+ source?: MemorySource | MemorySource[];
86
+ status?: MemoryStatus | MemoryStatus[];
87
+ project_id?: string;
88
+ agent_id?: string;
89
+ session_id?: string;
90
+ tags?: string[];
91
+ min_importance?: number;
92
+ pinned?: boolean;
93
+ search?: string;
94
+ namespace?: string;
95
+ as_of?: string;
96
+ limit?: number;
97
+ offset?: number;
98
+ }
99
+ export interface MemorySearchResult {
100
+ memory: Memory;
101
+ score: number;
102
+ match_type: "exact" | "fuzzy" | "tag";
103
+ highlights?: {
104
+ field: string;
105
+ snippet: string;
106
+ }[];
107
+ /**
108
+ * Confidence margin 0.0–1.0 (borrowed from nuggets).
109
+ * High (>0.7) = top result clearly best. Low (<0.3) = several similar matches.
110
+ * Derived from FTS5 rank spread: (score_rank1 - score_rank2) / score_rank1.
111
+ * Only present on the first result.
112
+ */
113
+ confidence?: number;
114
+ }
115
+ export interface Agent {
116
+ id: string;
117
+ name: string;
118
+ session_id: string | null;
119
+ description: string | null;
120
+ role: string | null;
121
+ metadata: Record<string, unknown>;
122
+ active_project_id: string | null;
123
+ created_at: string;
124
+ last_seen_at: string;
125
+ }
126
+ export declare class AgentConflictError extends Error {
127
+ readonly conflict: true;
128
+ readonly existing_id: string;
129
+ readonly existing_name: string;
130
+ readonly last_seen_at: string;
131
+ readonly session_hint: string | null;
132
+ readonly working_dir: string | null;
133
+ constructor(opts: {
134
+ existing_id: string;
135
+ existing_name: string;
136
+ last_seen_at: string;
137
+ session_hint: string | null;
138
+ working_dir?: string | null;
139
+ });
140
+ }
141
+ export declare function isAgentConflict(result: unknown): result is AgentConflictError;
142
+ export interface Project {
143
+ id: string;
144
+ name: string;
145
+ path: string;
146
+ description: string | null;
147
+ memory_prefix: string | null;
148
+ created_at: string;
149
+ updated_at: string;
150
+ }
151
+ export interface MemoryStats {
152
+ total: number;
153
+ by_scope: Record<MemoryScope, number>;
154
+ by_category: Record<MemoryCategory, number>;
155
+ by_status: Record<MemoryStatus, number>;
156
+ by_agent: Record<string, number>;
157
+ pinned_count: number;
158
+ expired_count: number;
159
+ }
160
+ export interface MementosConfig {
161
+ default_scope: MemoryScope;
162
+ default_category: MemoryCategory;
163
+ default_importance: number;
164
+ max_entries: number;
165
+ max_entries_per_scope: Record<MemoryScope, number>;
166
+ injection: {
167
+ max_tokens: number;
168
+ min_importance: number;
169
+ categories: MemoryCategory[];
170
+ refresh_interval: number;
171
+ };
172
+ extraction: {
173
+ enabled: boolean;
174
+ min_confidence: number;
175
+ };
176
+ sync_agents: string[];
177
+ auto_cleanup: {
178
+ enabled: boolean;
179
+ expired_check_interval: number;
180
+ unused_archive_days: number;
181
+ stale_deprioritize_days: number;
182
+ };
183
+ }
184
+ export type DedupeMode = "merge" | "create" | "overwrite" | "error" | "version-fork";
185
+ export type SyncDirection = "push" | "pull" | "both";
186
+ export type ConflictResolution = "prefer-local" | "prefer-remote" | "prefer-newer";
187
+ export interface SyncOptions {
188
+ direction: SyncDirection;
189
+ conflict_resolution?: ConflictResolution;
190
+ agent_id?: string;
191
+ project_id?: string;
192
+ }
193
+ export interface SyncResult {
194
+ pushed: number;
195
+ pulled: number;
196
+ conflicts: number;
197
+ errors: string[];
198
+ }
199
+ export type EntityType = 'person' | 'project' | 'tool' | 'concept' | 'file' | 'api' | 'pattern' | 'organization';
200
+ export type RelationType = 'uses' | 'knows' | 'depends_on' | 'created_by' | 'related_to' | 'contradicts' | 'part_of' | 'implements' | 'happened_before' | 'happened_after' | 'caused_by' | 'resulted_in' | 'supersedes' | 'version_of';
201
+ export type EntityRole = 'subject' | 'object' | 'context';
202
+ export interface Entity {
203
+ id: string;
204
+ name: string;
205
+ type: EntityType;
206
+ description: string | null;
207
+ metadata: Record<string, unknown>;
208
+ project_id: string | null;
209
+ created_at: string;
210
+ updated_at: string;
211
+ }
212
+ export interface Relation {
213
+ id: string;
214
+ source_entity_id: string;
215
+ target_entity_id: string;
216
+ relation_type: RelationType;
217
+ weight: number;
218
+ metadata: Record<string, unknown>;
219
+ created_at: string;
220
+ }
221
+ export interface EntityMemory {
222
+ entity_id: string;
223
+ memory_id: string;
224
+ role: EntityRole;
225
+ created_at: string;
226
+ }
227
+ export interface EntityWithRelations extends Entity {
228
+ relations: Relation[];
229
+ memories: Memory[];
230
+ }
231
+ export interface CreateEntityInput {
232
+ name: string;
233
+ type: EntityType;
234
+ description?: string;
235
+ metadata?: Record<string, unknown>;
236
+ project_id?: string;
237
+ }
238
+ export interface UpdateEntityInput {
239
+ name?: string;
240
+ type?: EntityType;
241
+ description?: string | null;
242
+ metadata?: Record<string, unknown>;
243
+ }
244
+ export interface CreateRelationInput {
245
+ source_entity_id: string;
246
+ target_entity_id: string;
247
+ relation_type: RelationType;
248
+ weight?: number;
249
+ metadata?: Record<string, unknown>;
250
+ }
251
+ export declare class EntityNotFoundError extends Error {
252
+ constructor(id: string);
253
+ }
254
+ export interface MemoryVersion {
255
+ id: string;
256
+ memory_id: string;
257
+ version: number;
258
+ value: string;
259
+ importance: number;
260
+ scope: MemoryScope;
261
+ category: MemoryCategory;
262
+ tags: string[];
263
+ summary: string | null;
264
+ pinned: boolean;
265
+ status: MemoryStatus;
266
+ when_to_use?: string | null;
267
+ created_at: string;
268
+ }
269
+ export declare class MemoryNotFoundError extends Error {
270
+ constructor(id: string);
271
+ }
272
+ export declare class DuplicateMemoryError extends Error {
273
+ constructor(key: string, scope: MemoryScope);
274
+ }
275
+ export declare class MemoryExpiredError extends Error {
276
+ constructor(id: string);
277
+ }
278
+ export declare class InvalidScopeError extends Error {
279
+ constructor(message: string);
280
+ }
281
+ export declare class VersionConflictError extends Error {
282
+ expected: number;
283
+ actual: number;
284
+ constructor(id: string, expected: number, actual: number);
285
+ }
286
+ export declare class MemoryConflictError extends Error {
287
+ existingId: string;
288
+ existingAgentId: string | null;
289
+ existingUpdatedAt: string;
290
+ constructor(key: string, existing: {
291
+ id: string;
292
+ agent_id: string | null;
293
+ updated_at: string;
294
+ });
295
+ }
296
+ export type ToolErrorType = 'timeout' | 'permission' | 'not_found' | 'syntax' | 'rate_limit' | 'other';
297
+ export interface ToolEvent {
298
+ id: string;
299
+ tool_name: string;
300
+ action: string | null;
301
+ success: boolean;
302
+ error_type: ToolErrorType | null;
303
+ error_message: string | null;
304
+ tokens_used: number | null;
305
+ latency_ms: number | null;
306
+ context: string | null;
307
+ lesson: string | null;
308
+ when_to_use: string | null;
309
+ agent_id: string | null;
310
+ project_id: string | null;
311
+ session_id: string | null;
312
+ metadata: Record<string, unknown>;
313
+ created_at: string;
314
+ }
315
+ export interface CreateToolEventInput {
316
+ tool_name: string;
317
+ action?: string;
318
+ success: boolean;
319
+ error_type?: ToolErrorType;
320
+ error_message?: string;
321
+ tokens_used?: number;
322
+ latency_ms?: number;
323
+ context?: string;
324
+ lesson?: string;
325
+ when_to_use?: string;
326
+ agent_id?: string;
327
+ project_id?: string;
328
+ session_id?: string;
329
+ metadata?: Record<string, unknown>;
330
+ }
331
+ export interface ToolStats {
332
+ tool_name: string;
333
+ total_calls: number;
334
+ success_count: number;
335
+ failure_count: number;
336
+ success_rate: number;
337
+ avg_tokens: number | null;
338
+ avg_latency_ms: number | null;
339
+ common_errors: {
340
+ error_type: string;
341
+ count: number;
342
+ }[];
343
+ last_used: string;
344
+ }
345
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,44 +1,84 @@
1
1
  {
2
2
  "name": "@hasna/mementos",
3
- "version": "0.14.33",
4
- "description": "Remote-only mementos.md SaaS CLI and MCP client",
3
+ "version": "0.14.34",
4
+ "description": "Universal memory system for AI agents - CLI + MCP server + library API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "bin": {
9
- "mementos": "dist/cli.js",
10
- "mementos-mcp": "dist/mcp.js"
9
+ "mementos": "dist/cli/index.js",
10
+ "mementos-mcp": "dist/mcp/index.js",
11
+ "mementos-serve": "dist/server/index.js"
11
12
  },
12
13
  "exports": {
13
14
  ".": {
14
15
  "types": "./dist/index.d.ts",
15
16
  "import": "./dist/index.js"
17
+ },
18
+ "./sdk": {
19
+ "types": "./dist/sdk/index.d.ts",
20
+ "import": "./dist/sdk/index.js"
16
21
  }
17
22
  },
18
23
  "files": [
19
24
  "dist",
20
- "README.md",
21
- "LICENSE"
25
+ "dashboard/dist",
26
+ "LICENSE",
27
+ "README.md"
22
28
  ],
23
29
  "scripts": {
24
- "build": "bun build src/index.ts --outfile dist/index.js --target bun && bun build src/cli.ts --outfile dist/cli.js --target bun && bun build src/mcp.ts --outfile dist/mcp.js --target bun && tsc --emitDeclarationOnly -p tsconfig.build.json",
25
- "typecheck": "tsc --noEmit -p tsconfig.json",
26
- "test": "bun test"
30
+ "build": "bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/index.ts --outdir dist --target bun && bun build src/sdk/index.ts --outdir dist/sdk --target bun",
31
+ "prepare": "bun run build",
32
+ "typecheck": "tsc --noEmit",
33
+ "test": "bun test",
34
+ "dev:cli": "bun run src/cli/index.tsx",
35
+ "dev:mcp": "bun run src/mcp/index.ts",
36
+ "dev:serve": "bun run src/server/index.ts",
37
+ "postinstall": "mkdir -p $HOME/.hasna/mementos $HOME/.hasna/mementos/profiles $HOME/.hasna/mementos/agents $HOME/.hasna/mementos/training 2>/dev/null || true"
27
38
  },
28
39
  "keywords": [
40
+ "memory",
29
41
  "mementos",
30
42
  "mcp",
31
- "saas",
32
- "remote",
33
- "agents"
43
+ "ai",
44
+ "coding-agent",
45
+ "claude",
46
+ "codex",
47
+ "gemini",
48
+ "cli",
49
+ "sqlite"
34
50
  ],
35
51
  "publishConfig": {
36
52
  "registry": "https://registry.npmjs.org",
37
53
  "access": "public"
38
54
  },
55
+ "repository": {
56
+ "type": "git",
57
+ "url": "git+https://github.com/hasna/mementos.git"
58
+ },
59
+ "homepage": "https://github.com/hasna/mementos",
60
+ "bugs": {
61
+ "url": "https://github.com/hasna/mementos/issues"
62
+ },
39
63
  "engines": {
40
64
  "bun": ">=1.0.0"
41
65
  },
42
66
  "author": "Andrei Hasna <andrei@hasna.com>",
43
- "license": "Apache-2.0"
67
+ "license": "Apache-2.0",
68
+ "dependencies": {
69
+ "@hasna/cloud": "^0.1.24",
70
+ "@modelcontextprotocol/sdk": "^1.12.1",
71
+ "chalk": "^5.4.1",
72
+ "commander": "^13.1.0",
73
+ "ink": "^5.2.0",
74
+ "pdf-parse": "^1.1.1",
75
+ "react": "^18.3.1",
76
+ "tesseract.js": "^5.1.1",
77
+ "zod": "^3.24.2"
78
+ },
79
+ "devDependencies": {
80
+ "@types/bun": "^1.2.4",
81
+ "@types/react": "^18.3.18",
82
+ "typescript": "^5.7.3"
83
+ }
44
84
  }
@@ -1,51 +0,0 @@
1
- export declare const SUPPORTED_AGENT_HOSTS: readonly ["claude-code", "codex", "opencode", "antigravity"];
2
- export type SupportedAgentHost = (typeof SUPPORTED_AGENT_HOSTS)[number];
3
- export interface AgentSetupOptions {
4
- action?: "install" | "verify" | "uninstall";
5
- apiUrl?: string;
6
- dryRun?: boolean;
7
- homeDir?: string;
8
- hosts?: SupportedAgentHost[];
9
- }
10
- export interface AgentSetupFile {
11
- executable?: boolean;
12
- path: string;
13
- content: string;
14
- }
15
- export interface AgentSetupHostResult {
16
- host: SupportedAgentHost;
17
- path: string;
18
- status: "planned" | "installed" | "present" | "missing" | "removed" | "absent";
19
- }
20
- export interface AgentSetupPlan {
21
- baseDir: string;
22
- files: AgentSetupFile[];
23
- hostResults: AgentSetupHostResult[];
24
- hosts: SupportedAgentHost[];
25
- mcpCommand: string;
26
- }
27
- export interface AgentSetupDiagnostic {
28
- apiUrl: string;
29
- hostResults: AgentSetupHostResult[];
30
- localDatabaseFiles: string[];
31
- localStorage: {
32
- path: string;
33
- status: "absent" | "present";
34
- };
35
- ok: boolean;
36
- remoteOnly: true;
37
- tokenConfigured: boolean;
38
- tokenSource?: string;
39
- }
40
- export interface AgentSetupDiagnosticOptions extends AgentSetupOptions {
41
- env?: Record<string, string | undefined>;
42
- }
43
- export declare function buildAgentSetupPlan(options?: AgentSetupOptions): AgentSetupPlan;
44
- export declare function diagnoseAgentSetup(options?: AgentSetupDiagnosticOptions): AgentSetupDiagnostic;
45
- export declare function installAgentSetup(options?: AgentSetupOptions): AgentSetupPlan;
46
- export declare function renderSignupInstructions(apiUrl?: string): {
47
- signupUrl: string;
48
- next: string[];
49
- };
50
- export declare function formatMemoryInjection(payload: unknown): string;
51
- //# sourceMappingURL=agent-setup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-setup.d.ts","sourceRoot":"","sources":["../src/agent-setup.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,8DAA+D,CAAC;AAElG,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;CAChF;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,IAAI,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,iBAAsB,GAAG,cAAc,CAkDnF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,2BAAgC,GAAG,oBAAoB,CAyBlG;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,cAAc,CAqCjF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,SAAwB;;;EAStE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAW9D"}