agentic-flow 2.0.1-alpha.2 → 2.0.1-alpha.20

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 (218) hide show
  1. package/CHANGELOG.md +352 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/agentdb/controllers/EmbeddingService.d.ts +37 -0
  4. package/dist/agentdb/controllers/EmbeddingService.d.ts.map +1 -0
  5. package/dist/agentdb/controllers/EmbeddingService.js +1 -0
  6. package/dist/agentdb/controllers/EmbeddingService.js.map +1 -0
  7. package/dist/billing/mcp/tools.d.ts.map +1 -1
  8. package/dist/billing/mcp/tools.js +2 -0
  9. package/dist/billing/mcp/tools.js.map +1 -1
  10. package/dist/cli/commands/hooks.d.ts +18 -0
  11. package/dist/cli/commands/hooks.d.ts.map +1 -0
  12. package/dist/cli/commands/hooks.js +755 -0
  13. package/dist/cli/commands/hooks.js.map +1 -0
  14. package/dist/cli-proxy.d.ts +1 -1
  15. package/dist/cli-proxy.d.ts.map +1 -1
  16. package/dist/cli-proxy.js +28 -1
  17. package/dist/cli-proxy.js.map +1 -1
  18. package/dist/core/agentdb-fast.js +3 -3
  19. package/dist/core/agentdb-fast.js.map +1 -1
  20. package/dist/core/agentdb-wrapper-enhanced.d.ts.map +1 -1
  21. package/dist/core/agentdb-wrapper-enhanced.js +32 -17
  22. package/dist/core/agentdb-wrapper-enhanced.js.map +1 -1
  23. package/dist/core/attention-native.d.ts +1 -0
  24. package/dist/core/attention-native.d.ts.map +1 -1
  25. package/dist/core/attention-native.js +6 -1
  26. package/dist/core/attention-native.js.map +1 -1
  27. package/dist/federation/integrations/supabase-adapter-debug.js +3 -3
  28. package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -1
  29. package/dist/intelligence/EmbeddingCache.d.ts +112 -0
  30. package/dist/intelligence/EmbeddingCache.d.ts.map +1 -0
  31. package/dist/intelligence/EmbeddingCache.js +624 -0
  32. package/dist/intelligence/EmbeddingCache.js.map +1 -0
  33. package/dist/intelligence/EmbeddingService.d.ts +380 -0
  34. package/dist/intelligence/EmbeddingService.d.ts.map +1 -0
  35. package/dist/intelligence/EmbeddingService.js +1484 -0
  36. package/dist/intelligence/EmbeddingService.js.map +1 -0
  37. package/dist/intelligence/IntelligenceStore.d.ts +168 -0
  38. package/dist/intelligence/IntelligenceStore.d.ts.map +1 -0
  39. package/dist/intelligence/IntelligenceStore.js +364 -0
  40. package/dist/intelligence/IntelligenceStore.js.map +1 -0
  41. package/dist/intelligence/RuVectorIntelligence.d.ts +362 -0
  42. package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -0
  43. package/dist/intelligence/RuVectorIntelligence.js +853 -0
  44. package/dist/intelligence/RuVectorIntelligence.js.map +1 -0
  45. package/dist/intelligence/embedding-benchmark.d.ts +7 -0
  46. package/dist/intelligence/embedding-benchmark.d.ts.map +1 -0
  47. package/dist/intelligence/embedding-benchmark.js +155 -0
  48. package/dist/intelligence/embedding-benchmark.js.map +1 -0
  49. package/dist/intelligence/index.d.ts +14 -0
  50. package/dist/intelligence/index.d.ts.map +1 -0
  51. package/dist/intelligence/index.js +14 -0
  52. package/dist/intelligence/index.js.map +1 -0
  53. package/dist/llm/RuvLLMOrchestrator.d.ts +184 -0
  54. package/dist/llm/RuvLLMOrchestrator.d.ts.map +1 -0
  55. package/dist/llm/RuvLLMOrchestrator.js +442 -0
  56. package/dist/llm/RuvLLMOrchestrator.js.map +1 -0
  57. package/dist/llm/index.d.ts +9 -0
  58. package/dist/llm/index.d.ts.map +1 -0
  59. package/dist/llm/index.js +8 -0
  60. package/dist/llm/index.js.map +1 -0
  61. package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -1
  62. package/dist/mcp/claudeFlowSdkServer.js +86 -21
  63. package/dist/mcp/claudeFlowSdkServer.js.map +1 -1
  64. package/dist/mcp/fastmcp/servers/hooks-server.d.ts +15 -0
  65. package/dist/mcp/fastmcp/servers/hooks-server.d.ts.map +1 -0
  66. package/dist/mcp/fastmcp/servers/hooks-server.js +63 -0
  67. package/dist/mcp/fastmcp/servers/hooks-server.js.map +1 -0
  68. package/dist/mcp/fastmcp/tools/hooks/benchmark.d.ts +20 -0
  69. package/dist/mcp/fastmcp/tools/hooks/benchmark.d.ts.map +1 -0
  70. package/dist/mcp/fastmcp/tools/hooks/benchmark.js +110 -0
  71. package/dist/mcp/fastmcp/tools/hooks/benchmark.js.map +1 -0
  72. package/dist/mcp/fastmcp/tools/hooks/build-agents.d.ts +7 -0
  73. package/dist/mcp/fastmcp/tools/hooks/build-agents.d.ts.map +1 -0
  74. package/dist/mcp/fastmcp/tools/hooks/build-agents.js +276 -0
  75. package/dist/mcp/fastmcp/tools/hooks/build-agents.js.map +1 -0
  76. package/dist/mcp/fastmcp/tools/hooks/explain.d.ts +6 -0
  77. package/dist/mcp/fastmcp/tools/hooks/explain.d.ts.map +1 -0
  78. package/dist/mcp/fastmcp/tools/hooks/explain.js +164 -0
  79. package/dist/mcp/fastmcp/tools/hooks/explain.js.map +1 -0
  80. package/dist/mcp/fastmcp/tools/hooks/index.d.ts +28 -0
  81. package/dist/mcp/fastmcp/tools/hooks/index.d.ts.map +1 -0
  82. package/dist/mcp/fastmcp/tools/hooks/index.js +59 -0
  83. package/dist/mcp/fastmcp/tools/hooks/index.js.map +1 -0
  84. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.d.ts +307 -0
  85. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.d.ts.map +1 -0
  86. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js +714 -0
  87. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js.map +1 -0
  88. package/dist/mcp/fastmcp/tools/hooks/intelligence-tools.d.ts +58 -0
  89. package/dist/mcp/fastmcp/tools/hooks/intelligence-tools.d.ts.map +1 -0
  90. package/dist/mcp/fastmcp/tools/hooks/intelligence-tools.js +425 -0
  91. package/dist/mcp/fastmcp/tools/hooks/intelligence-tools.js.map +1 -0
  92. package/dist/mcp/fastmcp/tools/hooks/metrics.d.ts +6 -0
  93. package/dist/mcp/fastmcp/tools/hooks/metrics.d.ts.map +1 -0
  94. package/dist/mcp/fastmcp/tools/hooks/metrics.js +137 -0
  95. package/dist/mcp/fastmcp/tools/hooks/metrics.js.map +1 -0
  96. package/dist/mcp/fastmcp/tools/hooks/post-command.d.ts +7 -0
  97. package/dist/mcp/fastmcp/tools/hooks/post-command.d.ts.map +1 -0
  98. package/dist/mcp/fastmcp/tools/hooks/post-command.js +91 -0
  99. package/dist/mcp/fastmcp/tools/hooks/post-command.js.map +1 -0
  100. package/dist/mcp/fastmcp/tools/hooks/post-edit.d.ts +12 -0
  101. package/dist/mcp/fastmcp/tools/hooks/post-edit.d.ts.map +1 -0
  102. package/dist/mcp/fastmcp/tools/hooks/post-edit.js +146 -0
  103. package/dist/mcp/fastmcp/tools/hooks/post-edit.js.map +1 -0
  104. package/dist/mcp/fastmcp/tools/hooks/pre-command.d.ts +7 -0
  105. package/dist/mcp/fastmcp/tools/hooks/pre-command.d.ts.map +1 -0
  106. package/dist/mcp/fastmcp/tools/hooks/pre-command.js +70 -0
  107. package/dist/mcp/fastmcp/tools/hooks/pre-command.js.map +1 -0
  108. package/dist/mcp/fastmcp/tools/hooks/pre-edit.d.ts +14 -0
  109. package/dist/mcp/fastmcp/tools/hooks/pre-edit.d.ts.map +1 -0
  110. package/dist/mcp/fastmcp/tools/hooks/pre-edit.js +121 -0
  111. package/dist/mcp/fastmcp/tools/hooks/pre-edit.js.map +1 -0
  112. package/dist/mcp/fastmcp/tools/hooks/pretrain.d.ts +7 -0
  113. package/dist/mcp/fastmcp/tools/hooks/pretrain.d.ts.map +1 -0
  114. package/dist/mcp/fastmcp/tools/hooks/pretrain.js +171 -0
  115. package/dist/mcp/fastmcp/tools/hooks/pretrain.js.map +1 -0
  116. package/dist/mcp/fastmcp/tools/hooks/route.d.ts +12 -0
  117. package/dist/mcp/fastmcp/tools/hooks/route.d.ts.map +1 -0
  118. package/dist/mcp/fastmcp/tools/hooks/route.js +267 -0
  119. package/dist/mcp/fastmcp/tools/hooks/route.js.map +1 -0
  120. package/dist/mcp/fastmcp/tools/hooks/shared.d.ts +46 -0
  121. package/dist/mcp/fastmcp/tools/hooks/shared.d.ts.map +1 -0
  122. package/dist/mcp/fastmcp/tools/hooks/shared.js +159 -0
  123. package/dist/mcp/fastmcp/tools/hooks/shared.js.map +1 -0
  124. package/dist/mcp/fastmcp/tools/hooks/transfer.d.ts +7 -0
  125. package/dist/mcp/fastmcp/tools/hooks/transfer.d.ts.map +1 -0
  126. package/dist/mcp/fastmcp/tools/hooks/transfer.js +151 -0
  127. package/dist/mcp/fastmcp/tools/hooks/transfer.js.map +1 -0
  128. package/dist/mcp/tools/agent-booster-tools.d.ts +10 -1
  129. package/dist/mcp/tools/agent-booster-tools.d.ts.map +1 -1
  130. package/dist/mcp/tools/agent-booster-tools.js.map +1 -1
  131. package/dist/mcp/tools/sona-tools.d.ts.map +1 -1
  132. package/dist/mcp/tools/sona-tools.js +15 -3
  133. package/dist/mcp/tools/sona-tools.js.map +1 -1
  134. package/dist/memory/SharedMemoryPool.d.ts +16 -3
  135. package/dist/memory/SharedMemoryPool.d.ts.map +1 -1
  136. package/dist/memory/SharedMemoryPool.js +33 -1
  137. package/dist/memory/SharedMemoryPool.js.map +1 -1
  138. package/dist/middleware/auth.middleware.d.ts +114 -0
  139. package/dist/middleware/auth.middleware.d.ts.map +1 -0
  140. package/dist/middleware/auth.middleware.js +222 -0
  141. package/dist/middleware/auth.middleware.js.map +1 -0
  142. package/dist/optimizations/agent-booster-migration.d.ts.map +1 -1
  143. package/dist/optimizations/agent-booster-migration.js.map +1 -1
  144. package/dist/proxy/anthropic-to-gemini.d.ts.map +1 -1
  145. package/dist/proxy/anthropic-to-gemini.js.map +1 -1
  146. package/dist/proxy/anthropic-to-openrouter.d.ts.map +1 -1
  147. package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
  148. package/dist/proxy/anthropic-to-requesty.d.ts.map +1 -1
  149. package/dist/proxy/anthropic-to-requesty.js.map +1 -1
  150. package/dist/proxy/quic-proxy.d.ts +0 -1
  151. package/dist/proxy/quic-proxy.d.ts.map +1 -1
  152. package/dist/proxy/quic-proxy.js +2 -1
  153. package/dist/proxy/quic-proxy.js.map +1 -1
  154. package/dist/reasoningbank/AdvancedMemory.d.ts.map +1 -1
  155. package/dist/reasoningbank/AdvancedMemory.js +12 -1
  156. package/dist/reasoningbank/AdvancedMemory.js.map +1 -1
  157. package/dist/reasoningbank/HybridBackend.d.ts +9 -0
  158. package/dist/reasoningbank/HybridBackend.d.ts.map +1 -1
  159. package/dist/reasoningbank/HybridBackend.js +48 -4
  160. package/dist/reasoningbank/HybridBackend.js.map +1 -1
  161. package/dist/reasoningbank/backend-selector.d.ts +1 -1
  162. package/dist/reasoningbank/backend-selector.d.ts.map +1 -1
  163. package/dist/reasoningbank/backend-selector.js.map +1 -1
  164. package/dist/reasoningbank/index-new.d.ts +0 -6
  165. package/dist/reasoningbank/index-new.d.ts.map +1 -1
  166. package/dist/reasoningbank/index-new.js +9 -7
  167. package/dist/reasoningbank/index-new.js.map +1 -1
  168. package/dist/reasoningbank/index.d.ts +1 -6
  169. package/dist/reasoningbank/index.d.ts.map +1 -1
  170. package/dist/reasoningbank/index.js +10 -7
  171. package/dist/reasoningbank/index.js.map +1 -1
  172. package/dist/router/providers/onnx-local.d.ts.map +1 -1
  173. package/dist/router/providers/onnx-local.js +3 -1
  174. package/dist/router/providers/onnx-local.js.map +1 -1
  175. package/dist/routing/CircuitBreakerRouter.d.ts +187 -0
  176. package/dist/routing/CircuitBreakerRouter.d.ts.map +1 -0
  177. package/dist/routing/CircuitBreakerRouter.js +460 -0
  178. package/dist/routing/CircuitBreakerRouter.js.map +1 -0
  179. package/dist/routing/SemanticRouter.d.ts +164 -0
  180. package/dist/routing/SemanticRouter.d.ts.map +1 -0
  181. package/dist/routing/SemanticRouter.js +291 -0
  182. package/dist/routing/SemanticRouter.js.map +1 -0
  183. package/dist/routing/index.d.ts +12 -0
  184. package/dist/routing/index.d.ts.map +1 -0
  185. package/dist/routing/index.js +10 -0
  186. package/dist/routing/index.js.map +1 -0
  187. package/dist/services/embedding-service.d.ts.map +1 -1
  188. package/dist/services/embedding-service.js +5 -2
  189. package/dist/services/embedding-service.js.map +1 -1
  190. package/dist/services/sona-agent-training.js +1 -1
  191. package/dist/services/sona-agent-training.js.map +1 -1
  192. package/dist/services/sona-agentdb-integration.d.ts.map +1 -1
  193. package/dist/services/sona-agentdb-integration.js +10 -5
  194. package/dist/services/sona-agentdb-integration.js.map +1 -1
  195. package/dist/services/sona-service.d.ts +6 -6
  196. package/dist/services/sona-service.d.ts.map +1 -1
  197. package/dist/services/sona-service.js +3 -1
  198. package/dist/services/sona-service.js.map +1 -1
  199. package/dist/utils/agentdb-runtime-patch.d.ts +1 -0
  200. package/dist/utils/agentdb-runtime-patch.d.ts.map +1 -1
  201. package/dist/utils/agentdb-runtime-patch.js +97 -2
  202. package/dist/utils/agentdb-runtime-patch.js.map +1 -1
  203. package/dist/utils/audit-logger.d.ts +115 -0
  204. package/dist/utils/audit-logger.d.ts.map +1 -0
  205. package/dist/utils/audit-logger.js +228 -0
  206. package/dist/utils/audit-logger.js.map +1 -0
  207. package/dist/utils/cli.d.ts +1 -1
  208. package/dist/utils/cli.d.ts.map +1 -1
  209. package/dist/utils/cli.js +5 -0
  210. package/dist/utils/cli.js.map +1 -1
  211. package/dist/utils/input-validator.d.ts +116 -0
  212. package/dist/utils/input-validator.d.ts.map +1 -0
  213. package/dist/utils/input-validator.js +299 -0
  214. package/dist/utils/input-validator.js.map +1 -0
  215. package/dist/utils/rate-limiter.js +2 -2
  216. package/dist/utils/rate-limiter.js.map +1 -1
  217. package/package.json +14 -3
  218. package/scripts/postinstall.js +72 -0
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Transfer Hook - Cross-project pattern transfer
3
+ * Enables knowledge sharing between projects
4
+ */
5
+ import { z } from 'zod';
6
+ import * as path from 'path';
7
+ import * as fs from 'fs';
8
+ import { loadIntelligence, saveIntelligence, simpleEmbed } from './shared.js';
9
+ const INTELLIGENCE_PATH = '.agentic-flow/intelligence.json';
10
+ export const hookTransferTool = {
11
+ name: 'hook_transfer',
12
+ description: 'Transfer learned patterns from another project',
13
+ parameters: z.object({
14
+ sourceProject: z.string().describe('Path to source project'),
15
+ minConfidence: z.number().optional().default(0.5).describe('Minimum pattern score to transfer'),
16
+ maxPatterns: z.number().optional().default(50).describe('Maximum patterns to transfer'),
17
+ mode: z.enum(['merge', 'replace', 'additive']).optional().default('merge')
18
+ .describe('Transfer mode: merge combines, replace overwrites, additive only adds new')
19
+ }),
20
+ execute: async ({ sourceProject, minConfidence, maxPatterns, mode }, { onProgress }) => {
21
+ const startTime = Date.now();
22
+ onProgress?.({ progress: 0.1, message: 'Loading source intelligence...' });
23
+ // Load source intelligence
24
+ const sourcePath = path.join(sourceProject, INTELLIGENCE_PATH);
25
+ if (!fs.existsSync(sourcePath)) {
26
+ throw new Error(`Source intelligence not found at ${sourcePath}. Run pretrain on source project first.`);
27
+ }
28
+ let sourceIntel;
29
+ try {
30
+ sourceIntel = JSON.parse(fs.readFileSync(sourcePath, 'utf-8'));
31
+ }
32
+ catch (e) {
33
+ throw new Error(`Failed to parse source intelligence: ${e}`);
34
+ }
35
+ // Load target (current) intelligence
36
+ const targetIntel = loadIntelligence();
37
+ onProgress?.({ progress: 0.3, message: 'Analyzing patterns...' });
38
+ // Track transfer stats
39
+ const stats = {
40
+ patternsTransferred: 0,
41
+ memoriesTransferred: 0,
42
+ sequencesTransferred: 0,
43
+ errorsTransferred: 0,
44
+ skipped: 0
45
+ };
46
+ // Transfer patterns
47
+ const patternsToTransfer = [];
48
+ for (const [state, agents] of Object.entries(sourceIntel.patterns || {})) {
49
+ for (const [agent, score] of Object.entries(agents)) {
50
+ if (typeof score === 'number' && score >= minConfidence) {
51
+ patternsToTransfer.push({ state, agent, score });
52
+ }
53
+ }
54
+ }
55
+ // Sort by score and limit
56
+ patternsToTransfer.sort((a, b) => b.score - a.score);
57
+ const selectedPatterns = patternsToTransfer.slice(0, maxPatterns);
58
+ onProgress?.({ progress: 0.5, message: 'Transferring patterns...' });
59
+ // Apply patterns based on mode
60
+ for (const pattern of selectedPatterns) {
61
+ if (!targetIntel.patterns[pattern.state]) {
62
+ targetIntel.patterns[pattern.state] = {};
63
+ }
64
+ const currentValue = targetIntel.patterns[pattern.state][pattern.agent] || 0;
65
+ switch (mode) {
66
+ case 'replace':
67
+ // Overwrite with source value (reduced confidence)
68
+ targetIntel.patterns[pattern.state][pattern.agent] = pattern.score * 0.7;
69
+ stats.patternsTransferred++;
70
+ break;
71
+ case 'additive':
72
+ // Only add if not present
73
+ if (currentValue === 0) {
74
+ targetIntel.patterns[pattern.state][pattern.agent] = pattern.score * 0.5;
75
+ stats.patternsTransferred++;
76
+ }
77
+ else {
78
+ stats.skipped++;
79
+ }
80
+ break;
81
+ case 'merge':
82
+ default:
83
+ // Weighted average
84
+ targetIntel.patterns[pattern.state][pattern.agent] =
85
+ currentValue * 0.6 + pattern.score * 0.4;
86
+ stats.patternsTransferred++;
87
+ break;
88
+ }
89
+ }
90
+ onProgress?.({ progress: 0.7, message: 'Transferring memories...' });
91
+ // Transfer high-quality memories
92
+ if (sourceIntel.memories && sourceIntel.memories.length > 0) {
93
+ const existingContents = new Set(targetIntel.memories.map(m => m.content.slice(0, 50)));
94
+ for (const mem of sourceIntel.memories) {
95
+ // Skip duplicates
96
+ if (existingContents.has(mem.content.slice(0, 50))) {
97
+ continue;
98
+ }
99
+ // Only transfer project-type memories (not ephemeral)
100
+ if (mem.type === 'project' || mem.type === 'success') {
101
+ targetIntel.memories.push({
102
+ ...mem,
103
+ type: 'transferred',
104
+ created: new Date().toISOString(),
105
+ embedding: mem.embedding || simpleEmbed(mem.content)
106
+ });
107
+ stats.memoriesTransferred++;
108
+ if (stats.memoriesTransferred >= 20)
109
+ break; // Limit
110
+ }
111
+ }
112
+ }
113
+ // Transfer error patterns (valuable for learning)
114
+ if (sourceIntel.errorPatterns && sourceIntel.errorPatterns.length > 0) {
115
+ const existingErrors = new Set(targetIntel.errorPatterns.map(e => e.errorType));
116
+ for (const ep of sourceIntel.errorPatterns) {
117
+ if (!existingErrors.has(ep.errorType) && ep.resolution) {
118
+ targetIntel.errorPatterns.push(ep);
119
+ stats.errorsTransferred++;
120
+ if (stats.errorsTransferred >= 10)
121
+ break; // Limit
122
+ }
123
+ }
124
+ }
125
+ onProgress?.({ progress: 0.9, message: 'Saving intelligence...' });
126
+ // Save updated intelligence
127
+ saveIntelligence(targetIntel);
128
+ onProgress?.({ progress: 1.0, message: 'Transfer complete!' });
129
+ const latency = Date.now() - startTime;
130
+ return {
131
+ success: true,
132
+ sourceProject,
133
+ mode,
134
+ transferred: {
135
+ patterns: stats.patternsTransferred,
136
+ memories: stats.memoriesTransferred,
137
+ sequences: stats.sequencesTransferred,
138
+ errorPatterns: stats.errorsTransferred
139
+ },
140
+ skipped: stats.skipped,
141
+ targetStats: {
142
+ totalPatterns: Object.keys(targetIntel.patterns).length,
143
+ totalMemories: targetIntel.memories.length,
144
+ totalErrors: targetIntel.errorPatterns.length
145
+ },
146
+ latencyMs: latency,
147
+ timestamp: new Date().toISOString()
148
+ };
149
+ }
150
+ };
151
+ //# sourceMappingURL=transfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../../src/mcp/fastmcp/tools/hooks/transfer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Transfer Hook - Cross-project pattern transfer\n * Enables knowledge sharing between projects\n */\n\nimport { z } from 'zod';\nimport * as path from 'path';\nimport * as fs from 'fs';\nimport type { ToolDefinition } from '../../types/index.js';\nimport {\n loadIntelligence,\n saveIntelligence,\n IntelligenceData,\n simpleEmbed,\n cosineSimilarity\n} from './shared.js';\n\nconst INTELLIGENCE_PATH = '.agentic-flow/intelligence.json';\n\nexport const hookTransferTool: ToolDefinition = {\n name: 'hook_transfer',\n description: 'Transfer learned patterns from another project',\n parameters: z.object({\n sourceProject: z.string().describe('Path to source project'),\n minConfidence: z.number().optional().default(0.5).describe('Minimum pattern score to transfer'),\n maxPatterns: z.number().optional().default(50).describe('Maximum patterns to transfer'),\n mode: z.enum(['merge', 'replace', 'additive']).optional().default('merge')\n .describe('Transfer mode: merge combines, replace overwrites, additive only adds new')\n }),\n execute: async ({ sourceProject, minConfidence, maxPatterns, mode }, { onProgress }) => {\n const startTime = Date.now();\n\n onProgress?.({ progress: 0.1, message: 'Loading source intelligence...' });\n\n // Load source intelligence\n const sourcePath = path.join(sourceProject, INTELLIGENCE_PATH);\n if (!fs.existsSync(sourcePath)) {\n throw new Error(`Source intelligence not found at ${sourcePath}. Run pretrain on source project first.`);\n }\n\n let sourceIntel: IntelligenceData;\n try {\n sourceIntel = JSON.parse(fs.readFileSync(sourcePath, 'utf-8'));\n } catch (e) {\n throw new Error(`Failed to parse source intelligence: ${e}`);\n }\n\n // Load target (current) intelligence\n const targetIntel = loadIntelligence();\n\n onProgress?.({ progress: 0.3, message: 'Analyzing patterns...' });\n\n // Track transfer stats\n const stats = {\n patternsTransferred: 0,\n memoriesTransferred: 0,\n sequencesTransferred: 0,\n errorsTransferred: 0,\n skipped: 0\n };\n\n // Transfer patterns\n const patternsToTransfer: Array<{ state: string; agent: string; score: number }> = [];\n\n for (const [state, agents] of Object.entries(sourceIntel.patterns || {})) {\n for (const [agent, score] of Object.entries(agents as Record<string, number>)) {\n if (typeof score === 'number' && score >= minConfidence) {\n patternsToTransfer.push({ state, agent, score });\n }\n }\n }\n\n // Sort by score and limit\n patternsToTransfer.sort((a, b) => b.score - a.score);\n const selectedPatterns = patternsToTransfer.slice(0, maxPatterns);\n\n onProgress?.({ progress: 0.5, message: 'Transferring patterns...' });\n\n // Apply patterns based on mode\n for (const pattern of selectedPatterns) {\n if (!targetIntel.patterns[pattern.state]) {\n targetIntel.patterns[pattern.state] = {};\n }\n\n const currentValue = targetIntel.patterns[pattern.state][pattern.agent] || 0;\n\n switch (mode) {\n case 'replace':\n // Overwrite with source value (reduced confidence)\n targetIntel.patterns[pattern.state][pattern.agent] = pattern.score * 0.7;\n stats.patternsTransferred++;\n break;\n\n case 'additive':\n // Only add if not present\n if (currentValue === 0) {\n targetIntel.patterns[pattern.state][pattern.agent] = pattern.score * 0.5;\n stats.patternsTransferred++;\n } else {\n stats.skipped++;\n }\n break;\n\n case 'merge':\n default:\n // Weighted average\n targetIntel.patterns[pattern.state][pattern.agent] =\n currentValue * 0.6 + pattern.score * 0.4;\n stats.patternsTransferred++;\n break;\n }\n }\n\n onProgress?.({ progress: 0.7, message: 'Transferring memories...' });\n\n // Transfer high-quality memories\n if (sourceIntel.memories && sourceIntel.memories.length > 0) {\n const existingContents = new Set(\n targetIntel.memories.map(m => m.content.slice(0, 50))\n );\n\n for (const mem of sourceIntel.memories) {\n // Skip duplicates\n if (existingContents.has(mem.content.slice(0, 50))) {\n continue;\n }\n\n // Only transfer project-type memories (not ephemeral)\n if (mem.type === 'project' || mem.type === 'success') {\n targetIntel.memories.push({\n ...mem,\n type: 'transferred',\n created: new Date().toISOString(),\n embedding: mem.embedding || simpleEmbed(mem.content)\n });\n stats.memoriesTransferred++;\n\n if (stats.memoriesTransferred >= 20) break; // Limit\n }\n }\n }\n\n // Transfer error patterns (valuable for learning)\n if (sourceIntel.errorPatterns && sourceIntel.errorPatterns.length > 0) {\n const existingErrors = new Set(\n targetIntel.errorPatterns.map(e => e.errorType)\n );\n\n for (const ep of sourceIntel.errorPatterns) {\n if (!existingErrors.has(ep.errorType) && ep.resolution) {\n targetIntel.errorPatterns.push(ep);\n stats.errorsTransferred++;\n\n if (stats.errorsTransferred >= 10) break; // Limit\n }\n }\n }\n\n onProgress?.({ progress: 0.9, message: 'Saving intelligence...' });\n\n // Save updated intelligence\n saveIntelligence(targetIntel);\n\n onProgress?.({ progress: 1.0, message: 'Transfer complete!' });\n\n const latency = Date.now() - startTime;\n\n return {\n success: true,\n sourceProject,\n mode,\n transferred: {\n patterns: stats.patternsTransferred,\n memories: stats.memoriesTransferred,\n sequences: stats.sequencesTransferred,\n errorPatterns: stats.errorsTransferred\n },\n skipped: stats.skipped,\n targetStats: {\n totalPatterns: Object.keys(targetIntel.patterns).length,\n totalMemories: targetIntel.memories.length,\n totalErrors: targetIntel.errorPatterns.length\n },\n latencyMs: latency,\n timestamp: new Date().toISOString()\n };\n }\n};\n"]}
@@ -4,8 +4,16 @@
4
4
  * Ultra-fast code editing (352x faster than cloud APIs, $0 cost)
5
5
  * Uses Agent Booster's local WASM engine for sub-millisecond transformations
6
6
  */
7
- import { MCPTool } from '../types';
8
7
  import type { MorphApplyResponse } from 'agent-booster';
8
+ interface MCPTool {
9
+ name: string;
10
+ description: string;
11
+ inputSchema: {
12
+ type: string;
13
+ properties: Record<string, any>;
14
+ required?: string[];
15
+ };
16
+ }
9
17
  /**
10
18
  * Agent Booster MCP Tools
11
19
  */
@@ -65,4 +73,5 @@ export declare function getAgentBoosterStats(): {
65
73
  languages: string[];
66
74
  };
67
75
  };
76
+ export {};
68
77
  //# sourceMappingURL=agent-booster-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-booster-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/agent-booster-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAqB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAQ3E;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,OAAO,EA6EzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC;;OAEG;sCACqC;QACtC,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,KAAG,OAAO,CAAC,kBAAkB,CAAC;IA+C/B;;OAEG;uCACsC;QACvC,KAAK,EAAE,KAAK,CAAC;YACX,eAAe,EAAE,MAAM,CAAC;YACxB,YAAY,EAAE,MAAM,CAAC;YACrB,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,KAAG,OAAO,CAAC;QAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IAsE5D;;OAEG;2CAC0C;QAC3C,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAG,OAAO,CAAC;QAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;CAmC7D,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB;;;;;;;;;;;;;;EAmBnC"}
1
+ {"version":3,"file":"agent-booster-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/agent-booster-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAqB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG3E,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAQD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,OAAO,EA6EzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC;;OAEG;sCACqC;QACtC,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,KAAG,OAAO,CAAC,kBAAkB,CAAC;IA+C/B;;OAEG;uCACsC;QACvC,KAAK,EAAE,KAAK,CAAC;YACX,eAAe,EAAE,MAAM,CAAC;YACxB,YAAY,EAAE,MAAM,CAAC;YACrB,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,KAAG,OAAO,CAAC;QAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IAsE5D;;OAEG;2CAC0C;QAC3C,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAG,OAAO,CAAC;QAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;CAmC7D,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB;;;;;;;;;;;;;;EAmBnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-booster-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/agent-booster-tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent Booster MCP Tools\n *\n * Ultra-fast code editing (352x faster than cloud APIs, $0 cost)\n * Uses Agent Booster's local WASM engine for sub-millisecond transformations\n */\n\nimport { AgentBooster } from 'agent-booster';\nimport { MCPTool } from '../types';\nimport type { MorphApplyRequest, MorphApplyResponse } from 'agent-booster';\n\n// Initialize Agent Booster instance\nconst booster = new AgentBooster({\n confidenceThreshold: 0.5,\n maxChunks: 100\n});\n\n/**\n * Agent Booster MCP Tools\n */\nexport const agentBoosterMCPTools: MCPTool[] = [\n {\n name: 'agent_booster_edit_file',\n description: 'Ultra-fast code editing (352x faster than cloud APIs, $0 cost). Apply precise code edits using Agent Booster\\'s local WASM engine. Use \"// ... existing code ...\" markers for unchanged sections.',\n inputSchema: {\n type: 'object',\n properties: {\n target_filepath: {\n type: 'string',\n description: 'Path of the file to modify'\n },\n instructions: {\n type: 'string',\n description: 'First-person instruction (e.g., \"I will add error handling\")'\n },\n code_edit: {\n type: 'string',\n description: 'Precise code lines to edit, using \"// ... existing code ...\" for unchanged sections'\n },\n language: {\n type: 'string',\n description: 'Programming language (auto-detected from file extension if not provided)'\n }\n },\n required: ['target_filepath', 'instructions', 'code_edit']\n }\n },\n {\n name: 'agent_booster_batch_edit',\n description: 'Apply multiple code edits in a single operation (ultra-fast batch processing). Perfect for multi-file refactoring.',\n inputSchema: {\n type: 'object',\n properties: {\n edits: {\n type: 'array',\n description: 'Array of edit requests',\n items: {\n type: 'object',\n properties: {\n target_filepath: {\n type: 'string',\n description: 'File path'\n },\n instructions: {\n type: 'string',\n description: 'First-person instruction'\n },\n code_edit: {\n type: 'string',\n description: 'Code edit with markers'\n },\n language: {\n type: 'string',\n description: 'Programming language'\n }\n },\n required: ['target_filepath', 'instructions', 'code_edit']\n }\n }\n },\n required: ['edits']\n }\n },\n {\n name: 'agent_booster_parse_markdown',\n description: 'Parse markdown code blocks with filepath= and instruction= metadata, then apply all edits. Compatible with LLM-generated multi-file refactoring outputs.',\n inputSchema: {\n type: 'object',\n properties: {\n markdown: {\n type: 'string',\n description: 'Markdown text containing code blocks with filepath= and instruction= metadata'\n }\n },\n required: ['markdown']\n }\n }\n];\n\n/**\n * Agent Booster MCP Tool Handlers\n */\nexport const agentBoosterMCPHandlers = {\n /**\n * Edit a single file with Agent Booster\n */\n agent_booster_edit_file: async (params: {\n target_filepath: string;\n instructions: string;\n code_edit: string;\n language?: string;\n }): Promise<MorphApplyResponse> => {\n const fs = require('fs/promises');\n const path = require('path');\n\n try {\n // Read current file content\n const originalCode = await fs.readFile(params.target_filepath, 'utf8');\n\n // Auto-detect language from file extension if not provided\n const language = params.language || path.extname(params.target_filepath).slice(1);\n\n // Apply edit using Agent Booster\n const result = await booster.apply({\n code: originalCode,\n edit: params.code_edit,\n language\n });\n\n // Write modified code if successful\n if (result.success) {\n await fs.writeFile(params.target_filepath, result.output, 'utf8');\n }\n\n return {\n ...result,\n // Add metadata\n metadata: {\n filepath: params.target_filepath,\n instructions: params.instructions,\n language,\n originalSize: originalCode.length,\n modifiedSize: result.output.length\n }\n } as any;\n } catch (error: any) {\n return {\n output: '',\n success: false,\n latency: 0,\n tokens: { input: 0, output: 0 },\n confidence: 0,\n strategy: 'failed',\n error: error.message\n } as any;\n }\n },\n\n /**\n * Apply multiple edits in batch\n */\n agent_booster_batch_edit: async (params: {\n edits: Array<{\n target_filepath: string;\n instructions: string;\n code_edit: string;\n language?: string;\n }>;\n }): Promise<{ results: MorphApplyResponse[]; summary: any }> => {\n const results: MorphApplyResponse[] = [];\n const fs = require('fs/promises');\n const path = require('path');\n\n let totalLatency = 0;\n let successCount = 0;\n let totalBytes = 0;\n\n for (const edit of params.edits) {\n try {\n // Read current file content\n const originalCode = await fs.readFile(edit.target_filepath, 'utf8');\n\n // Auto-detect language\n const language = edit.language || path.extname(edit.target_filepath).slice(1);\n\n // Apply edit using Agent Booster\n const result = await booster.apply({\n code: originalCode,\n edit: edit.code_edit,\n language\n });\n\n // Write modified code if successful\n if (result.success) {\n await fs.writeFile(edit.target_filepath, result.output, 'utf8');\n successCount++;\n }\n\n totalLatency += result.latency;\n totalBytes += Buffer.byteLength(result.output, 'utf8');\n\n results.push({\n ...result,\n metadata: {\n filepath: edit.target_filepath,\n instructions: edit.instructions\n }\n } as any);\n } catch (error: any) {\n results.push({\n output: '',\n success: false,\n latency: 0,\n tokens: { input: 0, output: 0 },\n confidence: 0,\n strategy: 'failed',\n error: error.message,\n metadata: {\n filepath: edit.target_filepath\n }\n } as any);\n }\n }\n\n return {\n results,\n summary: {\n total: params.edits.length,\n successful: successCount,\n failed: params.edits.length - successCount,\n totalLatency,\n avgLatency: totalLatency / params.edits.length,\n totalBytes,\n speedupVsCloud: Math.round(352 / (totalLatency / params.edits.length))\n }\n };\n },\n\n /**\n * Parse markdown and apply edits\n */\n agent_booster_parse_markdown: async (params: {\n markdown: string;\n }): Promise<{ results: MorphApplyResponse[]; summary: any }> => {\n // Parse markdown code blocks\n const codeBlockRegex = /```(\\w+)?\\s+filepath=[\"']([^\"']+)[\"']\\s+instruction=[\"']([^\"']+)[\"']\\s*\\n([\\s\\S]*?)```/g;\n const edits: Array<{\n target_filepath: string;\n instructions: string;\n code_edit: string;\n language?: string;\n }> = [];\n\n let match;\n while ((match = codeBlockRegex.exec(params.markdown)) !== null) {\n edits.push({\n language: match[1],\n target_filepath: match[2],\n instructions: match[3],\n code_edit: match[4].trim()\n });\n }\n\n if (edits.length === 0) {\n return {\n results: [],\n summary: {\n total: 0,\n successful: 0,\n failed: 0,\n error: 'No code blocks found with required metadata'\n }\n };\n }\n\n // Apply all edits\n return agentBoosterMCPHandlers.agent_booster_batch_edit({ edits });\n }\n};\n\n/**\n * Get Agent Booster statistics\n */\nexport function getAgentBoosterStats() {\n return {\n engine: 'Agent Booster WASM',\n version: '0.2.2',\n performance: {\n avgLatency: '1ms',\n speedup: '352x vs cloud APIs',\n costSavings: '$240/month'\n },\n features: {\n local: true,\n offline: true,\n privacy: 'Complete (no data sent to cloud)',\n languages: [\n 'javascript', 'typescript', 'python', 'rust', 'go',\n 'java', 'c', 'cpp', 'ruby', 'php', 'swift', 'kotlin'\n ]\n }\n };\n}\n"]}
1
+ {"version":3,"file":"agent-booster-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/agent-booster-tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent Booster MCP Tools\n *\n * Ultra-fast code editing (352x faster than cloud APIs, $0 cost)\n * Uses Agent Booster's local WASM engine for sub-millisecond transformations\n */\n\nimport { AgentBooster } from 'agent-booster';\nimport type { MorphApplyRequest, MorphApplyResponse } from 'agent-booster';\n\n// MCP Tool definition type\ninterface MCPTool {\n name: string;\n description: string;\n inputSchema: {\n type: string;\n properties: Record<string, any>;\n required?: string[];\n };\n}\n\n// Initialize Agent Booster instance\nconst booster = new AgentBooster({\n confidenceThreshold: 0.5,\n maxChunks: 100\n});\n\n/**\n * Agent Booster MCP Tools\n */\nexport const agentBoosterMCPTools: MCPTool[] = [\n {\n name: 'agent_booster_edit_file',\n description: 'Ultra-fast code editing (352x faster than cloud APIs, $0 cost). Apply precise code edits using Agent Booster\\'s local WASM engine. Use \"// ... existing code ...\" markers for unchanged sections.',\n inputSchema: {\n type: 'object',\n properties: {\n target_filepath: {\n type: 'string',\n description: 'Path of the file to modify'\n },\n instructions: {\n type: 'string',\n description: 'First-person instruction (e.g., \"I will add error handling\")'\n },\n code_edit: {\n type: 'string',\n description: 'Precise code lines to edit, using \"// ... existing code ...\" for unchanged sections'\n },\n language: {\n type: 'string',\n description: 'Programming language (auto-detected from file extension if not provided)'\n }\n },\n required: ['target_filepath', 'instructions', 'code_edit']\n }\n },\n {\n name: 'agent_booster_batch_edit',\n description: 'Apply multiple code edits in a single operation (ultra-fast batch processing). Perfect for multi-file refactoring.',\n inputSchema: {\n type: 'object',\n properties: {\n edits: {\n type: 'array',\n description: 'Array of edit requests',\n items: {\n type: 'object',\n properties: {\n target_filepath: {\n type: 'string',\n description: 'File path'\n },\n instructions: {\n type: 'string',\n description: 'First-person instruction'\n },\n code_edit: {\n type: 'string',\n description: 'Code edit with markers'\n },\n language: {\n type: 'string',\n description: 'Programming language'\n }\n },\n required: ['target_filepath', 'instructions', 'code_edit']\n }\n }\n },\n required: ['edits']\n }\n },\n {\n name: 'agent_booster_parse_markdown',\n description: 'Parse markdown code blocks with filepath= and instruction= metadata, then apply all edits. Compatible with LLM-generated multi-file refactoring outputs.',\n inputSchema: {\n type: 'object',\n properties: {\n markdown: {\n type: 'string',\n description: 'Markdown text containing code blocks with filepath= and instruction= metadata'\n }\n },\n required: ['markdown']\n }\n }\n];\n\n/**\n * Agent Booster MCP Tool Handlers\n */\nexport const agentBoosterMCPHandlers = {\n /**\n * Edit a single file with Agent Booster\n */\n agent_booster_edit_file: async (params: {\n target_filepath: string;\n instructions: string;\n code_edit: string;\n language?: string;\n }): Promise<MorphApplyResponse> => {\n const fs = require('fs/promises');\n const path = require('path');\n\n try {\n // Read current file content\n const originalCode = await fs.readFile(params.target_filepath, 'utf8');\n\n // Auto-detect language from file extension if not provided\n const language = params.language || path.extname(params.target_filepath).slice(1);\n\n // Apply edit using Agent Booster\n const result = await booster.apply({\n code: originalCode,\n edit: params.code_edit,\n language\n });\n\n // Write modified code if successful\n if (result.success) {\n await fs.writeFile(params.target_filepath, result.output, 'utf8');\n }\n\n return {\n ...result,\n // Add metadata\n metadata: {\n filepath: params.target_filepath,\n instructions: params.instructions,\n language,\n originalSize: originalCode.length,\n modifiedSize: result.output.length\n }\n } as any;\n } catch (error: any) {\n return {\n output: '',\n success: false,\n latency: 0,\n tokens: { input: 0, output: 0 },\n confidence: 0,\n strategy: 'failed',\n error: error.message\n } as any;\n }\n },\n\n /**\n * Apply multiple edits in batch\n */\n agent_booster_batch_edit: async (params: {\n edits: Array<{\n target_filepath: string;\n instructions: string;\n code_edit: string;\n language?: string;\n }>;\n }): Promise<{ results: MorphApplyResponse[]; summary: any }> => {\n const results: MorphApplyResponse[] = [];\n const fs = require('fs/promises');\n const path = require('path');\n\n let totalLatency = 0;\n let successCount = 0;\n let totalBytes = 0;\n\n for (const edit of params.edits) {\n try {\n // Read current file content\n const originalCode = await fs.readFile(edit.target_filepath, 'utf8');\n\n // Auto-detect language\n const language = edit.language || path.extname(edit.target_filepath).slice(1);\n\n // Apply edit using Agent Booster\n const result = await booster.apply({\n code: originalCode,\n edit: edit.code_edit,\n language\n });\n\n // Write modified code if successful\n if (result.success) {\n await fs.writeFile(edit.target_filepath, result.output, 'utf8');\n successCount++;\n }\n\n totalLatency += result.latency;\n totalBytes += Buffer.byteLength(result.output, 'utf8');\n\n results.push({\n ...result,\n metadata: {\n filepath: edit.target_filepath,\n instructions: edit.instructions\n }\n } as any);\n } catch (error: any) {\n results.push({\n output: '',\n success: false,\n latency: 0,\n tokens: { input: 0, output: 0 },\n confidence: 0,\n strategy: 'failed',\n error: error.message,\n metadata: {\n filepath: edit.target_filepath\n }\n } as any);\n }\n }\n\n return {\n results,\n summary: {\n total: params.edits.length,\n successful: successCount,\n failed: params.edits.length - successCount,\n totalLatency,\n avgLatency: totalLatency / params.edits.length,\n totalBytes,\n speedupVsCloud: Math.round(352 / (totalLatency / params.edits.length))\n }\n };\n },\n\n /**\n * Parse markdown and apply edits\n */\n agent_booster_parse_markdown: async (params: {\n markdown: string;\n }): Promise<{ results: MorphApplyResponse[]; summary: any }> => {\n // Parse markdown code blocks\n const codeBlockRegex = /```(\\w+)?\\s+filepath=[\"']([^\"']+)[\"']\\s+instruction=[\"']([^\"']+)[\"']\\s*\\n([\\s\\S]*?)```/g;\n const edits: Array<{\n target_filepath: string;\n instructions: string;\n code_edit: string;\n language?: string;\n }> = [];\n\n let match;\n while ((match = codeBlockRegex.exec(params.markdown)) !== null) {\n edits.push({\n language: match[1],\n target_filepath: match[2],\n instructions: match[3],\n code_edit: match[4].trim()\n });\n }\n\n if (edits.length === 0) {\n return {\n results: [],\n summary: {\n total: 0,\n successful: 0,\n failed: 0,\n error: 'No code blocks found with required metadata'\n }\n };\n }\n\n // Apply all edits\n return agentBoosterMCPHandlers.agent_booster_batch_edit({ edits });\n }\n};\n\n/**\n * Get Agent Booster statistics\n */\nexport function getAgentBoosterStats() {\n return {\n engine: 'Agent Booster WASM',\n version: '0.2.2',\n performance: {\n avgLatency: '1ms',\n speedup: '352x vs cloud APIs',\n costSavings: '$240/month'\n },\n features: {\n local: true,\n offline: true,\n privacy: 'Complete (no data sent to cloud)',\n languages: [\n 'javascript', 'typescript', 'python', 'rust', 'go',\n 'java', 'c', 'cpp', 'ruby', 'php', 'swift', 'kotlin'\n ]\n }\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sona-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sona-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAIL,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,EAySjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;oCACY;QACpC,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;;;mCAYoC;QACnC,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;KAChB;;;;;sCAeuC;QACtC,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB;;;;;kCAUmC;QAClC,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB;;;;;;mCAaoC;QAAE,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE;;;;gCAgB5B;QAChC,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;oCAgBqC;QACpC,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;;;mCAcoC;QACnC,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;;;;+BAegC;QAAE,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE;;;;;6BAW3B;QAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;+BA4BgC;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;;;;;;;;;;;;;+BAoDxB;QAC/B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;;6BAW8B;QAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;;;;;;;;;;;;;;;;;CAgDF,CAAC;AA0CF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"sona-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sona-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAIL,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,EAySjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;oCACY;QACpC,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;;;mCAYoC;QACnC,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;KAChB;;;;;sCAiBuC;QACtC,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB;;;;;kCAYmC;QAClC,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB;;;;;;mCAeoC;QAAE,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE;;;;gCAgB5B;QAChC,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;oCAgBqC;QACpC,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;;;mCAcoC;QACnC,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;;;;+BAegC;QAAE,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE;;;;;6BAW3B;QAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;+BA4BgC;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;;;;;;;;;;;;;+BAoDxB;QAC/B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;;6BAW8B;QAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB;;;;;;;;;;;;;;;;;;;;CAgDF,CAAC;AAgDF,eAAe,YAAY,CAAC"}
@@ -308,7 +308,9 @@ export const sonaMCPHandlers = {
308
308
  };
309
309
  },
310
310
  sona_trajectory_step: async (params) => {
311
- sonaService.addTrajectoryStep(params.trajectoryId, params.activations, params.attentionWeights, params.reward);
311
+ // Convert string ID to number for SONA service
312
+ const trajectoryIdNum = parseInt(params.trajectoryId, 10);
313
+ sonaService.addTrajectoryStep(trajectoryIdNum, params.activations, params.attentionWeights, params.reward);
312
314
  return {
313
315
  success: true,
314
316
  trajectoryId: params.trajectoryId,
@@ -316,7 +318,9 @@ export const sonaMCPHandlers = {
316
318
  };
317
319
  },
318
320
  sona_trajectory_context: async (params) => {
319
- sonaService.addTrajectoryContext(params.trajectoryId, params.contextId);
321
+ // Convert string ID to number for SONA service
322
+ const trajectoryIdNum = parseInt(params.trajectoryId, 10);
323
+ sonaService.addTrajectoryContext(trajectoryIdNum, params.contextId);
320
324
  return {
321
325
  success: true,
322
326
  trajectoryId: params.trajectoryId,
@@ -324,7 +328,9 @@ export const sonaMCPHandlers = {
324
328
  };
325
329
  },
326
330
  sona_trajectory_end: async (params) => {
327
- sonaService.endTrajectory(params.trajectoryId, params.qualityScore);
331
+ // Convert string ID to number for SONA service
332
+ const trajectoryIdNum = parseInt(params.trajectoryId, 10);
333
+ sonaService.endTrajectory(trajectoryIdNum, params.qualityScore);
328
334
  const stats = sonaService.getStats();
329
335
  return {
330
336
  success: true,
@@ -552,6 +558,12 @@ function getProfileCharacteristics(profile) {
552
558
  latency: '~1ms',
553
559
  memory: '~50MB',
554
560
  qualityGain: '+25%'
561
+ },
562
+ 'custom': {
563
+ throughput: 'configurable',
564
+ latency: 'configurable',
565
+ memory: 'configurable',
566
+ qualityGain: 'configurable'
555
567
  }
556
568
  };
557
569
  return characteristics[profile];
@@ -1 +1 @@
1
- {"version":3,"file":"sona-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/sona-tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SONA MCP Tools\n *\n * Model Context Protocol tools for SONA (Self-Optimizing Neural Architecture)\n * Provides trajectory management, pattern discovery, and learning operations\n */\n\nimport {\n sonaService,\n sonaServices,\n createSONAService,\n SONAProfile\n} from '../../services/sona-service';\n\nexport interface MCPTool {\n name: string;\n description: string;\n inputSchema: {\n type: string;\n properties: Record<string, any>;\n required?: string[];\n };\n}\n\n/**\n * SONA MCP Tools\n */\nexport const sonaMCPTools: MCPTool[] = [\n // Trajectory Management\n {\n name: 'sona_trajectory_begin',\n description: 'Begin a new SONA learning trajectory. Returns trajectory ID for subsequent operations.',\n inputSchema: {\n type: 'object',\n properties: {\n embedding: {\n type: 'array',\n items: { type: 'number' },\n description: 'Embedding vector (1536D for OpenAI, 3072D for Phi-4)'\n },\n route: {\n type: 'string',\n description: 'LLM model route (e.g., claude-sonnet-4-5, gpt-4-turbo)'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile to use (default: balanced)'\n }\n },\n required: ['embedding']\n }\n },\n\n {\n name: 'sona_trajectory_step',\n description: 'Add a step to an active trajectory with activations, attention weights, and reward.',\n inputSchema: {\n type: 'object',\n properties: {\n trajectoryId: {\n type: 'string',\n description: 'Trajectory ID from sona_trajectory_begin'\n },\n activations: {\n type: 'array',\n items: { type: 'number' },\n description: 'Layer activations (3072D for Phi-4)'\n },\n attentionWeights: {\n type: 'array',\n items: { type: 'number' },\n description: 'Attention weights (40 layers for Phi-4)'\n },\n reward: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n description: 'Reward score (0-1)'\n }\n },\n required: ['trajectoryId', 'activations', 'attentionWeights', 'reward']\n }\n },\n\n {\n name: 'sona_trajectory_context',\n description: 'Add context metadata to a trajectory (e.g., task type, domain).',\n inputSchema: {\n type: 'object',\n properties: {\n trajectoryId: {\n type: 'string',\n description: 'Trajectory ID'\n },\n contextId: {\n type: 'string',\n description: 'Context identifier (e.g., code-review, data-analysis)'\n }\n },\n required: ['trajectoryId', 'contextId']\n }\n },\n\n {\n name: 'sona_trajectory_end',\n description: 'End a trajectory with final quality score. Triggers learning if capacity threshold reached.',\n inputSchema: {\n type: 'object',\n properties: {\n trajectoryId: {\n type: 'string',\n description: 'Trajectory ID'\n },\n qualityScore: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n description: 'Overall quality score (0-1)'\n }\n },\n required: ['trajectoryId', 'qualityScore']\n }\n },\n\n {\n name: 'sona_trajectory_list',\n description: 'List all active trajectories.',\n inputSchema: {\n type: 'object',\n properties: {\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'Filter by profile (optional)'\n }\n }\n }\n },\n\n // Pattern Discovery\n {\n name: 'sona_pattern_find',\n description: 'Find similar patterns using k-NN search. Recommended k=3 for 761 decisions/sec throughput.',\n inputSchema: {\n type: 'object',\n properties: {\n query: {\n type: 'array',\n items: { type: 'number' },\n description: 'Query embedding vector'\n },\n k: {\n type: 'number',\n default: 3,\n minimum: 1,\n maximum: 20,\n description: 'Number of patterns to retrieve (default: 3)'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n },\n required: ['query']\n }\n },\n\n // LoRA Application\n {\n name: 'sona_apply_micro_lora',\n description: 'Apply Micro-LoRA adaptation to input vector. Sub-millisecond latency.',\n inputSchema: {\n type: 'object',\n properties: {\n input: {\n type: 'array',\n items: { type: 'number' },\n description: 'Input vector (3072D for Phi-4)'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n },\n required: ['input']\n }\n },\n\n {\n name: 'sona_apply_base_lora',\n description: 'Apply Base-LoRA adaptation to layer. 0.452ms per-layer cost.',\n inputSchema: {\n type: 'object',\n properties: {\n layerIndex: {\n type: 'number',\n minimum: 0,\n maximum: 39,\n description: 'Layer index (0-39 for Phi-4)'\n },\n input: {\n type: 'array',\n items: { type: 'number' },\n description: 'Input vector (3072D for Phi-4)'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n },\n required: ['layerIndex', 'input']\n }\n },\n\n // Learning Control\n {\n name: 'sona_force_learn',\n description: 'Force learning cycle. Recommended when trajectory capacity reaches 80% utilization.',\n inputSchema: {\n type: 'object',\n properties: {\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n }\n }\n },\n\n // Statistics & Monitoring\n {\n name: 'sona_get_stats',\n description: 'Get SONA service statistics including trajectories, performance, and configuration.',\n inputSchema: {\n type: 'object',\n properties: {\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n },\n engineStats: {\n type: 'boolean',\n default: false,\n description: 'Include engine-level statistics'\n }\n }\n }\n },\n\n // Profile Management\n {\n name: 'sona_get_profile',\n description: 'Get SONA profile configuration details.',\n inputSchema: {\n type: 'object',\n properties: {\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'Profile name'\n }\n },\n required: ['profile']\n }\n },\n\n {\n name: 'sona_list_profiles',\n description: 'List all available SONA profiles with their characteristics.',\n inputSchema: {\n type: 'object',\n properties: {}\n }\n },\n\n // Engine Control\n {\n name: 'sona_set_enabled',\n description: 'Enable or disable SONA engine.',\n inputSchema: {\n type: 'object',\n properties: {\n enabled: {\n type: 'boolean',\n description: 'Enable (true) or disable (false)'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n },\n required: ['enabled']\n }\n },\n\n // Benchmarking\n {\n name: 'sona_benchmark',\n description: 'Run SONA performance benchmark. Expected: 2211 ops/sec, <0.5ms latency.',\n inputSchema: {\n type: 'object',\n properties: {\n iterations: {\n type: 'number',\n default: 1000,\n minimum: 100,\n maximum: 10000,\n description: 'Number of benchmark iterations'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n }\n }\n }\n];\n\n/**\n * MCP Tool Handlers\n */\nexport const sonaMCPHandlers = {\n sona_trajectory_begin: async (params: {\n embedding: number[];\n route?: string;\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const trajectoryId = service.beginTrajectory(params.embedding, params.route);\n\n return {\n success: true,\n trajectoryId,\n route: params.route,\n profile: params.profile || 'balanced'\n };\n },\n\n sona_trajectory_step: async (params: {\n trajectoryId: string;\n activations: number[];\n attentionWeights: number[];\n reward: number;\n }) => {\n sonaService.addTrajectoryStep(\n params.trajectoryId,\n params.activations,\n params.attentionWeights,\n params.reward\n );\n\n return {\n success: true,\n trajectoryId: params.trajectoryId,\n reward: params.reward\n };\n },\n\n sona_trajectory_context: async (params: {\n trajectoryId: string;\n contextId: string;\n }) => {\n sonaService.addTrajectoryContext(params.trajectoryId, params.contextId);\n\n return {\n success: true,\n trajectoryId: params.trajectoryId,\n contextId: params.contextId\n };\n },\n\n sona_trajectory_end: async (params: {\n trajectoryId: string;\n qualityScore: number;\n }) => {\n sonaService.endTrajectory(params.trajectoryId, params.qualityScore);\n\n const stats = sonaService.getStats();\n\n return {\n success: true,\n trajectoryId: params.trajectoryId,\n qualityScore: params.qualityScore,\n learningTriggered: stats.trajectoryUtilization >= 0.8\n };\n },\n\n sona_trajectory_list: async (params: { profile?: SONAProfile }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const active = service.getActiveTrajectories();\n\n return {\n count: active.length,\n trajectories: active.map(t => ({\n id: t.id,\n route: t.route,\n steps: t.steps.length,\n contexts: t.contexts.length,\n durationMs: Date.now() - t.startTime\n }))\n };\n },\n\n sona_pattern_find: async (params: {\n query: number[];\n k?: number;\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const patterns = service.findPatterns(params.query, params.k || 3);\n\n return {\n count: patterns.length,\n patterns: patterns.map(p => ({\n id: p.id,\n patternType: p.patternType,\n clusterSize: p.clusterSize,\n avgQuality: p.avgQuality,\n similarity: p.similarity\n }))\n };\n },\n\n sona_apply_micro_lora: async (params: {\n input: number[];\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const start = Date.now();\n const output = service.applyMicroLora(params.input);\n const latencyMs = Date.now() - start;\n\n return {\n output,\n latencyMs,\n inputDim: params.input.length,\n outputDim: output.length\n };\n },\n\n sona_apply_base_lora: async (params: {\n layerIndex: number;\n input: number[];\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const start = Date.now();\n const output = service.applyBaseLora(params.layerIndex, params.input);\n const latencyMs = Date.now() - start;\n\n return {\n output,\n latencyMs,\n layerIndex: params.layerIndex,\n inputDim: params.input.length,\n outputDim: output.length\n };\n },\n\n sona_force_learn: async (params: { profile?: SONAProfile }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const result = service.forceLearn();\n\n return {\n success: result.success,\n patternsLearned: result.patternsLearned,\n profile: params.profile || 'balanced'\n };\n },\n\n sona_get_stats: async (params: {\n profile?: SONAProfile;\n engineStats?: boolean;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const stats = service.getStats();\n\n const result: any = {\n profile: params.profile || 'balanced',\n trajectories: {\n total: stats.totalTrajectories,\n active: stats.activeTrajectories,\n completed: stats.completedTrajectories,\n utilization: stats.trajectoryUtilization\n },\n performance: {\n avgQualityScore: stats.avgQualityScore,\n totalOpsProcessed: stats.totalOpsProcessed,\n opsPerSecond: stats.opsPerSecond,\n learningCycles: stats.totalLearningCycles\n },\n configuration: stats.config\n };\n\n if (params.engineStats) {\n result.engineStats = service.getEngineStats();\n }\n\n return result;\n },\n\n sona_get_profile: async (params: { profile: SONAProfile }) => {\n const service = sonaServices[params.profile];\n if (!service) {\n throw new Error(`Unknown profile: ${params.profile}`);\n }\n\n const stats = service.getStats();\n\n return {\n profile: params.profile,\n configuration: stats.config,\n characteristics: getProfileCharacteristics(params.profile)\n };\n },\n\n sona_list_profiles: async () => {\n return {\n profiles: [\n {\n name: 'real-time',\n description: '2200 ops/sec, <0.5ms latency',\n config: 'Rank-2, 25 clusters, 0.7 threshold',\n useCase: 'Low-latency applications'\n },\n {\n name: 'batch',\n description: 'Balance throughput and adaptation',\n config: 'Rank-2, rank-8, 5000 capacity',\n useCase: 'Batch processing workflows'\n },\n {\n name: 'research',\n description: '+55% quality improvement',\n config: 'Rank-16 base, LR 0.002, 0.2 threshold',\n useCase: 'Maximum quality, research'\n },\n {\n name: 'edge',\n description: '<5MB memory footprint',\n config: 'Rank-1, 200 capacity, 15 clusters',\n useCase: 'Edge devices, mobile'\n },\n {\n name: 'balanced',\n description: '18ms overhead, +25% quality',\n config: 'Rank-2, rank-8, 0.4 threshold',\n useCase: 'General-purpose (default)'\n }\n ]\n };\n },\n\n sona_set_enabled: async (params: {\n enabled: boolean;\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n service.setEnabled(params.enabled);\n\n return {\n success: true,\n enabled: params.enabled,\n profile: params.profile || 'balanced'\n };\n },\n\n sona_benchmark: async (params: {\n iterations?: number;\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const iterations = params.iterations || 1000;\n\n // Benchmark Micro-LoRA\n const input = Array.from({ length: 3072 }, () => Math.random());\n const startMicro = Date.now();\n\n for (let i = 0; i < iterations; i++) {\n service.applyMicroLora(input);\n }\n\n const microTime = Date.now() - startMicro;\n const microLatency = microTime / iterations;\n const microOpsPerSec = (iterations / microTime) * 1000;\n\n // Benchmark Base-LoRA\n const startBase = Date.now();\n\n for (let i = 0; i < iterations; i++) {\n service.applyBaseLora(10, input);\n }\n\n const baseTime = Date.now() - startBase;\n const baseLatency = baseTime / iterations;\n const baseOpsPerSec = (iterations / baseTime) * 1000;\n\n return {\n iterations,\n profile: params.profile || 'balanced',\n microLora: {\n totalTimeMs: microTime,\n avgLatencyMs: microLatency,\n opsPerSec: microOpsPerSec\n },\n baseLora: {\n totalTimeMs: baseTime,\n avgLatencyMs: baseLatency,\n opsPerSec: baseOpsPerSec\n },\n expected: {\n targetThroughput: 2211,\n targetLatency: 0.5,\n perLayerCost: 0.452\n },\n meetsTarget: microOpsPerSec >= 1000\n };\n }\n};\n\n/**\n * Get profile characteristics\n */\nfunction getProfileCharacteristics(profile: SONAProfile): any {\n const characteristics: Record<SONAProfile, any> = {\n 'real-time': {\n throughput: '2200 ops/sec',\n latency: '<0.5ms',\n memory: '~20MB',\n qualityGain: '+15%'\n },\n 'batch': {\n throughput: '1800 ops/sec',\n latency: '~1ms',\n memory: '~50MB',\n qualityGain: '+25%'\n },\n 'research': {\n throughput: '1000 ops/sec',\n latency: '~2ms',\n memory: '~100MB',\n qualityGain: '+55%'\n },\n 'edge': {\n throughput: '500 ops/sec',\n latency: '~2ms',\n memory: '<5MB',\n qualityGain: '+10%'\n },\n 'balanced': {\n throughput: '1500 ops/sec',\n latency: '~1ms',\n memory: '~50MB',\n qualityGain: '+25%'\n }\n };\n\n return characteristics[profile];\n}\n\nexport default sonaMCPTools;\n"]}
1
+ {"version":3,"file":"sona-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/sona-tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SONA MCP Tools\n *\n * Model Context Protocol tools for SONA (Self-Optimizing Neural Architecture)\n * Provides trajectory management, pattern discovery, and learning operations\n */\n\nimport {\n sonaService,\n sonaServices,\n createSONAService,\n SONAProfile\n} from '../../services/sona-service';\n\nexport interface MCPTool {\n name: string;\n description: string;\n inputSchema: {\n type: string;\n properties: Record<string, any>;\n required?: string[];\n };\n}\n\n/**\n * SONA MCP Tools\n */\nexport const sonaMCPTools: MCPTool[] = [\n // Trajectory Management\n {\n name: 'sona_trajectory_begin',\n description: 'Begin a new SONA learning trajectory. Returns trajectory ID for subsequent operations.',\n inputSchema: {\n type: 'object',\n properties: {\n embedding: {\n type: 'array',\n items: { type: 'number' },\n description: 'Embedding vector (1536D for OpenAI, 3072D for Phi-4)'\n },\n route: {\n type: 'string',\n description: 'LLM model route (e.g., claude-sonnet-4-5, gpt-4-turbo)'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile to use (default: balanced)'\n }\n },\n required: ['embedding']\n }\n },\n\n {\n name: 'sona_trajectory_step',\n description: 'Add a step to an active trajectory with activations, attention weights, and reward.',\n inputSchema: {\n type: 'object',\n properties: {\n trajectoryId: {\n type: 'string',\n description: 'Trajectory ID from sona_trajectory_begin'\n },\n activations: {\n type: 'array',\n items: { type: 'number' },\n description: 'Layer activations (3072D for Phi-4)'\n },\n attentionWeights: {\n type: 'array',\n items: { type: 'number' },\n description: 'Attention weights (40 layers for Phi-4)'\n },\n reward: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n description: 'Reward score (0-1)'\n }\n },\n required: ['trajectoryId', 'activations', 'attentionWeights', 'reward']\n }\n },\n\n {\n name: 'sona_trajectory_context',\n description: 'Add context metadata to a trajectory (e.g., task type, domain).',\n inputSchema: {\n type: 'object',\n properties: {\n trajectoryId: {\n type: 'string',\n description: 'Trajectory ID'\n },\n contextId: {\n type: 'string',\n description: 'Context identifier (e.g., code-review, data-analysis)'\n }\n },\n required: ['trajectoryId', 'contextId']\n }\n },\n\n {\n name: 'sona_trajectory_end',\n description: 'End a trajectory with final quality score. Triggers learning if capacity threshold reached.',\n inputSchema: {\n type: 'object',\n properties: {\n trajectoryId: {\n type: 'string',\n description: 'Trajectory ID'\n },\n qualityScore: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n description: 'Overall quality score (0-1)'\n }\n },\n required: ['trajectoryId', 'qualityScore']\n }\n },\n\n {\n name: 'sona_trajectory_list',\n description: 'List all active trajectories.',\n inputSchema: {\n type: 'object',\n properties: {\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'Filter by profile (optional)'\n }\n }\n }\n },\n\n // Pattern Discovery\n {\n name: 'sona_pattern_find',\n description: 'Find similar patterns using k-NN search. Recommended k=3 for 761 decisions/sec throughput.',\n inputSchema: {\n type: 'object',\n properties: {\n query: {\n type: 'array',\n items: { type: 'number' },\n description: 'Query embedding vector'\n },\n k: {\n type: 'number',\n default: 3,\n minimum: 1,\n maximum: 20,\n description: 'Number of patterns to retrieve (default: 3)'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n },\n required: ['query']\n }\n },\n\n // LoRA Application\n {\n name: 'sona_apply_micro_lora',\n description: 'Apply Micro-LoRA adaptation to input vector. Sub-millisecond latency.',\n inputSchema: {\n type: 'object',\n properties: {\n input: {\n type: 'array',\n items: { type: 'number' },\n description: 'Input vector (3072D for Phi-4)'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n },\n required: ['input']\n }\n },\n\n {\n name: 'sona_apply_base_lora',\n description: 'Apply Base-LoRA adaptation to layer. 0.452ms per-layer cost.',\n inputSchema: {\n type: 'object',\n properties: {\n layerIndex: {\n type: 'number',\n minimum: 0,\n maximum: 39,\n description: 'Layer index (0-39 for Phi-4)'\n },\n input: {\n type: 'array',\n items: { type: 'number' },\n description: 'Input vector (3072D for Phi-4)'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n },\n required: ['layerIndex', 'input']\n }\n },\n\n // Learning Control\n {\n name: 'sona_force_learn',\n description: 'Force learning cycle. Recommended when trajectory capacity reaches 80% utilization.',\n inputSchema: {\n type: 'object',\n properties: {\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n }\n }\n },\n\n // Statistics & Monitoring\n {\n name: 'sona_get_stats',\n description: 'Get SONA service statistics including trajectories, performance, and configuration.',\n inputSchema: {\n type: 'object',\n properties: {\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n },\n engineStats: {\n type: 'boolean',\n default: false,\n description: 'Include engine-level statistics'\n }\n }\n }\n },\n\n // Profile Management\n {\n name: 'sona_get_profile',\n description: 'Get SONA profile configuration details.',\n inputSchema: {\n type: 'object',\n properties: {\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'Profile name'\n }\n },\n required: ['profile']\n }\n },\n\n {\n name: 'sona_list_profiles',\n description: 'List all available SONA profiles with their characteristics.',\n inputSchema: {\n type: 'object',\n properties: {}\n }\n },\n\n // Engine Control\n {\n name: 'sona_set_enabled',\n description: 'Enable or disable SONA engine.',\n inputSchema: {\n type: 'object',\n properties: {\n enabled: {\n type: 'boolean',\n description: 'Enable (true) or disable (false)'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n },\n required: ['enabled']\n }\n },\n\n // Benchmarking\n {\n name: 'sona_benchmark',\n description: 'Run SONA performance benchmark. Expected: 2211 ops/sec, <0.5ms latency.',\n inputSchema: {\n type: 'object',\n properties: {\n iterations: {\n type: 'number',\n default: 1000,\n minimum: 100,\n maximum: 10000,\n description: 'Number of benchmark iterations'\n },\n profile: {\n type: 'string',\n enum: ['real-time', 'batch', 'research', 'edge', 'balanced'],\n description: 'SONA profile (default: balanced)'\n }\n }\n }\n }\n];\n\n/**\n * MCP Tool Handlers\n */\nexport const sonaMCPHandlers = {\n sona_trajectory_begin: async (params: {\n embedding: number[];\n route?: string;\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const trajectoryId = service.beginTrajectory(params.embedding, params.route);\n\n return {\n success: true,\n trajectoryId,\n route: params.route,\n profile: params.profile || 'balanced'\n };\n },\n\n sona_trajectory_step: async (params: {\n trajectoryId: string;\n activations: number[];\n attentionWeights: number[];\n reward: number;\n }) => {\n // Convert string ID to number for SONA service\n const trajectoryIdNum = parseInt(params.trajectoryId, 10);\n sonaService.addTrajectoryStep(\n trajectoryIdNum,\n params.activations,\n params.attentionWeights,\n params.reward\n );\n\n return {\n success: true,\n trajectoryId: params.trajectoryId,\n reward: params.reward\n };\n },\n\n sona_trajectory_context: async (params: {\n trajectoryId: string;\n contextId: string;\n }) => {\n // Convert string ID to number for SONA service\n const trajectoryIdNum = parseInt(params.trajectoryId, 10);\n sonaService.addTrajectoryContext(trajectoryIdNum, params.contextId);\n\n return {\n success: true,\n trajectoryId: params.trajectoryId,\n contextId: params.contextId\n };\n },\n\n sona_trajectory_end: async (params: {\n trajectoryId: string;\n qualityScore: number;\n }) => {\n // Convert string ID to number for SONA service\n const trajectoryIdNum = parseInt(params.trajectoryId, 10);\n sonaService.endTrajectory(trajectoryIdNum, params.qualityScore);\n\n const stats = sonaService.getStats();\n\n return {\n success: true,\n trajectoryId: params.trajectoryId,\n qualityScore: params.qualityScore,\n learningTriggered: stats.trajectoryUtilization >= 0.8\n };\n },\n\n sona_trajectory_list: async (params: { profile?: SONAProfile }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const active = service.getActiveTrajectories();\n\n return {\n count: active.length,\n trajectories: active.map(t => ({\n id: t.id,\n route: t.route,\n steps: t.steps.length,\n contexts: t.contexts.length,\n durationMs: Date.now() - t.startTime\n }))\n };\n },\n\n sona_pattern_find: async (params: {\n query: number[];\n k?: number;\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const patterns = service.findPatterns(params.query, params.k || 3);\n\n return {\n count: patterns.length,\n patterns: patterns.map(p => ({\n id: p.id,\n patternType: p.patternType,\n clusterSize: p.clusterSize,\n avgQuality: p.avgQuality,\n similarity: p.similarity\n }))\n };\n },\n\n sona_apply_micro_lora: async (params: {\n input: number[];\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const start = Date.now();\n const output = service.applyMicroLora(params.input);\n const latencyMs = Date.now() - start;\n\n return {\n output,\n latencyMs,\n inputDim: params.input.length,\n outputDim: output.length\n };\n },\n\n sona_apply_base_lora: async (params: {\n layerIndex: number;\n input: number[];\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const start = Date.now();\n const output = service.applyBaseLora(params.layerIndex, params.input);\n const latencyMs = Date.now() - start;\n\n return {\n output,\n latencyMs,\n layerIndex: params.layerIndex,\n inputDim: params.input.length,\n outputDim: output.length\n };\n },\n\n sona_force_learn: async (params: { profile?: SONAProfile }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const result = service.forceLearn();\n\n return {\n success: result.success,\n patternsLearned: result.patternsLearned,\n profile: params.profile || 'balanced'\n };\n },\n\n sona_get_stats: async (params: {\n profile?: SONAProfile;\n engineStats?: boolean;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const stats = service.getStats();\n\n const result: any = {\n profile: params.profile || 'balanced',\n trajectories: {\n total: stats.totalTrajectories,\n active: stats.activeTrajectories,\n completed: stats.completedTrajectories,\n utilization: stats.trajectoryUtilization\n },\n performance: {\n avgQualityScore: stats.avgQualityScore,\n totalOpsProcessed: stats.totalOpsProcessed,\n opsPerSecond: stats.opsPerSecond,\n learningCycles: stats.totalLearningCycles\n },\n configuration: stats.config\n };\n\n if (params.engineStats) {\n result.engineStats = service.getEngineStats();\n }\n\n return result;\n },\n\n sona_get_profile: async (params: { profile: SONAProfile }) => {\n const service = sonaServices[params.profile];\n if (!service) {\n throw new Error(`Unknown profile: ${params.profile}`);\n }\n\n const stats = service.getStats();\n\n return {\n profile: params.profile,\n configuration: stats.config,\n characteristics: getProfileCharacteristics(params.profile)\n };\n },\n\n sona_list_profiles: async () => {\n return {\n profiles: [\n {\n name: 'real-time',\n description: '2200 ops/sec, <0.5ms latency',\n config: 'Rank-2, 25 clusters, 0.7 threshold',\n useCase: 'Low-latency applications'\n },\n {\n name: 'batch',\n description: 'Balance throughput and adaptation',\n config: 'Rank-2, rank-8, 5000 capacity',\n useCase: 'Batch processing workflows'\n },\n {\n name: 'research',\n description: '+55% quality improvement',\n config: 'Rank-16 base, LR 0.002, 0.2 threshold',\n useCase: 'Maximum quality, research'\n },\n {\n name: 'edge',\n description: '<5MB memory footprint',\n config: 'Rank-1, 200 capacity, 15 clusters',\n useCase: 'Edge devices, mobile'\n },\n {\n name: 'balanced',\n description: '18ms overhead, +25% quality',\n config: 'Rank-2, rank-8, 0.4 threshold',\n useCase: 'General-purpose (default)'\n }\n ]\n };\n },\n\n sona_set_enabled: async (params: {\n enabled: boolean;\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n service.setEnabled(params.enabled);\n\n return {\n success: true,\n enabled: params.enabled,\n profile: params.profile || 'balanced'\n };\n },\n\n sona_benchmark: async (params: {\n iterations?: number;\n profile?: SONAProfile;\n }) => {\n const service = params.profile ? sonaServices[params.profile] : sonaService;\n const iterations = params.iterations || 1000;\n\n // Benchmark Micro-LoRA\n const input = Array.from({ length: 3072 }, () => Math.random());\n const startMicro = Date.now();\n\n for (let i = 0; i < iterations; i++) {\n service.applyMicroLora(input);\n }\n\n const microTime = Date.now() - startMicro;\n const microLatency = microTime / iterations;\n const microOpsPerSec = (iterations / microTime) * 1000;\n\n // Benchmark Base-LoRA\n const startBase = Date.now();\n\n for (let i = 0; i < iterations; i++) {\n service.applyBaseLora(10, input);\n }\n\n const baseTime = Date.now() - startBase;\n const baseLatency = baseTime / iterations;\n const baseOpsPerSec = (iterations / baseTime) * 1000;\n\n return {\n iterations,\n profile: params.profile || 'balanced',\n microLora: {\n totalTimeMs: microTime,\n avgLatencyMs: microLatency,\n opsPerSec: microOpsPerSec\n },\n baseLora: {\n totalTimeMs: baseTime,\n avgLatencyMs: baseLatency,\n opsPerSec: baseOpsPerSec\n },\n expected: {\n targetThroughput: 2211,\n targetLatency: 0.5,\n perLayerCost: 0.452\n },\n meetsTarget: microOpsPerSec >= 1000\n };\n }\n};\n\n/**\n * Get profile characteristics\n */\nfunction getProfileCharacteristics(profile: SONAProfile): any {\n const characteristics: Record<SONAProfile, any> = {\n 'real-time': {\n throughput: '2200 ops/sec',\n latency: '<0.5ms',\n memory: '~20MB',\n qualityGain: '+15%'\n },\n 'batch': {\n throughput: '1800 ops/sec',\n latency: '~1ms',\n memory: '~50MB',\n qualityGain: '+25%'\n },\n 'research': {\n throughput: '1000 ops/sec',\n latency: '~2ms',\n memory: '~100MB',\n qualityGain: '+55%'\n },\n 'edge': {\n throughput: '500 ops/sec',\n latency: '~2ms',\n memory: '<5MB',\n qualityGain: '+10%'\n },\n 'balanced': {\n throughput: '1500 ops/sec',\n latency: '~1ms',\n memory: '~50MB',\n qualityGain: '+25%'\n },\n 'custom': {\n throughput: 'configurable',\n latency: 'configurable',\n memory: 'configurable',\n qualityGain: 'configurable'\n }\n };\n\n return characteristics[profile];\n}\n\nexport default sonaMCPTools;\n"]}
@@ -18,7 +18,19 @@
18
18
  * const embedder = pool.getEmbedder();
19
19
  * ```
20
20
  */
21
- import { EmbeddingService } from 'agentdb/controllers';
21
+ import { Database as DatabaseInstance } from 'better-sqlite3';
22
+ declare class EmbeddingService {
23
+ private model;
24
+ private dimension;
25
+ constructor(config: {
26
+ model?: string;
27
+ dimension?: number;
28
+ cacheSize?: number;
29
+ provider?: string;
30
+ });
31
+ embed(text: string): Promise<Float32Array>;
32
+ initialize(): Promise<void>;
33
+ }
22
34
  export interface SharedMemoryPoolConfig {
23
35
  dbPath?: string;
24
36
  cacheSize?: number;
@@ -50,7 +62,7 @@ export declare class SharedMemoryPool {
50
62
  /**
51
63
  * Get shared database connection
52
64
  */
53
- getDatabase(): Database.Database;
65
+ getDatabase(): DatabaseInstance;
54
66
  /**
55
67
  * Get shared embedding service
56
68
  */
@@ -89,7 +101,7 @@ export declare class SharedMemoryPool {
89
101
  path: string;
90
102
  size: any;
91
103
  tables: any;
92
- walMode: any;
104
+ walMode: unknown;
93
105
  };
94
106
  cache: {
95
107
  queryCacheSize: number;
@@ -113,4 +125,5 @@ export declare class SharedMemoryPool {
113
125
  close(): void;
114
126
  }
115
127
  export declare const getSharedMemoryPool: typeof SharedMemoryPool.getInstance;
128
+ export {};
116
129
  //# sourceMappingURL=SharedMemoryPool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SharedMemoryPool.d.ts","sourceRoot":"","sources":["../../src/memory/SharedMemoryPool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AASvD,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO;IAqCP;;OAEG;WACW,WAAW,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,gBAAgB;IAO5E;;OAEG;WACW,aAAa,IAAI,IAAI;IAOnC;;OAEG;IACU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/C;;OAEG;IACI,WAAW,IAAI,QAAQ,CAAC,QAAQ;IAIvC;;OAEG;IACI,WAAW,IAAI,gBAAgB;IAItC;;;;;OAKG;IACU,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBpE;;;;;;OAMG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAE,MAAc,GAAG,IAAI;IAetE;;;;;OAKG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAY9C;;OAEG;IACI,WAAW,IAAI,IAAI;IAK1B;;OAEG;IACI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;IAgCf;;OAEG;IACI,KAAK,IAAI,IAAI;CAKrB;AAGD,eAAO,MAAM,mBAAmB,qCAA+B,CAAC"}
1
+ {"version":3,"file":"SharedMemoryPool.d.ts","sourceRoot":"","sources":["../../src/memory/SharedMemoryPool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAiB,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAMxE,cAAM,gBAAgB;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAK3F,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAqB1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAClC;AAOD,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,EAAE,CAAmB;IAC7B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO;IAqCP;;OAEG;WACW,WAAW,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,gBAAgB;IAO5E;;OAEG;WACW,aAAa,IAAI,IAAI;IAOnC;;OAEG;IACU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/C;;OAEG;IACI,WAAW,IAAI,gBAAgB;IAItC;;OAEG;IACI,WAAW,IAAI,gBAAgB;IAItC;;;;;OAKG;IACU,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBpE;;;;;;OAMG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAE,MAAc,GAAG,IAAI;IAetE;;;;;OAKG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAY9C;;OAEG;IACI,WAAW,IAAI,IAAI;IAK1B;;OAEG;IACI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;IAgCf;;OAEG;IACI,KAAK,IAAI,IAAI;CAKrB;AAGD,eAAO,MAAM,mBAAmB,qCAA+B,CAAC"}
@@ -18,9 +18,41 @@
18
18
  * const embedder = pool.getEmbedder();
19
19
  * ```
20
20
  */
21
- import { EmbeddingService } from 'agentdb/controllers';
21
+ // Use better-sqlite3 for local SQLite
22
+ import Database from 'better-sqlite3';
22
23
  import * as path from 'path';
23
24
  import * as fs from 'fs';
25
+ // Stub implementation for EmbeddingService
26
+ // TODO: Replace with actual import when agentdb v3.x is released
27
+ class EmbeddingService {
28
+ model;
29
+ dimension;
30
+ constructor(config) {
31
+ this.model = config.model || 'mock';
32
+ this.dimension = config.dimension || 384;
33
+ }
34
+ async embed(text) {
35
+ // Simple hash-based mock embedding
36
+ const embedding = new Float32Array(this.dimension);
37
+ let hash = 0;
38
+ for (let i = 0; i < text.length; i++) {
39
+ hash = (hash << 5) - hash + text.charCodeAt(i);
40
+ hash = hash & hash;
41
+ }
42
+ for (let i = 0; i < this.dimension; i++) {
43
+ const seed = hash + i * 2654435761;
44
+ const x = Math.sin(seed) * 10000;
45
+ embedding[i] = x - Math.floor(x);
46
+ }
47
+ // Normalize
48
+ const norm = Math.sqrt(embedding.reduce((sum, v) => sum + v * v, 0));
49
+ for (let i = 0; i < this.dimension; i++) {
50
+ embedding[i] /= norm;
51
+ }
52
+ return embedding;
53
+ }
54
+ async initialize() { }
55
+ }
24
56
  export class SharedMemoryPool {
25
57
  static instance;
26
58
  db;