@claude-flow/cli 3.0.0-alpha.80 → 3.0.0-alpha.82
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/dist/src/commands/claims.d.ts.map +1 -1
- package/dist/src/commands/claims.js +92 -7
- package/dist/src/commands/claims.js.map +1 -1
- package/dist/src/commands/embeddings.d.ts.map +1 -1
- package/dist/src/commands/embeddings.js +261 -51
- package/dist/src/commands/embeddings.js.map +1 -1
- package/dist/src/commands/index.d.ts +3 -0
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +12 -0
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/neural.d.ts.map +1 -1
- package/dist/src/commands/neural.js +300 -50
- package/dist/src/commands/neural.js.map +1 -1
- package/dist/src/commands/performance.d.ts.map +1 -1
- package/dist/src/commands/performance.js +335 -44
- package/dist/src/commands/performance.js.map +1 -1
- package/dist/src/commands/security.d.ts.map +1 -1
- package/dist/src/commands/security.js +199 -31
- package/dist/src/commands/security.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +207 -77
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/transfer/storage/gcs.d.ts +82 -0
- package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
- package/dist/src/transfer/storage/gcs.js +230 -0
- package/dist/src/transfer/storage/gcs.js.map +1 -0
- package/dist/src/transfer/storage/index.d.ts +6 -0
- package/dist/src/transfer/storage/index.d.ts.map +1 -0
- package/dist/src/transfer/storage/index.js +6 -0
- package/dist/src/transfer/storage/index.js.map +1 -0
- package/dist/src/transfer/store/discovery.d.ts +9 -9
- package/dist/src/transfer/store/discovery.d.ts.map +1 -1
- package/dist/src/transfer/store/discovery.js +197 -91
- package/dist/src/transfer/store/discovery.js.map +1 -1
- package/dist/src/transfer/store/download.d.ts +6 -6
- package/dist/src/transfer/store/download.d.ts.map +1 -1
- package/dist/src/transfer/store/download.js +104 -65
- package/dist/src/transfer/store/download.js.map +1 -1
- package/dist/src/transfer/store/publish.d.ts.map +1 -1
- package/dist/src/transfer/store/publish.js +57 -25
- package/dist/src/transfer/store/publish.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../src/commands/claims.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../src/commands/claims.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AA4W1E,eAAO,MAAM,aAAa,EAAE,OAmC3B,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -59,6 +59,7 @@ const checkCommand = {
|
|
|
59
59
|
action: async (ctx) => {
|
|
60
60
|
const claim = ctx.flags.claim;
|
|
61
61
|
const user = ctx.flags.user || 'current';
|
|
62
|
+
const resource = ctx.flags.resource;
|
|
62
63
|
if (!claim) {
|
|
63
64
|
output.printError('Claim is required');
|
|
64
65
|
return { success: false, exitCode: 1 };
|
|
@@ -68,24 +69,108 @@ const checkCommand = {
|
|
|
68
69
|
output.writeln(output.dim('─'.repeat(40)));
|
|
69
70
|
const spinner = output.createSpinner({ text: 'Evaluating claim...', spinner: 'dots' });
|
|
70
71
|
spinner.start();
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
const fs = await import('fs');
|
|
73
|
+
const path = await import('path');
|
|
74
|
+
// Real claims evaluation from config file
|
|
75
|
+
let isGranted = false;
|
|
76
|
+
let reason = 'Claim not found in policy';
|
|
77
|
+
let policySource = 'default';
|
|
78
|
+
try {
|
|
79
|
+
// Check for claims config file
|
|
80
|
+
const claimsConfigPaths = [
|
|
81
|
+
path.resolve('.claude-flow/claims.json'),
|
|
82
|
+
path.resolve('claude-flow.claims.json'),
|
|
83
|
+
path.resolve(process.env.HOME || '~', '.config/claude-flow/claims.json'),
|
|
84
|
+
];
|
|
85
|
+
let claimsConfig = {
|
|
86
|
+
// Default policy - allows basic operations
|
|
87
|
+
roles: {
|
|
88
|
+
admin: ['*'],
|
|
89
|
+
developer: ['swarm:*', 'agent:*', 'memory:*', 'task:*', 'session:*'],
|
|
90
|
+
operator: ['swarm:status', 'agent:list', 'memory:read', 'task:list'],
|
|
91
|
+
viewer: ['*:list', '*:status', '*:read'],
|
|
92
|
+
},
|
|
93
|
+
defaultClaims: ['swarm:create', 'swarm:status', 'agent:spawn', 'agent:list', 'memory:read', 'memory:write', 'task:create'],
|
|
94
|
+
};
|
|
95
|
+
for (const configPath of claimsConfigPaths) {
|
|
96
|
+
if (fs.existsSync(configPath)) {
|
|
97
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
98
|
+
claimsConfig = { ...claimsConfig, ...JSON.parse(content) };
|
|
99
|
+
policySource = configPath;
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Resolve user's claims
|
|
104
|
+
const userConfig = claimsConfig.users?.[user];
|
|
105
|
+
let userClaims = [...(claimsConfig.defaultClaims || [])];
|
|
106
|
+
if (userConfig) {
|
|
107
|
+
// Add user-specific claims
|
|
108
|
+
if (userConfig.claims) {
|
|
109
|
+
userClaims = [...userClaims, ...userConfig.claims];
|
|
110
|
+
}
|
|
111
|
+
// Add role-based claims
|
|
112
|
+
if (userConfig.role && claimsConfig.roles?.[userConfig.role]) {
|
|
113
|
+
userClaims = [...userClaims, ...claimsConfig.roles[userConfig.role]];
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Check if claim is granted
|
|
117
|
+
const checkClaim = (claimToCheck, grantedClaims) => {
|
|
118
|
+
for (const granted of grantedClaims) {
|
|
119
|
+
// Exact match
|
|
120
|
+
if (granted === claimToCheck)
|
|
121
|
+
return true;
|
|
122
|
+
// Wildcard match (e.g., "swarm:*" matches "swarm:create")
|
|
123
|
+
if (granted === '*')
|
|
124
|
+
return true;
|
|
125
|
+
if (granted.endsWith(':*')) {
|
|
126
|
+
const prefix = granted.slice(0, -1);
|
|
127
|
+
if (claimToCheck.startsWith(prefix))
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
// Pattern match (e.g., "*:list" matches "swarm:list")
|
|
131
|
+
if (granted.startsWith('*:')) {
|
|
132
|
+
const suffix = granted.slice(1);
|
|
133
|
+
if (claimToCheck.endsWith(suffix))
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return false;
|
|
138
|
+
};
|
|
139
|
+
isGranted = checkClaim(claim, userClaims);
|
|
140
|
+
if (isGranted) {
|
|
141
|
+
reason = userConfig?.role
|
|
142
|
+
? `Granted via role: ${userConfig.role}`
|
|
143
|
+
: 'Granted via default policy';
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
reason = 'Not in user claims or role permissions';
|
|
147
|
+
}
|
|
148
|
+
spinner.stop();
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
spinner.stop();
|
|
152
|
+
// On error, fall back to permissive default
|
|
153
|
+
isGranted = !claim.startsWith('admin:');
|
|
154
|
+
reason = isGranted ? 'Granted (default permissive policy)' : 'Admin claims require explicit grant';
|
|
155
|
+
policySource = 'fallback';
|
|
156
|
+
}
|
|
74
157
|
if (isGranted) {
|
|
75
|
-
|
|
158
|
+
output.writeln(output.success('✓ Claim granted'));
|
|
76
159
|
}
|
|
77
160
|
else {
|
|
78
|
-
|
|
161
|
+
output.writeln(output.error('✗ Claim denied'));
|
|
79
162
|
}
|
|
80
163
|
output.writeln();
|
|
81
164
|
output.printBox([
|
|
82
165
|
`Claim: ${claim}`,
|
|
83
166
|
`User: ${user}`,
|
|
167
|
+
`Resource: ${resource || 'global'}`,
|
|
84
168
|
`Result: ${isGranted ? output.success('GRANTED') : output.error('DENIED')}`,
|
|
85
169
|
``,
|
|
86
|
-
`Reason: ${
|
|
170
|
+
`Reason: ${reason}`,
|
|
171
|
+
`Policy: ${policySource}`,
|
|
87
172
|
].join('\n'), 'Result');
|
|
88
|
-
return { success:
|
|
173
|
+
return { success: isGranted };
|
|
89
174
|
},
|
|
90
175
|
};
|
|
91
176
|
// Grant subcommand
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../src/commands/claims.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../src/commands/claims.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/commands/embeddings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/commands/embeddings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AA2nD1E,eAAO,MAAM,iBAAiB,EAAE,OAmE/B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -261,7 +261,7 @@ function cosineSimilarity(a, b) {
|
|
|
261
261
|
const mag = Math.sqrt(normA * normB);
|
|
262
262
|
return mag === 0 ? 0 : dot / mag;
|
|
263
263
|
}
|
|
264
|
-
// Compare subcommand
|
|
264
|
+
// Compare subcommand - REAL similarity computation
|
|
265
265
|
const compareCommand = {
|
|
266
266
|
name: 'compare',
|
|
267
267
|
description: 'Compare similarity between texts',
|
|
@@ -282,25 +282,68 @@ const compareCommand = {
|
|
|
282
282
|
return { success: false, exitCode: 1 };
|
|
283
283
|
}
|
|
284
284
|
output.writeln();
|
|
285
|
-
output.writeln(output.bold('Text Similarity'));
|
|
285
|
+
output.writeln(output.bold('Text Similarity (Real)'));
|
|
286
286
|
output.writeln(output.dim('─'.repeat(50)));
|
|
287
|
-
const spinner = output.createSpinner({ text: '
|
|
287
|
+
const spinner = output.createSpinner({ text: 'Generating embeddings...', spinner: 'dots' });
|
|
288
288
|
spinner.start();
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
289
|
+
try {
|
|
290
|
+
const { generateEmbedding } = await import('../memory/memory-initializer.js');
|
|
291
|
+
// Generate real embeddings for both texts
|
|
292
|
+
const startTime = Date.now();
|
|
293
|
+
const [emb1, emb2] = await Promise.all([
|
|
294
|
+
generateEmbedding(text1),
|
|
295
|
+
generateEmbedding(text2),
|
|
296
|
+
]);
|
|
297
|
+
const embedTime = Date.now() - startTime;
|
|
298
|
+
spinner.setText('Computing similarity...');
|
|
299
|
+
// Compute real similarity based on metric
|
|
300
|
+
let similarity;
|
|
301
|
+
switch (metric) {
|
|
302
|
+
case 'euclidean': {
|
|
303
|
+
// Euclidean distance (converted to similarity: 1 / (1 + distance))
|
|
304
|
+
let sumSq = 0;
|
|
305
|
+
for (let i = 0; i < emb1.embedding.length; i++) {
|
|
306
|
+
const diff = emb1.embedding[i] - emb2.embedding[i];
|
|
307
|
+
sumSq += diff * diff;
|
|
308
|
+
}
|
|
309
|
+
const distance = Math.sqrt(sumSq);
|
|
310
|
+
similarity = 1 / (1 + distance);
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
case 'dot': {
|
|
314
|
+
// Dot product
|
|
315
|
+
let dot = 0;
|
|
316
|
+
for (let i = 0; i < emb1.embedding.length; i++) {
|
|
317
|
+
dot += emb1.embedding[i] * emb2.embedding[i];
|
|
318
|
+
}
|
|
319
|
+
similarity = dot;
|
|
320
|
+
break;
|
|
321
|
+
}
|
|
322
|
+
case 'cosine':
|
|
323
|
+
default: {
|
|
324
|
+
// Cosine similarity
|
|
325
|
+
similarity = cosineSimilarity(emb1.embedding, emb2.embedding);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
spinner.succeed(`Comparison complete (${embedTime}ms)`);
|
|
329
|
+
output.writeln();
|
|
330
|
+
output.printBox([
|
|
331
|
+
`Text 1: "${text1.substring(0, 30)}${text1.length > 30 ? '...' : ''}"`,
|
|
332
|
+
`Text 2: "${text2.substring(0, 30)}${text2.length > 30 ? '...' : ''}"`,
|
|
333
|
+
``,
|
|
334
|
+
`Model: ${emb1.model} (${emb1.dimensions}-dim)`,
|
|
335
|
+
`Metric: ${metric}`,
|
|
336
|
+
`Similarity: ${similarity > 0.8 ? output.success(similarity.toFixed(4)) : similarity > 0.5 ? output.warning(similarity.toFixed(4)) : output.dim(similarity.toFixed(4))}`,
|
|
337
|
+
``,
|
|
338
|
+
`Interpretation: ${similarity > 0.8 ? 'Highly similar' : similarity > 0.5 ? 'Moderately similar' : 'Dissimilar'}`,
|
|
339
|
+
].join('\n'), 'Result');
|
|
340
|
+
return { success: true, data: { similarity, metric, embedTime } };
|
|
341
|
+
}
|
|
342
|
+
catch (error) {
|
|
343
|
+
spinner.fail('Comparison failed');
|
|
344
|
+
output.printError(error instanceof Error ? error.message : String(error));
|
|
345
|
+
return { success: false, exitCode: 1 };
|
|
346
|
+
}
|
|
304
347
|
},
|
|
305
348
|
};
|
|
306
349
|
// Collections subcommand - REAL implementation using sql.js
|
|
@@ -406,50 +449,123 @@ function formatBytes(bytes) {
|
|
|
406
449
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
407
450
|
return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];
|
|
408
451
|
}
|
|
409
|
-
// Index subcommand
|
|
452
|
+
// Index subcommand - REAL HNSW stats
|
|
410
453
|
const indexCommand = {
|
|
411
454
|
name: 'index',
|
|
412
455
|
description: 'Manage HNSW indexes',
|
|
413
456
|
options: [
|
|
414
|
-
{ name: 'action', short: 'a', type: 'string', description: 'Action: build, rebuild, optimize', default: '
|
|
415
|
-
{ name: 'collection', short: 'c', type: 'string', description: 'Collection name'
|
|
457
|
+
{ name: 'action', short: 'a', type: 'string', description: 'Action: build, rebuild, status, optimize', default: 'status' },
|
|
458
|
+
{ name: 'collection', short: 'c', type: 'string', description: 'Collection/namespace name' },
|
|
416
459
|
{ name: 'ef-construction', type: 'number', description: 'HNSW ef_construction parameter', default: '200' },
|
|
417
460
|
{ name: 'm', type: 'number', description: 'HNSW M parameter', default: '16' },
|
|
418
461
|
],
|
|
419
462
|
examples: [
|
|
463
|
+
{ command: 'claude-flow embeddings index', description: 'Show index status' },
|
|
420
464
|
{ command: 'claude-flow embeddings index -a build -c documents', description: 'Build index' },
|
|
421
465
|
{ command: 'claude-flow embeddings index -a optimize -c patterns', description: 'Optimize index' },
|
|
422
466
|
],
|
|
423
467
|
action: async (ctx) => {
|
|
424
|
-
const action = ctx.flags.action || '
|
|
468
|
+
const action = ctx.flags.action || 'status';
|
|
425
469
|
const collection = ctx.flags.collection;
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
return { success: false, exitCode: 1 };
|
|
429
|
-
}
|
|
470
|
+
const efConstruction = parseInt(ctx.flags['ef-construction'] || '200', 10);
|
|
471
|
+
const m = parseInt(ctx.flags.m || '16', 10);
|
|
430
472
|
output.writeln();
|
|
431
473
|
output.writeln(output.bold(`HNSW Index: ${action}`));
|
|
432
474
|
output.writeln(output.dim('─'.repeat(50)));
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
475
|
+
try {
|
|
476
|
+
const { getHNSWStatus, getHNSWIndex, searchHNSWIndex, generateEmbedding } = await import('../memory/memory-initializer.js');
|
|
477
|
+
// Get real HNSW status
|
|
478
|
+
const status = getHNSWStatus();
|
|
479
|
+
if (action === 'status') {
|
|
480
|
+
output.writeln();
|
|
481
|
+
output.printTable({
|
|
482
|
+
columns: [
|
|
483
|
+
{ key: 'metric', header: 'Metric', width: 24 },
|
|
484
|
+
{ key: 'value', header: 'Value', width: 30 },
|
|
485
|
+
],
|
|
486
|
+
data: [
|
|
487
|
+
{ metric: 'HNSW Available', value: status.available ? output.success('Yes (@ruvector/core)') : output.warning('No') },
|
|
488
|
+
{ metric: 'Index Initialized', value: status.initialized ? output.success('Yes') : output.dim('No') },
|
|
489
|
+
{ metric: 'Vector Count', value: status.entryCount.toLocaleString() },
|
|
490
|
+
{ metric: 'Dimensions', value: String(status.dimensions) },
|
|
491
|
+
{ metric: 'Distance Metric', value: 'Cosine' },
|
|
492
|
+
{ metric: 'HNSW M', value: String(m) },
|
|
493
|
+
{ metric: 'ef_construction', value: String(efConstruction) },
|
|
494
|
+
],
|
|
495
|
+
});
|
|
496
|
+
if (status.available && status.entryCount > 0) {
|
|
497
|
+
// Run a quick benchmark to show actual performance
|
|
498
|
+
output.writeln();
|
|
499
|
+
output.writeln(output.dim('Running quick performance test...'));
|
|
500
|
+
const testQuery = await generateEmbedding('test performance query');
|
|
501
|
+
const start = performance.now();
|
|
502
|
+
const results = await searchHNSWIndex(testQuery.embedding, { k: 10 });
|
|
503
|
+
const searchTime = performance.now() - start;
|
|
504
|
+
// Estimate brute force time (0.5μs per comparison)
|
|
505
|
+
const bruteForceEstimate = status.entryCount * 0.0005;
|
|
506
|
+
const speedup = bruteForceEstimate / (searchTime / 1000);
|
|
507
|
+
output.writeln();
|
|
508
|
+
output.printBox([
|
|
509
|
+
`Performance (n=${status.entryCount}):`,
|
|
510
|
+
` HNSW Search: ${searchTime.toFixed(2)}ms`,
|
|
511
|
+
` Brute Force Est: ${(bruteForceEstimate * 1000).toFixed(2)}ms`,
|
|
512
|
+
` Speedup: ~${Math.round(speedup)}x`,
|
|
513
|
+
` Results: ${results?.length || 0} matches`,
|
|
514
|
+
].join('\n'), 'Search Performance');
|
|
515
|
+
}
|
|
516
|
+
else if (!status.available) {
|
|
517
|
+
output.writeln();
|
|
518
|
+
output.printWarning('@ruvector/core not available');
|
|
519
|
+
output.printInfo('Install: npm install @ruvector/core');
|
|
520
|
+
}
|
|
521
|
+
else {
|
|
522
|
+
output.writeln();
|
|
523
|
+
output.printInfo('Index is empty. Store some entries to populate it.');
|
|
524
|
+
output.printInfo('Run: claude-flow memory store -k "key" --value "text"');
|
|
525
|
+
}
|
|
526
|
+
return { success: true, data: status };
|
|
527
|
+
}
|
|
528
|
+
// Build/Rebuild action
|
|
529
|
+
if (action === 'build' || action === 'rebuild') {
|
|
530
|
+
if (!collection) {
|
|
531
|
+
output.printError('Collection is required for build/rebuild');
|
|
532
|
+
return { success: false, exitCode: 1 };
|
|
533
|
+
}
|
|
534
|
+
const spinner = output.createSpinner({ text: `${action}ing index for ${collection}...`, spinner: 'dots' });
|
|
535
|
+
spinner.start();
|
|
536
|
+
// Force rebuild if requested
|
|
537
|
+
const index = await getHNSWIndex({ forceRebuild: action === 'rebuild' });
|
|
538
|
+
if (!index) {
|
|
539
|
+
spinner.fail('@ruvector/core not available');
|
|
540
|
+
output.printInfo('Install: npm install @ruvector/core');
|
|
541
|
+
return { success: false, exitCode: 1 };
|
|
542
|
+
}
|
|
543
|
+
spinner.succeed(`Index ${action} complete`);
|
|
544
|
+
const newStatus = getHNSWStatus();
|
|
545
|
+
output.writeln();
|
|
546
|
+
output.printBox([
|
|
547
|
+
`Collection: ${collection}`,
|
|
548
|
+
`Action: ${action}`,
|
|
549
|
+
`Vectors: ${newStatus.entryCount}`,
|
|
550
|
+
`Dimensions: ${newStatus.dimensions}`,
|
|
551
|
+
`M: ${m}`,
|
|
552
|
+
`ef_construction: ${efConstruction}`,
|
|
553
|
+
].join('\n'), 'Index Built');
|
|
554
|
+
return { success: true, data: newStatus };
|
|
555
|
+
}
|
|
556
|
+
// Optimize action
|
|
557
|
+
if (action === 'optimize') {
|
|
558
|
+
output.printInfo('HNSW index is optimized automatically during search');
|
|
559
|
+
output.printInfo('No manual optimization required');
|
|
560
|
+
return { success: true };
|
|
561
|
+
}
|
|
562
|
+
output.printError(`Unknown action: ${action}`);
|
|
563
|
+
return { success: false, exitCode: 1 };
|
|
564
|
+
}
|
|
565
|
+
catch (error) {
|
|
566
|
+
output.printError(error instanceof Error ? error.message : String(error));
|
|
567
|
+
return { success: false, exitCode: 1 };
|
|
568
|
+
}
|
|
453
569
|
},
|
|
454
570
|
};
|
|
455
571
|
// Init subcommand - Initialize ONNX models and hyperbolic config
|
|
@@ -1060,21 +1176,115 @@ const cacheCommand = {
|
|
|
1060
1176
|
output.writeln();
|
|
1061
1177
|
output.writeln(output.bold('Embedding Cache'));
|
|
1062
1178
|
output.writeln(output.dim('─'.repeat(50)));
|
|
1179
|
+
const fs = await import('fs');
|
|
1180
|
+
const path = await import('path');
|
|
1181
|
+
// Get real cache stats
|
|
1182
|
+
const resolvedDbPath = path.resolve(dbPath);
|
|
1183
|
+
let sqliteEntries = 0;
|
|
1184
|
+
let sqliteSize = '0 B';
|
|
1185
|
+
let sqliteExists = false;
|
|
1186
|
+
try {
|
|
1187
|
+
if (fs.existsSync(resolvedDbPath)) {
|
|
1188
|
+
sqliteExists = true;
|
|
1189
|
+
const stats = fs.statSync(resolvedDbPath);
|
|
1190
|
+
const sizeBytes = stats.size;
|
|
1191
|
+
// Format size
|
|
1192
|
+
if (sizeBytes >= 1024 * 1024) {
|
|
1193
|
+
sqliteSize = `${(sizeBytes / 1024 / 1024).toFixed(1)} MB`;
|
|
1194
|
+
}
|
|
1195
|
+
else if (sizeBytes >= 1024) {
|
|
1196
|
+
sqliteSize = `${(sizeBytes / 1024).toFixed(1)} KB`;
|
|
1197
|
+
}
|
|
1198
|
+
else {
|
|
1199
|
+
sqliteSize = `${sizeBytes} B`;
|
|
1200
|
+
}
|
|
1201
|
+
// Try to count real entries via sql.js
|
|
1202
|
+
try {
|
|
1203
|
+
const initSqlJs = (await import('sql.js')).default;
|
|
1204
|
+
const SQL = await initSqlJs();
|
|
1205
|
+
const fileBuffer = fs.readFileSync(resolvedDbPath);
|
|
1206
|
+
const db = new SQL.Database(fileBuffer);
|
|
1207
|
+
const result = db.exec('SELECT COUNT(*) as count FROM embeddings');
|
|
1208
|
+
if (result.length > 0 && result[0].values.length > 0) {
|
|
1209
|
+
sqliteEntries = result[0].values[0][0];
|
|
1210
|
+
}
|
|
1211
|
+
db.close();
|
|
1212
|
+
}
|
|
1213
|
+
catch {
|
|
1214
|
+
// Estimate entries from file size (~1600 bytes per entry for 384-dim embeddings)
|
|
1215
|
+
sqliteEntries = Math.floor(stats.size / 1600);
|
|
1216
|
+
}
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
catch { /* file access error */ }
|
|
1220
|
+
// Get in-memory HNSW stats if available
|
|
1221
|
+
let memoryEntries = 0;
|
|
1222
|
+
let memorySize = '0 B';
|
|
1223
|
+
try {
|
|
1224
|
+
const { getHNSWStatus } = await import('../memory/memory-initializer.js');
|
|
1225
|
+
const hnswStatus = getHNSWStatus();
|
|
1226
|
+
if (hnswStatus && hnswStatus.initialized) {
|
|
1227
|
+
memoryEntries = hnswStatus.entryCount || 0;
|
|
1228
|
+
const memBytes = memoryEntries * (hnswStatus.dimensions || 384) * 4; // Float32 = 4 bytes per dimension
|
|
1229
|
+
if (memBytes >= 1024 * 1024) {
|
|
1230
|
+
memorySize = `${(memBytes / 1024 / 1024).toFixed(1)} MB`;
|
|
1231
|
+
}
|
|
1232
|
+
else if (memBytes >= 1024) {
|
|
1233
|
+
memorySize = `${(memBytes / 1024).toFixed(1)} KB`;
|
|
1234
|
+
}
|
|
1235
|
+
else {
|
|
1236
|
+
memorySize = `${memBytes} B`;
|
|
1237
|
+
}
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1240
|
+
catch { /* HNSW not initialized */ }
|
|
1241
|
+
if (action === 'clear') {
|
|
1242
|
+
try {
|
|
1243
|
+
if (fs.existsSync(resolvedDbPath)) {
|
|
1244
|
+
fs.unlinkSync(resolvedDbPath);
|
|
1245
|
+
output.writeln(output.success('Cache cleared!'));
|
|
1246
|
+
}
|
|
1247
|
+
else {
|
|
1248
|
+
output.writeln(output.dim('No cache to clear.'));
|
|
1249
|
+
}
|
|
1250
|
+
return { success: true };
|
|
1251
|
+
}
|
|
1252
|
+
catch (error) {
|
|
1253
|
+
output.printError(`Failed to clear cache: ${error}`);
|
|
1254
|
+
return { success: false };
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1257
|
+
// Display real stats
|
|
1063
1258
|
output.printTable({
|
|
1064
1259
|
columns: [
|
|
1065
1260
|
{ key: 'cache', header: 'Cache Type', width: 18 },
|
|
1066
1261
|
{ key: 'entries', header: 'Entries', width: 12 },
|
|
1067
|
-
{ key: '
|
|
1262
|
+
{ key: 'status', header: 'Status', width: 12 },
|
|
1068
1263
|
{ key: 'size', header: 'Size', width: 12 },
|
|
1069
1264
|
],
|
|
1070
1265
|
data: [
|
|
1071
|
-
{
|
|
1072
|
-
|
|
1266
|
+
{
|
|
1267
|
+
cache: 'LRU (Memory)',
|
|
1268
|
+
entries: String(memoryEntries),
|
|
1269
|
+
status: memoryEntries > 0 ? output.success('Active') : output.dim('Empty'),
|
|
1270
|
+
size: memorySize,
|
|
1271
|
+
},
|
|
1272
|
+
{
|
|
1273
|
+
cache: 'SQLite (Disk)',
|
|
1274
|
+
entries: String(sqliteEntries),
|
|
1275
|
+
status: sqliteExists ? output.success('Active') : output.dim('Not Found'),
|
|
1276
|
+
size: sqliteSize,
|
|
1277
|
+
},
|
|
1073
1278
|
],
|
|
1074
1279
|
});
|
|
1075
1280
|
output.writeln();
|
|
1076
|
-
output.writeln(output.dim(`Database: ${
|
|
1077
|
-
|
|
1281
|
+
output.writeln(output.dim(`Database: ${resolvedDbPath}`));
|
|
1282
|
+
if (sqliteExists) {
|
|
1283
|
+
output.writeln(output.dim('Persistent cache survives restarts'));
|
|
1284
|
+
}
|
|
1285
|
+
else {
|
|
1286
|
+
output.writeln(output.dim('Cache will be created on first embedding operation'));
|
|
1287
|
+
}
|
|
1078
1288
|
return { success: true };
|
|
1079
1289
|
},
|
|
1080
1290
|
};
|