@monoes/monomindcli 2.7.4 → 2.7.5

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 (89) hide show
  1. package/bin/cli.js +17 -1
  2. package/dist/src/commands/doctor-project-checks.d.ts +3 -0
  3. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  4. package/dist/src/commands/doctor-project-checks.js +81 -8
  5. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  6. package/dist/src/commands/doctor.d.ts.map +1 -1
  7. package/dist/src/commands/doctor.js +16 -2
  8. package/dist/src/commands/doctor.js.map +1 -1
  9. package/dist/src/commands/memory-crud.d.ts.map +1 -1
  10. package/dist/src/commands/memory-crud.js +15 -5
  11. package/dist/src/commands/memory-crud.js.map +1 -1
  12. package/dist/src/commands/security-misc.d.ts.map +1 -1
  13. package/dist/src/commands/security-misc.js +7 -2
  14. package/dist/src/commands/security-misc.js.map +1 -1
  15. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  16. package/dist/src/init/helpers-generator.js +5 -0
  17. package/dist/src/init/helpers-generator.js.map +1 -1
  18. package/dist/src/mcp-client.d.ts.map +1 -1
  19. package/dist/src/mcp-client.js +0 -2
  20. package/dist/src/mcp-client.js.map +1 -1
  21. package/dist/src/mcp-tools/agent-tools.js +1 -1
  22. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  23. package/dist/src/mcp-tools/embeddings-tools.d.ts +2 -0
  24. package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
  25. package/dist/src/mcp-tools/embeddings-tools.js +11 -1
  26. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  27. package/dist/src/mcp-tools/guidance-tools.js +17 -17
  28. package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
  29. package/dist/src/mcp-tools/hive-mind-tools.d.ts +2 -0
  30. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  31. package/dist/src/mcp-tools/hive-mind-tools.js +14 -2
  32. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  33. package/dist/src/mcp-tools/index.d.ts +0 -1
  34. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  35. package/dist/src/mcp-tools/index.js +0 -1
  36. package/dist/src/mcp-tools/index.js.map +1 -1
  37. package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
  38. package/dist/src/mcp-tools/monograph-tools.js +1 -2
  39. package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
  40. package/dist/src/mcp-tools/neural-tools.js +1 -1
  41. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  42. package/dist/src/mcp-tools/swarm-tools.js +2 -2
  43. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  44. package/dist/src/mcp-tools/transfer-tools.d.ts +2 -0
  45. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
  46. package/dist/src/mcp-tools/transfer-tools.js +11 -1
  47. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  48. package/dist/src/ui/dashboard.html +44 -618
  49. package/dist/src/ui/server.mjs +0 -275
  50. package/dist/src/utils/cosine-similarity.d.ts +2 -2
  51. package/dist/src/utils/cosine-similarity.js +2 -2
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/package.json +1 -1
  54. package/dist/src/mcp-tools/coherence/causal-infer.d.ts +0 -15
  55. package/dist/src/mcp-tools/coherence/causal-infer.d.ts.map +0 -1
  56. package/dist/src/mcp-tools/coherence/causal-infer.js +0 -333
  57. package/dist/src/mcp-tools/coherence/causal-infer.js.map +0 -1
  58. package/dist/src/mcp-tools/coherence/coherence-check.d.ts +0 -15
  59. package/dist/src/mcp-tools/coherence/coherence-check.d.ts.map +0 -1
  60. package/dist/src/mcp-tools/coherence/coherence-check.js +0 -188
  61. package/dist/src/mcp-tools/coherence/coherence-check.js.map +0 -1
  62. package/dist/src/mcp-tools/coherence/consensus-verify.d.ts +0 -14
  63. package/dist/src/mcp-tools/coherence/consensus-verify.d.ts.map +0 -1
  64. package/dist/src/mcp-tools/coherence/consensus-verify.js +0 -305
  65. package/dist/src/mcp-tools/coherence/consensus-verify.js.map +0 -1
  66. package/dist/src/mcp-tools/coherence/memory-gate.d.ts +0 -16
  67. package/dist/src/mcp-tools/coherence/memory-gate.d.ts.map +0 -1
  68. package/dist/src/mcp-tools/coherence/memory-gate.js +0 -279
  69. package/dist/src/mcp-tools/coherence/memory-gate.js.map +0 -1
  70. package/dist/src/mcp-tools/coherence/quantum-topology.d.ts +0 -15
  71. package/dist/src/mcp-tools/coherence/quantum-topology.d.ts.map +0 -1
  72. package/dist/src/mcp-tools/coherence/quantum-topology.js +0 -400
  73. package/dist/src/mcp-tools/coherence/quantum-topology.js.map +0 -1
  74. package/dist/src/mcp-tools/coherence/spectral-analyze.d.ts +0 -14
  75. package/dist/src/mcp-tools/coherence/spectral-analyze.d.ts.map +0 -1
  76. package/dist/src/mcp-tools/coherence/spectral-analyze.js +0 -312
  77. package/dist/src/mcp-tools/coherence/spectral-analyze.js.map +0 -1
  78. package/dist/src/mcp-tools/coherence/types.d.ts +0 -430
  79. package/dist/src/mcp-tools/coherence/types.d.ts.map +0 -1
  80. package/dist/src/mcp-tools/coherence/types.js +0 -144
  81. package/dist/src/mcp-tools/coherence/types.js.map +0 -1
  82. package/dist/src/mcp-tools/coherence-tools.d.ts +0 -9
  83. package/dist/src/mcp-tools/coherence-tools.d.ts.map +0 -1
  84. package/dist/src/mcp-tools/coherence-tools.js +0 -25
  85. package/dist/src/mcp-tools/coherence-tools.js.map +0 -1
  86. package/dist/src/mcp-tools/daa-tools.d.ts +0 -13
  87. package/dist/src/mcp-tools/daa-tools.d.ts.map +0 -1
  88. package/dist/src/mcp-tools/daa-tools.js +0 -553
  89. package/dist/src/mcp-tools/daa-tools.js.map +0 -1
@@ -1,312 +0,0 @@
1
- /**
2
- * Spectral Analysis Tool - pr_spectral_analyze
3
- *
4
- * Analyzes stability of systems using spectral graph theory.
5
- * Computes eigenvalues via power iteration with Hotelling deflation,
6
- * spectral gap, and stability metrics from the graph Laplacian.
7
- */
8
- import { SpectralInputSchema, successResult, errorResult, } from './types.js';
9
- // Default logger
10
- const defaultLogger = {
11
- debug: (msg, meta) => console.debug(`[pr_spectral_analyze] ${msg}`, meta),
12
- info: (msg, meta) => console.info(`[pr_spectral_analyze] ${msg}`, meta),
13
- warn: (msg, meta) => console.warn(`[pr_spectral_analyze] ${msg}`, meta),
14
- error: (msg, meta) => console.error(`[pr_spectral_analyze] ${msg}`, meta),
15
- };
16
- /**
17
- * Simple deterministic hash to seed initial vectors reproducibly from matrix content
18
- */
19
- function matrixHash(matrix) {
20
- let hash = 0;
21
- for (let i = 0; i < matrix.length; i++) {
22
- for (let j = 0; j < matrix[i].length; j++) {
23
- // Combine with a simple LCG-style mixing
24
- hash = ((hash * 1103515245 + 12345) & 0x7fffffff) ^ (matrix[i][j] * 1000003 | 0);
25
- }
26
- }
27
- return hash;
28
- }
29
- /**
30
- * Power iteration method for finding dominant eigenvalue.
31
- * Returns both the eigenvalue and the converged eigenvector.
32
- */
33
- function powerIteration(matrix, maxIterations = 100, tolerance = 1e-10, seed) {
34
- const n = matrix.length;
35
- if (n === 0)
36
- return { eigenvalue: 0, eigenvector: [] };
37
- // Initialize with deterministic vector seeded from matrix content
38
- let s = seed ?? matrixHash(matrix);
39
- let v = new Array(n).fill(0).map(() => {
40
- s = (s * 1103515245 + 12345) & 0x7fffffff;
41
- return (s / 0x7fffffff) * 2 - 1;
42
- });
43
- let eigenvalue = 0;
44
- for (let iter = 0; iter < maxIterations; iter++) {
45
- // Multiply matrix by vector
46
- const w = new Array(n).fill(0);
47
- for (let i = 0; i < n; i++) {
48
- for (let j = 0; j < n; j++) {
49
- w[i] += matrix[i][j] * v[j];
50
- }
51
- }
52
- // Find max component for normalization
53
- let maxComponent = 0;
54
- for (let i = 0; i < n; i++) {
55
- if (Math.abs(w[i]) > Math.abs(maxComponent)) {
56
- maxComponent = w[i];
57
- }
58
- }
59
- if (Math.abs(maxComponent) < tolerance)
60
- break;
61
- // Check convergence
62
- const newEigenvalue = maxComponent;
63
- if (Math.abs(newEigenvalue - eigenvalue) < tolerance) {
64
- return { eigenvalue: newEigenvalue, eigenvector: v };
65
- }
66
- eigenvalue = newEigenvalue;
67
- // Normalize
68
- for (let i = 0; i < n; i++) {
69
- v[i] = w[i] / maxComponent;
70
- }
71
- }
72
- return { eigenvalue, eigenvector: v };
73
- }
74
- /**
75
- * Compute eigenvalues via repeated power-iteration with Hotelling deflation.
76
- * Returns only eigenvalues actually computed (up to min(n, maxCount)).
77
- * For production, consider using a proper numerical library.
78
- */
79
- function computeEigenvalues(matrix, maxCount = 10) {
80
- const n = matrix.length;
81
- if (n === 0)
82
- return [];
83
- if (n === 1)
84
- return [matrix[0][0]];
85
- const eigenvalues = [];
86
- // Work on a copy so deflation doesn't mutate the original
87
- let current = matrix.map(row => [...row]);
88
- const count = Math.min(n, maxCount);
89
- for (let k = 0; k < count; k++) {
90
- const { eigenvalue, eigenvector } = powerIteration(current, 200, 1e-10, matrixHash(current) + k);
91
- // If power iteration didn't converge to anything meaningful, stop
92
- if (Math.abs(eigenvalue) < 1e-12)
93
- break;
94
- eigenvalues.push(eigenvalue);
95
- // Hotelling deflation: subtract lambda * v * v^T from the matrix
96
- // to remove the dominant eigenvalue and find the next one
97
- let vNorm = 0;
98
- for (let i = 0; i < n; i++)
99
- vNorm += eigenvector[i] * eigenvector[i];
100
- if (vNorm < 1e-12)
101
- break;
102
- for (let i = 0; i < n; i++) {
103
- for (let j = 0; j < n; j++) {
104
- current[i][j] -= eigenvalue * (eigenvector[i] * eigenvector[j]) / vNorm;
105
- }
106
- }
107
- }
108
- return eigenvalues.sort((a, b) => Math.abs(b) - Math.abs(a));
109
- }
110
- /**
111
- * Compute the Laplacian matrix from adjacency matrix
112
- */
113
- function computeLaplacian(adjacency) {
114
- const n = adjacency.length;
115
- const laplacian = [];
116
- for (let i = 0; i < n; i++) {
117
- laplacian[i] = [];
118
- let degree = 0;
119
- for (let j = 0; j < n; j++) {
120
- degree += adjacency[i][j];
121
- }
122
- for (let j = 0; j < n; j++) {
123
- if (i === j) {
124
- laplacian[i][j] = degree;
125
- }
126
- else {
127
- laplacian[i][j] = -adjacency[i][j];
128
- }
129
- }
130
- }
131
- return laplacian;
132
- }
133
- /**
134
- * Compute spectral gap (difference between first and second eigenvalues)
135
- */
136
- function computeSpectralGap(eigenvalues) {
137
- if (eigenvalues.length < 2)
138
- return 0;
139
- // For Laplacian: spectral gap is lambda_2 (first non-zero eigenvalue)
140
- // Eigenvalues should be sorted by magnitude
141
- const sorted = [...eigenvalues].sort((a, b) => a - b);
142
- // Find first significantly non-zero eigenvalue
143
- for (let i = 0; i < sorted.length; i++) {
144
- if (Math.abs(sorted[i]) > 1e-10) {
145
- return sorted[i];
146
- }
147
- }
148
- return sorted.length > 1 ? Math.abs(sorted[1] - sorted[0]) : 0;
149
- }
150
- /**
151
- * Compute stability index based on eigenvalue distribution
152
- */
153
- function computeStabilityIndex(eigenvalues) {
154
- if (eigenvalues.length === 0)
155
- return 0;
156
- // Stability based on eigenvalue spread and negativity
157
- const maxEig = Math.max(...eigenvalues.map(Math.abs));
158
- if (maxEig === 0)
159
- return 1;
160
- // Count negative eigenvalues (indicate instability in dynamical systems)
161
- const negativeCount = eigenvalues.filter(e => e < -1e-10).length;
162
- const negativeRatio = negativeCount / eigenvalues.length;
163
- // Stability score: higher is more stable
164
- // Based on spectral gap and lack of negative eigenvalues
165
- const spectralGap = computeSpectralGap(eigenvalues);
166
- const normalizedGap = Math.min(spectralGap / maxEig, 1);
167
- return (1 - negativeRatio) * (0.5 + 0.5 * normalizedGap);
168
- }
169
- /**
170
- * Get interpretation of spectral analysis results
171
- */
172
- function getInterpretation(stable, spectralGap, stabilityIndex) {
173
- if (stable && stabilityIndex > 0.8) {
174
- return 'System is highly stable with strong connectivity';
175
- }
176
- if (stable && stabilityIndex > 0.5) {
177
- return 'System is stable with moderate connectivity';
178
- }
179
- if (stable) {
180
- return 'System is marginally stable - monitor for changes';
181
- }
182
- if (spectralGap < 0.01) {
183
- return 'System shows instability - agents may be forming isolated clusters';
184
- }
185
- if (stabilityIndex < 0.3) {
186
- return 'System is unstable - coordination patterns are fragmented';
187
- }
188
- return 'System shows instability patterns - recommend topology adjustment';
189
- }
190
- /**
191
- * Handler for pr_spectral_analyze tool
192
- */
193
- async function handler(input, context) {
194
- const logger = context?.logger ?? defaultLogger;
195
- const startTime = performance.now();
196
- try {
197
- // Validate input
198
- const validationResult = SpectralInputSchema.safeParse(input);
199
- if (!validationResult.success) {
200
- logger.error('Input validation failed', { error: validationResult.error.message });
201
- return errorResult(`Invalid input: ${validationResult.error.message}`);
202
- }
203
- const { matrix, analyzeType } = validationResult.data;
204
- const n = matrix.length;
205
- logger.debug('Processing spectral analysis', { matrixSize: n, analyzeType });
206
- // Validate square matrix
207
- for (let i = 0; i < n; i++) {
208
- if (matrix[i].length !== n) {
209
- return errorResult(`Matrix must be square. Row ${i} has ${matrix[i].length} elements, expected ${n}`);
210
- }
211
- }
212
- // Check max matrix size from config
213
- const maxSize = context?.config?.spectral?.maxMatrixSize ?? 1000;
214
- if (n > maxSize) {
215
- return errorResult(`Matrix size ${n} exceeds maximum allowed size ${maxSize}`);
216
- }
217
- let eigenvalues;
218
- let spectralGap;
219
- let stabilityIndex;
220
- // Try to use WASM bridge if available
221
- if (context?.bridge?.initialized) {
222
- try {
223
- logger.debug('Using WASM bridge for spectral analysis');
224
- const flatMatrix = new Float32Array(matrix.flat());
225
- const result = await context.bridge.analyzeSpectral(flatMatrix, n);
226
- eigenvalues = result.eigenvalues;
227
- spectralGap = result.spectralGap;
228
- stabilityIndex = result.stabilityIndex;
229
- }
230
- catch (wasmError) {
231
- logger.warn('WASM bridge failed, falling back to JS implementation', {
232
- error: wasmError instanceof Error ? wasmError.message : String(wasmError),
233
- });
234
- // Compute Laplacian for stability analysis
235
- const laplacian = computeLaplacian(matrix);
236
- eigenvalues = computeEigenvalues(laplacian);
237
- spectralGap = computeSpectralGap(eigenvalues);
238
- stabilityIndex = computeStabilityIndex(eigenvalues);
239
- }
240
- }
241
- else {
242
- // Pure JavaScript fallback
243
- logger.debug('Using JavaScript fallback for spectral analysis');
244
- const laplacian = computeLaplacian(matrix);
245
- eigenvalues = computeEigenvalues(laplacian);
246
- spectralGap = computeSpectralGap(eigenvalues);
247
- stabilityIndex = computeStabilityIndex(eigenvalues);
248
- }
249
- // Determine stability based on spectral gap threshold
250
- const stabilityThreshold = context?.config?.spectral?.stabilityThreshold ?? 0.1;
251
- const stable = spectralGap > stabilityThreshold && stabilityIndex > 0.5;
252
- const output = {
253
- spectralGap,
254
- eigenvalues: eigenvalues.slice(0, 10), // Return top 10 eigenvalues
255
- stable,
256
- details: {
257
- stabilityIndex,
258
- interpretation: getInterpretation(stable, spectralGap, stabilityIndex),
259
- matrixSize: n,
260
- analyzeType,
261
- },
262
- };
263
- const duration = performance.now() - startTime;
264
- logger.info('Spectral analysis completed', {
265
- stable,
266
- spectralGap: spectralGap.toFixed(4),
267
- stabilityIndex: stabilityIndex.toFixed(4),
268
- durationMs: duration.toFixed(2),
269
- });
270
- return successResult(output);
271
- }
272
- catch (error) {
273
- const duration = performance.now() - startTime;
274
- logger.error('Spectral analysis failed', {
275
- error: error instanceof Error ? error.message : String(error),
276
- durationMs: duration.toFixed(2),
277
- });
278
- return errorResult(error instanceof Error ? error : new Error(String(error)));
279
- }
280
- }
281
- /**
282
- * pr_spectral_analyze MCP Tool Definition
283
- */
284
- export const spectralAnalyzeTool = {
285
- name: 'pr_spectral_analyze',
286
- description: 'Analyze stability using spectral graph theory. Computes eigenvalues via power iteration with Hotelling deflation, spectral gap, and stability metrics from the graph Laplacian.',
287
- category: 'spectral',
288
- version: '0.1.3',
289
- tags: ['spectral', 'eigenvalues', 'stability', 'graph-theory', 'ai-interpretability'],
290
- cacheable: true,
291
- cacheTTL: 60000,
292
- inputSchema: {
293
- type: 'object',
294
- properties: {
295
- matrix: {
296
- type: 'array',
297
- items: { type: 'array', items: { type: 'number' } },
298
- description: 'Adjacency matrix representing connections (must be square)',
299
- },
300
- analyzeType: {
301
- type: 'string',
302
- enum: ['stability', 'clustering', 'connectivity'],
303
- default: 'stability',
304
- description: 'Type of analysis to perform',
305
- },
306
- },
307
- required: ['matrix'],
308
- },
309
- handler,
310
- };
311
- export default spectralAnalyzeTool;
312
- //# sourceMappingURL=spectral-analyze.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spectral-analyze.js","sourceRoot":"","sources":["../../../../src/mcp-tools/coherence/spectral-analyze.ts"],"names":[],"mappings":"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"}