@sparkleideas/mcp 3.0.0-alpha.10 → 3.0.0-alpha.12
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.
- package/.claude/helpers/learning-service.mjs +7 -7
- package/.claude/helpers/memory.js +1 -1
- package/.claude/helpers/metrics-db.mjs +4 -4
- package/.claude/helpers/session.js +1 -1
- package/.claude/helpers/statusline.cjs +4 -4
- package/.claude/helpers/statusline.js +2 -2
- package/.claude/settings.json +1 -1
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Features:
|
|
8
8
|
* - Persistent pattern storage via AgentDB
|
|
9
9
|
* - HNSW indexing for 150x-12,500x faster search
|
|
10
|
-
* - ONNX embeddings via
|
|
10
|
+
* - ONNX embeddings via agentic-flow@alpha
|
|
11
11
|
* - Session-level pattern loading and consolidation
|
|
12
12
|
* - Short-term → Long-term pattern promotion
|
|
13
13
|
*
|
|
@@ -27,7 +27,7 @@ import Database from 'better-sqlite3';
|
|
|
27
27
|
const __filename = fileURLToPath(import.meta.url);
|
|
28
28
|
const __dirname = dirname(__filename);
|
|
29
29
|
const PROJECT_ROOT = join(__dirname, '../..');
|
|
30
|
-
const DATA_DIR = join(PROJECT_ROOT, '
|
|
30
|
+
const DATA_DIR = join(PROJECT_ROOT, '.claude-flow/learning');
|
|
31
31
|
const DB_PATH = join(DATA_DIR, 'patterns.db');
|
|
32
32
|
const METRICS_PATH = join(DATA_DIR, 'learning-metrics.json');
|
|
33
33
|
|
|
@@ -444,7 +444,7 @@ class HNSWIndex {
|
|
|
444
444
|
}
|
|
445
445
|
|
|
446
446
|
// =============================================================================
|
|
447
|
-
// Embedding Service (ONNX via
|
|
447
|
+
// Embedding Service (ONNX via agentic-flow@alpha OptimizedEmbedder)
|
|
448
448
|
// =============================================================================
|
|
449
449
|
|
|
450
450
|
class EmbeddingService {
|
|
@@ -460,7 +460,7 @@ class EmbeddingService {
|
|
|
460
460
|
if (this.initialized) return;
|
|
461
461
|
|
|
462
462
|
try {
|
|
463
|
-
// Dynamically import
|
|
463
|
+
// Dynamically import agentic-flow OptimizedEmbedder
|
|
464
464
|
const agenticFlowPath = join(PROJECT_ROOT, 'node_modules/agentic-flow/dist/embeddings/optimized-embedder.js');
|
|
465
465
|
|
|
466
466
|
if (existsSync(agenticFlowPath)) {
|
|
@@ -474,10 +474,10 @@ class EmbeddingService {
|
|
|
474
474
|
|
|
475
475
|
await this.embedder.init();
|
|
476
476
|
this.useAgenticFlow = true;
|
|
477
|
-
console.log('[Embedding] Initialized:
|
|
477
|
+
console.log('[Embedding] Initialized: agentic-flow OptimizedEmbedder (ONNX)');
|
|
478
478
|
} else {
|
|
479
479
|
this.useAgenticFlow = false;
|
|
480
|
-
console.log('[Embedding]
|
|
480
|
+
console.log('[Embedding] agentic-flow not found, using fallback hash embeddings');
|
|
481
481
|
}
|
|
482
482
|
|
|
483
483
|
this.initialized = true;
|
|
@@ -501,7 +501,7 @@ class EmbeddingService {
|
|
|
501
501
|
|
|
502
502
|
if (this.useAgenticFlow && this.embedder) {
|
|
503
503
|
try {
|
|
504
|
-
// Use
|
|
504
|
+
// Use agentic-flow OptimizedEmbedder
|
|
505
505
|
embedding = await this.embedder.embed(text.slice(0, 500));
|
|
506
506
|
} catch (e) {
|
|
507
507
|
console.log(`[Embedding] ONNX failed, using fallback: ${e.message}`);
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
const fs = require('fs');
|
|
8
8
|
const path = require('path');
|
|
9
9
|
|
|
10
|
-
const MEMORY_DIR = path.join(process.cwd(), '
|
|
10
|
+
const MEMORY_DIR = path.join(process.cwd(), '.claude-flow', 'data');
|
|
11
11
|
const MEMORY_FILE = path.join(MEMORY_DIR, 'memory.json');
|
|
12
12
|
|
|
13
13
|
function loadMemory() {
|
|
@@ -14,7 +14,7 @@ import { execSync } from 'child_process';
|
|
|
14
14
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
15
15
|
const PROJECT_ROOT = join(__dirname, '../..');
|
|
16
16
|
const V3_DIR = join(PROJECT_ROOT, 'v3');
|
|
17
|
-
const DB_PATH = join(PROJECT_ROOT, '
|
|
17
|
+
const DB_PATH = join(PROJECT_ROOT, '.claude-flow', 'metrics.db');
|
|
18
18
|
|
|
19
19
|
// Ensure directory exists
|
|
20
20
|
const dbDir = dirname(DB_PATH);
|
|
@@ -255,7 +255,7 @@ async function syncMetrics() {
|
|
|
255
255
|
if (existsSync(modulesDir)) {
|
|
256
256
|
const entries = readdirSync(modulesDir, { withFileTypes: true });
|
|
257
257
|
for (const entry of entries) {
|
|
258
|
-
// Skip hidden directories (like
|
|
258
|
+
// Skip hidden directories (like .agentic-flow, .claude-flow)
|
|
259
259
|
if (entry.isDirectory() && !entry.name.startsWith('.')) {
|
|
260
260
|
const moduleDir = join(modulesDir, entry.name);
|
|
261
261
|
const { files, lines } = countFilesAndLines(moduleDir);
|
|
@@ -388,8 +388,8 @@ function getMetricsJSON() {
|
|
|
388
388
|
*/
|
|
389
389
|
function exportToJSON() {
|
|
390
390
|
const metrics = getMetricsJSON();
|
|
391
|
-
const metricsDir = join(PROJECT_ROOT, '
|
|
392
|
-
const securityDir = join(PROJECT_ROOT, '
|
|
391
|
+
const metricsDir = join(PROJECT_ROOT, '.claude-flow/metrics');
|
|
392
|
+
const securityDir = join(PROJECT_ROOT, '.claude-flow/security');
|
|
393
393
|
|
|
394
394
|
if (!existsSync(metricsDir)) mkdirSync(metricsDir, { recursive: true });
|
|
395
395
|
if (!existsSync(securityDir)) mkdirSync(securityDir, { recursive: true });
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
const fs = require('fs');
|
|
8
8
|
const path = require('path');
|
|
9
9
|
|
|
10
|
-
const SESSION_DIR = path.join(process.cwd(), '
|
|
10
|
+
const SESSION_DIR = path.join(process.cwd(), '.claude-flow', 'sessions');
|
|
11
11
|
const SESSION_FILE = path.join(SESSION_DIR, 'current.json');
|
|
12
12
|
|
|
13
13
|
const commands = {
|
|
@@ -250,10 +250,10 @@ function getSwarmStatus() {
|
|
|
250
250
|
try {
|
|
251
251
|
if (isWindows) {
|
|
252
252
|
// Windows: use tasklist and findstr
|
|
253
|
-
const ps = execSync('tasklist 2>NUL | findstr /I "
|
|
253
|
+
const ps = execSync('tasklist 2>NUL | findstr /I "agentic-flow" 2>NUL | find /C /V "" 2>NUL || echo 0', { encoding: 'utf-8' });
|
|
254
254
|
activeAgents = Math.max(0, parseInt(ps.trim()) || 0);
|
|
255
255
|
} else {
|
|
256
|
-
const ps = execSync('ps aux 2>/dev/null | grep -c
|
|
256
|
+
const ps = execSync('ps aux 2>/dev/null | grep -c agentic-flow || echo "0"', { encoding: 'utf-8' });
|
|
257
257
|
activeAgents = Math.max(0, parseInt(ps.trim()) - 1);
|
|
258
258
|
}
|
|
259
259
|
coordinationActive = activeAgents > 0;
|
|
@@ -300,10 +300,10 @@ function getSystemMetrics() {
|
|
|
300
300
|
try {
|
|
301
301
|
if (isWindows) {
|
|
302
302
|
// Windows: use tasklist and findstr for agent counting
|
|
303
|
-
const agents = execSync('tasklist 2>NUL | findstr /I "
|
|
303
|
+
const agents = execSync('tasklist 2>NUL | findstr /I "claude-flow" 2>NUL | find /C /V "" 2>NUL || echo 0', { encoding: 'utf-8' });
|
|
304
304
|
subAgents = Math.max(0, parseInt(agents.trim()) || 0);
|
|
305
305
|
} else {
|
|
306
|
-
const agents = execSync('ps aux 2>/dev/null | grep -c "
|
|
306
|
+
const agents = execSync('ps aux 2>/dev/null | grep -c "claude-flow.*agent" || echo "0"', { encoding: 'utf-8' });
|
|
307
307
|
subAgents = Math.max(0, parseInt(agents.trim()) - 1);
|
|
308
308
|
}
|
|
309
309
|
} catch (e) {
|
|
@@ -172,7 +172,7 @@ function getSwarmStatus() {
|
|
|
172
172
|
let coordinationActive = false;
|
|
173
173
|
|
|
174
174
|
try {
|
|
175
|
-
const ps = execSync('ps aux 2>/dev/null | grep -c
|
|
175
|
+
const ps = execSync('ps aux 2>/dev/null | grep -c agentic-flow || echo "0"', { encoding: 'utf-8' });
|
|
176
176
|
activeAgents = Math.max(0, parseInt(ps.trim()) - 1);
|
|
177
177
|
coordinationActive = activeAgents > 0;
|
|
178
178
|
} catch (e) {
|
|
@@ -210,7 +210,7 @@ function getSystemMetrics() {
|
|
|
210
210
|
|
|
211
211
|
// Count active sub-agents from process list
|
|
212
212
|
try {
|
|
213
|
-
const agents = execSync('ps aux 2>/dev/null | grep -c "
|
|
213
|
+
const agents = execSync('ps aux 2>/dev/null | grep -c "claude-flow.*agent" || echo "0"', { encoding: 'utf-8' });
|
|
214
214
|
subAgents = Math.max(0, parseInt(agents.trim()) - 1);
|
|
215
215
|
} catch (e) {
|
|
216
216
|
// Ignore
|
package/.claude/settings.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sparkleideas/mcp",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Standalone MCP (Model Context Protocol) server - stdio/http/websocket transports, connection pooling, tool registry",
|
|
6
6
|
"main": "dist/index.js",
|