@nxuss/lemma 1.40.0 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/README.md +45 -14
  2. package/bin/brain-ingest.js +41 -0
  3. package/bin/init.js +92 -92
  4. package/bin/postinstall.js +58 -4
  5. package/dashboard/dist/assets/index-Ca05LJvs.js +453 -0
  6. package/dashboard/dist/assets/{index-DNTQXLER.css → index-DdEVyDRj.css} +1 -1
  7. package/dashboard/dist/index.html +2 -2
  8. package/dist/cjs/cli/hostHooks.d.ts +14 -1
  9. package/dist/cjs/cli/hostHooks.d.ts.map +1 -1
  10. package/dist/cjs/cli/hostHooks.js +53 -6
  11. package/dist/cjs/cli/hostHooks.js.map +1 -1
  12. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  13. package/dist/cjs/cli/lemma-proxy.js +29 -10
  14. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  15. package/dist/cjs/contracts/evidence.d.ts +8 -1
  16. package/dist/cjs/contracts/evidence.d.ts.map +1 -1
  17. package/dist/cjs/mcp/index.js +19 -0
  18. package/dist/cjs/mcp/index.js.map +1 -1
  19. package/dist/cjs/mcp/prompts.d.ts +1 -1
  20. package/dist/cjs/mcp/prompts.d.ts.map +1 -1
  21. package/dist/cjs/mcp/prompts.js +6 -16
  22. package/dist/cjs/mcp/prompts.js.map +1 -1
  23. package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
  24. package/dist/cjs/mcp/tool-profiles.js +8 -4
  25. package/dist/cjs/mcp/tool-profiles.js.map +1 -1
  26. package/dist/cjs/mcp/tools/context-tools.d.ts.map +1 -1
  27. package/dist/cjs/mcp/tools/context-tools.js +21 -17
  28. package/dist/cjs/mcp/tools/context-tools.js.map +1 -1
  29. package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
  30. package/dist/cjs/mcp/tools/memory.js +25 -4
  31. package/dist/cjs/mcp/tools/memory.js.map +1 -1
  32. package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -1
  33. package/dist/cjs/mcp/tools/workspace.js +97 -54
  34. package/dist/cjs/mcp/tools/workspace.js.map +1 -1
  35. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  36. package/dist/cjs/mcp/tools.js +95 -34
  37. package/dist/cjs/mcp/tools.js.map +1 -1
  38. package/dist/cjs/mcp/utils.d.ts.map +1 -1
  39. package/dist/cjs/mcp/utils.js +6 -1
  40. package/dist/cjs/mcp/utils.js.map +1 -1
  41. package/dist/cjs/mcp/workspaceShared.d.ts.map +1 -1
  42. package/dist/cjs/mcp/workspaceShared.js +14 -9
  43. package/dist/cjs/mcp/workspaceShared.js.map +1 -1
  44. package/dist/cjs/proxy/KeyManager.d.ts +10 -0
  45. package/dist/cjs/proxy/KeyManager.d.ts.map +1 -1
  46. package/dist/cjs/proxy/KeyManager.js +45 -8
  47. package/dist/cjs/proxy/KeyManager.js.map +1 -1
  48. package/dist/cjs/security/SemanticScrubber.d.ts.map +1 -1
  49. package/dist/cjs/security/SemanticScrubber.js +19 -1
  50. package/dist/cjs/security/SemanticScrubber.js.map +1 -1
  51. package/dist/cjs/subconscious/HostRecall.d.ts +7 -5
  52. package/dist/cjs/subconscious/HostRecall.d.ts.map +1 -1
  53. package/dist/cjs/subconscious/HostRecall.js +115 -13
  54. package/dist/cjs/subconscious/HostRecall.js.map +1 -1
  55. package/dist/cjs/subconscious/TheBrainV2.d.ts +6 -1
  56. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  57. package/dist/cjs/subconscious/TheBrainV2.js +21 -9
  58. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  59. package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts +3 -0
  60. package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
  61. package/dist/cjs/subconscious/freshness/LocalFsResolver.js +32 -14
  62. package/dist/cjs/subconscious/freshness/LocalFsResolver.js.map +1 -1
  63. package/dist/cjs/utils/CommandOutputDistiller.d.ts +10 -0
  64. package/dist/cjs/utils/CommandOutputDistiller.d.ts.map +1 -1
  65. package/dist/cjs/utils/CommandOutputDistiller.js +40 -2
  66. package/dist/cjs/utils/CommandOutputDistiller.js.map +1 -1
  67. package/dist/cjs/utils/ContextSqueezer.d.ts +13 -1
  68. package/dist/cjs/utils/ContextSqueezer.d.ts.map +1 -1
  69. package/dist/cjs/utils/ContextSqueezer.js +176 -3
  70. package/dist/cjs/utils/ContextSqueezer.js.map +1 -1
  71. package/dist/cjs/utils/FixCapture.d.ts.map +1 -1
  72. package/dist/cjs/utils/FixCapture.js +56 -0
  73. package/dist/cjs/utils/FixCapture.js.map +1 -1
  74. package/dist/cjs/utils/LineNumberMap.d.ts.map +1 -1
  75. package/dist/cjs/utils/LineNumberMap.js +27 -0
  76. package/dist/cjs/utils/LineNumberMap.js.map +1 -1
  77. package/dist/cjs/utils/PatchMatcher.d.ts.map +1 -1
  78. package/dist/cjs/utils/PatchMatcher.js +26 -0
  79. package/dist/cjs/utils/PatchMatcher.js.map +1 -1
  80. package/dist/cjs/utils/ProLicense.d.ts +2 -0
  81. package/dist/cjs/utils/ProLicense.d.ts.map +1 -0
  82. package/dist/cjs/utils/ProLicense.js +31 -0
  83. package/dist/cjs/utils/ProLicense.js.map +1 -0
  84. package/dist/cjs/utils/RevivalThrottle.d.ts +9 -0
  85. package/dist/cjs/utils/RevivalThrottle.d.ts.map +1 -0
  86. package/dist/cjs/utils/RevivalThrottle.js +25 -0
  87. package/dist/cjs/utils/RevivalThrottle.js.map +1 -0
  88. package/dist/cjs/utils/SavingsLedger.d.ts +58 -18
  89. package/dist/cjs/utils/SavingsLedger.d.ts.map +1 -1
  90. package/dist/cjs/utils/SavingsLedger.js +332 -179
  91. package/dist/cjs/utils/SavingsLedger.js.map +1 -1
  92. package/dist/cjs/utils/SearchCache.d.ts +2 -2
  93. package/dist/cjs/utils/SearchCache.d.ts.map +1 -1
  94. package/dist/cjs/utils/SearchCache.js +8 -6
  95. package/dist/cjs/utils/SearchCache.js.map +1 -1
  96. package/dist/cjs/utils/SessionCapture.d.ts +65 -0
  97. package/dist/cjs/utils/SessionCapture.d.ts.map +1 -0
  98. package/dist/cjs/utils/SessionCapture.js +339 -0
  99. package/dist/cjs/utils/SessionCapture.js.map +1 -0
  100. package/dist/cjs/utils/StaleDelta.d.ts +2 -0
  101. package/dist/cjs/utils/StaleDelta.d.ts.map +1 -0
  102. package/dist/cjs/utils/StaleDelta.js +60 -0
  103. package/dist/cjs/utils/StaleDelta.js.map +1 -0
  104. package/dist/cjs/utils/TokenBudgetedReader.d.ts.map +1 -1
  105. package/dist/cjs/utils/TokenBudgetedReader.js +56 -15
  106. package/dist/cjs/utils/TokenBudgetedReader.js.map +1 -1
  107. package/dist/cjs/utils/WorkspaceSearch.d.ts +8 -1
  108. package/dist/cjs/utils/WorkspaceSearch.d.ts.map +1 -1
  109. package/dist/cjs/utils/WorkspaceSearch.js +75 -5
  110. package/dist/cjs/utils/WorkspaceSearch.js.map +1 -1
  111. package/dist/cjs/utils/reportSavings.d.ts +3 -0
  112. package/dist/cjs/utils/reportSavings.d.ts.map +1 -1
  113. package/dist/cjs/utils/reportSavings.js +44 -5
  114. package/dist/cjs/utils/reportSavings.js.map +1 -1
  115. package/dist/esm/cli/hostHooks.d.ts +14 -1
  116. package/dist/esm/cli/hostHooks.d.ts.map +1 -1
  117. package/dist/esm/cli/hostHooks.js +52 -5
  118. package/dist/esm/cli/hostHooks.js.map +1 -1
  119. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  120. package/dist/esm/cli/lemma-proxy.js +30 -11
  121. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  122. package/dist/esm/contracts/evidence.d.ts +8 -1
  123. package/dist/esm/contracts/evidence.d.ts.map +1 -1
  124. package/dist/esm/mcp/index.js +20 -1
  125. package/dist/esm/mcp/index.js.map +1 -1
  126. package/dist/esm/mcp/prompts.d.ts +1 -1
  127. package/dist/esm/mcp/prompts.d.ts.map +1 -1
  128. package/dist/esm/mcp/prompts.js +6 -16
  129. package/dist/esm/mcp/prompts.js.map +1 -1
  130. package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
  131. package/dist/esm/mcp/tool-profiles.js +8 -4
  132. package/dist/esm/mcp/tool-profiles.js.map +1 -1
  133. package/dist/esm/mcp/tools/context-tools.d.ts.map +1 -1
  134. package/dist/esm/mcp/tools/context-tools.js +21 -17
  135. package/dist/esm/mcp/tools/context-tools.js.map +1 -1
  136. package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
  137. package/dist/esm/mcp/tools/memory.js +26 -5
  138. package/dist/esm/mcp/tools/memory.js.map +1 -1
  139. package/dist/esm/mcp/tools/workspace.d.ts.map +1 -1
  140. package/dist/esm/mcp/tools/workspace.js +98 -55
  141. package/dist/esm/mcp/tools/workspace.js.map +1 -1
  142. package/dist/esm/mcp/tools.d.ts.map +1 -1
  143. package/dist/esm/mcp/tools.js +94 -33
  144. package/dist/esm/mcp/tools.js.map +1 -1
  145. package/dist/esm/mcp/utils.d.ts.map +1 -1
  146. package/dist/esm/mcp/utils.js +6 -1
  147. package/dist/esm/mcp/utils.js.map +1 -1
  148. package/dist/esm/mcp/workspaceShared.d.ts.map +1 -1
  149. package/dist/esm/mcp/workspaceShared.js +14 -9
  150. package/dist/esm/mcp/workspaceShared.js.map +1 -1
  151. package/dist/esm/proxy/KeyManager.d.ts +10 -0
  152. package/dist/esm/proxy/KeyManager.d.ts.map +1 -1
  153. package/dist/esm/proxy/KeyManager.js +43 -6
  154. package/dist/esm/proxy/KeyManager.js.map +1 -1
  155. package/dist/esm/security/SemanticScrubber.d.ts.map +1 -1
  156. package/dist/esm/security/SemanticScrubber.js +19 -1
  157. package/dist/esm/security/SemanticScrubber.js.map +1 -1
  158. package/dist/esm/subconscious/HostRecall.d.ts +7 -5
  159. package/dist/esm/subconscious/HostRecall.d.ts.map +1 -1
  160. package/dist/esm/subconscious/HostRecall.js +115 -14
  161. package/dist/esm/subconscious/HostRecall.js.map +1 -1
  162. package/dist/esm/subconscious/TheBrainV2.d.ts +6 -1
  163. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  164. package/dist/esm/subconscious/TheBrainV2.js +21 -9
  165. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  166. package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts +3 -0
  167. package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
  168. package/dist/esm/subconscious/freshness/LocalFsResolver.js +32 -14
  169. package/dist/esm/subconscious/freshness/LocalFsResolver.js.map +1 -1
  170. package/dist/esm/utils/CommandOutputDistiller.d.ts +10 -0
  171. package/dist/esm/utils/CommandOutputDistiller.d.ts.map +1 -1
  172. package/dist/esm/utils/CommandOutputDistiller.js +39 -2
  173. package/dist/esm/utils/CommandOutputDistiller.js.map +1 -1
  174. package/dist/esm/utils/ContextSqueezer.d.ts +13 -1
  175. package/dist/esm/utils/ContextSqueezer.d.ts.map +1 -1
  176. package/dist/esm/utils/ContextSqueezer.js +175 -3
  177. package/dist/esm/utils/ContextSqueezer.js.map +1 -1
  178. package/dist/esm/utils/FixCapture.d.ts.map +1 -1
  179. package/dist/esm/utils/FixCapture.js +56 -0
  180. package/dist/esm/utils/FixCapture.js.map +1 -1
  181. package/dist/esm/utils/LineNumberMap.d.ts.map +1 -1
  182. package/dist/esm/utils/LineNumberMap.js +27 -0
  183. package/dist/esm/utils/LineNumberMap.js.map +1 -1
  184. package/dist/esm/utils/PatchMatcher.d.ts.map +1 -1
  185. package/dist/esm/utils/PatchMatcher.js +26 -0
  186. package/dist/esm/utils/PatchMatcher.js.map +1 -1
  187. package/dist/esm/utils/ProLicense.d.ts +2 -0
  188. package/dist/esm/utils/ProLicense.d.ts.map +1 -0
  189. package/dist/esm/utils/ProLicense.js +25 -0
  190. package/dist/esm/utils/ProLicense.js.map +1 -0
  191. package/dist/esm/utils/RevivalThrottle.d.ts +9 -0
  192. package/dist/esm/utils/RevivalThrottle.d.ts.map +1 -0
  193. package/dist/esm/utils/RevivalThrottle.js +22 -0
  194. package/dist/esm/utils/RevivalThrottle.js.map +1 -0
  195. package/dist/esm/utils/SavingsLedger.d.ts +58 -18
  196. package/dist/esm/utils/SavingsLedger.d.ts.map +1 -1
  197. package/dist/esm/utils/SavingsLedger.js +332 -179
  198. package/dist/esm/utils/SavingsLedger.js.map +1 -1
  199. package/dist/esm/utils/SearchCache.d.ts +2 -2
  200. package/dist/esm/utils/SearchCache.d.ts.map +1 -1
  201. package/dist/esm/utils/SearchCache.js +8 -6
  202. package/dist/esm/utils/SearchCache.js.map +1 -1
  203. package/dist/esm/utils/SessionCapture.d.ts +65 -0
  204. package/dist/esm/utils/SessionCapture.d.ts.map +1 -0
  205. package/dist/esm/utils/SessionCapture.js +328 -0
  206. package/dist/esm/utils/SessionCapture.js.map +1 -0
  207. package/dist/esm/utils/StaleDelta.d.ts +2 -0
  208. package/dist/esm/utils/StaleDelta.d.ts.map +1 -0
  209. package/dist/esm/utils/StaleDelta.js +54 -0
  210. package/dist/esm/utils/StaleDelta.js.map +1 -0
  211. package/dist/esm/utils/TokenBudgetedReader.d.ts.map +1 -1
  212. package/dist/esm/utils/TokenBudgetedReader.js +56 -15
  213. package/dist/esm/utils/TokenBudgetedReader.js.map +1 -1
  214. package/dist/esm/utils/WorkspaceSearch.d.ts +8 -1
  215. package/dist/esm/utils/WorkspaceSearch.d.ts.map +1 -1
  216. package/dist/esm/utils/WorkspaceSearch.js +74 -5
  217. package/dist/esm/utils/WorkspaceSearch.js.map +1 -1
  218. package/dist/esm/utils/reportSavings.d.ts +3 -0
  219. package/dist/esm/utils/reportSavings.d.ts.map +1 -1
  220. package/dist/esm/utils/reportSavings.js +42 -5
  221. package/dist/esm/utils/reportSavings.js.map +1 -1
  222. package/package.json +4 -4
  223. package/dashboard/dist/assets/index-DzL_Zu3m.js +0 -452
  224. package/dist/cjs/examples/basic-usage.d.ts +0 -12
  225. package/dist/cjs/examples/basic-usage.d.ts.map +0 -1
  226. package/dist/cjs/examples/basic-usage.js +0 -128
  227. package/dist/cjs/examples/basic-usage.js.map +0 -1
  228. package/dist/esm/examples/basic-usage.d.ts +0 -12
  229. package/dist/esm/examples/basic-usage.d.ts.map +0 -1
  230. package/dist/esm/examples/basic-usage.js +0 -126
  231. package/dist/esm/examples/basic-usage.js.map +0 -1
@@ -1,12 +0,0 @@
1
- /**
2
- * Basic Usage Example for Subconscious Semantic Engine
3
- *
4
- * This example demonstrates:
5
- * 1. Initializing the engine
6
- * 2. Intercepting tasks for cache checks
7
- * 3. Storing results for future caching
8
- * 4. Monitoring metrics
9
- */
10
- declare function main(): Promise<void>;
11
- export { main };
12
- //# sourceMappingURL=basic-usage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basic-usage.d.ts","sourceRoot":"","sources":["../../../src/examples/basic-usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,iBAAe,IAAI,kBA6HlB;AAWD,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -1,128 +0,0 @@
1
- "use strict";
2
- /**
3
- * Basic Usage Example for Subconscious Semantic Engine
4
- *
5
- * This example demonstrates:
6
- * 1. Initializing the engine
7
- * 2. Intercepting tasks for cache checks
8
- * 3. Storing results for future caching
9
- * 4. Monitoring metrics
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.main = main;
13
- const subconscious_1 = require("../subconscious");
14
- async function main() {
15
- console.log('=== Subconscious Engine Demo ===\n');
16
- // 1. Create and initialize the engine
17
- const engine = new subconscious_1.SubconsciousEngine({
18
- chromaUrl: 'http://localhost:8000',
19
- ollamaUrl: 'http://localhost:11434',
20
- model: 'llama3',
21
- threshold: 0.95,
22
- enableBackgroundVectorization: true,
23
- });
24
- // Listen to events
25
- engine.on('cacheHit', (data) => {
26
- console.log(`🎯 Cache Hit! Similarity: ${data.similarity?.toFixed(4)}`);
27
- });
28
- engine.on('cacheMiss', (data) => {
29
- console.log(`❌ Cache Miss for task: ${data.taskId}`);
30
- });
31
- engine.on('backgroundVectorized', (data) => {
32
- console.log(`📦 Background vectorized: ${data.taskId}`);
33
- });
34
- try {
35
- await engine.initialize();
36
- console.log('✓ Engine initialized\n');
37
- // 2. Simulate first task (will be a cache miss)
38
- console.log('--- Task 1: First Request ---');
39
- const task1 = {
40
- id: 'task-001',
41
- description: 'Calculate the sum of numbers from 1 to 100',
42
- metadata: { agent: 'math-agent', priority: 'high' },
43
- };
44
- let cacheResult = await engine.interceptTask(task1);
45
- if (!cacheResult.hit) {
46
- // Simulate agent processing
47
- console.log('⚙️ Processing with agent...');
48
- await sleep(1000); // Simulate 1 second of processing
49
- const result = { answer: 5050, computation_time: '1000ms' };
50
- // Store the result
51
- await engine.storeResult(task1, result);
52
- console.log('✓ Result stored\n');
53
- }
54
- // 3. Simulate similar task (should be a cache hit)
55
- console.log('--- Task 2: Similar Request ---');
56
- const task2 = {
57
- id: 'task-002',
58
- description: 'What is the sum of integers from 1 to 100?',
59
- metadata: { agent: 'math-agent', priority: 'medium' },
60
- };
61
- cacheResult = await engine.interceptTask(task2);
62
- if (cacheResult.hit) {
63
- console.log(`✓ Returned cached result in ${cacheResult.latencyMs}ms`);
64
- console.log(`📊 Result:`, cacheResult.result);
65
- }
66
- else {
67
- console.log('Processing with agent...');
68
- await sleep(1000);
69
- const result = { answer: 5050, computation_time: '1000ms' };
70
- await engine.storeResult(task2, result);
71
- }
72
- // 4. Simulate different task (will be a cache miss)
73
- console.log('\n--- Task 3: Different Request ---');
74
- const task3 = {
75
- id: 'task-003',
76
- description: 'Generate a random UUID',
77
- metadata: { agent: 'utility-agent' },
78
- };
79
- cacheResult = await engine.interceptTask(task3);
80
- if (!cacheResult.hit) {
81
- console.log('⚙️ Processing with agent...');
82
- await sleep(500);
83
- const result = { uuid: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890' };
84
- await engine.storeResult(task3, result);
85
- console.log('✓ Result stored\n');
86
- }
87
- // 5. Wait for background vectorization to complete
88
- console.log('--- Waiting for background processing ---');
89
- await sleep(2000);
90
- // 6. Display metrics
91
- console.log('\n--- Engine Metrics ---');
92
- const metrics = await engine.getMetrics();
93
- console.log(`Total Tasks: ${metrics.totalTasks}`);
94
- console.log(`Cache Hits: ${metrics.cacheHits}`);
95
- console.log(`Cache Misses: ${metrics.cacheMisses}`);
96
- console.log(`Hit Rate: ${(metrics.hitRate * 100).toFixed(2)}%`);
97
- console.log(`Avg Cache Latency: ${metrics.avgCacheLatencyMs}ms`);
98
- console.log(`Avg Miss Latency: ${metrics.avgMissLatencyMs}ms`);
99
- console.log(`Total Cached Tasks: ${metrics.totalCachedTasks}`);
100
- console.log(`Background Queue Size: ${metrics.backgroundQueueSize}`);
101
- // 7. Demonstrate cost savings
102
- console.log('\n--- Cost Savings Analysis ---');
103
- const avgAgentLatency = 1000; // 1 second per agent call
104
- const timeSaved = metrics.cacheHits * avgAgentLatency;
105
- const costPerToken = 0.0001; // Example: $0.0001 per token
106
- const tokensPerRequest = 500; // Example: 500 tokens per request
107
- const costSaved = metrics.cacheHits * tokensPerRequest * costPerToken;
108
- console.log(`Time Saved: ${timeSaved}ms (${(timeSaved / 1000).toFixed(2)}s)`);
109
- console.log(`Estimated Cost Saved: $${costSaved.toFixed(4)}`);
110
- console.log(`Latency Reduction: ${((1 - metrics.avgCacheLatencyMs / avgAgentLatency) * 100).toFixed(2)}%`);
111
- // 8. Shutdown gracefully
112
- console.log('\n--- Shutting Down ---');
113
- await engine.shutdown();
114
- console.log('✓ Engine shutdown complete');
115
- }
116
- catch (error) {
117
- console.error('Error:', error);
118
- process.exit(1);
119
- }
120
- }
121
- function sleep(ms) {
122
- return new Promise((resolve) => setTimeout(resolve, ms));
123
- }
124
- // Run the demo
125
- if (require.main === module) {
126
- main().catch(console.error);
127
- }
128
- //# sourceMappingURL=basic-usage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basic-usage.js","sourceRoot":"","sources":["../../../src/examples/basic-usage.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Basic Usage Example for Subconscious Semantic Engine
3
- *
4
- * This example demonstrates:
5
- * 1. Initializing the engine
6
- * 2. Intercepting tasks for cache checks
7
- * 3. Storing results for future caching
8
- * 4. Monitoring metrics
9
- */
10
- declare function main(): Promise<void>;
11
- export { main };
12
- //# sourceMappingURL=basic-usage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basic-usage.d.ts","sourceRoot":"","sources":["../../../src/examples/basic-usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,iBAAe,IAAI,kBA6HlB;AAWD,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -1,126 +0,0 @@
1
- /**
2
- * Basic Usage Example for Subconscious Semantic Engine
3
- *
4
- * This example demonstrates:
5
- * 1. Initializing the engine
6
- * 2. Intercepting tasks for cache checks
7
- * 3. Storing results for future caching
8
- * 4. Monitoring metrics
9
- */
10
- import { SubconsciousEngine } from '../subconscious/index.js';
11
- async function main() {
12
- console.log('=== Subconscious Engine Demo ===\n');
13
- // 1. Create and initialize the engine
14
- const engine = new SubconsciousEngine({
15
- chromaUrl: 'http://localhost:8000',
16
- ollamaUrl: 'http://localhost:11434',
17
- model: 'llama3',
18
- threshold: 0.95,
19
- enableBackgroundVectorization: true,
20
- });
21
- // Listen to events
22
- engine.on('cacheHit', (data) => {
23
- console.log(`🎯 Cache Hit! Similarity: ${data.similarity?.toFixed(4)}`);
24
- });
25
- engine.on('cacheMiss', (data) => {
26
- console.log(`❌ Cache Miss for task: ${data.taskId}`);
27
- });
28
- engine.on('backgroundVectorized', (data) => {
29
- console.log(`📦 Background vectorized: ${data.taskId}`);
30
- });
31
- try {
32
- await engine.initialize();
33
- console.log('✓ Engine initialized\n');
34
- // 2. Simulate first task (will be a cache miss)
35
- console.log('--- Task 1: First Request ---');
36
- const task1 = {
37
- id: 'task-001',
38
- description: 'Calculate the sum of numbers from 1 to 100',
39
- metadata: { agent: 'math-agent', priority: 'high' },
40
- };
41
- let cacheResult = await engine.interceptTask(task1);
42
- if (!cacheResult.hit) {
43
- // Simulate agent processing
44
- console.log('⚙️ Processing with agent...');
45
- await sleep(1000); // Simulate 1 second of processing
46
- const result = { answer: 5050, computation_time: '1000ms' };
47
- // Store the result
48
- await engine.storeResult(task1, result);
49
- console.log('✓ Result stored\n');
50
- }
51
- // 3. Simulate similar task (should be a cache hit)
52
- console.log('--- Task 2: Similar Request ---');
53
- const task2 = {
54
- id: 'task-002',
55
- description: 'What is the sum of integers from 1 to 100?',
56
- metadata: { agent: 'math-agent', priority: 'medium' },
57
- };
58
- cacheResult = await engine.interceptTask(task2);
59
- if (cacheResult.hit) {
60
- console.log(`✓ Returned cached result in ${cacheResult.latencyMs}ms`);
61
- console.log(`📊 Result:`, cacheResult.result);
62
- }
63
- else {
64
- console.log('Processing with agent...');
65
- await sleep(1000);
66
- const result = { answer: 5050, computation_time: '1000ms' };
67
- await engine.storeResult(task2, result);
68
- }
69
- // 4. Simulate different task (will be a cache miss)
70
- console.log('\n--- Task 3: Different Request ---');
71
- const task3 = {
72
- id: 'task-003',
73
- description: 'Generate a random UUID',
74
- metadata: { agent: 'utility-agent' },
75
- };
76
- cacheResult = await engine.interceptTask(task3);
77
- if (!cacheResult.hit) {
78
- console.log('⚙️ Processing with agent...');
79
- await sleep(500);
80
- const result = { uuid: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890' };
81
- await engine.storeResult(task3, result);
82
- console.log('✓ Result stored\n');
83
- }
84
- // 5. Wait for background vectorization to complete
85
- console.log('--- Waiting for background processing ---');
86
- await sleep(2000);
87
- // 6. Display metrics
88
- console.log('\n--- Engine Metrics ---');
89
- const metrics = await engine.getMetrics();
90
- console.log(`Total Tasks: ${metrics.totalTasks}`);
91
- console.log(`Cache Hits: ${metrics.cacheHits}`);
92
- console.log(`Cache Misses: ${metrics.cacheMisses}`);
93
- console.log(`Hit Rate: ${(metrics.hitRate * 100).toFixed(2)}%`);
94
- console.log(`Avg Cache Latency: ${metrics.avgCacheLatencyMs}ms`);
95
- console.log(`Avg Miss Latency: ${metrics.avgMissLatencyMs}ms`);
96
- console.log(`Total Cached Tasks: ${metrics.totalCachedTasks}`);
97
- console.log(`Background Queue Size: ${metrics.backgroundQueueSize}`);
98
- // 7. Demonstrate cost savings
99
- console.log('\n--- Cost Savings Analysis ---');
100
- const avgAgentLatency = 1000; // 1 second per agent call
101
- const timeSaved = metrics.cacheHits * avgAgentLatency;
102
- const costPerToken = 0.0001; // Example: $0.0001 per token
103
- const tokensPerRequest = 500; // Example: 500 tokens per request
104
- const costSaved = metrics.cacheHits * tokensPerRequest * costPerToken;
105
- console.log(`Time Saved: ${timeSaved}ms (${(timeSaved / 1000).toFixed(2)}s)`);
106
- console.log(`Estimated Cost Saved: $${costSaved.toFixed(4)}`);
107
- console.log(`Latency Reduction: ${((1 - metrics.avgCacheLatencyMs / avgAgentLatency) * 100).toFixed(2)}%`);
108
- // 8. Shutdown gracefully
109
- console.log('\n--- Shutting Down ---');
110
- await engine.shutdown();
111
- console.log('✓ Engine shutdown complete');
112
- }
113
- catch (error) {
114
- console.error('Error:', error);
115
- process.exit(1);
116
- }
117
- }
118
- function sleep(ms) {
119
- return new Promise((resolve) => setTimeout(resolve, ms));
120
- }
121
- // Run the demo
122
- if (require.main === module) {
123
- main().catch(console.error);
124
- }
125
- export { main };
126
- //# sourceMappingURL=basic-usage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basic-usage.js","sourceRoot":"","sources":["../../../src/examples/basic-usage.ts"],"names":[],"mappings":"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"}