cmp-standards 3.5.1 → 3.7.1

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 (139) hide show
  1. package/README.md +399 -633
  2. package/dist/analytics/CrossProjectAnalytics.js +65 -65
  3. package/dist/cli/index.js +255 -12
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/dashboard/tokens.js +173 -173
  6. package/dist/db/cloud.d.ts +1 -0
  7. package/dist/db/cloud.d.ts.map +1 -1
  8. package/dist/db/migrations.js +256 -256
  9. package/dist/db/turso-client.js +2 -2
  10. package/dist/db/upstash-client.d.ts +9 -0
  11. package/dist/db/upstash-client.d.ts.map +1 -1
  12. package/dist/db/upstash-client.js +11 -0
  13. package/dist/db/upstash-client.js.map +1 -1
  14. package/dist/eslint/rules/no-async-useeffect.js +6 -6
  15. package/dist/experts/ExpertVotePersistence.js +9 -9
  16. package/dist/hooks/auto-learning-hook.d.ts +48 -0
  17. package/dist/hooks/auto-learning-hook.d.ts.map +1 -0
  18. package/dist/hooks/auto-learning-hook.js +258 -0
  19. package/dist/hooks/auto-learning-hook.js.map +1 -0
  20. package/dist/hooks/cloud-post-tool-use.d.ts.map +1 -1
  21. package/dist/hooks/cloud-post-tool-use.js +72 -10
  22. package/dist/hooks/cloud-post-tool-use.js.map +1 -1
  23. package/dist/hooks/cloud-pre-tool-use.d.ts +12 -9
  24. package/dist/hooks/cloud-pre-tool-use.d.ts.map +1 -1
  25. package/dist/hooks/cloud-pre-tool-use.js +227 -99
  26. package/dist/hooks/cloud-pre-tool-use.js.map +1 -1
  27. package/dist/hooks/cloud-session-start.js +5 -5
  28. package/dist/hooks/fast-session-start.d.ts +24 -0
  29. package/dist/hooks/fast-session-start.d.ts.map +1 -0
  30. package/dist/hooks/fast-session-start.js +354 -0
  31. package/dist/hooks/fast-session-start.js.map +1 -0
  32. package/dist/hooks/resilient-hook-runner.d.ts +78 -0
  33. package/dist/hooks/resilient-hook-runner.d.ts.map +1 -0
  34. package/dist/hooks/resilient-hook-runner.js +201 -0
  35. package/dist/hooks/resilient-hook-runner.js.map +1 -0
  36. package/dist/hooks/session-end.js +14 -14
  37. package/dist/index.d.ts +12 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +17 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/patterns/registry.js +90 -90
  42. package/dist/schema/codewiki-types.d.ts +10 -10
  43. package/dist/schema/docs-types.d.ts +8 -8
  44. package/dist/schema/ecosystem-types.d.ts +12 -12
  45. package/dist/services/BootstrapService.d.ts +123 -0
  46. package/dist/services/BootstrapService.d.ts.map +1 -0
  47. package/dist/services/BootstrapService.js +309 -0
  48. package/dist/services/BootstrapService.js.map +1 -0
  49. package/dist/services/CodeWikiIndexer.js +3 -3
  50. package/dist/services/ContextGenerator.js +7 -7
  51. package/dist/services/FeedbackCollector.js +11 -11
  52. package/dist/services/GitIntegration.js +9 -9
  53. package/dist/services/HookVerifier.js +70 -70
  54. package/dist/services/KnowledgeGapDetector.d.ts +122 -0
  55. package/dist/services/KnowledgeGapDetector.d.ts.map +1 -0
  56. package/dist/services/KnowledgeGapDetector.js +530 -0
  57. package/dist/services/KnowledgeGapDetector.js.map +1 -0
  58. package/dist/services/ProjectScaffold.d.ts.map +1 -1
  59. package/dist/services/ProjectScaffold.js +79 -78
  60. package/dist/services/ProjectScaffold.js.map +1 -1
  61. package/dist/services/auto-evolution-trigger.d.ts +101 -0
  62. package/dist/services/auto-evolution-trigger.d.ts.map +1 -0
  63. package/dist/services/auto-evolution-trigger.js +359 -0
  64. package/dist/services/auto-evolution-trigger.js.map +1 -0
  65. package/dist/services/cloud-memory-service.d.ts +101 -0
  66. package/dist/services/cloud-memory-service.d.ts.map +1 -0
  67. package/dist/services/cloud-memory-service.js +363 -0
  68. package/dist/services/cloud-memory-service.js.map +1 -0
  69. package/dist/services/index.d.ts +4 -0
  70. package/dist/services/index.d.ts.map +1 -1
  71. package/dist/services/index.js +6 -0
  72. package/dist/services/index.js.map +1 -1
  73. package/dist/services/knowledge-graph.d.ts +121 -0
  74. package/dist/services/knowledge-graph.d.ts.map +1 -0
  75. package/dist/services/knowledge-graph.js +446 -0
  76. package/dist/services/knowledge-graph.js.map +1 -0
  77. package/dist/services/memory-keeper-client.d.ts +106 -0
  78. package/dist/services/memory-keeper-client.d.ts.map +1 -0
  79. package/dist/services/memory-keeper-client.js +319 -0
  80. package/dist/services/memory-keeper-client.js.map +1 -0
  81. package/dist/services/memory-router.d.ts +25 -0
  82. package/dist/services/memory-router.d.ts.map +1 -1
  83. package/dist/services/memory-router.js +236 -98
  84. package/dist/services/memory-router.js.map +1 -1
  85. package/dist/services/pattern-learning.d.ts +79 -0
  86. package/dist/services/pattern-learning.d.ts.map +1 -0
  87. package/dist/services/pattern-learning.js +312 -0
  88. package/dist/services/pattern-learning.js.map +1 -0
  89. package/dist/services/pattern-tracker.js +95 -95
  90. package/dist/services/semantic-search.js +2 -2
  91. package/dist/services/skill-learning-bridge.d.ts +100 -0
  92. package/dist/services/skill-learning-bridge.d.ts.map +1 -0
  93. package/dist/services/skill-learning-bridge.js +331 -0
  94. package/dist/services/skill-learning-bridge.js.map +1 -0
  95. package/dist/services/unified-memory-router.d.ts +123 -0
  96. package/dist/services/unified-memory-router.d.ts.map +1 -0
  97. package/dist/services/unified-memory-router.js +555 -0
  98. package/dist/services/unified-memory-router.js.map +1 -0
  99. package/package.json +124 -116
  100. package/standards/README.md +94 -50
  101. package/standards/experts/expert-routing.md +215 -215
  102. package/standards/general/code-quality.md +86 -86
  103. package/standards/general/ecosystem.md +243 -0
  104. package/standards/general/learning-loop.md +192 -0
  105. package/standards/general/memory-usage.md +205 -205
  106. package/standards/general/project-onboarding.md +339 -0
  107. package/standards/general/sync-workflow.md +235 -235
  108. package/standards/general/workflow.md +82 -82
  109. package/standards/hooks/mandatory-tracking.md +446 -446
  110. package/standards/infrastructure/cloud-database.md +287 -287
  111. package/standards/mcp/server-design.md +243 -243
  112. package/standards/mcp/tool-patterns.md +354 -354
  113. package/standards/skills/skill-structure.md +286 -286
  114. package/standards/skills/workflow-design.md +323 -323
  115. package/standards/tools/tool-design.md +297 -297
  116. package/templates/agents/architecture-expert.md +61 -61
  117. package/templates/agents/database-expert.md +62 -62
  118. package/templates/agents/documentation-expert.md +57 -57
  119. package/templates/agents/ecosystem-expert.md +104 -0
  120. package/templates/agents/memory-expert.md +88 -88
  121. package/templates/agents/performance-expert.md +61 -61
  122. package/templates/agents/security-expert.md +59 -59
  123. package/templates/agents/ux-expert.md +63 -63
  124. package/templates/agents/worker.md +75 -75
  125. package/templates/ai-skills/SKILL_TEMPLATE.md +55 -55
  126. package/templates/claude-settings.json +72 -72
  127. package/templates/commands/experts.md +138 -138
  128. package/templates/hooks/README.md +158 -158
  129. package/templates/hooks/project.config.json.template +77 -77
  130. package/templates/hooks/settings.local.json.template +57 -57
  131. package/templates/hooks.config.json +21 -0
  132. package/templates/memory-config.json +56 -56
  133. package/templates/memory-config.schema.json +212 -212
  134. package/templates/settings.json +58 -58
  135. package/templates/skills/continue.md +205 -205
  136. package/templates/workflows/business-improvement.md +264 -264
  137. package/templates/workflows/expert-review.md +153 -153
  138. package/templates/workflows/internal-app.md +245 -245
  139. package/templates/workflows/sync-docs.md +187 -187
@@ -0,0 +1,359 @@
1
+ /**
2
+ * @file Auto-Evolution Trigger Service
3
+ * @description Automatically triggers skill evolution when thresholds are met
4
+ *
5
+ * Monitors skill learnings and triggers evolution when:
6
+ * - A skill reaches 10+ pending learnings
7
+ * - Weekly schedule (if enabled)
8
+ * - Manual trigger via API
9
+ *
10
+ * @version 1.0.0
11
+ */
12
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
13
+ import { join } from 'path';
14
+ import { homedir } from 'os';
15
+ import { getSkillLearningBridge } from './skill-learning-bridge.js';
16
+ // =============================================================================
17
+ // Constants
18
+ // =============================================================================
19
+ const DEFAULT_CONFIG = {
20
+ skillsDir: join(homedir(), '.claude', 'skills'),
21
+ threshold: 10,
22
+ autoTrigger: true,
23
+ logEvolutions: true,
24
+ notifyOnEvolution: false
25
+ };
26
+ const EVOLUTION_LOG = join(homedir(), '.cmp-standards', 'evolution-history.json');
27
+ // =============================================================================
28
+ // Auto-Evolution Trigger
29
+ // =============================================================================
30
+ export class AutoEvolutionTrigger {
31
+ config;
32
+ bridge = getSkillLearningBridge();
33
+ lastCheck = 0;
34
+ checkInterval = null;
35
+ constructor(config = {}) {
36
+ this.config = { ...DEFAULT_CONFIG, ...config };
37
+ }
38
+ /**
39
+ * Check all skills and trigger evolution for those ready
40
+ */
41
+ async checkAndEvolve() {
42
+ const report = {
43
+ triggered: new Date().toISOString(),
44
+ results: [],
45
+ skillsChecked: 0,
46
+ skillsEvolved: 0,
47
+ totalPatterns: 0
48
+ };
49
+ try {
50
+ // Get skill stats
51
+ const allStats = await this.bridge.getSkillStats();
52
+ report.skillsChecked = allStats.length;
53
+ // Find skills ready for evolution
54
+ const readySkills = allStats.filter(s => s.readyForEvolution);
55
+ if (readySkills.length === 0) {
56
+ return report;
57
+ }
58
+ console.log(`[auto-evolution] Found ${readySkills.length} skills ready for evolution`);
59
+ // Evolve each ready skill
60
+ for (const skill of readySkills) {
61
+ const result = await this.evolveSkill(skill);
62
+ report.results.push(result);
63
+ if (result.success) {
64
+ report.skillsEvolved++;
65
+ report.totalPatterns += result.patternsFound;
66
+ }
67
+ }
68
+ // Log evolution
69
+ if (this.config.logEvolutions) {
70
+ this.logEvolution(report);
71
+ }
72
+ this.lastCheck = Date.now();
73
+ return report;
74
+ }
75
+ catch (error) {
76
+ console.error('[auto-evolution] Check failed:', error);
77
+ return report;
78
+ }
79
+ }
80
+ /**
81
+ * Evolve a single skill
82
+ */
83
+ async evolveSkill(skill) {
84
+ const result = {
85
+ skill: skill.name,
86
+ patternsFound: 0,
87
+ rulesGenerated: 0,
88
+ timestamp: new Date().toISOString(),
89
+ success: false
90
+ };
91
+ try {
92
+ const learningsFile = join(this.config.skillsDir, skill.path, 'learnings.md');
93
+ const skillFile = join(this.config.skillsDir, skill.path, 'SKILL.md');
94
+ if (!existsSync(learningsFile)) {
95
+ result.error = 'Learnings file not found';
96
+ return result;
97
+ }
98
+ const content = readFileSync(learningsFile, 'utf-8');
99
+ // Extract learning blocks
100
+ const learningBlocks = content.match(/### Learning \d{4}-\d{2}-\d{2}[\s\S]*?(?=### Learning|\n## |$)/g) || [];
101
+ // Analyze patterns
102
+ const patterns = this.analyzePatterns(learningBlocks);
103
+ result.patternsFound = patterns.length;
104
+ if (patterns.length > 0) {
105
+ // Generate evolution entry
106
+ const evolutionEntry = this.generateEvolutionEntry(skill, patterns);
107
+ // Update skill file with new patterns
108
+ if (existsSync(skillFile)) {
109
+ this.updateSkillFile(skillFile, patterns);
110
+ }
111
+ // Update learnings.md stats
112
+ this.updateLearningsStats(learningsFile, patterns.length);
113
+ // Log to evolution-log.md
114
+ this.appendToEvolutionLog(skill, patterns);
115
+ result.rulesGenerated = patterns.length;
116
+ result.success = true;
117
+ }
118
+ else {
119
+ result.success = true; // No patterns, but not an error
120
+ }
121
+ return result;
122
+ }
123
+ catch (error) {
124
+ result.error = String(error);
125
+ return result;
126
+ }
127
+ }
128
+ /**
129
+ * Analyze learnings to extract patterns
130
+ */
131
+ analyzePatterns(learningBlocks) {
132
+ const problemSolutions = new Map();
133
+ for (const block of learningBlocks) {
134
+ const problemMatch = block.match(/\*\*Problem:\*\* (.+)/);
135
+ const solutionMatch = block.match(/\*\*Solution:\*\* (.+)/);
136
+ if (problemMatch && solutionMatch) {
137
+ const problem = this.normalizePattern(problemMatch[1]);
138
+ const solution = solutionMatch[1];
139
+ const existing = problemSolutions.get(problem);
140
+ if (existing) {
141
+ existing.count++;
142
+ if (!existing.solutions.includes(solution)) {
143
+ existing.solutions.push(solution);
144
+ }
145
+ }
146
+ else {
147
+ problemSolutions.set(problem, { count: 1, solutions: [solution] });
148
+ }
149
+ }
150
+ }
151
+ // Return patterns that appear 2+ times
152
+ const patterns = [];
153
+ for (const [pattern, data] of problemSolutions) {
154
+ if (data.count >= 2) {
155
+ patterns.push({
156
+ pattern,
157
+ count: data.count,
158
+ solution: data.solutions[0] // Most common solution
159
+ });
160
+ }
161
+ }
162
+ return patterns.sort((a, b) => b.count - a.count);
163
+ }
164
+ /**
165
+ * Normalize a problem pattern for comparison
166
+ */
167
+ normalizePattern(text) {
168
+ return text
169
+ .toLowerCase()
170
+ .replace(/`[^`]+`/g, 'CODE') // Replace inline code
171
+ .replace(/\s+/g, ' ')
172
+ .trim();
173
+ }
174
+ /**
175
+ * Generate evolution entry markdown
176
+ */
177
+ generateEvolutionEntry(skill, patterns) {
178
+ const date = new Date().toISOString().split('T')[0];
179
+ return `
180
+ ## Evolution ${date}
181
+
182
+ **Skill:** ${skill.name}
183
+ **Learnings Analyzed:** ${skill.pendingLearnings}
184
+ **Patterns Extracted:** ${patterns.length}
185
+
186
+ ### New Patterns
187
+
188
+ ${patterns.map(p => `- **${p.pattern}** (${p.count}x)
189
+ - Solution: ${p.solution}`).join('\n\n')}
190
+
191
+ ---
192
+ `;
193
+ }
194
+ /**
195
+ * Update skill file with new patterns
196
+ */
197
+ updateSkillFile(skillFile, patterns) {
198
+ let content = readFileSync(skillFile, 'utf-8');
199
+ // Find "## Patterns" section and add new patterns
200
+ const patternsSection = content.indexOf('## Patterns');
201
+ if (patternsSection !== -1) {
202
+ const insertPoint = content.indexOf('\n', patternsSection) + 1;
203
+ const newPatterns = patterns.map(p => `\n### ${p.pattern}\n- **Occurrences:** ${p.count}\n- **Resolution:** ${p.solution}\n`).join('');
204
+ content = content.slice(0, insertPoint) + newPatterns + content.slice(insertPoint);
205
+ writeFileSync(skillFile, content);
206
+ }
207
+ }
208
+ /**
209
+ * Update learnings.md statistics
210
+ */
211
+ updateLearningsStats(learningsFile, patternsExtracted) {
212
+ let content = readFileSync(learningsFile, 'utf-8');
213
+ // Reset pending count
214
+ content = content.replace(/\*\*Learnings Pendientes:\*\* \d+/, '**Learnings Pendientes:** 0');
215
+ // Update last evolution date
216
+ const today = new Date().toISOString().split('T')[0];
217
+ content = content.replace(/\*\*Última Evolución:\*\* .+/, `**Última Evolución:** ${today}`);
218
+ writeFileSync(learningsFile, content);
219
+ }
220
+ /**
221
+ * Append to evolution-log.md
222
+ */
223
+ appendToEvolutionLog(skill, patterns) {
224
+ const logFile = join(this.config.skillsDir, 'meta', 'skill-evolver', 'evolution-log.md');
225
+ if (!existsSync(logFile)) {
226
+ return; // Skip if no log file
227
+ }
228
+ const date = new Date().toISOString();
229
+ const entry = `
230
+ ## Evolution ${date}
231
+
232
+ **Skill Evolved:** ${skill.name}
233
+ **Learnings Analyzed:** ${skill.pendingLearnings}
234
+ **Patterns Found:** ${patterns.length}
235
+
236
+ **Patterns:**
237
+ ${patterns.map(p => `- ${p.pattern} (${p.count}x)`).join('\n')}
238
+
239
+ ---
240
+ `;
241
+ let content = readFileSync(logFile, 'utf-8');
242
+ // Update total count
243
+ const totalMatch = content.match(/\*\*Total Evoluciones:\*\* (\d+)/);
244
+ if (totalMatch) {
245
+ const total = parseInt(totalMatch[1], 10);
246
+ content = content.replace(/\*\*Total Evoluciones:\*\* \d+/, `**Total Evoluciones:** ${total + 1}`);
247
+ }
248
+ // Insert after "## Evolution History"
249
+ const historyHeader = '## Evolution History';
250
+ const historyIndex = content.indexOf(historyHeader);
251
+ if (historyIndex !== -1) {
252
+ const insertPoint = content.indexOf('\n', historyIndex) + 1;
253
+ content = content.slice(0, insertPoint) + '\n' + entry + content.slice(insertPoint);
254
+ }
255
+ writeFileSync(logFile, content);
256
+ }
257
+ /**
258
+ * Log evolution to history file
259
+ */
260
+ logEvolution(report) {
261
+ try {
262
+ const dir = join(homedir(), '.cmp-standards');
263
+ if (!existsSync(dir)) {
264
+ mkdirSync(dir, { recursive: true });
265
+ }
266
+ let history = [];
267
+ if (existsSync(EVOLUTION_LOG)) {
268
+ try {
269
+ history = JSON.parse(readFileSync(EVOLUTION_LOG, 'utf-8'));
270
+ }
271
+ catch {
272
+ history = [];
273
+ }
274
+ }
275
+ history.push(report);
276
+ // Keep last 100 evolutions
277
+ if (history.length > 100) {
278
+ history = history.slice(-100);
279
+ }
280
+ writeFileSync(EVOLUTION_LOG, JSON.stringify(history, null, 2));
281
+ }
282
+ catch (error) {
283
+ console.error('[auto-evolution] Failed to log evolution:', error);
284
+ }
285
+ }
286
+ /**
287
+ * Start periodic evolution checks
288
+ */
289
+ startPeriodicCheck(intervalMs = 60 * 60 * 1000) {
290
+ if (this.checkInterval)
291
+ return;
292
+ // Check immediately
293
+ this.checkAndEvolve();
294
+ // Then check periodically
295
+ this.checkInterval = setInterval(() => {
296
+ this.checkAndEvolve();
297
+ }, intervalMs);
298
+ }
299
+ /**
300
+ * Stop periodic evolution checks
301
+ */
302
+ stopPeriodicCheck() {
303
+ if (this.checkInterval) {
304
+ clearInterval(this.checkInterval);
305
+ this.checkInterval = null;
306
+ }
307
+ }
308
+ /**
309
+ * Get evolution history
310
+ */
311
+ getHistory() {
312
+ if (!existsSync(EVOLUTION_LOG))
313
+ return [];
314
+ try {
315
+ return JSON.parse(readFileSync(EVOLUTION_LOG, 'utf-8'));
316
+ }
317
+ catch {
318
+ return [];
319
+ }
320
+ }
321
+ /**
322
+ * Get current evolution status
323
+ */
324
+ async getStatus() {
325
+ const stats = await this.bridge.getSkillStats();
326
+ const ready = stats.filter(s => s.readyForEvolution);
327
+ const totalLearnings = stats.reduce((sum, s) => sum + s.totalLearnings, 0);
328
+ const history = this.getHistory();
329
+ const lastEvolution = history.length > 0
330
+ ? history[history.length - 1].triggered
331
+ : null;
332
+ return {
333
+ skillsReady: ready.length,
334
+ totalLearnings,
335
+ lastEvolution,
336
+ nextCheck: this.checkInterval
337
+ ? new Date(this.lastCheck + 60 * 60 * 1000).toISOString()
338
+ : null
339
+ };
340
+ }
341
+ }
342
+ // =============================================================================
343
+ // Singleton & Factory
344
+ // =============================================================================
345
+ let triggerInstance = null;
346
+ export function getAutoEvolutionTrigger(config) {
347
+ if (!triggerInstance || config) {
348
+ triggerInstance = new AutoEvolutionTrigger(config);
349
+ }
350
+ return triggerInstance;
351
+ }
352
+ export function resetAutoEvolutionTrigger() {
353
+ if (triggerInstance) {
354
+ triggerInstance.stopPeriodicCheck();
355
+ triggerInstance = null;
356
+ }
357
+ }
358
+ export default AutoEvolutionTrigger;
359
+ //# sourceMappingURL=auto-evolution-trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-evolution-trigger.js","sourceRoot":"","sources":["../../src/services/auto-evolution-trigger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @file Cloud Memory Service
3
+ * @description Unified cloud memory operations using Turso + Upstash Vector
4
+ *
5
+ * This service provides:
6
+ * - Persistent storage in Turso (SQLite edge)
7
+ * - Semantic search via Upstash Vector
8
+ * - Bidirectional sync with local memory systems
9
+ *
10
+ * @version 1.0.0
11
+ */
12
+ import type { DevSystem } from '../types/index.js';
13
+ export interface CloudMemory {
14
+ id: string;
15
+ type: 'memory' | 'learning' | 'pattern' | 'task' | 'decision' | 'knowledge';
16
+ system: DevSystem;
17
+ title: string;
18
+ content: string;
19
+ domain?: string;
20
+ tags?: string[];
21
+ priority?: 'critical' | 'high' | 'normal' | 'low';
22
+ source?: 'auto' | 'manual' | 'sync';
23
+ syncedAt?: string;
24
+ createdAt: string;
25
+ updatedAt: string;
26
+ }
27
+ export interface CloudMemoryInput {
28
+ type: CloudMemory['type'];
29
+ system: DevSystem;
30
+ title: string;
31
+ content: string;
32
+ domain?: string;
33
+ tags?: string[];
34
+ priority?: CloudMemory['priority'];
35
+ source?: CloudMemory['source'];
36
+ }
37
+ export interface SearchOptions {
38
+ query: string;
39
+ system?: DevSystem;
40
+ type?: CloudMemory['type'];
41
+ domain?: string;
42
+ limit?: number;
43
+ minScore?: number;
44
+ }
45
+ export interface SearchResult {
46
+ memory: CloudMemory;
47
+ score: number;
48
+ }
49
+ export interface SyncStatus {
50
+ tursoConnected: boolean;
51
+ vectorConnected: boolean;
52
+ lastSync: string | null;
53
+ memoriesInCloud: number;
54
+ vectorsIndexed: number;
55
+ }
56
+ export declare class CloudMemoryService {
57
+ private initialized;
58
+ private tursoAvailable;
59
+ private vectorAvailable;
60
+ /**
61
+ * Initialize cloud connections
62
+ */
63
+ init(): Promise<SyncStatus>;
64
+ /**
65
+ * Save a memory to cloud (Turso + Vector)
66
+ */
67
+ save(input: CloudMemoryInput): Promise<CloudMemory | null>;
68
+ /**
69
+ * Search memories using semantic similarity
70
+ */
71
+ search(options: SearchOptions): Promise<SearchResult[]>;
72
+ /**
73
+ * Get a memory by ID
74
+ */
75
+ get(id: string): Promise<CloudMemory | null>;
76
+ /**
77
+ * Get recent memories
78
+ */
79
+ getRecent(options?: {
80
+ system?: DevSystem;
81
+ type?: CloudMemory['type'];
82
+ limit?: number;
83
+ since?: Date;
84
+ }): Promise<CloudMemory[]>;
85
+ /**
86
+ * Delete a memory
87
+ */
88
+ delete(id: string): Promise<boolean>;
89
+ /**
90
+ * Batch save memories
91
+ */
92
+ batchSave(inputs: CloudMemoryInput[]): Promise<number>;
93
+ /**
94
+ * Get sync status
95
+ */
96
+ getStatus(): Promise<SyncStatus>;
97
+ }
98
+ export declare function getCloudMemoryService(): CloudMemoryService;
99
+ export declare function resetCloudMemoryService(): void;
100
+ export default CloudMemoryService;
101
+ //# sourceMappingURL=cloud-memory-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-memory-service.d.ts","sourceRoot":"","sources":["../../src/services/cloud-memory-service.ts"],"names":[],"mappings":"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"}