ai-memory-layer 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/CHANGELOG.md +19 -12
  2. package/README.md +435 -320
  3. package/bin/memory-server.mjs +0 -0
  4. package/dist/adapters/memory/embeddings.d.ts.map +1 -1
  5. package/dist/adapters/memory/embeddings.js +12 -1
  6. package/dist/adapters/memory/embeddings.js.map +1 -1
  7. package/dist/adapters/memory/index.d.ts.map +1 -1
  8. package/dist/adapters/memory/index.js +1281 -48
  9. package/dist/adapters/memory/index.js.map +1 -1
  10. package/dist/adapters/postgres/index.d.ts +1 -0
  11. package/dist/adapters/postgres/index.d.ts.map +1 -1
  12. package/dist/adapters/postgres/index.js +1770 -42
  13. package/dist/adapters/postgres/index.js.map +1 -1
  14. package/dist/adapters/sqlite/embeddings.d.ts.map +1 -1
  15. package/dist/adapters/sqlite/embeddings.js +49 -12
  16. package/dist/adapters/sqlite/embeddings.js.map +1 -1
  17. package/dist/adapters/sqlite/index.d.ts.map +1 -1
  18. package/dist/adapters/sqlite/index.js +1720 -38
  19. package/dist/adapters/sqlite/index.js.map +1 -1
  20. package/dist/adapters/sqlite/mappers.d.ts +39 -4
  21. package/dist/adapters/sqlite/mappers.d.ts.map +1 -1
  22. package/dist/adapters/sqlite/mappers.js +87 -0
  23. package/dist/adapters/sqlite/mappers.js.map +1 -1
  24. package/dist/adapters/sqlite/schema.d.ts +1 -1
  25. package/dist/adapters/sqlite/schema.d.ts.map +1 -1
  26. package/dist/adapters/sqlite/schema.js +297 -1
  27. package/dist/adapters/sqlite/schema.js.map +1 -1
  28. package/dist/adapters/sync-to-async.d.ts.map +1 -1
  29. package/dist/adapters/sync-to-async.js +54 -0
  30. package/dist/adapters/sync-to-async.js.map +1 -1
  31. package/dist/contracts/async-storage.d.ts +61 -1
  32. package/dist/contracts/async-storage.d.ts.map +1 -1
  33. package/dist/contracts/cognitive.d.ts +37 -0
  34. package/dist/contracts/cognitive.d.ts.map +1 -0
  35. package/dist/contracts/cognitive.js +24 -0
  36. package/dist/contracts/cognitive.js.map +1 -0
  37. package/dist/contracts/coordination.d.ts +101 -0
  38. package/dist/contracts/coordination.d.ts.map +1 -0
  39. package/dist/contracts/coordination.js +26 -0
  40. package/dist/contracts/coordination.js.map +1 -0
  41. package/dist/contracts/embedding.d.ts +1 -1
  42. package/dist/contracts/embedding.d.ts.map +1 -1
  43. package/dist/contracts/errors.d.ts +28 -0
  44. package/dist/contracts/errors.d.ts.map +1 -0
  45. package/dist/contracts/errors.js +41 -0
  46. package/dist/contracts/errors.js.map +1 -0
  47. package/dist/contracts/identity.d.ts +2 -0
  48. package/dist/contracts/identity.d.ts.map +1 -1
  49. package/dist/contracts/identity.js +26 -1
  50. package/dist/contracts/identity.js.map +1 -1
  51. package/dist/contracts/observability.d.ts +2 -1
  52. package/dist/contracts/observability.d.ts.map +1 -1
  53. package/dist/contracts/observability.js +11 -0
  54. package/dist/contracts/observability.js.map +1 -1
  55. package/dist/contracts/profile.d.ts +29 -0
  56. package/dist/contracts/profile.d.ts.map +1 -0
  57. package/dist/contracts/profile.js +2 -0
  58. package/dist/contracts/profile.js.map +1 -0
  59. package/dist/contracts/session-state.d.ts +10 -0
  60. package/dist/contracts/session-state.d.ts.map +1 -0
  61. package/dist/contracts/session-state.js +2 -0
  62. package/dist/contracts/session-state.js.map +1 -0
  63. package/dist/contracts/storage.d.ts +73 -1
  64. package/dist/contracts/storage.d.ts.map +1 -1
  65. package/dist/contracts/storage.js +16 -1
  66. package/dist/contracts/storage.js.map +1 -1
  67. package/dist/contracts/temporal.d.ts +112 -0
  68. package/dist/contracts/temporal.d.ts.map +1 -0
  69. package/dist/contracts/temporal.js +31 -0
  70. package/dist/contracts/temporal.js.map +1 -0
  71. package/dist/contracts/types.d.ts +135 -0
  72. package/dist/contracts/types.d.ts.map +1 -1
  73. package/dist/contracts/types.js +27 -0
  74. package/dist/contracts/types.js.map +1 -1
  75. package/dist/core/associations.d.ts +18 -0
  76. package/dist/core/associations.d.ts.map +1 -0
  77. package/dist/core/associations.js +185 -0
  78. package/dist/core/associations.js.map +1 -0
  79. package/dist/core/circuit-breaker.d.ts +9 -0
  80. package/dist/core/circuit-breaker.d.ts.map +1 -1
  81. package/dist/core/circuit-breaker.js +13 -1
  82. package/dist/core/circuit-breaker.js.map +1 -1
  83. package/dist/core/cognitive.d.ts +5 -0
  84. package/dist/core/cognitive.d.ts.map +1 -0
  85. package/dist/core/cognitive.js +120 -0
  86. package/dist/core/cognitive.js.map +1 -0
  87. package/dist/core/context.d.ts +72 -1
  88. package/dist/core/context.d.ts.map +1 -1
  89. package/dist/core/context.js +471 -45
  90. package/dist/core/context.js.map +1 -1
  91. package/dist/core/episodic.d.ts +28 -0
  92. package/dist/core/episodic.d.ts.map +1 -0
  93. package/dist/core/episodic.js +371 -0
  94. package/dist/core/episodic.js.map +1 -0
  95. package/dist/core/formatter.d.ts +4 -0
  96. package/dist/core/formatter.d.ts.map +1 -1
  97. package/dist/core/formatter.js +103 -0
  98. package/dist/core/formatter.js.map +1 -1
  99. package/dist/core/maintenance.d.ts +1 -0
  100. package/dist/core/maintenance.d.ts.map +1 -1
  101. package/dist/core/maintenance.js +75 -0
  102. package/dist/core/maintenance.js.map +1 -1
  103. package/dist/core/manager.d.ts +159 -7
  104. package/dist/core/manager.d.ts.map +1 -1
  105. package/dist/core/manager.js +740 -31
  106. package/dist/core/manager.js.map +1 -1
  107. package/dist/core/orchestrator.d.ts.map +1 -1
  108. package/dist/core/orchestrator.js +210 -178
  109. package/dist/core/orchestrator.js.map +1 -1
  110. package/dist/core/playbook.d.ts +35 -0
  111. package/dist/core/playbook.d.ts.map +1 -0
  112. package/dist/core/playbook.js +184 -0
  113. package/dist/core/playbook.js.map +1 -0
  114. package/dist/core/profile.d.ts +8 -0
  115. package/dist/core/profile.d.ts.map +1 -0
  116. package/dist/core/profile.js +103 -0
  117. package/dist/core/profile.js.map +1 -0
  118. package/dist/core/quick.d.ts +5 -0
  119. package/dist/core/quick.d.ts.map +1 -1
  120. package/dist/core/quick.js +10 -1
  121. package/dist/core/quick.js.map +1 -1
  122. package/dist/core/runtime.d.ts +17 -1
  123. package/dist/core/runtime.d.ts.map +1 -1
  124. package/dist/core/runtime.js +88 -5
  125. package/dist/core/runtime.js.map +1 -1
  126. package/dist/core/streaming.d.ts +1 -1
  127. package/dist/core/streaming.d.ts.map +1 -1
  128. package/dist/core/temporal.d.ts +29 -0
  129. package/dist/core/temporal.d.ts.map +1 -0
  130. package/dist/core/temporal.js +447 -0
  131. package/dist/core/temporal.js.map +1 -0
  132. package/dist/core/validation.d.ts +3 -0
  133. package/dist/core/validation.d.ts.map +1 -1
  134. package/dist/core/validation.js +25 -10
  135. package/dist/core/validation.js.map +1 -1
  136. package/dist/core/workspace-detect.d.ts +17 -0
  137. package/dist/core/workspace-detect.d.ts.map +1 -0
  138. package/dist/core/workspace-detect.js +55 -0
  139. package/dist/core/workspace-detect.js.map +1 -0
  140. package/dist/embeddings/resilience.d.ts.map +1 -1
  141. package/dist/embeddings/resilience.js +19 -8
  142. package/dist/embeddings/resilience.js.map +1 -1
  143. package/dist/index.d.ts +21 -4
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +9 -0
  146. package/dist/index.js.map +1 -1
  147. package/dist/integrations/claude-agent.d.ts +6 -0
  148. package/dist/integrations/claude-agent.d.ts.map +1 -1
  149. package/dist/integrations/claude-agent.js +5 -1
  150. package/dist/integrations/claude-agent.js.map +1 -1
  151. package/dist/integrations/claude-tools.d.ts +5 -4
  152. package/dist/integrations/claude-tools.d.ts.map +1 -1
  153. package/dist/integrations/claude-tools.js +155 -2
  154. package/dist/integrations/claude-tools.js.map +1 -1
  155. package/dist/integrations/middleware.d.ts +6 -0
  156. package/dist/integrations/middleware.d.ts.map +1 -1
  157. package/dist/integrations/middleware.js +11 -1
  158. package/dist/integrations/middleware.js.map +1 -1
  159. package/dist/integrations/openai-tools.d.ts +5 -4
  160. package/dist/integrations/openai-tools.d.ts.map +1 -1
  161. package/dist/integrations/openai-tools.js +170 -2
  162. package/dist/integrations/openai-tools.js.map +1 -1
  163. package/dist/integrations/vercel-ai.d.ts +6 -0
  164. package/dist/integrations/vercel-ai.d.ts.map +1 -1
  165. package/dist/integrations/vercel-ai.js +4 -0
  166. package/dist/integrations/vercel-ai.js.map +1 -1
  167. package/dist/server/http-server.d.ts +8 -0
  168. package/dist/server/http-server.d.ts.map +1 -1
  169. package/dist/server/http-server.js +976 -58
  170. package/dist/server/http-server.js.map +1 -1
  171. package/dist/server/mcp-server.d.ts +8 -0
  172. package/dist/server/mcp-server.d.ts.map +1 -1
  173. package/dist/server/mcp-server.js +1157 -37
  174. package/dist/server/mcp-server.js.map +1 -1
  175. package/dist/server/parsing.d.ts +12 -0
  176. package/dist/server/parsing.d.ts.map +1 -0
  177. package/dist/server/parsing.js +42 -0
  178. package/dist/server/parsing.js.map +1 -0
  179. package/dist/summarizers/prompts.d.ts +4 -0
  180. package/dist/summarizers/prompts.d.ts.map +1 -1
  181. package/dist/summarizers/prompts.js +42 -0
  182. package/dist/summarizers/prompts.js.map +1 -1
  183. package/docs/ULTIMATE_MEMORY_LAYER_ROADMAP.md +291 -0
  184. package/docs/prd.json +1498 -0
  185. package/openapi.yaml +1945 -112
  186. package/package.json +4 -2
@@ -0,0 +1,37 @@
1
+ import type { KnowledgeClass } from './types.js';
2
+ /**
3
+ * External cognitive memory taxonomy.
4
+ * Maps the richer internal KnowledgeClass model to a simpler public-facing
5
+ * four-type cognitive taxonomy (episodic, semantic, procedural, working).
6
+ */
7
+ export type CognitiveMemoryType = 'episodic' | 'semantic' | 'procedural' | 'working';
8
+ export interface CognitiveMemoryItem {
9
+ id: number;
10
+ type: CognitiveMemoryType;
11
+ fact: string;
12
+ createdAt: number;
13
+ lastAccessedAt: number;
14
+ metadata: {
15
+ trustScore: number;
16
+ knowledgeClass: KnowledgeClass;
17
+ knowledgeState?: string;
18
+ };
19
+ }
20
+ export interface CognitiveSearchOptions {
21
+ query: string;
22
+ types?: CognitiveMemoryType[];
23
+ limit?: number;
24
+ minimumTrustScore?: number;
25
+ activeOnly?: boolean;
26
+ }
27
+ export interface CognitiveSearchHit {
28
+ item: CognitiveMemoryItem;
29
+ rank: number;
30
+ }
31
+ export interface CognitiveSearchResult {
32
+ byType: Record<CognitiveMemoryType, CognitiveSearchHit[]>;
33
+ all: CognitiveSearchHit[];
34
+ }
35
+ export declare function mapKnowledgeClassToCognitive(knowledgeClass: KnowledgeClass): CognitiveMemoryType;
36
+ export declare function mapCognitiveToKnowledgeClasses(type: CognitiveMemoryType): KnowledgeClass[];
37
+ //# sourceMappingURL=cognitive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cognitive.d.ts","sourceRoot":"","sources":["../../src/contracts/cognitive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;GAIG;AAEH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAErF,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,cAAc,CAAC;QAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC1D,GAAG,EAAE,kBAAkB,EAAE,CAAC;CAC3B;AAsBD,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,cAAc,GAAG,mBAAmB,CAEhG;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,mBAAmB,GAAG,cAAc,EAAE,CAE1F"}
@@ -0,0 +1,24 @@
1
+ // -- Mapping functions --
2
+ const knowledgeClassToCognitive = {
3
+ identity: 'semantic',
4
+ preference: 'semantic',
5
+ constraint: 'semantic',
6
+ project_fact: 'semantic',
7
+ episodic_fact: 'semantic',
8
+ strategy: 'semantic',
9
+ anti_pattern: 'semantic',
10
+ procedure: 'procedural',
11
+ };
12
+ const cognitiveToKnowledgeClasses = {
13
+ episodic: [],
14
+ semantic: ['identity', 'preference', 'constraint', 'project_fact', 'episodic_fact', 'strategy', 'anti_pattern'],
15
+ procedural: ['procedure'],
16
+ working: [],
17
+ };
18
+ export function mapKnowledgeClassToCognitive(knowledgeClass) {
19
+ return knowledgeClassToCognitive[knowledgeClass];
20
+ }
21
+ export function mapCognitiveToKnowledgeClasses(type) {
22
+ return cognitiveToKnowledgeClasses[type];
23
+ }
24
+ //# sourceMappingURL=cognitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cognitive.js","sourceRoot":"","sources":["../../src/contracts/cognitive.ts"],"names":[],"mappings":"AAyCA,0BAA0B;AAE1B,MAAM,yBAAyB,GAAgD;IAC7E,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,UAAU;IACxB,aAAa,EAAE,UAAU;IACzB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,2BAA2B,GAAkD;IACjF,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,CAAC;IAC/G,UAAU,EAAE,CAAC,WAAW,CAAC;IACzB,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,cAA8B;IACzE,OAAO,yBAAyB,CAAC,cAAc,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAyB;IACtE,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,101 @@
1
+ import type { NormalizedMemoryScope } from './identity.js';
2
+ import type { TemporalId } from './temporal.js';
3
+ import type { WorkItem } from './types.js';
4
+ export type ActorKind = 'agent' | 'human' | 'system' | 'service';
5
+ export type MemoryVisibilityClass = 'private' | 'shared_collaboration' | 'workspace' | 'tenant';
6
+ export type ContextViewPolicy = 'local_only' | 'local_plus_shared_collaboration' | 'operator_supervisor' | 'workspace_shared';
7
+ export type WorkClaimStatus = 'active' | 'released' | 'expired';
8
+ export type HandoffStatus = 'pending' | 'accepted' | 'rejected' | 'canceled' | 'expired';
9
+ export declare const ACTOR_KINDS: readonly ActorKind[];
10
+ export declare const MEMORY_VISIBILITY_CLASSES: readonly MemoryVisibilityClass[];
11
+ export declare const CONTEXT_VIEW_POLICIES: readonly ContextViewPolicy[];
12
+ export declare const WORK_CLAIM_STATUSES: readonly WorkClaimStatus[];
13
+ export declare const HANDOFF_STATUSES: readonly HandoffStatus[];
14
+ export interface ActorRef {
15
+ actor_kind: ActorKind;
16
+ actor_id: string;
17
+ system_id: string | null;
18
+ display_name: string | null;
19
+ metadata: Record<string, unknown> | null;
20
+ }
21
+ export interface WorkClaim extends NormalizedMemoryScope {
22
+ id: number;
23
+ work_item_id: number;
24
+ actor: ActorRef;
25
+ session_id: string | null;
26
+ claim_token: string;
27
+ status: WorkClaimStatus;
28
+ claimed_at: number;
29
+ expires_at: number;
30
+ released_at: number | null;
31
+ release_reason: string | null;
32
+ source_event_id: TemporalId | null;
33
+ visibility_class: MemoryVisibilityClass;
34
+ version: number;
35
+ }
36
+ export interface NewWorkClaimInput extends NormalizedMemoryScope {
37
+ work_item_id: number;
38
+ actor: ActorRef;
39
+ session_id?: string | null;
40
+ lease_seconds?: number;
41
+ visibility_class: MemoryVisibilityClass;
42
+ claimed_at?: number;
43
+ }
44
+ export interface WorkClaimQuery {
45
+ actor?: Pick<ActorRef, 'actor_kind' | 'actor_id'>;
46
+ includeExpired?: boolean;
47
+ includeReleased?: boolean;
48
+ sessionId?: string;
49
+ visibilityClass?: MemoryVisibilityClass;
50
+ limit?: number;
51
+ }
52
+ export interface HandoffRecord extends NormalizedMemoryScope {
53
+ id: number;
54
+ work_item_id: number;
55
+ from_actor: ActorRef;
56
+ to_actor: ActorRef;
57
+ session_id: string | null;
58
+ summary: string;
59
+ context_bundle_ref: string | null;
60
+ status: HandoffStatus;
61
+ created_at: number;
62
+ accepted_at: number | null;
63
+ rejected_at: number | null;
64
+ canceled_at: number | null;
65
+ expires_at: number | null;
66
+ decision_reason: string | null;
67
+ source_event_id: TemporalId | null;
68
+ visibility_class: MemoryVisibilityClass;
69
+ version: number;
70
+ }
71
+ export interface NewHandoffInput extends NormalizedMemoryScope {
72
+ work_item_id: number;
73
+ from_actor: ActorRef;
74
+ to_actor: ActorRef;
75
+ session_id?: string | null;
76
+ summary: string;
77
+ context_bundle_ref?: string | null;
78
+ expires_at?: number | null;
79
+ visibility_class: MemoryVisibilityClass;
80
+ created_at?: number;
81
+ }
82
+ export interface HandoffQuery {
83
+ actor?: Pick<ActorRef, 'actor_kind' | 'actor_id'>;
84
+ direction?: 'inbound' | 'outbound' | 'all';
85
+ statuses?: HandoffStatus[];
86
+ sessionId?: string;
87
+ limit?: number;
88
+ }
89
+ export interface WorkItemPatch {
90
+ title?: string;
91
+ detail?: string | null;
92
+ status?: WorkItem['status'];
93
+ visibility_class?: MemoryVisibilityClass;
94
+ }
95
+ export interface CoordinationState {
96
+ ownedClaims: WorkClaim[];
97
+ pendingInboundHandoffs: HandoffRecord[];
98
+ pendingOutboundHandoffs: HandoffRecord[];
99
+ sharedWorkItems: WorkItem[];
100
+ }
101
+ //# sourceMappingURL=coordination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordination.d.ts","sourceRoot":"","sources":["../../src/contracts/coordination.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export const ACTOR_KINDS = ['agent', 'human', 'system', 'service'];
2
+ export const MEMORY_VISIBILITY_CLASSES = [
3
+ 'private',
4
+ 'shared_collaboration',
5
+ 'workspace',
6
+ 'tenant',
7
+ ];
8
+ export const CONTEXT_VIEW_POLICIES = [
9
+ 'local_only',
10
+ 'local_plus_shared_collaboration',
11
+ 'operator_supervisor',
12
+ 'workspace_shared',
13
+ ];
14
+ export const WORK_CLAIM_STATUSES = [
15
+ 'active',
16
+ 'released',
17
+ 'expired',
18
+ ];
19
+ export const HANDOFF_STATUSES = [
20
+ 'pending',
21
+ 'accepted',
22
+ 'rejected',
23
+ 'canceled',
24
+ 'expired',
25
+ ];
26
+ //# sourceMappingURL=coordination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordination.js","sourceRoot":"","sources":["../../src/contracts/coordination.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,yBAAyB,GAAqC;IACzE,SAAS;IACT,sBAAsB;IACtB,WAAW;IACX,QAAQ;CACT,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAiC;IACjE,YAAY;IACZ,iCAAiC;IACjC,qBAAqB;IACrB,kBAAkB;CACnB,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAA+B;IAC7D,QAAQ;IACR,UAAU;IACV,SAAS;CACV,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;CACV,CAAC"}
@@ -17,6 +17,6 @@ export interface EmbeddingAdapter {
17
17
  limit?: number;
18
18
  minSimilarity?: number;
19
19
  }): MaybePromise<SimilarEmbeddingResult[]>;
20
- deleteEmbedding(knowledgeMemoryId: number): MaybePromise<void>;
20
+ deleteEmbedding(knowledgeMemoryId: number, scope?: MemoryScope): MaybePromise<void>;
21
21
  }
22
22
  //# sourceMappingURL=embedding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/contracts/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC;AAC3C,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AACjF,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACvF,YAAY,CAAC,iBAAiB,EAAE,MAAM,GAAG,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC9E,WAAW,CACT,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,eAAe,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACnD,YAAY,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC1C,qBAAqB,CACnB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,eAAe,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACnD,YAAY,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC1C,eAAe,CAAC,iBAAiB,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CAChE"}
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/contracts/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC;AAC3C,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AACjF,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACvF,YAAY,CAAC,iBAAiB,EAAE,MAAM,GAAG,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC9E,WAAW,CACT,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,eAAe,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACnD,YAAY,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC1C,qBAAqB,CACnB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,eAAe,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACnD,YAAY,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC1C,eAAe,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CACrF"}
@@ -0,0 +1,28 @@
1
+ export type MemoryErrorCode = 'validation_error' | 'resource_not_found' | 'scope_mismatch' | 'conflict' | 'provider_unavailable';
2
+ export interface MemoryErrorOptions {
3
+ cause?: unknown;
4
+ details?: Record<string, unknown>;
5
+ }
6
+ export declare class MemoryDomainError extends Error {
7
+ readonly code: MemoryErrorCode;
8
+ readonly status: number;
9
+ readonly details?: Record<string, unknown>;
10
+ constructor(message: string, code: MemoryErrorCode, status: number, options?: MemoryErrorOptions);
11
+ }
12
+ export declare class ValidationError extends MemoryDomainError {
13
+ constructor(message: string, options?: MemoryErrorOptions);
14
+ }
15
+ export declare class ResourceNotFoundError extends MemoryDomainError {
16
+ constructor(message: string, options?: MemoryErrorOptions);
17
+ }
18
+ export declare class ScopeMismatchError extends MemoryDomainError {
19
+ constructor(message: string, options?: MemoryErrorOptions);
20
+ }
21
+ export declare class ConflictError extends MemoryDomainError {
22
+ constructor(message: string, options?: MemoryErrorOptions);
23
+ }
24
+ export declare class ProviderUnavailableError extends MemoryDomainError {
25
+ constructor(message: string, options?: MemoryErrorOptions);
26
+ }
27
+ export declare function isMemoryDomainError(error: unknown): error is MemoryDomainError;
28
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/contracts/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,UAAU,GACV,sBAAsB,CAAC;AAE3B,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGzC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAAuB;CAQnC;AAED,qBAAa,eAAgB,SAAQ,iBAAiB;gBACxC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;CAG9D;AAED,qBAAa,qBAAsB,SAAQ,iBAAiB;gBAC9C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;CAG9D;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;gBAC3C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;CAG9D;AAED,qBAAa,aAAc,SAAQ,iBAAiB;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;CAG9D;AAED,qBAAa,wBAAyB,SAAQ,iBAAiB;gBACjD,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;CAG9D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E"}
@@ -0,0 +1,41 @@
1
+ export class MemoryDomainError extends Error {
2
+ code;
3
+ status;
4
+ details;
5
+ constructor(message, code, status, options = {}) {
6
+ super(message, options.cause ? { cause: options.cause } : undefined);
7
+ this.name = this.constructor.name;
8
+ this.code = code;
9
+ this.status = status;
10
+ this.details = options.details;
11
+ }
12
+ }
13
+ export class ValidationError extends MemoryDomainError {
14
+ constructor(message, options = {}) {
15
+ super(message, 'validation_error', 400, options);
16
+ }
17
+ }
18
+ export class ResourceNotFoundError extends MemoryDomainError {
19
+ constructor(message, options = {}) {
20
+ super(message, 'resource_not_found', 404, options);
21
+ }
22
+ }
23
+ export class ScopeMismatchError extends MemoryDomainError {
24
+ constructor(message, options = {}) {
25
+ super(message, 'scope_mismatch', 404, options);
26
+ }
27
+ }
28
+ export class ConflictError extends MemoryDomainError {
29
+ constructor(message, options = {}) {
30
+ super(message, 'conflict', 409, options);
31
+ }
32
+ }
33
+ export class ProviderUnavailableError extends MemoryDomainError {
34
+ constructor(message, options = {}) {
35
+ super(message, 'provider_unavailable', 503, options);
36
+ }
37
+ }
38
+ export function isMemoryDomainError(error) {
39
+ return error instanceof MemoryDomainError;
40
+ }
41
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/contracts/errors.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,CAAkB;IACtB,MAAM,CAAS;IACf,OAAO,CAA2B;IAE3C,YACE,OAAe,EACf,IAAqB,EACrB,MAAc,EACd,UAA8B,EAAE;QAEhC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,iBAAiB;IACpD,YAAY,OAAe,EAAE,UAA8B,EAAE;QAC3D,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAC1D,YAAY,OAAe,EAAE,UAA8B,EAAE;QAC3D,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,iBAAiB;IACvD,YAAY,OAAe,EAAE,UAA8B,EAAE;QAC3D,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAClD,YAAY,OAAe,EAAE,UAA8B,EAAE;QAC3D,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,iBAAiB;IAC7D,YAAY,OAAe,EAAE,UAA8B,EAAE;QAC3D,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,KAAK,YAAY,iBAAiB,CAAC;AAC5C,CAAC"}
@@ -25,5 +25,7 @@ export interface ScopeQuery {
25
25
  }
26
26
  export declare function normalizeScope(scope: MemoryScope): NormalizedMemoryScope;
27
27
  export declare function scopeValues(scope: MemoryScope): [string, string, string, string, string];
28
+ export declare function matchesScope(leftScope: MemoryScope, rightScope: MemoryScope): boolean;
29
+ export declare function matchesScopeLevel(itemScope: MemoryScope, targetScope: MemoryScope, level: ScopeLevel): boolean;
28
30
  export declare function widenScope(scope: MemoryScope, level: ScopeLevel): ScopeQuery;
29
31
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/contracts/identity.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;CACnB;AASD,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,qBAAqB,CASxE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CASxF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAK5E"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/contracts/identity.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;CACnB;AASD,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,qBAAqB,CASxE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CASxF;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO,CAUrF;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,WAAW,EACtB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,UAAU,GAChB,OAAO,CAST;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,CAK5E"}
@@ -1,7 +1,8 @@
1
+ import { ValidationError } from './errors.js';
1
2
  export const DEFAULT_WORKSPACE_ID = 'default';
2
3
  function assertScopeValue(value, name) {
3
4
  if (!value || value.trim().length === 0) {
4
- throw new Error(`Memory validation: '${name}' must not be empty`);
5
+ throw new ValidationError(`Memory validation: '${name}' must not be empty`);
5
6
  }
6
7
  return value.trim();
7
8
  }
@@ -25,6 +26,30 @@ export function scopeValues(scope) {
25
26
  normalized.scope_id,
26
27
  ];
27
28
  }
29
+ export function matchesScope(leftScope, rightScope) {
30
+ const left = normalizeScope(leftScope);
31
+ const right = normalizeScope(rightScope);
32
+ return (left.tenant_id === right.tenant_id &&
33
+ left.system_id === right.system_id &&
34
+ left.workspace_id === right.workspace_id &&
35
+ left.collaboration_id === right.collaboration_id &&
36
+ left.scope_id === right.scope_id);
37
+ }
38
+ export function matchesScopeLevel(itemScope, targetScope, level) {
39
+ const item = normalizeScope(itemScope);
40
+ const target = normalizeScope(targetScope);
41
+ if (item.tenant_id !== target.tenant_id)
42
+ return false;
43
+ if (level === 'tenant')
44
+ return true;
45
+ if (level === 'workspace')
46
+ return item.workspace_id === target.workspace_id;
47
+ if (item.system_id !== target.system_id)
48
+ return false;
49
+ if (level === 'system')
50
+ return true;
51
+ return matchesScope(item, target);
52
+ }
28
53
  export function widenScope(scope, level) {
29
54
  return {
30
55
  scope: normalizeScope(scope),
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/contracts/identity.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AA6B9C,SAAS,gBAAgB,CAAC,KAAyB,EAAE,IAAuB;IAC1E,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,qBAAqB,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,oBAAoB,CAAC;IACvE,OAAO;QACL,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC;QACzD,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC;QACzD,YAAY,EAAE,WAAW;QACzB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;QACtD,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO;QACL,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,gBAAgB;QAC3B,UAAU,CAAC,QAAQ;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,KAAiB;IAC9D,OAAO;QACL,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;QAC5B,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/contracts/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AA6B9C,SAAS,gBAAgB,CAAC,KAAyB,EAAE,IAAuB;IAC1E,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,eAAe,CAAC,uBAAuB,IAAI,qBAAqB,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,oBAAoB,CAAC;IACvE,OAAO;QACL,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC;QACzD,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC;QACzD,YAAY,EAAE,WAAW;QACzB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;QACtD,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO;QACL,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,gBAAgB;QAC3B,UAAU,CAAC,QAAQ;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAsB,EAAE,UAAuB;IAC1E,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IACzC,OAAO,CACL,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QAClC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QAClC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;QACxC,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;QAChD,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,SAAsB,EACtB,WAAwB,EACxB,KAAiB;IAEjB,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,CAAC;IAC5E,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,KAAiB;IAC9D,OAAO;QACL,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;QAC5B,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -6,7 +6,8 @@ export interface Logger {
6
6
  error(msg: string, meta?: Record<string, unknown>): void;
7
7
  }
8
8
  export declare const noopLogger: Logger;
9
- export type MemoryEventType = 'capability' | 'compaction' | 'promotion' | 'extraction' | 'knowledge_change' | 'search' | 'context_assembly' | 'semantic_search' | 'manager';
9
+ export declare const MEMORY_EVENT_TYPES: readonly ["capability", "compaction", "promotion", "extraction", "knowledge_change", "search", "context_assembly", "semantic_search", "manager"];
10
+ export type MemoryEventType = (typeof MEMORY_EVENT_TYPES)[number];
10
11
  export interface MemoryEvent {
11
12
  type: MemoryEventType;
12
13
  scope: NormalizedMemoryScope;
@@ -1 +1 @@
1
- {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/contracts/observability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1D;AAED,eAAO,MAAM,UAAU,EAAE,MAKxB,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,kBAAkB,GAClB,QAAQ,GACR,kBAAkB,GAClB,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/contracts/observability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1D;AAED,eAAO,MAAM,UAAU,EAAE,MAKxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,kJAUrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC"}
@@ -4,4 +4,15 @@ export const noopLogger = {
4
4
  warn() { },
5
5
  error() { },
6
6
  };
7
+ export const MEMORY_EVENT_TYPES = [
8
+ 'capability',
9
+ 'compaction',
10
+ 'promotion',
11
+ 'extraction',
12
+ 'knowledge_change',
13
+ 'search',
14
+ 'context_assembly',
15
+ 'semantic_search',
16
+ 'manager',
17
+ ];
7
18
  //# sourceMappingURL=observability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../src/contracts/observability.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,KAAK,KAAI,CAAC;IACV,IAAI,KAAI,CAAC;IACT,IAAI,KAAI,CAAC;IACT,KAAK,KAAI,CAAC;CACX,CAAC"}
1
+ {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../src/contracts/observability.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,KAAK,KAAI,CAAC;IACV,IAAI,KAAI,CAAC;IACT,IAAI,KAAI,CAAC;IACT,KAAK,KAAI,CAAC;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,QAAQ;IACR,kBAAkB;IAClB,iBAAiB;IACjB,SAAS;CACD,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { FactConfidence, KnowledgeState } from './types.js';
2
+ export type ProfileView = 'user' | 'operator' | 'workspace';
3
+ export type ProfileSection = 'identity' | 'preferences' | 'communication' | 'constraints' | 'workflows';
4
+ export interface ProfileEntry {
5
+ knowledgeId: number;
6
+ fact: string;
7
+ trustScore: number;
8
+ knowledgeState: KnowledgeState;
9
+ confidence: FactConfidence;
10
+ lastConfirmedAt: number | null;
11
+ }
12
+ export interface Profile {
13
+ view: ProfileView;
14
+ sections: Record<ProfileSection, ProfileEntry[]>;
15
+ generatedAt: number;
16
+ }
17
+ export interface ProfileOptions {
18
+ view?: ProfileView;
19
+ minimumTrustScore?: number;
20
+ /**
21
+ * When true, include provisional-state knowledge in the profile.
22
+ * Default: false — profiles only surface trusted knowledge so agents
23
+ * cannot over-trust low-confidence entries and personalize incorrectly.
24
+ */
25
+ includeProvisional?: boolean;
26
+ includeDisputed?: boolean;
27
+ sections?: ProfileSection[];
28
+ }
29
+ //# sourceMappingURL=profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/contracts/profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAE5D,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,aAAa,GACb,eAAe,GACf,aAAa,GACb,WAAW,CAAC;AAEhB,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,cAAc,CAAC;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/contracts/profile.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export interface SessionState {
2
+ currentObjective: string | null;
3
+ blockers: string[];
4
+ assumptions: string[];
5
+ pendingDecisions: string[];
6
+ activeTools: string[];
7
+ recentOutputs: string[];
8
+ updatedAt: number;
9
+ }
10
+ //# sourceMappingURL=session-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../src/contracts/session-state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/contracts/session-state.ts"],"names":[],"mappings":""}
@@ -1,5 +1,19 @@
1
1
  import type { MemoryScope, ScopeLevel } from './identity.js';
2
- import type { CompactionLog, ContextMonitor, ContextMonitorUpsert, KnowledgeCandidate, KnowledgeEvidence, KnowledgeMemory, KnowledgeMemoryAudit, NewCompactionLog, NewKnowledgeCandidate, NewKnowledgeEvidence, NewKnowledgeMemory, NewKnowledgeMemoryAudit, NewWorkItem, NewTurn, NewWorkingMemory, PaginationOptions, PaginatedResult, SearchOptions, SearchResult, TimeRange, Turn, WorkItem, WorkingMemory } from './types.js';
2
+ import type { ActorRef, HandoffQuery, HandoffRecord, NewHandoffInput, NewWorkClaimInput, WorkClaim, WorkClaimQuery, WorkItemPatch } from './coordination.js';
3
+ import type { MemoryEventEntityKind, MemoryEventQuery, MemoryEventRecord, NewMemoryEventRecord, NewSessionStateProjection, NewTemporalProjectionWatermark, SessionStateProjection, TemporalProjectionWatermark, TimelineResult } from './temporal.js';
4
+ /**
5
+ * Thrown by storage adapters when an insert violates a unique constraint.
6
+ *
7
+ * Callers that expect duplicate-key collisions (e.g. autoDetectAssociations
8
+ * attempting to insert an already-present edge) should catch this exact
9
+ * class rather than sniffing error codes or messages across adapters.
10
+ */
11
+ export declare class UniqueConstraintError extends Error {
12
+ readonly cause?: unknown | undefined;
13
+ readonly kind: "UniqueConstraintError";
14
+ constructor(message: string, cause?: unknown | undefined);
15
+ }
16
+ import type { Association, AssociationTargetKind, CompactionLog, ContextMonitor, ContextMonitorUpsert, KnowledgeCandidate, KnowledgeEvidence, KnowledgeMemory, KnowledgeMemoryAudit, NewAssociation, NewCompactionLog, NewKnowledgeCandidate, NewKnowledgeEvidence, NewKnowledgeMemory, NewKnowledgeMemoryAudit, NewPlaybook, NewPlaybookRevision, NewWorkItem, NewTurn, NewWorkingMemory, PaginationOptions, PaginatedResult, Playbook, PlaybookRevision, SearchOptions, SearchResult, TimeRange, Turn, WorkItem, WorkingMemory } from './types.js';
3
17
  export interface StorageAdapter {
4
18
  insertTurn(input: NewTurn): Turn;
5
19
  insertTurns(inputs: NewTurn[]): Turn[];
@@ -12,6 +26,7 @@ export interface StorageAdapter {
12
26
  getArchivedTurnRange(sessionId: string, startId: number, endId: number, scope: MemoryScope): Turn[];
13
27
  insertWorkingMemory(input: NewWorkingMemory): WorkingMemory;
14
28
  getWorkingMemoryById(id: number): WorkingMemory | null;
29
+ getExistingWorkingMemoryIds?(ids: number[]): number[];
15
30
  getWorkingMemoryBySession(sessionId: string, scope: MemoryScope): WorkingMemory[];
16
31
  getActiveWorkingMemory(scope: MemoryScope, sessionId?: string): WorkingMemory[];
17
32
  getLatestWorkingMemory(scope: MemoryScope, sessionId?: string): WorkingMemory | null;
@@ -32,6 +47,7 @@ export interface StorageAdapter {
32
47
  listKnowledgeEvidenceForCandidate(candidateId: number): KnowledgeEvidence[];
33
48
  promoteKnowledgeCandidate(candidateId: number, input: NewKnowledgeMemory): KnowledgeMemory;
34
49
  getKnowledgeMemoryById(id: number): KnowledgeMemory | null;
50
+ getExistingKnowledgeMemoryIds?(ids: number[]): number[];
35
51
  getActiveKnowledgeMemory(scope: MemoryScope): KnowledgeMemory[];
36
52
  getActiveKnowledgeMemoryPaginated(scope: MemoryScope, options?: PaginationOptions): PaginatedResult<KnowledgeMemory>;
37
53
  getActiveKnowledgeCrossScope(scope: MemoryScope, level: ScopeLevel): KnowledgeMemory[];
@@ -60,18 +76,74 @@ export interface StorageAdapter {
60
76
  failed_use_count?: number;
61
77
  }): KnowledgeMemory | null;
62
78
  touchKnowledgeMemory(id: number): void;
79
+ touchKnowledgeMemories(ids: number[]): void;
63
80
  retireKnowledgeMemory(id: number, retiredAt?: number): void;
64
81
  supersedeKnowledgeMemory(oldId: number, newId: number): void;
65
82
  insertWorkItem(input: NewWorkItem): WorkItem;
83
+ getWorkItemById(id: number): WorkItem | null;
84
+ getExistingWorkItemIds?(ids: number[]): number[];
66
85
  getActiveWorkItems(scope: MemoryScope): WorkItem[];
86
+ getActiveWorkItemsCrossScope(scope: MemoryScope, level: ScopeLevel): WorkItem[];
67
87
  getWorkItemsByTimeRange(scope: MemoryScope, range: TimeRange): WorkItem[];
88
+ getWorkItemsByTimeRangeCrossScope(scope: MemoryScope, level: ScopeLevel, range: TimeRange): WorkItem[];
68
89
  updateWorkItemStatus(id: number, status: WorkItem['status']): void;
90
+ updateWorkItem(id: number, patch: WorkItemPatch, options?: {
91
+ expectedVersion?: number;
92
+ }): WorkItem | null;
69
93
  deleteWorkItem(id: number): void;
94
+ claimWorkItem(input: NewWorkClaimInput): WorkClaim;
95
+ renewWorkClaim(claimId: number, actor: ActorRef, leaseSeconds?: number): WorkClaim | null;
96
+ releaseWorkClaim(claimId: number, actor: ActorRef, reason?: string): WorkClaim | null;
97
+ getActiveWorkClaim(workItemId: number): WorkClaim | null;
98
+ listWorkClaims(scope: MemoryScope, options?: WorkClaimQuery): WorkClaim[];
99
+ listWorkClaimsCrossScope(scope: MemoryScope, level: ScopeLevel, options?: WorkClaimQuery): WorkClaim[];
100
+ createHandoff(input: NewHandoffInput): HandoffRecord;
101
+ acceptHandoff(handoffId: number, actor: ActorRef, reason?: string): HandoffRecord | null;
102
+ rejectHandoff(handoffId: number, actor: ActorRef, reason?: string): HandoffRecord | null;
103
+ cancelHandoff(handoffId: number, actor: ActorRef, reason?: string): HandoffRecord | null;
104
+ listHandoffs(scope: MemoryScope, options?: HandoffQuery): HandoffRecord[];
105
+ listHandoffsCrossScope(scope: MemoryScope, level: ScopeLevel, options?: HandoffQuery): HandoffRecord[];
70
106
  upsertContextMonitor(input: ContextMonitorUpsert): ContextMonitor;
71
107
  getContextMonitor(scope: MemoryScope): ContextMonitor | null;
72
108
  insertCompactionLog(input: NewCompactionLog): CompactionLog;
73
109
  getCompactionLogById(id: number): CompactionLog | null;
74
110
  getRecentCompactionLogs(scope: MemoryScope, limit?: number): CompactionLog[];
111
+ insertPlaybook(input: NewPlaybook): Playbook;
112
+ getPlaybookById(id: number): Playbook | null;
113
+ getExistingPlaybookIds?(ids: number[]): number[];
114
+ getActivePlaybooks(scope: MemoryScope): Playbook[];
115
+ getActivePlaybooksCrossScope(scope: MemoryScope, level: ScopeLevel): Playbook[];
116
+ searchPlaybooks(scope: MemoryScope, query: string, options?: SearchOptions): SearchResult<Playbook>[];
117
+ searchPlaybooksCrossScope(scope: MemoryScope, level: ScopeLevel, query: string, options?: SearchOptions): SearchResult<Playbook>[];
118
+ updatePlaybook(id: number, patch: {
119
+ title?: string;
120
+ description?: string;
121
+ instructions?: string;
122
+ references?: string[];
123
+ templates?: string[];
124
+ scripts?: string[];
125
+ assets?: string[];
126
+ tags?: string[];
127
+ status?: Playbook['status'];
128
+ }): Playbook | null;
129
+ recordPlaybookUse(id: number): void;
130
+ insertPlaybookRevision(input: NewPlaybookRevision): PlaybookRevision;
131
+ getPlaybookRevisions(playbookId: number): PlaybookRevision[];
132
+ insertAssociation(input: NewAssociation): Association;
133
+ getAssociationById(id: number): Association | null;
134
+ getAssociationsFrom(kind: AssociationTargetKind, id: number, scope: MemoryScope): Association[];
135
+ getAssociationsTo(kind: AssociationTargetKind, id: number, scope: MemoryScope): Association[];
136
+ listAssociations(scope: MemoryScope): Association[];
137
+ deleteAssociation(id: number): void;
138
+ insertMemoryEvent(input: NewMemoryEventRecord): MemoryEventRecord;
139
+ listMemoryEvents(scope: MemoryScope, query?: MemoryEventQuery): TimelineResult;
140
+ listMemoryEventsCrossScope(scope: MemoryScope, level: ScopeLevel, query?: MemoryEventQuery): TimelineResult;
141
+ getMemoryEventsByEntity(scope: MemoryScope, entityKind: MemoryEventEntityKind, entityId: string, query?: Omit<MemoryEventQuery, 'entityKind' | 'entityId'>): TimelineResult;
142
+ getMemoryEventsBySession(scope: MemoryScope, sessionId: string, query?: Omit<MemoryEventQuery, 'sessionId'>): TimelineResult;
143
+ getSessionState(scope: MemoryScope, sessionId: string): SessionStateProjection | null;
144
+ upsertSessionState(input: NewSessionStateProjection): SessionStateProjection;
145
+ getTemporalWatermark(projectionName?: string): TemporalProjectionWatermark | null;
146
+ upsertTemporalWatermark(input: NewTemporalProjectionWatermark): TemporalProjectionWatermark;
75
147
  transaction<T>(fn: () => T): T;
76
148
  close(): void;
77
149
  }