wifi-densepose/vendor/sublinear-time-solver/dist/mcp/tools/index.js

80 lines
3.3 KiB
JavaScript

/**
* MCP Tools Export
*
* This module exports all MCP tool classes and provides
* a consolidated tool list for the MCP server
*/
// Import all tool classes
import { SolverTools } from './solver.js';
import { MatrixTools } from './matrix.js';
import { EmergenceTools } from './emergence-tools.js';
import { ConsciousnessTools } from './consciousness.js';
import { SchedulerTools } from './scheduler.js';
import { PsychoSymbolicTools } from './psycho-symbolic.js';
import { WasmSublinearSolverTools } from './wasm-sublinear-solver.js';
import { temporalAttractorTools } from './temporal-attractor.js';
import { temporalAttractorHandlers } from './temporal-attractor-handlers.js';
// Export classes for direct usage
export { SolverTools } from './solver.js';
export { MatrixTools } from './matrix.js';
export { EmergenceTools } from './emergence-tools.js';
export { ConsciousnessTools } from './consciousness.js';
export { SchedulerTools } from './scheduler.js';
export { PsychoSymbolicTools } from './psycho-symbolic.js';
export { WasmSublinearSolverTools } from './wasm-sublinear-solver.js';
export { temporalAttractorHandlers } from './temporal-attractor-handlers.js';
// Create instances for getting tool definitions
const solverToolsInstance = new SolverTools();
const matrixToolsInstance = new MatrixTools();
const emergenceToolsInstance = new EmergenceTools();
const consciousnessToolsInstance = new ConsciousnessTools();
const schedulerToolsInstance = new SchedulerTools();
const psychoSymbolicToolsInstance = new PsychoSymbolicTools();
const wasmSolverToolsInstance = new WasmSublinearSolverTools();
// Export tool arrays (if classes have getTools method, otherwise empty)
export const solverTools = solverToolsInstance.getTools?.() || [];
export const matrixTools = matrixToolsInstance.getTools?.() || [];
export const emergenceTools = emergenceToolsInstance.getTools?.() || [];
export const consciousnessTools = consciousnessToolsInstance.getTools?.() || [];
export const schedulerTools = schedulerToolsInstance.getTools?.() || [];
export const psychoSymbolicTools = psychoSymbolicToolsInstance.getTools?.() || [];
// Temporal attractor tools are exported directly from the file
export { temporalAttractorTools } from './temporal-attractor.js';
// For backward compatibility - if getTools doesn't exist,
// we'll assume the tools are defined in the MCP server itself
export const allTools = [
...solverTools,
...matrixTools,
...emergenceTools,
...consciousnessTools,
...schedulerTools,
...psychoSymbolicTools,
...temporalAttractorTools
];
// Default export with both instances and classes
export default {
// Instances (for calling methods)
solver: solverToolsInstance,
matrix: matrixToolsInstance,
emergence: emergenceToolsInstance,
consciousness: consciousnessToolsInstance,
scheduler: schedulerToolsInstance,
psychoSymbolic: psychoSymbolicToolsInstance,
temporalAttractor: temporalAttractorHandlers,
// Classes (for creating new instances)
SolverTools,
MatrixTools,
EmergenceTools,
ConsciousnessTools,
SchedulerTools,
PsychoSymbolicTools,
// Tool arrays (may be empty if getTools doesn't exist)
solverTools,
matrixTools,
emergenceTools,
consciousnessTools,
schedulerTools,
psychoSymbolicTools,
allTools
};