cmp-memory-system 1.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 (161) hide show
  1. package/README.md +541 -0
  2. package/dist/analytics/index.d.ts +5 -0
  3. package/dist/analytics/index.d.ts.map +1 -0
  4. package/dist/analytics/index.js +5 -0
  5. package/dist/analytics/index.js.map +1 -0
  6. package/dist/analytics/tracker.d.ts +107 -0
  7. package/dist/analytics/tracker.d.ts.map +1 -0
  8. package/dist/analytics/tracker.js +333 -0
  9. package/dist/analytics/tracker.js.map +1 -0
  10. package/dist/auto-improve/eslint-generator.d.ts +36 -0
  11. package/dist/auto-improve/eslint-generator.d.ts.map +1 -0
  12. package/dist/auto-improve/eslint-generator.js +280 -0
  13. package/dist/auto-improve/eslint-generator.js.map +1 -0
  14. package/dist/auto-improve/index.d.ts +6 -0
  15. package/dist/auto-improve/index.d.ts.map +1 -0
  16. package/dist/auto-improve/index.js +6 -0
  17. package/dist/auto-improve/index.js.map +1 -0
  18. package/dist/auto-improve/pattern-detector.d.ts +92 -0
  19. package/dist/auto-improve/pattern-detector.d.ts.map +1 -0
  20. package/dist/auto-improve/pattern-detector.js +231 -0
  21. package/dist/auto-improve/pattern-detector.js.map +1 -0
  22. package/dist/cli/index.d.ts +16 -0
  23. package/dist/cli/index.d.ts.map +1 -0
  24. package/dist/cli/index.js +636 -0
  25. package/dist/cli/index.js.map +1 -0
  26. package/dist/dashboard/index.d.ts +6 -0
  27. package/dist/dashboard/index.d.ts.map +1 -0
  28. package/dist/dashboard/index.js +6 -0
  29. package/dist/dashboard/index.js.map +1 -0
  30. package/dist/dashboard/server.d.ts +15 -0
  31. package/dist/dashboard/server.d.ts.map +1 -0
  32. package/dist/dashboard/server.js +373 -0
  33. package/dist/dashboard/server.js.map +1 -0
  34. package/dist/dashboard/ui.d.ts +9 -0
  35. package/dist/dashboard/ui.d.ts.map +1 -0
  36. package/dist/dashboard/ui.js +530 -0
  37. package/dist/dashboard/ui.js.map +1 -0
  38. package/dist/db/client.d.ts +66 -0
  39. package/dist/db/client.d.ts.map +1 -0
  40. package/dist/db/client.js +159 -0
  41. package/dist/db/client.js.map +1 -0
  42. package/dist/db/drizzle-client.d.ts +302 -0
  43. package/dist/db/drizzle-client.d.ts.map +1 -0
  44. package/dist/db/drizzle-client.js +404 -0
  45. package/dist/db/drizzle-client.js.map +1 -0
  46. package/dist/db/index.d.ts +5 -0
  47. package/dist/db/index.d.ts.map +1 -0
  48. package/dist/db/index.js +5 -0
  49. package/dist/db/index.js.map +1 -0
  50. package/dist/feedback/collector.d.ts +74 -0
  51. package/dist/feedback/collector.d.ts.map +1 -0
  52. package/dist/feedback/collector.js +231 -0
  53. package/dist/feedback/collector.js.map +1 -0
  54. package/dist/feedback/index.d.ts +5 -0
  55. package/dist/feedback/index.d.ts.map +1 -0
  56. package/dist/feedback/index.js +5 -0
  57. package/dist/feedback/index.js.map +1 -0
  58. package/dist/hooks/index.d.ts +8 -0
  59. package/dist/hooks/index.d.ts.map +1 -0
  60. package/dist/hooks/index.js +8 -0
  61. package/dist/hooks/index.js.map +1 -0
  62. package/dist/hooks/memory-checkpoint.d.ts +43 -0
  63. package/dist/hooks/memory-checkpoint.d.ts.map +1 -0
  64. package/dist/hooks/memory-checkpoint.js +257 -0
  65. package/dist/hooks/memory-checkpoint.js.map +1 -0
  66. package/dist/hooks/post-tool-use.d.ts +61 -0
  67. package/dist/hooks/post-tool-use.d.ts.map +1 -0
  68. package/dist/hooks/post-tool-use.js +262 -0
  69. package/dist/hooks/post-tool-use.js.map +1 -0
  70. package/dist/hooks/pre-tool-use.d.ts +34 -0
  71. package/dist/hooks/pre-tool-use.d.ts.map +1 -0
  72. package/dist/hooks/pre-tool-use.js +358 -0
  73. package/dist/hooks/pre-tool-use.js.map +1 -0
  74. package/dist/hooks/session-start.d.ts +38 -0
  75. package/dist/hooks/session-start.d.ts.map +1 -0
  76. package/dist/hooks/session-start.js +274 -0
  77. package/dist/hooks/session-start.js.map +1 -0
  78. package/dist/index.d.ts +29 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +39 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/mcp/index.d.ts +5 -0
  83. package/dist/mcp/index.d.ts.map +1 -0
  84. package/dist/mcp/index.js +5 -0
  85. package/dist/mcp/index.js.map +1 -0
  86. package/dist/mcp/server.d.ts +42 -0
  87. package/dist/mcp/server.d.ts.map +1 -0
  88. package/dist/mcp/server.js +599 -0
  89. package/dist/mcp/server.js.map +1 -0
  90. package/dist/registry/embeddings.d.ts +38 -0
  91. package/dist/registry/embeddings.d.ts.map +1 -0
  92. package/dist/registry/embeddings.js +110 -0
  93. package/dist/registry/embeddings.js.map +1 -0
  94. package/dist/registry/generator.d.ts +41 -0
  95. package/dist/registry/generator.d.ts.map +1 -0
  96. package/dist/registry/generator.js +323 -0
  97. package/dist/registry/generator.js.map +1 -0
  98. package/dist/registry/index.d.ts +6 -0
  99. package/dist/registry/index.d.ts.map +1 -0
  100. package/dist/registry/index.js +6 -0
  101. package/dist/registry/index.js.map +1 -0
  102. package/dist/services/IdeaCollector.d.ts +103 -0
  103. package/dist/services/IdeaCollector.d.ts.map +1 -0
  104. package/dist/services/IdeaCollector.js +371 -0
  105. package/dist/services/IdeaCollector.js.map +1 -0
  106. package/dist/services/TaskTracker.d.ts +89 -0
  107. package/dist/services/TaskTracker.d.ts.map +1 -0
  108. package/dist/services/TaskTracker.js +324 -0
  109. package/dist/services/TaskTracker.js.map +1 -0
  110. package/dist/services/WorkPlanManager.d.ts +107 -0
  111. package/dist/services/WorkPlanManager.d.ts.map +1 -0
  112. package/dist/services/WorkPlanManager.js +440 -0
  113. package/dist/services/WorkPlanManager.js.map +1 -0
  114. package/dist/services/auto-inject.d.ts +77 -0
  115. package/dist/services/auto-inject.d.ts.map +1 -0
  116. package/dist/services/auto-inject.js +289 -0
  117. package/dist/services/auto-inject.js.map +1 -0
  118. package/dist/services/auto-tag.d.ts +61 -0
  119. package/dist/services/auto-tag.d.ts.map +1 -0
  120. package/dist/services/auto-tag.js +203 -0
  121. package/dist/services/auto-tag.js.map +1 -0
  122. package/dist/services/cross-project-sync.d.ts +76 -0
  123. package/dist/services/cross-project-sync.d.ts.map +1 -0
  124. package/dist/services/cross-project-sync.js +235 -0
  125. package/dist/services/cross-project-sync.js.map +1 -0
  126. package/dist/services/index.d.ts +15 -0
  127. package/dist/services/index.d.ts.map +1 -0
  128. package/dist/services/index.js +18 -0
  129. package/dist/services/index.js.map +1 -0
  130. package/dist/services/memory-consolidation.d.ts +77 -0
  131. package/dist/services/memory-consolidation.d.ts.map +1 -0
  132. package/dist/services/memory-consolidation.js +298 -0
  133. package/dist/services/memory-consolidation.js.map +1 -0
  134. package/dist/services/semantic-search.d.ts +93 -0
  135. package/dist/services/semantic-search.d.ts.map +1 -0
  136. package/dist/services/semantic-search.js +278 -0
  137. package/dist/services/semantic-search.js.map +1 -0
  138. package/dist/services/weekly-digest.d.ts +105 -0
  139. package/dist/services/weekly-digest.d.ts.map +1 -0
  140. package/dist/services/weekly-digest.js +292 -0
  141. package/dist/services/weekly-digest.js.map +1 -0
  142. package/dist/types/index.d.ts +274 -0
  143. package/dist/types/index.d.ts.map +1 -0
  144. package/dist/types/index.js +84 -0
  145. package/dist/types/index.js.map +1 -0
  146. package/dist/utils/config.d.ts +21 -0
  147. package/dist/utils/config.d.ts.map +1 -0
  148. package/dist/utils/config.js +89 -0
  149. package/dist/utils/config.js.map +1 -0
  150. package/dist/utils/index.d.ts +6 -0
  151. package/dist/utils/index.d.ts.map +1 -0
  152. package/dist/utils/index.js +6 -0
  153. package/dist/utils/index.js.map +1 -0
  154. package/dist/utils/paths.d.ts +28 -0
  155. package/dist/utils/paths.d.ts.map +1 -0
  156. package/dist/utils/paths.js +80 -0
  157. package/dist/utils/paths.js.map +1 -0
  158. package/package.json +89 -0
  159. package/templates/memory-config.json +82 -0
  160. package/templates/memory-config.schema.json +212 -0
  161. package/templates/settings.json +58 -0
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Database client for memory operations
3
+ *
4
+ * Provides a lightweight client for DEV_Items operations.
5
+ * Can work with Drizzle ORM or direct MySQL queries.
6
+ */
7
+ import { ulid } from 'ulid';
8
+ // =============================================================================
9
+ // MEMORY CLIENT FACTORY
10
+ // =============================================================================
11
+ /**
12
+ * Create a memory client with Drizzle ORM
13
+ */
14
+ export function createMemoryClient(config) {
15
+ const { db, system, table } = config;
16
+ // Type assertion for Drizzle operations
17
+ const drizzleDb = db;
18
+ return {
19
+ // =========================================================================
20
+ // READ OPERATIONS
21
+ // =========================================================================
22
+ async list(options) {
23
+ // This is a simplified implementation
24
+ // Real implementation would use Drizzle's query builder
25
+ const limit = options?.limit ?? 50;
26
+ const type = options?.type;
27
+ // For now, return empty - actual implementation needs Drizzle setup
28
+ console.log(`[MemoryClient] list called with system=${system}, type=${type}, limit=${limit}`);
29
+ return [];
30
+ },
31
+ async get(id) {
32
+ console.log(`[MemoryClient] get called with id=${id}, system=${system}`);
33
+ return null;
34
+ },
35
+ async search(query, options) {
36
+ console.log(`[MemoryClient] search called with query=${query}, system=${system}`);
37
+ return [];
38
+ },
39
+ // =========================================================================
40
+ // WRITE OPERATIONS
41
+ // =========================================================================
42
+ async create(data) {
43
+ const id = ulid();
44
+ console.log(`[MemoryClient] create called:`, {
45
+ id,
46
+ system,
47
+ type: data.type,
48
+ status: data.status,
49
+ });
50
+ // Actual implementation would insert into DB
51
+ return { id };
52
+ },
53
+ async update(id, data) {
54
+ console.log(`[MemoryClient] update called for id=${id}`, data);
55
+ },
56
+ async delete(id) {
57
+ console.log(`[MemoryClient] delete called for id=${id}, system=${system}`);
58
+ },
59
+ // =========================================================================
60
+ // MEMORY-SPECIFIC OPERATIONS
61
+ // =========================================================================
62
+ async createMemory(content, tags) {
63
+ return this.create({
64
+ type: 'memory',
65
+ status: 'active',
66
+ priority: 'medium',
67
+ content: content,
68
+ tags: [...(tags ?? []), content.source ?? 'system'],
69
+ });
70
+ },
71
+ async getMemories(domain, limit = 50) {
72
+ return this.list({
73
+ type: 'memory',
74
+ limit,
75
+ // Domain filtering would be done in post-processing
76
+ });
77
+ },
78
+ // =========================================================================
79
+ // PATTERN OPERATIONS
80
+ // =========================================================================
81
+ async createPattern(content) {
82
+ return this.create({
83
+ type: 'pattern',
84
+ status: 'active',
85
+ priority: content.severity,
86
+ content: content,
87
+ tags: ['pattern', `pattern:${content.patternId}`],
88
+ });
89
+ },
90
+ async getPatterns(threshold = 3) {
91
+ const patterns = await this.list({ type: 'pattern' });
92
+ // Filter by occurrence threshold
93
+ return patterns.filter(p => {
94
+ const content = p.content;
95
+ return content && content.occurrences >= threshold;
96
+ });
97
+ },
98
+ async incrementPattern(patternId) {
99
+ // Get existing pattern
100
+ const patterns = await this.list({
101
+ type: 'pattern',
102
+ tags: [`pattern:${patternId}`],
103
+ limit: 1,
104
+ });
105
+ if (patterns.length > 0) {
106
+ const existing = patterns[0];
107
+ const content = existing.content;
108
+ const newCount = content.occurrences + 1;
109
+ await this.update(existing.id, {
110
+ content: {
111
+ ...content,
112
+ occurrences: newCount,
113
+ lastSeen: new Date().toISOString(),
114
+ },
115
+ });
116
+ return newCount;
117
+ }
118
+ // Pattern doesn't exist yet
119
+ return 0;
120
+ },
121
+ };
122
+ }
123
+ // =============================================================================
124
+ // STANDALONE FUNCTIONS (for use without client)
125
+ // =============================================================================
126
+ /**
127
+ * Generate a new ULID for items
128
+ */
129
+ export function generateId() {
130
+ return ulid();
131
+ }
132
+ /**
133
+ * Create memory content object
134
+ */
135
+ export function createMemoryContent(title, body, options) {
136
+ return {
137
+ title,
138
+ body,
139
+ source: 'system',
140
+ ...options,
141
+ };
142
+ }
143
+ /**
144
+ * Create pattern content object
145
+ */
146
+ export function createPatternContent(patternId, description, options) {
147
+ const now = new Date().toISOString();
148
+ return {
149
+ patternId,
150
+ description,
151
+ occurrences: 1,
152
+ files: [],
153
+ severity: 'medium',
154
+ firstSeen: now,
155
+ lastSeen: now,
156
+ ...options,
157
+ };
158
+ }
159
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,302 @@
1
+ /**
2
+ * Drizzle Database Client
3
+ *
4
+ * Real implementation that connects to DEV_Items table.
5
+ * Works with any MySQL database that has the DEV_Items table.
6
+ */
7
+ import { drizzle } from 'drizzle-orm/mysql2';
8
+ import type { DevItem, DevSystem, MemoryContent } from '../types/index.js';
9
+ /**
10
+ * DEV_Items table schema (mirrors the actual table)
11
+ */
12
+ export declare const devItems: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
13
+ name: "DEV_Items";
14
+ schema: undefined;
15
+ columns: {
16
+ id: import("drizzle-orm/mysql-core").MySqlColumn<{
17
+ name: "id";
18
+ tableName: "DEV_Items";
19
+ dataType: "string";
20
+ columnType: "MySqlVarChar";
21
+ data: string;
22
+ driverParam: string | number;
23
+ notNull: true;
24
+ hasDefault: false;
25
+ isPrimaryKey: true;
26
+ isAutoincrement: false;
27
+ hasRuntimeDefault: false;
28
+ enumValues: [string, ...string[]];
29
+ baseColumn: never;
30
+ identity: undefined;
31
+ generated: undefined;
32
+ }, {}, {}>;
33
+ system: import("drizzle-orm/mysql-core").MySqlColumn<{
34
+ name: "system";
35
+ tableName: "DEV_Items";
36
+ dataType: "string";
37
+ columnType: "MySqlVarChar";
38
+ data: string;
39
+ driverParam: string | number;
40
+ notNull: true;
41
+ hasDefault: false;
42
+ isPrimaryKey: false;
43
+ isAutoincrement: false;
44
+ hasRuntimeDefault: false;
45
+ enumValues: [string, ...string[]];
46
+ baseColumn: never;
47
+ identity: undefined;
48
+ generated: undefined;
49
+ }, {}, {}>;
50
+ type: import("drizzle-orm/mysql-core").MySqlColumn<{
51
+ name: "type";
52
+ tableName: "DEV_Items";
53
+ dataType: "string";
54
+ columnType: "MySqlVarChar";
55
+ data: string;
56
+ driverParam: string | number;
57
+ notNull: true;
58
+ hasDefault: false;
59
+ isPrimaryKey: false;
60
+ isAutoincrement: false;
61
+ hasRuntimeDefault: false;
62
+ enumValues: [string, ...string[]];
63
+ baseColumn: never;
64
+ identity: undefined;
65
+ generated: undefined;
66
+ }, {}, {}>;
67
+ status: import("drizzle-orm/mysql-core").MySqlColumn<{
68
+ name: "status";
69
+ tableName: "DEV_Items";
70
+ dataType: "string";
71
+ columnType: "MySqlVarChar";
72
+ data: string;
73
+ driverParam: string | number;
74
+ notNull: false;
75
+ hasDefault: false;
76
+ isPrimaryKey: false;
77
+ isAutoincrement: false;
78
+ hasRuntimeDefault: false;
79
+ enumValues: [string, ...string[]];
80
+ baseColumn: never;
81
+ identity: undefined;
82
+ generated: undefined;
83
+ }, {}, {}>;
84
+ priority: import("drizzle-orm/mysql-core").MySqlColumn<{
85
+ name: "priority";
86
+ tableName: "DEV_Items";
87
+ dataType: "string";
88
+ columnType: "MySqlVarChar";
89
+ data: string;
90
+ driverParam: string | number;
91
+ notNull: false;
92
+ hasDefault: false;
93
+ isPrimaryKey: false;
94
+ isAutoincrement: false;
95
+ hasRuntimeDefault: false;
96
+ enumValues: [string, ...string[]];
97
+ baseColumn: never;
98
+ identity: undefined;
99
+ generated: undefined;
100
+ }, {}, {}>;
101
+ content: import("drizzle-orm/mysql-core").MySqlColumn<{
102
+ name: "content";
103
+ tableName: "DEV_Items";
104
+ dataType: "json";
105
+ columnType: "MySqlJson";
106
+ data: unknown;
107
+ driverParam: string;
108
+ notNull: false;
109
+ hasDefault: false;
110
+ isPrimaryKey: false;
111
+ isAutoincrement: false;
112
+ hasRuntimeDefault: false;
113
+ enumValues: undefined;
114
+ baseColumn: never;
115
+ identity: undefined;
116
+ generated: undefined;
117
+ }, {}, {}>;
118
+ tags: import("drizzle-orm/mysql-core").MySqlColumn<{
119
+ name: "tags";
120
+ tableName: "DEV_Items";
121
+ dataType: "json";
122
+ columnType: "MySqlJson";
123
+ data: unknown;
124
+ driverParam: string;
125
+ notNull: false;
126
+ hasDefault: false;
127
+ isPrimaryKey: false;
128
+ isAutoincrement: false;
129
+ hasRuntimeDefault: false;
130
+ enumValues: undefined;
131
+ baseColumn: never;
132
+ identity: undefined;
133
+ generated: undefined;
134
+ }, {}, {}>;
135
+ createdAt: import("drizzle-orm/mysql-core").MySqlColumn<{
136
+ name: "created_at";
137
+ tableName: "DEV_Items";
138
+ dataType: "date";
139
+ columnType: "MySqlTimestamp";
140
+ data: Date;
141
+ driverParam: string | number;
142
+ notNull: false;
143
+ hasDefault: true;
144
+ isPrimaryKey: false;
145
+ isAutoincrement: false;
146
+ hasRuntimeDefault: false;
147
+ enumValues: undefined;
148
+ baseColumn: never;
149
+ identity: undefined;
150
+ generated: undefined;
151
+ }, {}, {}>;
152
+ updatedAt: import("drizzle-orm/mysql-core").MySqlColumn<{
153
+ name: "updated_at";
154
+ tableName: "DEV_Items";
155
+ dataType: "date";
156
+ columnType: "MySqlTimestamp";
157
+ data: Date;
158
+ driverParam: string | number;
159
+ notNull: false;
160
+ hasDefault: true;
161
+ isPrimaryKey: false;
162
+ isAutoincrement: false;
163
+ hasRuntimeDefault: false;
164
+ enumValues: undefined;
165
+ baseColumn: never;
166
+ identity: undefined;
167
+ generated: undefined;
168
+ }, {}, {}>;
169
+ };
170
+ dialect: "mysql";
171
+ }>;
172
+ export interface DatabaseConfig {
173
+ host: string;
174
+ port: number;
175
+ user: string;
176
+ password: string;
177
+ database: string;
178
+ }
179
+ /**
180
+ * Get database configuration from environment
181
+ */
182
+ export declare function getDatabaseConfig(): DatabaseConfig;
183
+ /**
184
+ * Initialize database connection
185
+ */
186
+ export declare function initDatabase(config?: DatabaseConfig): Promise<void>;
187
+ /**
188
+ * Get database instance
189
+ */
190
+ export declare function getDatabase(): ReturnType<typeof drizzle>;
191
+ /**
192
+ * Close database connection
193
+ */
194
+ export declare function closeDatabase(): Promise<void>;
195
+ export interface DrizzleClientConfig {
196
+ system: DevSystem;
197
+ databaseConfig?: DatabaseConfig;
198
+ }
199
+ export declare class DrizzleMemoryClient {
200
+ private system;
201
+ private initialized;
202
+ constructor(config: DrizzleClientConfig);
203
+ /**
204
+ * Ensure database is initialized
205
+ */
206
+ private ensureInitialized;
207
+ /**
208
+ * List items with filters
209
+ */
210
+ list(options?: {
211
+ type?: string;
212
+ status?: string;
213
+ limit?: number;
214
+ offset?: number;
215
+ tags?: string[];
216
+ }): Promise<DevItem[]>;
217
+ /**
218
+ * Get single item by ID
219
+ */
220
+ get(id: string): Promise<DevItem | null>;
221
+ /**
222
+ * Search items by content
223
+ */
224
+ search(query: string, options?: {
225
+ type?: string;
226
+ limit?: number;
227
+ }): Promise<DevItem[]>;
228
+ /**
229
+ * Create new item
230
+ */
231
+ create(data: {
232
+ type: string;
233
+ status?: string;
234
+ priority?: string;
235
+ content: Record<string, unknown>;
236
+ tags?: string[];
237
+ }): Promise<{
238
+ id: string;
239
+ }>;
240
+ /**
241
+ * Update existing item
242
+ */
243
+ update(id: string, data: {
244
+ status?: string;
245
+ priority?: string;
246
+ content?: Record<string, unknown>;
247
+ tags?: string[];
248
+ }): Promise<void>;
249
+ /**
250
+ * Delete item
251
+ */
252
+ delete(id: string): Promise<void>;
253
+ /**
254
+ * Create memory entry
255
+ */
256
+ createMemory(content: MemoryContent, tags?: string[]): Promise<{
257
+ id: string;
258
+ }>;
259
+ /**
260
+ * Get memories by domain
261
+ */
262
+ getMemories(domain?: string, limit?: number): Promise<DevItem[]>;
263
+ /**
264
+ * Get recent memories for session context
265
+ */
266
+ getRecentMemories(limit?: number): Promise<DevItem[]>;
267
+ /**
268
+ * Create or increment pattern
269
+ */
270
+ trackPattern(patternId: string, file: string, line: number, code: string, severity?: 'critical' | 'high' | 'medium' | 'low'): Promise<{
271
+ id: string;
272
+ count: number;
273
+ }>;
274
+ /**
275
+ * Get patterns above threshold
276
+ */
277
+ getTriggeredPatterns(threshold?: number): Promise<DevItem[]>;
278
+ /**
279
+ * Start a new session
280
+ */
281
+ startSession(module?: string, context?: Record<string, unknown>): Promise<{
282
+ sessionId: string;
283
+ }>;
284
+ /**
285
+ * End a session
286
+ */
287
+ endSession(sessionId: string, summary?: string): Promise<void>;
288
+ /**
289
+ * Get statistics
290
+ */
291
+ getStats(): Promise<{
292
+ totalMemories: number;
293
+ totalPatterns: number;
294
+ triggeredPatterns: number;
295
+ recentSessions: number;
296
+ }>;
297
+ }
298
+ /**
299
+ * Create a Drizzle memory client
300
+ */
301
+ export declare function createDrizzleClient(system: DevSystem, dbConfig?: DatabaseConfig): DrizzleMemoryClient;
302
+ //# sourceMappingURL=drizzle-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-client.d.ts","sourceRoot":"","sources":["../../src/db/drizzle-client.ts"],"names":[],"mappings":"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"}