@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.
- package/bin/cli.js +17 -1
- package/dist/src/commands/doctor-project-checks.d.ts +3 -0
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +81 -8
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +16 -2
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/memory-crud.d.ts.map +1 -1
- package/dist/src/commands/memory-crud.js +15 -5
- package/dist/src/commands/memory-crud.js.map +1 -1
- package/dist/src/commands/security-misc.d.ts.map +1 -1
- package/dist/src/commands/security-misc.js +7 -2
- package/dist/src/commands/security-misc.js.map +1 -1
- package/dist/src/init/helpers-generator.d.ts.map +1 -1
- package/dist/src/init/helpers-generator.js +5 -0
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +0 -2
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +1 -1
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.d.ts +2 -0
- package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +11 -1
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/guidance-tools.js +17 -17
- package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.d.ts +2 -0
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +14 -2
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/index.d.ts +0 -1
- package/dist/src/mcp-tools/index.d.ts.map +1 -1
- package/dist/src/mcp-tools/index.js +0 -1
- package/dist/src/mcp-tools/index.js.map +1 -1
- package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph-tools.js +1 -2
- package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +1 -1
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +2 -2
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.d.ts +2 -0
- package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.js +11 -1
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
- package/dist/src/ui/dashboard.html +44 -618
- package/dist/src/ui/server.mjs +0 -275
- package/dist/src/utils/cosine-similarity.d.ts +2 -2
- package/dist/src/utils/cosine-similarity.js +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/mcp-tools/coherence/causal-infer.d.ts +0 -15
- package/dist/src/mcp-tools/coherence/causal-infer.d.ts.map +0 -1
- package/dist/src/mcp-tools/coherence/causal-infer.js +0 -333
- package/dist/src/mcp-tools/coherence/causal-infer.js.map +0 -1
- package/dist/src/mcp-tools/coherence/coherence-check.d.ts +0 -15
- package/dist/src/mcp-tools/coherence/coherence-check.d.ts.map +0 -1
- package/dist/src/mcp-tools/coherence/coherence-check.js +0 -188
- package/dist/src/mcp-tools/coherence/coherence-check.js.map +0 -1
- package/dist/src/mcp-tools/coherence/consensus-verify.d.ts +0 -14
- package/dist/src/mcp-tools/coherence/consensus-verify.d.ts.map +0 -1
- package/dist/src/mcp-tools/coherence/consensus-verify.js +0 -305
- package/dist/src/mcp-tools/coherence/consensus-verify.js.map +0 -1
- package/dist/src/mcp-tools/coherence/memory-gate.d.ts +0 -16
- package/dist/src/mcp-tools/coherence/memory-gate.d.ts.map +0 -1
- package/dist/src/mcp-tools/coherence/memory-gate.js +0 -279
- package/dist/src/mcp-tools/coherence/memory-gate.js.map +0 -1
- package/dist/src/mcp-tools/coherence/quantum-topology.d.ts +0 -15
- package/dist/src/mcp-tools/coherence/quantum-topology.d.ts.map +0 -1
- package/dist/src/mcp-tools/coherence/quantum-topology.js +0 -400
- package/dist/src/mcp-tools/coherence/quantum-topology.js.map +0 -1
- package/dist/src/mcp-tools/coherence/spectral-analyze.d.ts +0 -14
- package/dist/src/mcp-tools/coherence/spectral-analyze.d.ts.map +0 -1
- package/dist/src/mcp-tools/coherence/spectral-analyze.js +0 -312
- package/dist/src/mcp-tools/coherence/spectral-analyze.js.map +0 -1
- package/dist/src/mcp-tools/coherence/types.d.ts +0 -430
- package/dist/src/mcp-tools/coherence/types.d.ts.map +0 -1
- package/dist/src/mcp-tools/coherence/types.js +0 -144
- package/dist/src/mcp-tools/coherence/types.js.map +0 -1
- package/dist/src/mcp-tools/coherence-tools.d.ts +0 -9
- package/dist/src/mcp-tools/coherence-tools.d.ts.map +0 -1
- package/dist/src/mcp-tools/coherence-tools.js +0 -25
- package/dist/src/mcp-tools/coherence-tools.js.map +0 -1
- package/dist/src/mcp-tools/daa-tools.d.ts +0 -13
- package/dist/src/mcp-tools/daa-tools.d.ts.map +0 -1
- package/dist/src/mcp-tools/daa-tools.js +0 -553
- 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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"}
|