@su-record/vibe 2.6.26 → 2.6.27

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 (46) hide show
  1. package/CLAUDE.md +49 -0
  2. package/README.md +31 -0
  3. package/dist/lib/MemoryManager.d.ts +30 -0
  4. package/dist/lib/MemoryManager.d.ts.map +1 -1
  5. package/dist/lib/MemoryManager.js +74 -0
  6. package/dist/lib/MemoryManager.js.map +1 -1
  7. package/dist/lib/memory/SessionRAGRetriever.d.ts +66 -0
  8. package/dist/lib/memory/SessionRAGRetriever.d.ts.map +1 -0
  9. package/dist/lib/memory/SessionRAGRetriever.js +196 -0
  10. package/dist/lib/memory/SessionRAGRetriever.js.map +1 -0
  11. package/dist/lib/memory/SessionRAGRetriever.test.d.ts +2 -0
  12. package/dist/lib/memory/SessionRAGRetriever.test.d.ts.map +1 -0
  13. package/dist/lib/memory/SessionRAGRetriever.test.js +180 -0
  14. package/dist/lib/memory/SessionRAGRetriever.test.js.map +1 -0
  15. package/dist/lib/memory/SessionRAGStore.d.ts +153 -0
  16. package/dist/lib/memory/SessionRAGStore.d.ts.map +1 -0
  17. package/dist/lib/memory/SessionRAGStore.js +673 -0
  18. package/dist/lib/memory/SessionRAGStore.js.map +1 -0
  19. package/dist/lib/memory/SessionRAGStore.test.d.ts +2 -0
  20. package/dist/lib/memory/SessionRAGStore.test.d.ts.map +1 -0
  21. package/dist/lib/memory/SessionRAGStore.test.js +326 -0
  22. package/dist/lib/memory/SessionRAGStore.test.js.map +1 -0
  23. package/dist/tools/index.d.ts +5 -0
  24. package/dist/tools/index.d.ts.map +1 -1
  25. package/dist/tools/index.js +4 -0
  26. package/dist/tools/index.js.map +1 -1
  27. package/dist/tools/memory/index.d.ts +3 -0
  28. package/dist/tools/memory/index.d.ts.map +1 -1
  29. package/dist/tools/memory/index.js +4 -0
  30. package/dist/tools/memory/index.js.map +1 -1
  31. package/dist/tools/memory/manageGoals.d.ts +11 -0
  32. package/dist/tools/memory/manageGoals.d.ts.map +1 -0
  33. package/dist/tools/memory/manageGoals.js +152 -0
  34. package/dist/tools/memory/manageGoals.js.map +1 -0
  35. package/dist/tools/memory/retrieveSessionContext.d.ts +9 -0
  36. package/dist/tools/memory/retrieveSessionContext.d.ts.map +1 -0
  37. package/dist/tools/memory/retrieveSessionContext.js +140 -0
  38. package/dist/tools/memory/retrieveSessionContext.js.map +1 -0
  39. package/dist/tools/memory/saveSessionItem.d.ts +26 -0
  40. package/dist/tools/memory/saveSessionItem.d.ts.map +1 -0
  41. package/dist/tools/memory/saveSessionItem.js +218 -0
  42. package/dist/tools/memory/saveSessionItem.js.map +1 -0
  43. package/dist/tools/memory/startSession.d.ts.map +1 -1
  44. package/dist/tools/memory/startSession.js +29 -0
  45. package/dist/tools/memory/startSession.js.map +1 -1
  46. package/package.json +1 -1
package/CLAUDE.md CHANGED
@@ -110,16 +110,65 @@ SPEC documents use: `<role>` `<context>` `<task>` `<constraints>` `<output_forma
110
110
 
111
111
  ## Built-in Tools
112
112
 
113
+ ### Semantic & Quality
114
+
113
115
  | Tool | Purpose |
114
116
  |-------------------------------|----------------------------------|
115
117
  | `vibe_find_symbol` | Find symbol definitions |
116
118
  | `vibe_find_references` | Find references |
117
119
  | `vibe_analyze_complexity` | Analyze complexity |
118
120
  | `vibe_validate_code_quality` | Validate quality |
121
+
122
+ ### Memory & Session
123
+
124
+ | Tool | Purpose |
125
+ |-------------------------------|----------------------------------|
119
126
  | `vibe_start_session` | Restore previous session context |
120
127
  | `vibe_auto_save_context` | Save current state |
121
128
  | `vibe_save_memory` | Save important decisions |
122
129
 
130
+ ### Session RAG (v2.6.27)
131
+
132
+ 구조화된 세션 컨텍스트를 저장/검색하는 시스템. SQLite + FTS5 BM25 하이브리드 검색.
133
+
134
+ | Tool | Purpose |
135
+ |-------------------------------|----------------------------------|
136
+ | `save_session_item` | Decision/Constraint/Goal/Evidence 저장 |
137
+ | `retrieve_session_context` | 하이브리드 검색 (BM25 + recency + priority) |
138
+ | `manage_goals` | Goal 생명주기 관리 (list/update/complete) |
139
+
140
+ **4가지 엔티티:**
141
+
142
+ | Entity | Description | Key Fields |
143
+ |--------|-------------|------------|
144
+ | Decision | 사용자 확인 결정사항 | title, rationale, alternatives, impact, priority |
145
+ | Constraint | 명시적 제약조건 | title, type (technical/business/resource/quality), severity |
146
+ | Goal | 현재 목표 스택 (계층 지원) | title, status, priority, progressPercent, successCriteria |
147
+ | Evidence | 검증/테스트 결과 | title, type (test/build/lint/coverage), status, metrics |
148
+
149
+ **자동 주입:** `start_session` 호출 시 활성 Goals, 중요 Constraints, 최근 Decisions가 자동으로 세션 컨텍스트에 포함됨.
150
+
151
+ ```typescript
152
+ import { saveSessionItem, retrieveSessionContext, manageGoals } from '@su-record/vibe/tools';
153
+
154
+ // 결정 저장
155
+ await saveSessionItem({ itemType: 'decision', title: 'Use Vitest', rationale: 'Fast and modern' });
156
+
157
+ // 제약 저장
158
+ await saveSessionItem({ itemType: 'constraint', title: 'No vector DB', type: 'technical', severity: 'high' });
159
+
160
+ // 목표 저장
161
+ await saveSessionItem({ itemType: 'goal', title: 'Implement Session RAG', priority: 2 });
162
+
163
+ // 컨텍스트 검색
164
+ await retrieveSessionContext({ query: 'testing' });
165
+
166
+ // 목표 관리
167
+ await manageGoals({ action: 'list' });
168
+ await manageGoals({ action: 'update', goalId: 1, progressPercent: 80 });
169
+ await manageGoals({ action: 'complete', goalId: 1 });
170
+ ```
171
+
123
172
  ## Agents
124
173
 
125
174
  - **Review (12)**: security, performance, architecture, complexity, simplicity, data-integrity, test-coverage, git-history, python, typescript, rails, react reviewers → `.claude/agents/review/`
package/README.md CHANGED
@@ -152,6 +152,37 @@ Prompt → Complexity Analysis → Split Decision
152
152
 
153
153
  Tasks are scored by complexity. When the score exceeds the threshold (default: 15), the task is automatically split into subtasks and processed in parallel.
154
154
 
155
+ ## Session RAG
156
+
157
+ Structured session context storage with hybrid BM25 search. Keeps decisions, constraints, goals, and evidence across sessions.
158
+
159
+ | Entity | Description | Auto-injected |
160
+ |--------|-------------|---------------|
161
+ | **Decision** | User-confirmed choices with rationale | Recent active decisions |
162
+ | **Constraint** | Technical/business limitations | High/critical severity |
163
+ | **Goal** | Objective stack with progress tracking | Active goals |
164
+ | **Evidence** | Test/build/lint verification results | - |
165
+
166
+ **Tools:**
167
+
168
+ | Tool | Purpose |
169
+ |------|---------|
170
+ | `save_session_item` | Save decision/constraint/goal/evidence |
171
+ | `retrieve_session_context` | Hybrid search (BM25 + recency + priority) |
172
+ | `manage_goals` | Goal lifecycle (list/update/complete) |
173
+
174
+ Active goals and key constraints are automatically injected at session start via `start_session`.
175
+
176
+ ```typescript
177
+ import { saveSessionItem, retrieveSessionContext, manageGoals } from '@su-record/vibe/tools';
178
+
179
+ await saveSessionItem({ itemType: 'decision', title: 'Use Vitest', rationale: 'Fast and modern' });
180
+ await saveSessionItem({ itemType: 'constraint', title: 'No vector DB', type: 'technical', severity: 'high' });
181
+ await saveSessionItem({ itemType: 'goal', title: 'Implement login', priority: 2 });
182
+ await retrieveSessionContext({ query: 'testing strategy' });
183
+ await manageGoals({ action: 'complete', goalId: 1 });
184
+ ```
185
+
155
186
  ## Requirements Traceability
156
187
 
157
188
  Track from requirements to tests with `/vibe.trace`:
@@ -2,13 +2,19 @@ import { MemoryRelation, MemoryGraph } from '../types/tool.js';
2
2
  import { MemoryItem } from './memory/MemoryStorage.js';
3
3
  import { SearchStrategy, SearchOptions } from './memory/MemorySearch.js';
4
4
  import { Observation, ObservationInput, ObservationType } from './memory/ObservationStore.js';
5
+ import { Decision, DecisionInput, Constraint, ConstraintInput, Goal, GoalInput, Evidence, EvidenceInput, SessionRAGStats, DecisionStatus, ConstraintType, ConstraintSeverity, GoalStatus, EvidenceType, EvidenceStatus } from './memory/SessionRAGStore.js';
6
+ import { RetrievalOptions, SessionRAGResult } from './memory/SessionRAGRetriever.js';
5
7
  export { MemoryItem } from './memory/MemoryStorage.js';
6
8
  export { Observation, ObservationInput, ObservationType } from './memory/ObservationStore.js';
9
+ export { Decision, DecisionInput, Constraint, ConstraintInput, Goal, GoalInput, Evidence, EvidenceInput, SessionRAGStats, DecisionStatus, ConstraintType, ConstraintSeverity, GoalStatus, EvidenceType, EvidenceStatus } from './memory/SessionRAGStore.js';
10
+ export { RetrievalOptions, SessionRAGResult } from './memory/SessionRAGRetriever.js';
7
11
  export declare class MemoryManager {
8
12
  private storage;
9
13
  private graph;
10
14
  private memorySearch;
11
15
  private observations;
16
+ private sessionRAG;
17
+ private ragRetriever;
12
18
  private static instances;
13
19
  private static instance;
14
20
  private static cleanupRegistered;
@@ -50,6 +56,30 @@ export declare class MemoryManager {
50
56
  total: number;
51
57
  byType: Record<string, number>;
52
58
  };
59
+ addDecision(input: DecisionInput): number;
60
+ getDecision(id: number): Decision | null;
61
+ updateDecision(id: number, updates: Partial<DecisionInput>): boolean;
62
+ listDecisions(sessionId?: string, status?: DecisionStatus, limit?: number): Decision[];
63
+ searchDecisions(query: string, limit?: number): Decision[];
64
+ addConstraint(input: ConstraintInput): number;
65
+ getConstraint(id: number): Constraint | null;
66
+ updateConstraint(id: number, updates: Partial<ConstraintInput>): boolean;
67
+ listConstraints(sessionId?: string, type?: ConstraintType, severity?: ConstraintSeverity, limit?: number): Constraint[];
68
+ addGoal(input: GoalInput): number;
69
+ getGoal(id: number): Goal | null;
70
+ updateGoal(id: number, updates: Partial<GoalInput>): boolean;
71
+ getActiveGoals(limit?: number): Goal[];
72
+ listGoals(sessionId?: string, status?: GoalStatus, limit?: number): Goal[];
73
+ addEvidence(input: EvidenceInput): number;
74
+ getEvidence(id: number): Evidence | null;
75
+ listEvidence(sessionId?: string, type?: EvidenceType, status?: EvidenceStatus, limit?: number): Evidence[];
76
+ retrieveSessionContext(options: RetrievalOptions): SessionRAGResult;
77
+ retrieveActiveContext(): {
78
+ goals: Goal[];
79
+ constraints: Constraint[];
80
+ decisions: Decision[];
81
+ };
82
+ getSessionRAGStats(): SessionRAGStats;
53
83
  close(): void;
54
84
  static resetInstance(projectPath?: string): void;
55
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryManager.d.ts","sourceRoot":"","sources":["../../src/lib/MemoryManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAiB,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAgB,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAoB,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGhH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE9F,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAmB;IAGvC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAyC;IAEjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IACrD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAS;IAEzC,OAAO;IAwCP;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;WACW,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa;IA+CvD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkB,EAAE,QAAQ,GAAE,MAAU,GAAG,IAAI;IAI1F,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAItC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAI3C,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE;IAIrC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE;IAI7C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInD,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAIjE,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,UAAU,EAAE;IAInF,SAAS,IAAI,MAAM;IAQnB,YAAY,CACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,GAAE,MAAY,EACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO;IAIH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,UAAU,GAAG,UAAU,GAAG,MAAe,GAAG,cAAc,EAAE;IAIjG,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE;IAIvF,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,WAAW;IAI5D,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAI/D,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO;IAQpF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE;IAInC,cAAc,CACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,aAAkB,GAC1B,UAAU,EAAE;IAQR,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAI/C,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,WAAW,EAAE;IAIpE,qBAAqB,CAAC,KAAK,GAAE,MAAW,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,WAAW,EAAE;IAIhF,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,WAAW,EAAE;IAI9E,mBAAmB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAQxE,KAAK,IAAI,IAAI;WAIN,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;CAmBxD"}
1
+ {"version":3,"file":"MemoryManager.d.ts","sourceRoot":"","sources":["../../src/lib/MemoryManager.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,15 @@ import { MemoryStorage } from './memory/MemoryStorage.js';
6
6
  import { KnowledgeGraph } from './memory/KnowledgeGraph.js';
7
7
  import { MemorySearch } from './memory/MemorySearch.js';
8
8
  import { ObservationStore } from './memory/ObservationStore.js';
9
+ import { SessionRAGStore } from './memory/SessionRAGStore.js';
10
+ import { SessionRAGRetriever } from './memory/SessionRAGRetriever.js';
9
11
  export class MemoryManager {
10
12
  storage;
11
13
  graph;
12
14
  memorySearch;
13
15
  observations;
16
+ sessionRAG;
17
+ ragRetriever;
14
18
  // Map of projectPath -> MemoryManager instance (for project-based memory)
15
19
  static instances = new Map();
16
20
  // Legacy single instance (for backward compatibility)
@@ -49,6 +53,8 @@ export class MemoryManager {
49
53
  this.graph = new KnowledgeGraph(this.storage);
50
54
  this.memorySearch = new MemorySearch(this.storage, this.graph);
51
55
  this.observations = new ObservationStore(this.storage);
56
+ this.sessionRAG = new SessionRAGStore(this.storage);
57
+ this.ragRetriever = new SessionRAGRetriever(this.storage, this.sessionRAG);
52
58
  }
53
59
  /**
54
60
  * Check if the given path is the vibe package itself
@@ -184,6 +190,74 @@ export class MemoryManager {
184
190
  return this.observations.getStats();
185
191
  }
186
192
  // ============================================================================
193
+ // Session RAG Operations (delegated to SessionRAGStore/Retriever)
194
+ // ============================================================================
195
+ // Decisions
196
+ addDecision(input) {
197
+ return this.sessionRAG.addDecision(input);
198
+ }
199
+ getDecision(id) {
200
+ return this.sessionRAG.getDecision(id);
201
+ }
202
+ updateDecision(id, updates) {
203
+ return this.sessionRAG.updateDecision(id, updates);
204
+ }
205
+ listDecisions(sessionId, status, limit) {
206
+ return this.sessionRAG.listDecisions(sessionId, status, limit);
207
+ }
208
+ searchDecisions(query, limit) {
209
+ return this.sessionRAG.searchDecisions(query, limit);
210
+ }
211
+ // Constraints
212
+ addConstraint(input) {
213
+ return this.sessionRAG.addConstraint(input);
214
+ }
215
+ getConstraint(id) {
216
+ return this.sessionRAG.getConstraint(id);
217
+ }
218
+ updateConstraint(id, updates) {
219
+ return this.sessionRAG.updateConstraint(id, updates);
220
+ }
221
+ listConstraints(sessionId, type, severity, limit) {
222
+ return this.sessionRAG.listConstraints(sessionId, type, severity, limit);
223
+ }
224
+ // Goals
225
+ addGoal(input) {
226
+ return this.sessionRAG.addGoal(input);
227
+ }
228
+ getGoal(id) {
229
+ return this.sessionRAG.getGoal(id);
230
+ }
231
+ updateGoal(id, updates) {
232
+ return this.sessionRAG.updateGoal(id, updates);
233
+ }
234
+ getActiveGoals(limit) {
235
+ return this.sessionRAG.getActiveGoals(limit);
236
+ }
237
+ listGoals(sessionId, status, limit) {
238
+ return this.sessionRAG.listGoals(sessionId, status, limit);
239
+ }
240
+ // Evidence
241
+ addEvidence(input) {
242
+ return this.sessionRAG.addEvidence(input);
243
+ }
244
+ getEvidence(id) {
245
+ return this.sessionRAG.getEvidence(id);
246
+ }
247
+ listEvidence(sessionId, type, status, limit) {
248
+ return this.sessionRAG.listEvidence(sessionId, type, status, limit);
249
+ }
250
+ // Retrieval
251
+ retrieveSessionContext(options) {
252
+ return this.ragRetriever.retrieve(options);
253
+ }
254
+ retrieveActiveContext() {
255
+ return this.ragRetriever.retrieveActiveContext();
256
+ }
257
+ getSessionRAGStats() {
258
+ return this.sessionRAG.getStats();
259
+ }
260
+ // ============================================================================
187
261
  // Lifecycle Management
188
262
  // ============================================================================
189
263
  close() {
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryManager.js","sourceRoot":"","sources":["../../src/lib/MemoryManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryManager.js","sourceRoot":"","sources":["../../src/lib/MemoryManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { MemoryStorage } from './MemoryStorage.js';
2
+ import { SessionRAGStore, Decision, Constraint, Goal, Evidence } from './SessionRAGStore.js';
3
+ export interface RetrievalOptions {
4
+ query: string;
5
+ sessionId?: string;
6
+ limit?: number;
7
+ recencyWeight?: number;
8
+ priorityWeight?: number;
9
+ bm25Weight?: number;
10
+ }
11
+ export interface ScoreBreakdown {
12
+ bm25: number;
13
+ recency: number;
14
+ priority: number;
15
+ }
16
+ export interface ScoredItem<T> {
17
+ item: T;
18
+ score: number;
19
+ breakdown: ScoreBreakdown;
20
+ }
21
+ export interface SessionRAGResult {
22
+ decisions: ScoredItem<Decision>[];
23
+ constraints: ScoredItem<Constraint>[];
24
+ goals: ScoredItem<Goal>[];
25
+ evidence: ScoredItem<Evidence>[];
26
+ queryTime: number;
27
+ }
28
+ export declare class SessionRAGRetriever {
29
+ private db;
30
+ private store;
31
+ private fts5Available;
32
+ constructor(storage: MemoryStorage, store: SessionRAGStore);
33
+ /**
34
+ * Retrieve relevant session context with hybrid scoring
35
+ */
36
+ retrieve(options: RetrievalOptions): SessionRAGResult;
37
+ /**
38
+ * Retrieve only active goals and high-severity constraints (for session start injection)
39
+ */
40
+ retrieveActiveContext(): {
41
+ goals: Goal[];
42
+ constraints: Constraint[];
43
+ decisions: Decision[];
44
+ };
45
+ private scoreDecisions;
46
+ private scoreConstraints;
47
+ private scoreGoals;
48
+ private scoreEvidence;
49
+ private getCandidateDecisions;
50
+ private getCandidateConstraints;
51
+ private getCandidateGoals;
52
+ private getCandidateEvidence;
53
+ private getBM25Scores;
54
+ /**
55
+ * Normalize BM25 score to 0-1 range.
56
+ * BM25 returns negative values where more negative = better match.
57
+ * We convert to 0-1 where 1 = best match.
58
+ */
59
+ private normalizeBM25;
60
+ /**
61
+ * Calculate recency score with exponential decay.
62
+ * Returns 0-1 where 1 = just now, 0.5 = half-life ago.
63
+ */
64
+ private calculateRecency;
65
+ }
66
+ //# sourceMappingURL=SessionRAGRetriever.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRAGRetriever.d.ts","sourceRoot":"","sources":["../../../src/lib/memory/SessionRAGRetriever.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClC,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;IACtC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1B,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAYD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,aAAa,CAAU;gBAEnB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe;IAM1D;;OAEG;IACI,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IA0B5D;;OAEG;IACI,qBAAqB,IAAI;QAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;QACd,WAAW,EAAE,UAAU,EAAE,CAAC;QAC1B,SAAS,EAAE,QAAQ,EAAE,CAAC;KACvB;IAaD,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,aAAa;IAyBrB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAQrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAKzB"}
@@ -0,0 +1,196 @@
1
+ // Session RAG Retriever - Hybrid search with BM25 + metadata scoring
2
+ // Retrieves relevant session context (decisions/constraints/goals/evidence)
3
+ const DEFAULT_LIMIT = 5;
4
+ const DEFAULT_BM25_WEIGHT = 0.4;
5
+ const DEFAULT_RECENCY_WEIGHT = 0.3;
6
+ const DEFAULT_PRIORITY_WEIGHT = 0.3;
7
+ const RECENCY_HALF_LIFE_MS = 7 * 24 * 60 * 60 * 1000; // 7 days
8
+ // ============================================================================
9
+ // SessionRAGRetriever
10
+ // ============================================================================
11
+ export class SessionRAGRetriever {
12
+ db;
13
+ store;
14
+ fts5Available;
15
+ constructor(storage, store) {
16
+ this.db = storage.getDatabase();
17
+ this.store = store;
18
+ this.fts5Available = storage.isFTS5Available();
19
+ }
20
+ /**
21
+ * Retrieve relevant session context with hybrid scoring
22
+ */
23
+ retrieve(options) {
24
+ const startTime = Date.now();
25
+ const { query, limit = DEFAULT_LIMIT, recencyWeight = DEFAULT_RECENCY_WEIGHT, priorityWeight = DEFAULT_PRIORITY_WEIGHT, bm25Weight = DEFAULT_BM25_WEIGHT, } = options;
26
+ const weights = { bm25Weight, recencyWeight, priorityWeight };
27
+ const decisions = this.scoreDecisions(query, limit, weights);
28
+ const constraints = this.scoreConstraints(query, limit, weights);
29
+ const goals = this.scoreGoals(query, limit, weights);
30
+ const evidence = this.scoreEvidence(query, limit, weights);
31
+ return {
32
+ decisions,
33
+ constraints,
34
+ goals,
35
+ evidence,
36
+ queryTime: Date.now() - startTime,
37
+ };
38
+ }
39
+ /**
40
+ * Retrieve only active goals and high-severity constraints (for session start injection)
41
+ */
42
+ retrieveActiveContext() {
43
+ return {
44
+ goals: this.store.getActiveGoals(5),
45
+ constraints: this.store.listConstraints(undefined, undefined, undefined, 10)
46
+ .filter(c => c.severity === 'critical' || c.severity === 'high'),
47
+ decisions: this.store.listDecisions(undefined, 'active', 5),
48
+ };
49
+ }
50
+ // ==========================================================================
51
+ // Scoring per entity type
52
+ // ==========================================================================
53
+ scoreDecisions(query, limit, weights) {
54
+ const bm25Scores = this.getBM25Scores('session_decisions', 'session_decisions_fts', query, limit * 3);
55
+ const candidates = this.getCandidateDecisions(query, bm25Scores, limit * 3);
56
+ return candidates
57
+ .map(item => {
58
+ const bm25 = this.normalizeBM25(bm25Scores.get(item.id) ?? 0);
59
+ const recency = this.calculateRecency(item.timestamp);
60
+ const priority = item.priority / 2; // normalize 0-2 → 0-1
61
+ const score = bm25 * weights.bm25Weight +
62
+ recency * weights.recencyWeight +
63
+ priority * weights.priorityWeight;
64
+ return { item, score, breakdown: { bm25, recency, priority } };
65
+ })
66
+ .sort((a, b) => b.score - a.score)
67
+ .slice(0, limit);
68
+ }
69
+ scoreConstraints(query, limit, weights) {
70
+ const bm25Scores = this.getBM25Scores('session_constraints', 'session_constraints_fts', query, limit * 3);
71
+ const candidates = this.getCandidateConstraints(query, bm25Scores, limit * 3);
72
+ const severityMap = { critical: 1.0, high: 0.75, medium: 0.5, low: 0.25 };
73
+ return candidates
74
+ .map(item => {
75
+ const bm25 = this.normalizeBM25(bm25Scores.get(item.id) ?? 0);
76
+ const recency = this.calculateRecency(item.timestamp);
77
+ const priority = severityMap[item.severity] ?? 0.5;
78
+ const score = bm25 * weights.bm25Weight +
79
+ recency * weights.recencyWeight +
80
+ priority * weights.priorityWeight;
81
+ return { item, score, breakdown: { bm25, recency, priority } };
82
+ })
83
+ .sort((a, b) => b.score - a.score)
84
+ .slice(0, limit);
85
+ }
86
+ scoreGoals(query, limit, weights) {
87
+ const bm25Scores = this.getBM25Scores('session_goals', 'session_goals_fts', query, limit * 3);
88
+ const candidates = this.getCandidateGoals(query, bm25Scores, limit * 3);
89
+ return candidates
90
+ .map(item => {
91
+ const bm25 = this.normalizeBM25(bm25Scores.get(item.id) ?? 0);
92
+ const recency = this.calculateRecency(item.timestamp);
93
+ const priority = item.priority / 2;
94
+ const score = bm25 * weights.bm25Weight +
95
+ recency * weights.recencyWeight +
96
+ priority * weights.priorityWeight;
97
+ return { item, score, breakdown: { bm25, recency, priority } };
98
+ })
99
+ .sort((a, b) => b.score - a.score)
100
+ .slice(0, limit);
101
+ }
102
+ scoreEvidence(query, limit, weights) {
103
+ const bm25Scores = this.getBM25Scores('session_evidence', 'session_evidence_fts', query, limit * 3);
104
+ const candidates = this.getCandidateEvidence(query, bm25Scores, limit * 3);
105
+ const statusMap = { fail: 1.0, warning: 0.75, pass: 0.5, info: 0.25 };
106
+ return candidates
107
+ .map(item => {
108
+ const bm25 = this.normalizeBM25(bm25Scores.get(item.id) ?? 0);
109
+ const recency = this.calculateRecency(item.timestamp);
110
+ const priority = statusMap[item.status] ?? 0.5;
111
+ const score = bm25 * weights.bm25Weight +
112
+ recency * weights.recencyWeight +
113
+ priority * weights.priorityWeight;
114
+ return { item, score, breakdown: { bm25, recency, priority } };
115
+ })
116
+ .sort((a, b) => b.score - a.score)
117
+ .slice(0, limit);
118
+ }
119
+ // ==========================================================================
120
+ // Candidate retrieval (FTS5 or LIKE fallback)
121
+ // ==========================================================================
122
+ getCandidateDecisions(query, bm25Scores, limit) {
123
+ if (bm25Scores.size > 0) {
124
+ return this.store.searchDecisions(query, limit);
125
+ }
126
+ // No BM25 results, get all recent ones for scoring
127
+ return this.store.listDecisions(undefined, undefined, limit);
128
+ }
129
+ getCandidateConstraints(query, bm25Scores, limit) {
130
+ if (bm25Scores.size > 0) {
131
+ return this.store.searchConstraints(query, limit);
132
+ }
133
+ return this.store.listConstraints(undefined, undefined, undefined, limit);
134
+ }
135
+ getCandidateGoals(query, bm25Scores, limit) {
136
+ if (bm25Scores.size > 0) {
137
+ return this.store.searchGoals(query, limit);
138
+ }
139
+ return this.store.listGoals(undefined, undefined, limit);
140
+ }
141
+ getCandidateEvidence(query, bm25Scores, limit) {
142
+ if (bm25Scores.size > 0) {
143
+ return this.store.searchEvidence(query, limit);
144
+ }
145
+ return this.store.listEvidence(undefined, undefined, undefined, limit);
146
+ }
147
+ // ==========================================================================
148
+ // BM25 scoring helpers
149
+ // ==========================================================================
150
+ getBM25Scores(table, ftsTable, query, limit) {
151
+ const scores = new Map();
152
+ if (!this.fts5Available)
153
+ return scores;
154
+ try {
155
+ const rows = this.db.prepare(`
156
+ SELECT t.id, bm25(${ftsTable}) as rank
157
+ FROM ${ftsTable} fts
158
+ JOIN ${table} t ON t.id = fts.rowid
159
+ WHERE ${ftsTable} MATCH ?
160
+ ORDER BY rank
161
+ LIMIT ?
162
+ `).all(query, limit);
163
+ for (const row of rows) {
164
+ scores.set(row.id, row.rank);
165
+ }
166
+ }
167
+ catch {
168
+ // FTS5 query failed
169
+ }
170
+ return scores;
171
+ }
172
+ /**
173
+ * Normalize BM25 score to 0-1 range.
174
+ * BM25 returns negative values where more negative = better match.
175
+ * We convert to 0-1 where 1 = best match.
176
+ */
177
+ normalizeBM25(rawScore) {
178
+ if (rawScore === 0)
179
+ return 0;
180
+ // BM25 returns negative scores; -20 is a strong match, 0 is no match
181
+ // Clamp to [-20, 0] then normalize
182
+ const clamped = Math.max(rawScore, -20);
183
+ return Math.abs(clamped) / 20;
184
+ }
185
+ /**
186
+ * Calculate recency score with exponential decay.
187
+ * Returns 0-1 where 1 = just now, 0.5 = half-life ago.
188
+ */
189
+ calculateRecency(timestamp) {
190
+ const age = Date.now() - new Date(timestamp).getTime();
191
+ if (age <= 0)
192
+ return 1;
193
+ return Math.exp(-age * Math.LN2 / RECENCY_HALF_LIFE_MS);
194
+ }
195
+ }
196
+ //# sourceMappingURL=SessionRAGRetriever.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRAGRetriever.js","sourceRoot":"","sources":["../../../src/lib/memory/SessionRAGRetriever.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SessionRAGRetriever.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRAGRetriever.test.d.ts","sourceRoot":"","sources":["../../../src/lib/memory/SessionRAGRetriever.test.ts"],"names":[],"mappings":""}