@claude-flow/plugin-quantum-optimizer 3.0.0-alpha.1

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.
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Quantum Optimizer MCP Tools
3
+ *
4
+ * MCP tool definitions for quantum-inspired optimization including:
5
+ * - quantum/annealing-solve: Simulated quantum annealing
6
+ * - quantum/qaoa-optimize: QAOA circuit optimization
7
+ * - quantum/grover-search: Grover-inspired search
8
+ * - quantum/dependency-resolve: Package dependency resolution
9
+ * - quantum/schedule-optimize: Task scheduling optimization
10
+ */
11
+ import type { MCPTool, MCPToolResult, ToolContext } from './types.js';
12
+ export declare const annealingSolveTool: MCPTool;
13
+ export declare const qaoaOptimizeTool: MCPTool;
14
+ export declare const groverSearchTool: MCPTool;
15
+ export declare const dependencyResolveTool: MCPTool;
16
+ export declare const scheduleOptimizeTool: MCPTool;
17
+ /**
18
+ * All Quantum Optimizer MCP Tools
19
+ */
20
+ export declare const quantumOptimizerTools: MCPTool[];
21
+ /**
22
+ * Tool name to handler map
23
+ */
24
+ export declare const toolHandlers: Map<string, (input: Record<string, unknown>, context?: ToolContext) => Promise<MCPToolResult>>;
25
+ /**
26
+ * Get a tool by name
27
+ */
28
+ export declare function getTool(name: string): MCPTool | undefined;
29
+ /**
30
+ * Get all tool names
31
+ */
32
+ export declare function getToolNames(): string[];
33
+ export default quantumOptimizerTools;
34
+ //# sourceMappingURL=mcp-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tools.d.ts","sourceRoot":"","sources":["../src/mcp-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,WAAW,EASZ,MAAM,YAAY,CAAC;AAiJpB,eAAO,MAAM,kBAAkB,EAAE,OAkChC,CAAC;AAoEF,eAAO,MAAM,gBAAgB,EAAE,OAqC9B,CAAC;AA2DF,eAAO,MAAM,gBAAgB,EAAE,OA+B9B,CAAC;AAkDF,eAAO,MAAM,qBAAqB,EAAE,OAsCnC,CAAC;AA+CF,eAAO,MAAM,oBAAoB,EAAE,OAwClC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,EAM1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,gGAMvB,CAAC;AAEH;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEzD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,525 @@
1
+ /**
2
+ * Quantum Optimizer MCP Tools
3
+ *
4
+ * MCP tool definitions for quantum-inspired optimization including:
5
+ * - quantum/annealing-solve: Simulated quantum annealing
6
+ * - quantum/qaoa-optimize: QAOA circuit optimization
7
+ * - quantum/grover-search: Grover-inspired search
8
+ * - quantum/dependency-resolve: Package dependency resolution
9
+ * - quantum/schedule-optimize: Task scheduling optimization
10
+ */
11
+ import { AnnealingSolveInputSchema, QAOAOptimizeInputSchema, GroverSearchInputSchema, DependencyResolveInputSchema, ScheduleOptimizeInputSchema, successResult, errorResult, RESOURCE_LIMITS, } from './types.js';
12
+ import { ExoticBridge } from './bridges/exotic-bridge.js';
13
+ import { DagBridge } from './bridges/dag-bridge.js';
14
+ // Default logger
15
+ const defaultLogger = {
16
+ debug: (msg, meta) => console.debug(`[quantum-optimizer] ${msg}`, meta),
17
+ info: (msg, meta) => console.info(`[quantum-optimizer] ${msg}`, meta),
18
+ warn: (msg, meta) => console.warn(`[quantum-optimizer] ${msg}`, meta),
19
+ error: (msg, meta) => console.error(`[quantum-optimizer] ${msg}`, meta),
20
+ };
21
+ // Shared bridge instances
22
+ let exoticBridge = null;
23
+ let dagBridge = null;
24
+ async function getExoticBridge() {
25
+ if (!exoticBridge) {
26
+ exoticBridge = new ExoticBridge();
27
+ await exoticBridge.initialize();
28
+ }
29
+ return exoticBridge;
30
+ }
31
+ async function getDagBridge() {
32
+ if (!dagBridge) {
33
+ dagBridge = new DagBridge();
34
+ await dagBridge.initialize();
35
+ }
36
+ return dagBridge;
37
+ }
38
+ // ============================================================================
39
+ // Tool 1: quantum/annealing-solve
40
+ // ============================================================================
41
+ async function annealingSolveHandler(input, context) {
42
+ const logger = context?.logger ?? defaultLogger;
43
+ const startTime = performance.now();
44
+ try {
45
+ const validationResult = AnnealingSolveInputSchema.safeParse(input);
46
+ if (!validationResult.success) {
47
+ return errorResult(`Invalid input: ${validationResult.error.message}`);
48
+ }
49
+ const data = validationResult.data;
50
+ logger.debug('Annealing solve', { variables: data.problem.variables, type: data.problem.type });
51
+ // Validate resource limits
52
+ if (data.problem.variables > RESOURCE_LIMITS.MAX_VARIABLES) {
53
+ return errorResult(`Too many variables: ${data.problem.variables} > ${RESOURCE_LIMITS.MAX_VARIABLES}`);
54
+ }
55
+ // Build QUBO problem
56
+ const linear = new Float32Array(data.problem.variables);
57
+ const quadratic = new Float32Array((data.problem.variables * (data.problem.variables - 1)) / 2);
58
+ // Parse objective into linear/quadratic terms
59
+ if (data.problem.objective) {
60
+ for (const [key, value] of Object.entries(data.problem.objective)) {
61
+ if (key.includes(',')) {
62
+ // Quadratic term
63
+ const [i, j] = key.split(',').map(Number);
64
+ if (i !== undefined && j !== undefined && i < j) {
65
+ const idx = i * data.problem.variables - (i * (i + 1)) / 2 + j - i - 1;
66
+ quadratic[idx] = value;
67
+ }
68
+ }
69
+ else {
70
+ // Linear term
71
+ const i = parseInt(key, 10);
72
+ if (!isNaN(i) && i < data.problem.variables) {
73
+ linear[i] = value;
74
+ }
75
+ }
76
+ }
77
+ }
78
+ else if (data.problem.linear) {
79
+ for (let i = 0; i < Math.min(data.problem.linear.length, data.problem.variables); i++) {
80
+ linear[i] = data.problem.linear[i];
81
+ }
82
+ }
83
+ const quboProblem = {
84
+ type: data.problem.type,
85
+ variables: data.problem.variables,
86
+ linear,
87
+ quadratic,
88
+ };
89
+ const bridge = await getExoticBridge();
90
+ const result = await bridge.solveQubo(quboProblem, {
91
+ numReads: data.parameters?.numReads ?? 1000,
92
+ annealingTime: data.parameters?.annealingTime ?? 20,
93
+ chainStrength: data.parameters?.chainStrength ?? 1.0,
94
+ temperature: data.parameters?.temperature ?? {
95
+ initial: 100,
96
+ final: 0.01,
97
+ type: 'exponential',
98
+ },
99
+ embedding: data.embedding,
100
+ });
101
+ const duration = performance.now() - startTime;
102
+ logger.info('Annealing completed', {
103
+ energy: result.solution.energy,
104
+ samples: result.samples.length,
105
+ durationMs: duration.toFixed(2),
106
+ });
107
+ return successResult({
108
+ solution: {
109
+ assignment: Array.from(result.solution.assignment),
110
+ energy: result.solution.energy,
111
+ optimal: result.solution.optimal,
112
+ iterations: result.solution.iterations,
113
+ confidence: result.solution.confidence,
114
+ },
115
+ samples: result.samples.slice(0, 10).map(s => ({
116
+ assignment: Array.from(s.assignment),
117
+ energy: s.energy,
118
+ })),
119
+ timing: result.timing,
120
+ energyHistogram: Object.fromEntries(result.energyHistogram),
121
+ });
122
+ }
123
+ catch (error) {
124
+ logger.error('Annealing failed', { error: error instanceof Error ? error.message : String(error) });
125
+ return errorResult(error instanceof Error ? error : new Error(String(error)));
126
+ }
127
+ }
128
+ export const annealingSolveTool = {
129
+ name: 'quantum_annealing_solve',
130
+ description: 'Solve combinatorial optimization using quantum annealing simulation. Supports QUBO, Ising, SAT, Max-Cut, TSP, and dependency problems.',
131
+ category: 'quantum',
132
+ version: '0.1.0',
133
+ tags: ['quantum', 'annealing', 'optimization', 'qubo', 'combinatorial'],
134
+ cacheable: false,
135
+ inputSchema: {
136
+ type: 'object',
137
+ properties: {
138
+ problem: {
139
+ type: 'object',
140
+ description: 'Optimization problem definition',
141
+ properties: {
142
+ type: { type: 'string', enum: ['qubo', 'ising', 'sat', 'max_cut', 'tsp', 'dependency'] },
143
+ variables: { type: 'number', description: 'Number of binary variables' },
144
+ constraints: { type: 'array', description: 'Problem constraints' },
145
+ objective: { type: 'object', description: 'Objective coefficients as {index: weight} or {i,j: weight}' },
146
+ },
147
+ },
148
+ parameters: {
149
+ type: 'object',
150
+ properties: {
151
+ numReads: { type: 'number', default: 1000 },
152
+ annealingTime: { type: 'number', default: 20 },
153
+ chainStrength: { type: 'number', default: 1.0 },
154
+ temperature: { type: 'object' },
155
+ },
156
+ },
157
+ embedding: { type: 'string', enum: ['auto', 'minor', 'pegasus', 'chimera'] },
158
+ },
159
+ required: ['problem'],
160
+ },
161
+ handler: annealingSolveHandler,
162
+ };
163
+ // ============================================================================
164
+ // Tool 2: quantum/qaoa-optimize
165
+ // ============================================================================
166
+ async function qaoaOptimizeHandler(input, context) {
167
+ const logger = context?.logger ?? defaultLogger;
168
+ const startTime = performance.now();
169
+ try {
170
+ const validationResult = QAOAOptimizeInputSchema.safeParse(input);
171
+ if (!validationResult.success) {
172
+ return errorResult(`Invalid input: ${validationResult.error.message}`);
173
+ }
174
+ const data = validationResult.data;
175
+ logger.debug('QAOA optimize', { nodes: data.problem.graph.nodes, depth: data.circuit?.depth });
176
+ // Validate graph size
177
+ if (data.problem.graph.nodes > 1000) {
178
+ return errorResult(`Too many nodes: ${data.problem.graph.nodes} > 1000`);
179
+ }
180
+ const problemGraph = {
181
+ nodes: data.problem.graph.nodes,
182
+ edges: data.problem.graph.edges,
183
+ weights: data.problem.graph.weights ? new Float32Array(data.problem.graph.weights) : undefined,
184
+ };
185
+ const bridge = await getExoticBridge();
186
+ const result = await bridge.runQaoa(problemGraph, {
187
+ depth: data.circuit?.depth ?? 3,
188
+ optimizer: data.circuit?.optimizer ?? 'cobyla',
189
+ initialParams: data.circuit?.initialParams ?? 'heuristic',
190
+ shots: data.shots,
191
+ });
192
+ const duration = performance.now() - startTime;
193
+ logger.info('QAOA completed', {
194
+ energy: result.solution.energy,
195
+ approximationRatio: result.approximationRatio,
196
+ durationMs: duration.toFixed(2),
197
+ });
198
+ return successResult({
199
+ solution: {
200
+ assignment: Array.from(result.solution.assignment),
201
+ energy: result.solution.energy,
202
+ optimal: result.solution.optimal,
203
+ confidence: result.solution.confidence,
204
+ },
205
+ parameters: {
206
+ gamma: Array.from(result.parameters.gamma),
207
+ beta: Array.from(result.parameters.beta),
208
+ },
209
+ approximationRatio: result.approximationRatio,
210
+ convergence: Array.from(result.convergence),
211
+ });
212
+ }
213
+ catch (error) {
214
+ logger.error('QAOA failed', { error: error instanceof Error ? error.message : String(error) });
215
+ return errorResult(error instanceof Error ? error : new Error(String(error)));
216
+ }
217
+ }
218
+ export const qaoaOptimizeTool = {
219
+ name: 'quantum_qaoa_optimize',
220
+ description: 'Optimize using Quantum Approximate Optimization Algorithm. Best for Max-Cut, portfolio optimization, scheduling, and routing problems.',
221
+ category: 'quantum',
222
+ version: '0.1.0',
223
+ tags: ['quantum', 'qaoa', 'variational', 'max-cut', 'optimization'],
224
+ cacheable: false,
225
+ inputSchema: {
226
+ type: 'object',
227
+ properties: {
228
+ problem: {
229
+ type: 'object',
230
+ properties: {
231
+ type: { type: 'string', enum: ['max_cut', 'portfolio', 'scheduling', 'routing'] },
232
+ graph: {
233
+ type: 'object',
234
+ properties: {
235
+ nodes: { type: 'number' },
236
+ edges: { type: 'array', items: { type: 'array' } },
237
+ weights: { type: 'array' },
238
+ },
239
+ },
240
+ },
241
+ },
242
+ circuit: {
243
+ type: 'object',
244
+ properties: {
245
+ depth: { type: 'number', default: 3 },
246
+ optimizer: { type: 'string', enum: ['cobyla', 'bfgs', 'adam', 'nelder-mead'] },
247
+ initialParams: { type: 'string', enum: ['random', 'heuristic', 'transfer', 'fourier'] },
248
+ },
249
+ },
250
+ shots: { type: 'number', default: 1024 },
251
+ },
252
+ required: ['problem'],
253
+ },
254
+ handler: qaoaOptimizeHandler,
255
+ };
256
+ // ============================================================================
257
+ // Tool 3: quantum/grover-search
258
+ // ============================================================================
259
+ async function groverSearchHandler(input, context) {
260
+ const logger = context?.logger ?? defaultLogger;
261
+ const startTime = performance.now();
262
+ try {
263
+ const validationResult = GroverSearchInputSchema.safeParse(input);
264
+ if (!validationResult.success) {
265
+ return errorResult(`Invalid input: ${validationResult.error.message}`);
266
+ }
267
+ const data = validationResult.data;
268
+ logger.debug('Grover search', { size: data.searchSpace.size, structure: data.searchSpace.structure });
269
+ // Validate search space
270
+ if (data.searchSpace.size > RESOURCE_LIMITS.MAX_ITERATIONS) {
271
+ return errorResult(`Search space too large: ${data.searchSpace.size} > ${RESOURCE_LIMITS.MAX_ITERATIONS}`);
272
+ }
273
+ const searchSpace = {
274
+ size: data.searchSpace.size,
275
+ oracle: data.searchSpace.oracle,
276
+ structure: data.searchSpace.structure,
277
+ };
278
+ const bridge = await getExoticBridge();
279
+ const result = await bridge.groverSearch(searchSpace, {
280
+ method: data.amplification?.method ?? 'standard',
281
+ boostFactor: data.amplification?.boostFactor,
282
+ });
283
+ const duration = performance.now() - startTime;
284
+ logger.info('Grover search completed', {
285
+ found: result.solutions.length,
286
+ queries: result.queries,
287
+ durationMs: duration.toFixed(2),
288
+ });
289
+ return successResult({
290
+ solutions: result.solutions.map(s => Array.from(s)),
291
+ queries: result.queries,
292
+ optimalQueries: result.optimalQueries,
293
+ successProbability: result.successProbability,
294
+ speedup: result.optimalQueries / (result.queries || 1),
295
+ });
296
+ }
297
+ catch (error) {
298
+ logger.error('Grover search failed', { error: error instanceof Error ? error.message : String(error) });
299
+ return errorResult(error instanceof Error ? error : new Error(String(error)));
300
+ }
301
+ }
302
+ export const groverSearchTool = {
303
+ name: 'quantum_grover_search',
304
+ description: 'Grover-inspired search with quadratic speedup for unstructured search problems. Provides O(sqrt(N)) query complexity.',
305
+ category: 'quantum',
306
+ version: '0.1.0',
307
+ tags: ['quantum', 'grover', 'search', 'speedup', 'oracle'],
308
+ cacheable: false,
309
+ inputSchema: {
310
+ type: 'object',
311
+ properties: {
312
+ searchSpace: {
313
+ type: 'object',
314
+ properties: {
315
+ size: { type: 'number', description: 'N elements in search space' },
316
+ oracle: { type: 'string', description: 'Predicate function (e.g., "sum == 5")' },
317
+ structure: { type: 'string', enum: ['unstructured', 'database', 'tree', 'graph'] },
318
+ },
319
+ },
320
+ targets: { type: 'number', default: 1 },
321
+ iterations: { type: 'string', enum: ['optimal', 'fixed', 'adaptive'] },
322
+ amplification: {
323
+ type: 'object',
324
+ properties: {
325
+ method: { type: 'string', enum: ['standard', 'fixed_point', 'robust'] },
326
+ boostFactor: { type: 'number' },
327
+ },
328
+ },
329
+ },
330
+ required: ['searchSpace'],
331
+ },
332
+ handler: groverSearchHandler,
333
+ };
334
+ // ============================================================================
335
+ // Tool 4: quantum/dependency-resolve
336
+ // ============================================================================
337
+ async function dependencyResolveHandler(input, context) {
338
+ const logger = context?.logger ?? defaultLogger;
339
+ const startTime = performance.now();
340
+ try {
341
+ const validationResult = DependencyResolveInputSchema.safeParse(input);
342
+ if (!validationResult.success) {
343
+ return errorResult(`Invalid input: ${validationResult.error.message}`);
344
+ }
345
+ const data = validationResult.data;
346
+ logger.debug('Dependency resolve', { packages: data.packages.length, solver: data.solver });
347
+ const bridge = await getDagBridge();
348
+ const result = await bridge.resolveDependencies(data.packages, {
349
+ minimize: data.constraints?.minimize ?? 'versions',
350
+ lockfile: data.constraints?.lockfile,
351
+ includePeer: data.constraints?.includePeer ?? true,
352
+ timeout: data.constraints?.timeout ?? 30000,
353
+ });
354
+ const duration = performance.now() - startTime;
355
+ logger.info('Dependency resolution completed', {
356
+ resolved: Object.keys(result.resolved).length,
357
+ conflicts: result.resolvedConflicts.length,
358
+ durationMs: duration.toFixed(2),
359
+ });
360
+ return successResult({
361
+ resolved: result.resolved,
362
+ installOrder: result.order,
363
+ resolvedConflicts: result.resolvedConflicts,
364
+ totalSize: result.totalSize,
365
+ vulnerabilities: result.vulnerabilities,
366
+ });
367
+ }
368
+ catch (error) {
369
+ logger.error('Dependency resolution failed', { error: error instanceof Error ? error.message : String(error) });
370
+ return errorResult(error instanceof Error ? error : new Error(String(error)));
371
+ }
372
+ }
373
+ export const dependencyResolveTool = {
374
+ name: 'quantum_dependency_resolve',
375
+ description: 'Resolve complex dependency graphs using quantum-inspired optimization. Handles version conflicts, minimizes package size or vulnerabilities.',
376
+ category: 'quantum',
377
+ version: '0.1.0',
378
+ tags: ['quantum', 'dependency', 'package', 'resolution', 'conflict'],
379
+ cacheable: false,
380
+ inputSchema: {
381
+ type: 'object',
382
+ properties: {
383
+ packages: {
384
+ type: 'array',
385
+ items: {
386
+ type: 'object',
387
+ properties: {
388
+ name: { type: 'string' },
389
+ version: { type: 'string' },
390
+ dependencies: { type: 'object' },
391
+ conflicts: { type: 'array' },
392
+ size: { type: 'number' },
393
+ vulnerabilities: { type: 'array' },
394
+ },
395
+ },
396
+ },
397
+ constraints: {
398
+ type: 'object',
399
+ properties: {
400
+ minimize: { type: 'string', enum: ['versions', 'size', 'vulnerabilities', 'depth'] },
401
+ lockfile: { type: 'object' },
402
+ includePeer: { type: 'boolean' },
403
+ timeout: { type: 'number' },
404
+ },
405
+ },
406
+ solver: { type: 'string', enum: ['quantum_annealing', 'qaoa', 'hybrid'] },
407
+ },
408
+ required: ['packages'],
409
+ },
410
+ handler: dependencyResolveHandler,
411
+ };
412
+ // ============================================================================
413
+ // Tool 5: quantum/schedule-optimize
414
+ // ============================================================================
415
+ async function scheduleOptimizeHandler(input, context) {
416
+ const logger = context?.logger ?? defaultLogger;
417
+ const startTime = performance.now();
418
+ try {
419
+ const validationResult = ScheduleOptimizeInputSchema.safeParse(input);
420
+ if (!validationResult.success) {
421
+ return errorResult(`Invalid input: ${validationResult.error.message}`);
422
+ }
423
+ const data = validationResult.data;
424
+ logger.debug('Schedule optimize', { tasks: data.tasks.length, resources: data.resources.length });
425
+ const bridge = await getDagBridge();
426
+ const result = await bridge.optimizeSchedule(data.tasks, data.resources, data.objective);
427
+ const duration = performance.now() - startTime;
428
+ logger.info('Schedule optimization completed', {
429
+ makespan: result.makespan,
430
+ cost: result.cost,
431
+ score: result.score,
432
+ durationMs: duration.toFixed(2),
433
+ });
434
+ return successResult({
435
+ schedule: result.schedule,
436
+ makespan: result.makespan,
437
+ cost: result.cost,
438
+ utilization: result.utilization,
439
+ criticalPath: result.criticalPath,
440
+ score: result.score,
441
+ });
442
+ }
443
+ catch (error) {
444
+ logger.error('Schedule optimization failed', { error: error instanceof Error ? error.message : String(error) });
445
+ return errorResult(error instanceof Error ? error : new Error(String(error)));
446
+ }
447
+ }
448
+ export const scheduleOptimizeTool = {
449
+ name: 'quantum_schedule_optimize',
450
+ description: 'Optimize task scheduling using quantum algorithms. Minimizes makespan, cost, or maximizes resource utilization with dependency constraints.',
451
+ category: 'quantum',
452
+ version: '0.1.0',
453
+ tags: ['quantum', 'scheduling', 'optimization', 'resources', 'critical-path'],
454
+ cacheable: false,
455
+ inputSchema: {
456
+ type: 'object',
457
+ properties: {
458
+ tasks: {
459
+ type: 'array',
460
+ items: {
461
+ type: 'object',
462
+ properties: {
463
+ id: { type: 'string' },
464
+ duration: { type: 'number' },
465
+ dependencies: { type: 'array' },
466
+ resources: { type: 'array' },
467
+ deadline: { type: 'number' },
468
+ priority: { type: 'number' },
469
+ },
470
+ },
471
+ },
472
+ resources: {
473
+ type: 'array',
474
+ items: {
475
+ type: 'object',
476
+ properties: {
477
+ id: { type: 'string' },
478
+ capacity: { type: 'number' },
479
+ cost: { type: 'number' },
480
+ },
481
+ },
482
+ },
483
+ objective: { type: 'string', enum: ['makespan', 'cost', 'utilization', 'weighted'] },
484
+ },
485
+ required: ['tasks', 'resources'],
486
+ },
487
+ handler: scheduleOptimizeHandler,
488
+ };
489
+ // ============================================================================
490
+ // Tool Exports
491
+ // ============================================================================
492
+ /**
493
+ * All Quantum Optimizer MCP Tools
494
+ */
495
+ export const quantumOptimizerTools = [
496
+ annealingSolveTool,
497
+ qaoaOptimizeTool,
498
+ groverSearchTool,
499
+ dependencyResolveTool,
500
+ scheduleOptimizeTool,
501
+ ];
502
+ /**
503
+ * Tool name to handler map
504
+ */
505
+ export const toolHandlers = new Map([
506
+ ['quantum_annealing_solve', annealingSolveHandler],
507
+ ['quantum_qaoa_optimize', qaoaOptimizeHandler],
508
+ ['quantum_grover_search', groverSearchHandler],
509
+ ['quantum_dependency_resolve', dependencyResolveHandler],
510
+ ['quantum_schedule_optimize', scheduleOptimizeHandler],
511
+ ]);
512
+ /**
513
+ * Get a tool by name
514
+ */
515
+ export function getTool(name) {
516
+ return quantumOptimizerTools.find(t => t.name === name);
517
+ }
518
+ /**
519
+ * Get all tool names
520
+ */
521
+ export function getToolNames() {
522
+ return quantumOptimizerTools.map(t => t.name);
523
+ }
524
+ export default quantumOptimizerTools;
525
+ //# sourceMappingURL=mcp-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tools.js","sourceRoot":"","sources":["../src/mcp-tools.ts"],"names":[],"mappings":"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"}