@devflow-tools/memory-engine 0.17.7 → 0.18.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 (158) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +10 -2
  3. package/dist/consolidator.d.ts.map +1 -1
  4. package/dist/consolidator.js +2 -0
  5. package/dist/consolidator.js.map +1 -1
  6. package/dist/durable-memory-text.js +1 -1
  7. package/dist/durable-memory-text.js.map +1 -1
  8. package/dist/embedding-model-store.d.ts +1 -4
  9. package/dist/embedding-model-store.d.ts.map +1 -1
  10. package/dist/embedding-model-store.js +3 -74
  11. package/dist/embedding-model-store.js.map +1 -1
  12. package/dist/embedding-provider.d.ts +3 -2
  13. package/dist/embedding-provider.d.ts.map +1 -1
  14. package/dist/embedding-provider.js +151 -43
  15. package/dist/embedding-provider.js.map +1 -1
  16. package/dist/hybrid-search.d.ts +5 -1
  17. package/dist/hybrid-search.d.ts.map +1 -1
  18. package/dist/hybrid-search.js +92 -56
  19. package/dist/hybrid-search.js.map +1 -1
  20. package/dist/index.d.ts +16 -3
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +8 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/lease-store.d.ts.map +1 -1
  25. package/dist/lease-store.js +30 -0
  26. package/dist/lease-store.js.map +1 -1
  27. package/dist/memory-command-service.d.ts +73 -0
  28. package/dist/memory-command-service.d.ts.map +1 -0
  29. package/dist/memory-command-service.js +283 -0
  30. package/dist/memory-command-service.js.map +1 -0
  31. package/dist/memory-engine.d.ts +19 -15
  32. package/dist/memory-engine.d.ts.map +1 -1
  33. package/dist/memory-engine.js +207 -158
  34. package/dist/memory-engine.js.map +1 -1
  35. package/dist/memory-episode-repository.d.ts +77 -0
  36. package/dist/memory-episode-repository.d.ts.map +1 -0
  37. package/dist/memory-episode-repository.js +262 -0
  38. package/dist/memory-episode-repository.js.map +1 -0
  39. package/dist/memory-fact-provider-port.d.ts +83 -0
  40. package/dist/memory-fact-provider-port.d.ts.map +1 -0
  41. package/dist/memory-fact-provider-port.js +22 -0
  42. package/dist/memory-fact-provider-port.js.map +1 -0
  43. package/dist/memory-fact-validator.d.ts +16 -0
  44. package/dist/memory-fact-validator.d.ts.map +1 -0
  45. package/dist/memory-fact-validator.js +52 -0
  46. package/dist/memory-fact-validator.js.map +1 -0
  47. package/dist/memory-gate.d.ts +14 -17
  48. package/dist/memory-gate.d.ts.map +1 -1
  49. package/dist/memory-gate.js +377 -320
  50. package/dist/memory-gate.js.map +1 -1
  51. package/dist/memory-identity-compiler.d.ts +18 -0
  52. package/dist/memory-identity-compiler.d.ts.map +1 -0
  53. package/dist/memory-identity-compiler.js +26 -0
  54. package/dist/memory-identity-compiler.js.map +1 -0
  55. package/dist/memory-index-projector.d.ts +22 -0
  56. package/dist/memory-index-projector.d.ts.map +1 -0
  57. package/dist/memory-index-projector.js +11 -0
  58. package/dist/memory-index-projector.js.map +1 -0
  59. package/dist/memory-lifecycle-reducer.d.ts +21 -0
  60. package/dist/memory-lifecycle-reducer.d.ts.map +1 -0
  61. package/dist/memory-lifecycle-reducer.js +34 -0
  62. package/dist/memory-lifecycle-reducer.js.map +1 -0
  63. package/dist/memory-maintenance.d.ts +1 -4
  64. package/dist/memory-maintenance.d.ts.map +1 -1
  65. package/dist/memory-maintenance.js +3 -20
  66. package/dist/memory-maintenance.js.map +1 -1
  67. package/dist/memory-query-service.d.ts +24 -0
  68. package/dist/memory-query-service.d.ts.map +1 -0
  69. package/dist/memory-query-service.js +180 -0
  70. package/dist/memory-query-service.js.map +1 -0
  71. package/dist/memory-relevance.d.ts +16 -1
  72. package/dist/memory-relevance.d.ts.map +1 -1
  73. package/dist/memory-relevance.js +83 -139
  74. package/dist/memory-relevance.js.map +1 -1
  75. package/dist/memory-store.d.ts +52 -35
  76. package/dist/memory-store.d.ts.map +1 -1
  77. package/dist/memory-store.js +406 -690
  78. package/dist/memory-store.js.map +1 -1
  79. package/dist/semantic-memory-compiler.d.ts +0 -2
  80. package/dist/semantic-memory-compiler.d.ts.map +1 -1
  81. package/dist/semantic-memory-compiler.js +4 -4
  82. package/dist/semantic-memory-compiler.js.map +1 -1
  83. package/dist/session-summarizer.d.ts +3 -0
  84. package/dist/session-summarizer.d.ts.map +1 -1
  85. package/dist/session-summarizer.js.map +1 -1
  86. package/dist/signal-analyzer.d.ts +2 -2
  87. package/dist/signal-analyzer.d.ts.map +1 -1
  88. package/dist/signal-analyzer.js +10 -16
  89. package/dist/signal-analyzer.js.map +1 -1
  90. package/package.json +14 -5
  91. package/dist/lease-store.test.d.ts +0 -2
  92. package/dist/lease-store.test.d.ts.map +0 -1
  93. package/dist/lease-store.test.js +0 -182
  94. package/dist/lease-store.test.js.map +0 -1
  95. package/dist/migrations/v10-to-v11.d.ts +0 -3
  96. package/dist/migrations/v10-to-v11.d.ts.map +0 -1
  97. package/dist/migrations/v10-to-v11.js +0 -21
  98. package/dist/migrations/v10-to-v11.js.map +0 -1
  99. package/dist/migrations/v11-to-v12.d.ts +0 -66
  100. package/dist/migrations/v11-to-v12.d.ts.map +0 -1
  101. package/dist/migrations/v11-to-v12.js +0 -577
  102. package/dist/migrations/v11-to-v12.js.map +0 -1
  103. package/dist/migrations/v12-to-v13.d.ts +0 -3
  104. package/dist/migrations/v12-to-v13.d.ts.map +0 -1
  105. package/dist/migrations/v12-to-v13.js +0 -50
  106. package/dist/migrations/v12-to-v13.js.map +0 -1
  107. package/dist/migrations/v2-to-v3.d.ts +0 -3
  108. package/dist/migrations/v2-to-v3.d.ts.map +0 -1
  109. package/dist/migrations/v2-to-v3.js +0 -122
  110. package/dist/migrations/v2-to-v3.js.map +0 -1
  111. package/dist/migrations/v2-to-v3.test.d.ts +0 -2
  112. package/dist/migrations/v2-to-v3.test.d.ts.map +0 -1
  113. package/dist/migrations/v2-to-v3.test.js +0 -88
  114. package/dist/migrations/v2-to-v3.test.js.map +0 -1
  115. package/dist/migrations/v3-to-v4.d.ts +0 -3
  116. package/dist/migrations/v3-to-v4.d.ts.map +0 -1
  117. package/dist/migrations/v3-to-v4.js +0 -97
  118. package/dist/migrations/v3-to-v4.js.map +0 -1
  119. package/dist/migrations/v4-to-v5.d.ts +0 -3
  120. package/dist/migrations/v4-to-v5.d.ts.map +0 -1
  121. package/dist/migrations/v4-to-v5.js +0 -34
  122. package/dist/migrations/v4-to-v5.js.map +0 -1
  123. package/dist/migrations/v4-to-v5.test.d.ts +0 -2
  124. package/dist/migrations/v4-to-v5.test.d.ts.map +0 -1
  125. package/dist/migrations/v4-to-v5.test.js +0 -32
  126. package/dist/migrations/v4-to-v5.test.js.map +0 -1
  127. package/dist/migrations/v6-to-v7.d.ts +0 -3
  128. package/dist/migrations/v6-to-v7.d.ts.map +0 -1
  129. package/dist/migrations/v6-to-v7.js +0 -18
  130. package/dist/migrations/v6-to-v7.js.map +0 -1
  131. package/dist/migrations/v6-to-v7.test.d.ts +0 -2
  132. package/dist/migrations/v6-to-v7.test.d.ts.map +0 -1
  133. package/dist/migrations/v6-to-v7.test.js +0 -33
  134. package/dist/migrations/v6-to-v7.test.js.map +0 -1
  135. package/dist/migrations/v7-to-v8.d.ts +0 -3
  136. package/dist/migrations/v7-to-v8.d.ts.map +0 -1
  137. package/dist/migrations/v7-to-v8.js +0 -20
  138. package/dist/migrations/v7-to-v8.js.map +0 -1
  139. package/dist/migrations/v8-to-v9.d.ts +0 -3
  140. package/dist/migrations/v8-to-v9.d.ts.map +0 -1
  141. package/dist/migrations/v8-to-v9.js +0 -18
  142. package/dist/migrations/v8-to-v9.js.map +0 -1
  143. package/dist/migrations/v9-to-v10.d.ts +0 -3
  144. package/dist/migrations/v9-to-v10.d.ts.map +0 -1
  145. package/dist/migrations/v9-to-v10.js +0 -45
  146. package/dist/migrations/v9-to-v10.js.map +0 -1
  147. package/dist/migrations/v9-to-v10.test.d.ts +0 -2
  148. package/dist/migrations/v9-to-v10.test.d.ts.map +0 -1
  149. package/dist/migrations/v9-to-v10.test.js +0 -40
  150. package/dist/migrations/v9-to-v10.test.js.map +0 -1
  151. package/dist/preference-conflicts.test.d.ts +0 -2
  152. package/dist/preference-conflicts.test.d.ts.map +0 -1
  153. package/dist/preference-conflicts.test.js +0 -80
  154. package/dist/preference-conflicts.test.js.map +0 -1
  155. package/dist/semantic-memory.test.d.ts +0 -2
  156. package/dist/semantic-memory.test.d.ts.map +0 -1
  157. package/dist/semantic-memory.test.js +0 -61
  158. package/dist/semantic-memory.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"memory-maintenance.js","sourceRoot":"","sources":["../src/memory-maintenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-maintenance.js","sourceRoot":"","sources":["../src/memory-maintenance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type EvidenceProducerResult, type EmbeddingCapabilityStatus, type MemoryEvidenceProducerPort, type MemorySearchOptions, type MemorySearchResult, type RetrievalRequestSignatureV1, type SemanticExecutionContext } from '@devflow-tools/sdk';
2
+ import { MemoryEpisodeRepository } from './memory-episode-repository.js';
3
+ export interface MemoryReadPort {
4
+ searchWithDiagnostics(query: string, options?: MemorySearchOptions): Promise<{
5
+ results: MemorySearchResult[];
6
+ diagnostics: {
7
+ candidateCount: number;
8
+ embeddingStatus: EmbeddingCapabilityStatus;
9
+ embeddingProfileHash: string;
10
+ embeddingGeneration: number;
11
+ vectorStatus: 'ready' | 'unavailable';
12
+ };
13
+ }>;
14
+ }
15
+ export declare class MemoryQueryService implements MemoryEvidenceProducerPort {
16
+ private readonly projectRoot;
17
+ private readonly memory;
18
+ private readonly episodes?;
19
+ private readonly projectIdentity;
20
+ constructor(projectRoot: string, memory: MemoryReadPort, episodes?: MemoryEpisodeRepository | undefined);
21
+ search(context: SemanticExecutionContext, request: RetrievalRequestSignatureV1): Promise<EvidenceProducerResult>;
22
+ close(): void;
23
+ }
24
+ //# sourceMappingURL=memory-query-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-query-service.d.ts","sourceRoot":"","sources":["../src/memory-query-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAE/B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAEhC,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAC3E,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC9B,WAAW,EAAE;YACX,cAAc,EAAE,MAAM,CAAC;YACvB,eAAe,EAAE,yBAAyB,CAAC;YAC3C,oBAAoB,EAAE,MAAM,CAAC;YAC7B,mBAAmB,EAAE,MAAM,CAAC;YAC5B,YAAY,EAAE,OAAO,GAAG,aAAa,CAAC;SACvC,CAAC;KACH,CAAC,CAAC;CACJ;AAED,qBAAa,kBAAmB,YAAW,0BAA0B;IAIjE,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAL5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;gBAGlC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,uBAAuB,YAAA;IAK/C,MAAM,CACV,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,sBAAsB,CAAC;IAyHlC,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,180 @@
1
+ import { stableRuntimeHash, memoryEpisodeStableRef, memoryFactStableRef, resolveStableProjectIdentity, } from '@devflow-tools/sdk';
2
+ import { MemoryEpisodeRepository } from './memory-episode-repository.js';
3
+ export class MemoryQueryService {
4
+ projectRoot;
5
+ memory;
6
+ episodes;
7
+ projectIdentity;
8
+ constructor(projectRoot, memory, episodes) {
9
+ this.projectRoot = projectRoot;
10
+ this.memory = memory;
11
+ this.episodes = episodes;
12
+ this.projectIdentity = resolveStableProjectIdentity(projectRoot);
13
+ }
14
+ async search(context, request) {
15
+ if (request.channel !== 'memory'
16
+ || request.factsHash !== context.facts.factsHash
17
+ || request.planHash !== context.plan.planHash
18
+ || request.activationSnapshotHash !== context.activationSnapshotHash
19
+ || request.identity.projectRoot !== context.identity.projectRoot
20
+ || request.identity.sessionId !== context.identity.sessionId
21
+ || request.identity.turnId !== context.identity.turnId) {
22
+ throw new Error('MEMORY_QUERY_CONTEXT_MISMATCH');
23
+ }
24
+ if (context.plan.memory.requirement === 'prohibited') {
25
+ throw new Error('MEMORY_QUERY_CHANNEL_PROHIBITED');
26
+ }
27
+ const query = request.queryVariant.query;
28
+ const primaryIntent = context.facts.intents[0] ?? 'unknown';
29
+ const primaryAction = retrievalAction(context.facts.actions[0] ?? 'unknown');
30
+ const searchOutcome = await this.memory.searchWithDiagnostics(query, {
31
+ limit: 20, scope: this.projectIdentity.memoryNamespace,
32
+ purpose: primaryIntent,
33
+ sessionId: context.identity.sessionId,
34
+ executionId: context.identity.executionId,
35
+ requestId: context.identity.requestId,
36
+ recordAccess: false,
37
+ action: primaryAction,
38
+ semanticTask: {
39
+ contextHash: context.contextHash,
40
+ primaryIntent,
41
+ primaryAction,
42
+ entities: context.facts.entities,
43
+ targetAnchors: context.facts.targets,
44
+ },
45
+ });
46
+ const results = searchOutcome.results;
47
+ const vectorRequired = Boolean(request.filters.embeddingProfileHash);
48
+ const vectorUnavailable = vectorRequired && (searchOutcome.diagnostics.vectorStatus !== 'ready'
49
+ || searchOutcome.diagnostics.embeddingProfileHash !== request.filters.embeddingProfileHash);
50
+ const candidates = results.map((result, index) => memoryCandidate(context, result, index, searchOutcome.diagnostics.embeddingProfileHash, searchOutcome.diagnostics.embeddingGeneration));
51
+ const episodeRepository = this.episodes ?? new MemoryEpisodeRepository(this.projectRoot);
52
+ let pendingEpisodes;
53
+ try {
54
+ pendingEpisodes = episodeRepository.searchPendingEpisodes(this.projectIdentity.projectId, this.projectIdentity.memoryNamespace, query, 8);
55
+ }
56
+ finally {
57
+ if (!this.episodes)
58
+ episodeRepository.close();
59
+ }
60
+ if (context.facts.memoryDirective !== 'recall')
61
+ pendingEpisodes = [];
62
+ for (const [index, item] of pendingEpisodes.entries()) {
63
+ const contentHash = item.episode.contentHash;
64
+ candidates.push({
65
+ stableRef: memoryEpisodeStableRef(item.episode.episodeId),
66
+ channel: 'memory', strength: 'supporting', rank: results.length + index + 1,
67
+ score: item.score,
68
+ retrievalProfile: searchOutcome.diagnostics.embeddingProfileHash,
69
+ generation: searchOutcome.diagnostics.embeddingGeneration,
70
+ evidence: {
71
+ ref: `memory-episode:${item.episode.episodeId}`, sourceId: item.episode.episodeId,
72
+ sourceRevision: item.episode.episodeHash, producer: 'memory-episode-repository',
73
+ producerVersion: '1', contentHash, parentRefs: item.episode.sourceEventIds,
74
+ },
75
+ payload: {
76
+ id: item.episode.episodeId, title: item.episode.content.slice(0, 240),
77
+ content: item.episode.content, type: 'cold_episode', scope: item.episode.memoryNamespace,
78
+ source: 'cold_episode', confidence: 1, importance: 5, createdAt: item.episode.createdAt,
79
+ score: item.score, applicability: ['pending_fact_extraction'], evidenceStatus: 'verified',
80
+ },
81
+ freshness: { current: true, checkedAt: context.createdAt },
82
+ contributingLegs: [{ leg: 'memory:episode_lexical', rank: index + 1, score: item.score }],
83
+ eligibility: {
84
+ scope: context.scopeBindings.project, permission: 'allowed', sourceReady: true,
85
+ },
86
+ estimatedTokens: Math.max(16, Math.ceil(item.episode.content.length / 4)),
87
+ });
88
+ }
89
+ const producerLegs = [
90
+ {
91
+ schemaVersion: 'evidence-producer-leg-receipt.v1',
92
+ legId: `${request.signatureHash}:lexical`, parentReceiptIds: [request.receiptId],
93
+ kind: 'lexical', required: true,
94
+ status: searchOutcome.diagnostics.candidateCount > 0 || pendingEpisodes.length > 0 ? 'ready' : 'empty_valid',
95
+ candidateCount: searchOutcome.diagnostics.candidateCount + pendingEpisodes.length,
96
+ },
97
+ {
98
+ schemaVersion: 'evidence-producer-leg-receipt.v1',
99
+ legId: `${request.signatureHash}:vector`, parentReceiptIds: [request.receiptId],
100
+ kind: 'vector', required: vectorRequired,
101
+ status: vectorUnavailable ? 'unavailable'
102
+ : searchOutcome.diagnostics.vectorStatus,
103
+ candidateCount: results.filter(result => result.scoreDetails?.channelRanks.vector !== undefined
104
+ || result.scoreDetails?.channelRanks.observation !== undefined).length,
105
+ ...(vectorUnavailable ? { reasonCode: searchOutcome.diagnostics.embeddingProfileHash !== request.filters.embeddingProfileHash
106
+ ? 'vector_profile_mismatch' : 'vector_unavailable' } : {}),
107
+ },
108
+ ];
109
+ const gaps = vectorUnavailable ? [{
110
+ kind: 'unavailable_channel',
111
+ reason: producerLegs[1].reasonCode ?? 'vector_unavailable',
112
+ evidenceRefs: [], resolver: 'memory', priority: 1,
113
+ }] : [];
114
+ return receipt(context, request, vectorUnavailable ? [] : candidates, gaps, vectorUnavailable ? 'unavailable' : candidates.length > 0 ? 'available' : 'empty_valid', producerLegs);
115
+ }
116
+ close() {
117
+ this.episodes?.close();
118
+ }
119
+ }
120
+ function memoryCandidate(context, result, index, retrievalProfile, generation) {
121
+ const entry = result.entry;
122
+ const contentHash = stableRuntimeHash({
123
+ id: entry.id, content: entry.content, createdAt: entry.createdAt,
124
+ });
125
+ const ranks = result.scoreDetails?.channelRanks ?? {};
126
+ const legs = Object.entries(ranks).flatMap(([leg, rank]) => Number.isSafeInteger(rank) && rank > 0 ? [{ leg: `memory:${leg}`, rank }] : []);
127
+ const hasVector = typeof ranks.vector === 'number' || typeof ranks.observation === 'number';
128
+ return {
129
+ stableRef: memoryFactStableRef(entry.id),
130
+ channel: 'memory', strength: entry.status === 'approved' ? 'strong' : 'supporting',
131
+ rank: index + 1, score: result.score,
132
+ retrievalProfile,
133
+ generation,
134
+ evidence: {
135
+ ref: `memory-entry:${entry.id}`, sourceId: entry.id,
136
+ sourceRevision: contentHash, producer: 'memory-query-service', producerVersion: '1',
137
+ contentHash, parentRefs: [],
138
+ },
139
+ payload: {
140
+ id: entry.id, title: entry.title, content: entry.content,
141
+ type: entry.type, source: entry.source, scope: entry.scope,
142
+ confidence: entry.confidence,
143
+ importance: Math.max(1, Math.min(10, Math.round(entry.strength * 10))),
144
+ createdAt: entry.createdAt, score: result.score,
145
+ applicability: result.scoreDetails?.entityEvidence ?? [],
146
+ evidenceStatus: entry.evidenceStatus,
147
+ },
148
+ freshness: { current: entry.status !== 'expired', checkedAt: context.createdAt },
149
+ contributingLegs: legs.length > 0 ? legs : [{ leg: 'memory:bm25', rank: index + 1 }],
150
+ eligibility: {
151
+ scope: context.scopeBindings.project, permission: 'allowed', sourceReady: true,
152
+ ...(hasVector && result.scoreDetails?.embeddingProfileHash
153
+ ? { profileHash: result.scoreDetails.embeddingProfileHash } : {}),
154
+ },
155
+ estimatedTokens: Math.max(16, Math.ceil(entry.content.length / 4)),
156
+ };
157
+ }
158
+ function receipt(context, request, candidates, gaps, availability, producerLegs) {
159
+ const body = {
160
+ schemaVersion: 'evidence-receipt.v1',
161
+ receiptId: `memory:${stableRuntimeHash({
162
+ context: context.contextHash, ...(request.queryVariant ? { queryVariant: request.queryVariant } : {}),
163
+ refs: candidates.map(item => item.stableRef),
164
+ }).slice(0, 24)}`,
165
+ parentReceiptIds: [request.receiptId],
166
+ taskContextHash: context.contextHash, channel: 'memory', availability,
167
+ factsHash: context.facts.factsHash,
168
+ planHash: context.plan.planHash,
169
+ activationSnapshotHash: context.activationSnapshotHash,
170
+ selectedRefs: [], rejectedRefs: [], gaps, legId: request.signatureHash, producerLegs,
171
+ createdAt: context.createdAt,
172
+ };
173
+ return { availability, candidates, gaps, receipt: { ...body, receiptHash: stableRuntimeHash(body) } };
174
+ }
175
+ function retrievalAction(value) {
176
+ return ['analyze', 'debug', 'create', 'modify', 'format', 'test', 'build',
177
+ 'install', 'release', 'document'].includes(value)
178
+ ? value : 'unknown';
179
+ }
180
+ //# sourceMappingURL=memory-query-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-query-service.js","sourceRoot":"","sources":["../src/memory-query-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,4BAA4B,GAa7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAezE,MAAM,OAAO,kBAAkB;IAIV;IACA;IACA;IALF,eAAe,CAAqB;IAErD,YACmB,WAAmB,EACnB,MAAsB,EACtB,QAAkC;QAFlC,gBAAW,GAAX,WAAW,CAAQ;QACnB,WAAM,GAAN,MAAM,CAAgB;QACtB,aAAQ,GAAR,QAAQ,CAA0B;QAEnD,IAAI,CAAC,eAAe,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,MAAM,CACV,OAAiC,EACjC,OAAoC;QAEpC,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;eAC3B,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,CAAC,SAAS;eAC7C,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ;eAC1C,OAAO,CAAC,sBAAsB,KAAK,OAAO,CAAC,sBAAsB;eACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,WAAW;eAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,SAAS;eACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;QACzC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QAC5D,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE;YACnE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe;YACtD,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;YACrC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;YACzC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;YACrC,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,aAAa;YACrB,YAAY,EAAE;gBACZ,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,aAAa;gBACb,aAAa;gBACb,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;gBAChC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;aACrC;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,cAAc,IAAI,CAC1C,aAAa,CAAC,WAAW,CAAC,YAAY,KAAK,OAAO;eAC/C,aAAa,CAAC,WAAW,CAAC,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAC3F,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAC/D,OAAO,EACP,MAAM,EACN,KAAK,EACL,aAAa,CAAC,WAAW,CAAC,oBAAoB,EAC9C,aAAa,CAAC,WAAW,CAAC,mBAAmB,CAC9C,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzF,IAAI,eAA6E,CAAC;QAClF,IAAI,CAAC;YACH,eAAe,GAAG,iBAAiB,CAAC,qBAAqB,CACvD,IAAI,CAAC,eAAe,CAAC,SAAS,EAC9B,IAAI,CAAC,eAAe,CAAC,eAAe,EACpC,KAAK,EACL,CAAC,CACF,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,QAAQ;YAAE,eAAe,GAAG,EAAE,CAAC;QACrE,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC;gBACd,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBACzD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC;gBAC3E,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,gBAAgB,EAAE,aAAa,CAAC,WAAW,CAAC,oBAAoB;gBAChE,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,mBAAmB;gBACzD,QAAQ,EAAE;oBACR,GAAG,EAAE,kBAAkB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjF,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,2BAA2B;oBAC/E,eAAe,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;iBAC3E;gBACD,OAAO,EAAE;oBACP,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBACrE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;oBACxF,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACvF,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,yBAAyB,CAAC,EAAE,cAAc,EAAE,UAAU;iBAC1F;gBACD,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;gBAC1D,gBAAgB,EAAE,CAAC,EAAE,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACzF,WAAW,EAAE;oBACX,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI;iBAC/E;gBACD,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC1E,CAAC,CAAC;QACL,CAAC;QACD,MAAM,YAAY,GAAmC;YACnD;gBACE,aAAa,EAAE,kCAAkC;gBACjD,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,UAAU,EAAE,gBAAgB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;gBAChF,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI;gBAC/B,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,cAAc,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;gBAC5G,cAAc,EAAE,aAAa,CAAC,WAAW,CAAC,cAAc,GAAG,eAAe,CAAC,MAAM;aAClF;YACD;gBACE,aAAa,EAAE,kCAAkC;gBACjD,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,SAAS,EAAE,gBAAgB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC/E,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc;gBACxC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,aAAa;oBACvC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY;gBAC1C,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,MAAM,KAAK,SAAS;uBAC1F,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,MAAM;gBACxE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,UAAU,EAClC,aAAa,CAAC,WAAW,CAAC,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,oBAAoB;wBACrF,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D;SACF,CAAC;QACF,MAAM,IAAI,GAAoB,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,UAAU,IAAI,oBAAoB;gBAC3D,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;aAClD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,OAAO,CACZ,OAAO,EACP,OAAO,EACP,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EACnC,IAAI,EACJ,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EACvF,YAAY,CACb,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAED,SAAS,eAAe,CACtB,OAAiC,EACjC,MAA0B,EAC1B,KAAa,EACb,gBAAwB,EACxB,UAAkB;IAElB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACpC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;KACjE,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,EAAE,YAAY,IAAI,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CACzD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC;IAC5F,OAAO;QACL,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;QAClF,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;QACpC,gBAAgB;QAChB,UAAU;QACV,QAAQ,EAAE;YACR,GAAG,EAAE,gBAAgB,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;YACnD,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,sBAAsB,EAAE,eAAe,EAAE,GAAG;YACnF,WAAW,EAAE,UAAU,EAAE,EAAE;SAC5B;QACD,OAAO,EAAE;YACP,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO;YACxD,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;YAC1D,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;YACtE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;YAC/C,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,cAAc,IAAI,EAAE;YACxD,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC;QACD,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;QAChF,gBAAgB,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;QACpF,WAAW,EAAE;YACX,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI;YAC9E,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,EAAE,oBAAoB;gBACxD,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE;QACD,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CACd,OAAiC,EACjC,OAAoC,EACpC,UAAiC,EACjC,IAAqB,EACrB,YAAoD,EACpD,YAA4C;IAE5C,MAAM,IAAI,GAAG;QACX,aAAa,EAAE,qBAA8B;QAC7C,SAAS,EAAE,UAAU,iBAAiB,CAAC;YACrC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;SAC7C,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACjB,gBAAgB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;QACrC,eAAe,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,QAAiB,EAAE,YAAY;QAC9E,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;QAClC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;QAC/B,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;QACtD,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,YAAY;QACpF,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;IACF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AACxG,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO;QACvE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjD,CAAC,CAAC,KAA4B,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC"}
@@ -2,7 +2,7 @@ import type { PolicyFacet, RetrievalTaskAction } from '@devflow-tools/sdk';
2
2
  export declare const MEMORY_SEMANTIC_ELIGIBILITY_THRESHOLD = 0.55;
3
3
  export declare const MEMORY_LEXICAL_ELIGIBILITY_THRESHOLD = 0.25;
4
4
  export declare const MEMORY_SELECTION_THRESHOLD = 0.35;
5
- export type MemoryRejectionReason = 'superseded' | 'operational_observation' | 'unverified_constraint' | 'inapplicable_scope' | 'inapplicable_facet' | 'incompatible_failure_category' | 'incompatible_domain' | 'incompatible_polarity' | 'no_applicable_signal' | 'below_quality_threshold';
5
+ export type MemoryRejectionReason = 'superseded' | 'operational_observation' | 'unverified_constraint' | 'inapplicable_scope' | 'inapplicable_facet' | 'incompatible_failure_category' | 'incompatible_domain' | 'incompatible_polarity' | 'no_typed_applicability' | 'no_applicable_signal' | 'below_quality_threshold';
6
6
  export interface MemoryRelevanceInput {
7
7
  query: string;
8
8
  purpose?: string;
@@ -24,6 +24,14 @@ export interface MemoryRelevanceInput {
24
24
  facet?: PolicyFacet | 'generic';
25
25
  action?: RetrievalTaskAction;
26
26
  requiredPolicyFacets?: PolicyFacet[];
27
+ semanticTask?: {
28
+ contextHash: string;
29
+ primaryIntent: string;
30
+ primaryAction: RetrievalTaskAction;
31
+ entities: string[];
32
+ targetAnchors: string[];
33
+ queryPolarity?: 'positive' | 'negative' | 'neutral';
34
+ };
27
35
  semanticPolarity?: 'positive' | 'negative' | 'neutral';
28
36
  semanticKey?: string;
29
37
  facetKey?: string;
@@ -32,6 +40,7 @@ export interface MemoryRelevanceEvaluation {
32
40
  eligible: boolean;
33
41
  score: number;
34
42
  rejectionReason?: MemoryRejectionReason;
43
+ applicabilityStatus: 'known' | 'unknown';
35
44
  applicability: string[];
36
45
  signals: {
37
46
  semantic: number;
@@ -45,6 +54,12 @@ export interface MemoryRelevanceEvaluation {
45
54
  policyApplicability: number;
46
55
  };
47
56
  }
57
+ export interface MemorySafetyEligibility {
58
+ allowed: boolean;
59
+ rejectionReason?: MemoryRejectionReason;
60
+ }
61
+ /** Hard safety checks only. Applicability is intentionally not decided here. */
62
+ export declare function applyMemorySafetyEligibility(input: MemoryRelevanceInput): MemorySafetyEligibility;
48
63
  export declare function evaluateMemoryRelevance(input: MemoryRelevanceInput): MemoryRelevanceEvaluation;
49
64
  export declare function evaluateBootstrapMemory(input: Omit<MemoryRelevanceInput, 'query'>): MemoryRelevanceEvaluation;
50
65
  export declare function normalizeMemoryEntities(value: string): Set<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-relevance.d.ts","sourceRoot":"","sources":["../src/memory-relevance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAC1D,eAAO,MAAM,oCAAoC,OAAO,CAAC;AACzD,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,yBAAyB,GACzB,uBAAuB,GACvB,oBAAoB,GACpB,oBAAoB,GACpB,+BAA+B,GAC/B,qBAAqB,GACrB,uBAAuB,GACvB,sBAAsB,GACtB,yBAAyB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;IACxD,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AA+BD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,yBAAyB,CAoH9F;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,GACzC,yBAAyB,CA0C3B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAiClE"}
1
+ {"version":3,"file":"memory-relevance.d.ts","sourceRoot":"","sources":["../src/memory-relevance.ts"],"names":[],"mappings":"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"}