claude-brain 0.30.2 → 0.30.3
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/README.md +241 -191
- package/VERSION +1 -1
- package/assets/CLAUDE-unified.md +11 -11
- package/assets/CLAUDE.md +29 -29
- package/package.json +7 -3
- package/packs/backend/node.json +173 -173
- package/packs/core/javascript.json +176 -176
- package/packs/core/typescript.json +222 -222
- package/packs/frontend/react.json +254 -254
- package/packs/meta/testing.json +172 -172
- package/scripts/postinstall.mjs +531 -531
- package/src/automation/decision-detector.ts +452 -452
- package/src/automation/phase12-manager.ts +456 -456
- package/src/automation/proactive-recall.ts +373 -373
- package/src/automation/project-detector.ts +310 -310
- package/src/automation/repo-scanner.ts +210 -205
- package/src/cli/auto-setup.ts +75 -75
- package/src/cli/auto-start.ts +266 -266
- package/src/cli/bin.ts +264 -264
- package/src/cli/commands/autostart.ts +90 -90
- package/src/cli/commands/chroma.ts +578 -577
- package/src/cli/commands/export-training.ts +70 -70
- package/src/cli/commands/export.ts +130 -130
- package/src/cli/commands/git-hook.ts +183 -183
- package/src/cli/commands/hooks.ts +217 -217
- package/src/cli/commands/init.ts +123 -123
- package/src/cli/commands/install-mcp.ts +122 -111
- package/src/cli/commands/models.ts +979 -979
- package/src/cli/commands/pack.ts +200 -200
- package/src/cli/commands/refresh.ts +344 -339
- package/src/cli/commands/reindex.ts +120 -120
- package/src/cli/commands/serve.ts +466 -463
- package/src/cli/commands/start.ts +44 -44
- package/src/cli/commands/status.ts +220 -203
- package/src/cli/commands/uninstall-mcp.ts +45 -41
- package/src/cli/commands/update.ts +130 -124
- package/src/cli/migrate-chroma.ts +106 -106
- package/src/cli/ui/animations.ts +80 -80
- package/src/cli/ui/components.ts +82 -82
- package/src/cli/ui/index.ts +4 -4
- package/src/cli/ui/logo.ts +36 -36
- package/src/cli/ui/theme.ts +55 -55
- package/src/code-intelligence/indexer.ts +352 -352
- package/src/code-intelligence/linker.ts +178 -178
- package/src/code-intelligence/parser.ts +484 -484
- package/src/code-intelligence/query.ts +291 -291
- package/src/code-intelligence/schema.ts +83 -83
- package/src/code-intelligence/types.ts +95 -95
- package/src/config/defaults.ts +52 -52
- package/src/config/home.ts +56 -56
- package/src/config/index.ts +5 -5
- package/src/config/loader.ts +192 -192
- package/src/config/schema.ts +446 -415
- package/src/config/validator.ts +182 -182
- package/src/context/assembler.ts +407 -400
- package/src/context/index.ts +79 -79
- package/src/context/progress-tracker.ts +174 -174
- package/src/context/standards-manager.ts +287 -287
- package/src/context/validator.ts +58 -58
- package/src/diagnostics/index.ts +122 -121
- package/src/health/index.ts +233 -232
- package/src/hooks/brain-hook.ts +134 -131
- package/src/hooks/capture.ts +168 -168
- package/src/hooks/claude-code-mastery.md +112 -112
- package/src/hooks/context-hook.ts +260 -245
- package/src/hooks/deduplicator.ts +72 -72
- package/src/hooks/git-capture.ts +109 -109
- package/src/hooks/git-hook-installer.ts +211 -207
- package/src/hooks/index.ts +20 -20
- package/src/hooks/installer.ts +306 -288
- package/src/hooks/interceptor-hook.ts +204 -201
- package/src/hooks/passive-classifier.ts +397 -397
- package/src/hooks/queue.ts +160 -129
- package/src/hooks/session-tracker.ts +312 -312
- package/src/hooks/types.ts +52 -52
- package/src/index.ts +7 -7
- package/src/intelligence/cross-project/generalizer.ts +283 -283
- package/src/intelligence/cross-project/index.ts +7 -7
- package/src/intelligence/hf-downloader.ts +222 -222
- package/src/intelligence/hf-manifest.json +78 -78
- package/src/intelligence/index.ts +24 -24
- package/src/intelligence/inference-router.ts +762 -762
- package/src/intelligence/model-manager.ts +263 -245
- package/src/intelligence/optimization/index.ts +10 -10
- package/src/intelligence/optimization/precompute.ts +202 -202
- package/src/intelligence/optimization/semantic-cache.ts +213 -207
- package/src/intelligence/prediction/index.ts +7 -7
- package/src/intelligence/prediction/recommender.ts +276 -268
- package/src/intelligence/reasoning/chain-retrieval.ts +243 -247
- package/src/intelligence/reasoning/index.ts +7 -7
- package/src/intelligence/temporal/evolution.ts +193 -197
- package/src/intelligence/temporal/index.ts +16 -16
- package/src/intelligence/temporal/query-processor.ts +190 -190
- package/src/intelligence/temporal/timeline.ts +272 -259
- package/src/intelligence/temporal/trends.ts +263 -263
- package/src/intelligence/tokenizer.ts +118 -118
- package/src/knowledge/entity-extractor.ts +447 -443
- package/src/knowledge/graph/builder.ts +185 -185
- package/src/knowledge/graph/linker.ts +201 -201
- package/src/knowledge/graph/memory-graph.ts +359 -359
- package/src/knowledge/graph/schema.ts +99 -99
- package/src/knowledge/graph/search.ts +166 -166
- package/src/knowledge/relationship-extractor.ts +108 -108
- package/src/memory/chroma/client.ts +211 -192
- package/src/memory/chroma/collection-manager.ts +92 -92
- package/src/memory/chroma/config.ts +57 -57
- package/src/memory/chroma/embeddings.ts +177 -175
- package/src/memory/chroma/index.ts +82 -82
- package/src/memory/chroma/migration.ts +270 -270
- package/src/memory/chroma/schemas.ts +69 -69
- package/src/memory/chroma/search.ts +319 -315
- package/src/memory/chroma/store.ts +755 -747
- package/src/memory/compression.ts +121 -121
- package/src/memory/consolidation/archiver.ts +162 -165
- package/src/memory/consolidation/merger.ts +182 -186
- package/src/memory/consolidation/scorer.ts +136 -136
- package/src/memory/database.ts +9 -0
- package/src/memory/dual-write.ts +145 -0
- package/src/memory/embeddings.ts +226 -226
- package/src/memory/episodic/detector.ts +108 -108
- package/src/memory/episodic/manager.ts +347 -351
- package/src/memory/episodic/summarizer.ts +179 -179
- package/src/memory/episodic/types.ts +52 -52
- package/src/memory/fts5-search.ts +692 -633
- package/src/memory/index.ts +943 -1060
- package/src/memory/migrations/add-fts5.ts +118 -108
- package/src/memory/patterns.ts +438 -438
- package/src/memory/pruning.ts +60 -60
- package/src/memory/schema.ts +88 -88
- package/src/memory/store.ts +911 -787
- package/src/orchestrator/handlers/decision-handler.ts +204 -204
- package/src/packs/index.ts +9 -9
- package/src/packs/loader.ts +134 -134
- package/src/packs/manager.ts +204 -204
- package/src/packs/ranker.ts +78 -78
- package/src/packs/types.ts +81 -81
- package/src/phase12/index.ts +5 -5
- package/src/retrieval/bm25/index.ts +300 -297
- package/src/retrieval/bm25/tokenizer.ts +184 -184
- package/src/retrieval/feedback/adaptive.ts +221 -221
- package/src/retrieval/feedback/index.ts +16 -16
- package/src/retrieval/feedback/metrics.ts +221 -221
- package/src/retrieval/feedback/store.ts +283 -283
- package/src/retrieval/fusion/index.ts +194 -194
- package/src/retrieval/fusion/rrf.ts +165 -165
- package/src/retrieval/index.ts +12 -12
- package/src/retrieval/pipeline.ts +375 -375
- package/src/retrieval/query/expander.ts +203 -203
- package/src/retrieval/query/index.ts +27 -27
- package/src/retrieval/query/intent-classifier.ts +252 -252
- package/src/retrieval/query/temporal-parser.ts +295 -295
- package/src/retrieval/reranker/index.ts +189 -188
- package/src/retrieval/reranker/model.ts +99 -95
- package/src/retrieval/service.ts +125 -125
- package/src/retrieval/types.ts +162 -162
- package/src/routing/entity-extractor.ts +454 -454
- package/src/routing/handlers/exploration-handler.ts +369 -0
- package/src/routing/handlers/index.ts +19 -0
- package/src/routing/handlers/memory-handler.ts +273 -0
- package/src/routing/handlers/mutation-handler.ts +241 -0
- package/src/routing/handlers/recall-handler.ts +642 -0
- package/src/routing/handlers/shared.ts +515 -0
- package/src/routing/handlers/types.ts +48 -0
- package/src/routing/intent-classifier.ts +552 -552
- package/src/routing/response-filter.ts +399 -391
- package/src/routing/router.ts +245 -2193
- package/src/routing/search-engine.ts +521 -514
- package/src/routing/types.ts +104 -94
- package/src/scripts/health-check.ts +118 -118
- package/src/scripts/setup.ts +122 -122
- package/src/server/auto-updater.ts +283 -276
- package/src/server/handlers/call-tool.ts +159 -159
- package/src/server/handlers/list-tools.ts +35 -35
- package/src/server/handlers/tools/auto-remember.ts +165 -165
- package/src/server/handlers/tools/brain.ts +86 -86
- package/src/server/handlers/tools/create-project.ts +135 -135
- package/src/server/handlers/tools/get-code-standards.ts +123 -123
- package/src/server/handlers/tools/get-corrections.ts +152 -152
- package/src/server/handlers/tools/get-patterns.ts +156 -156
- package/src/server/handlers/tools/get-project-context.ts +75 -75
- package/src/server/handlers/tools/index.ts +30 -30
- package/src/server/handlers/tools/init-project.ts +756 -756
- package/src/server/handlers/tools/list-projects.ts +126 -126
- package/src/server/handlers/tools/recall-similar.ts +87 -87
- package/src/server/handlers/tools/recognize-pattern.ts +132 -132
- package/src/server/handlers/tools/record-correction.ts +131 -131
- package/src/server/handlers/tools/remember-decision.ts +168 -168
- package/src/server/handlers/tools/schemas.ts +179 -179
- package/src/server/handlers/tools/search-code.ts +122 -122
- package/src/server/handlers/tools/smart-context.ts +146 -146
- package/src/server/handlers/tools/update-progress.ts +131 -131
- package/src/server/http-api.ts +215 -1229
- package/src/server/mcp-proxy.ts +85 -84
- package/src/server/mcp-server.ts +285 -284
- package/src/server/middleware/auth.ts +39 -0
- package/src/server/middleware/error-handler.ts +37 -0
- package/src/server/middleware/rate-limit.ts +53 -0
- package/src/server/middleware/validate.ts +42 -0
- package/src/server/pid-manager.ts +137 -136
- package/src/server/providers/resources.ts +581 -581
- package/src/server/routes/code.ts +228 -0
- package/src/server/routes/context.ts +26 -0
- package/src/server/routes/health.ts +19 -0
- package/src/server/routes/helpers.ts +100 -0
- package/src/server/routes/hooks.ts +197 -0
- package/src/server/routes/mcp.ts +47 -0
- package/src/server/routes/memory.ts +397 -0
- package/src/server/routes/models.ts +96 -0
- package/src/server/routes/projects.ts +89 -0
- package/src/server/routes/types.ts +21 -0
- package/src/server/schemas/api-schemas.ts +202 -0
- package/src/server/services.ts +720 -720
- package/src/server/utils/memory-indicator.ts +84 -84
- package/src/server/utils/response-formatter.ts +129 -129
- package/src/server/web-viewer.ts +1145 -1115
- package/src/setup/index.ts +38 -38
- package/src/tools/registry.ts +115 -115
- package/src/tools/schemas.ts +666 -666
- package/src/tools/types.ts +412 -412
- package/src/training/data-store.ts +320 -298
- package/src/training/retrain-pipeline.ts +399 -394
- package/src/utils/error-handler.ts +136 -136
- package/src/utils/index.ts +58 -58
- package/src/utils/kill-port.ts +55 -53
- package/src/utils/phase12-helper.ts +56 -56
- package/src/utils/safe-path.ts +43 -0
- package/src/utils/timing.ts +47 -47
- package/src/utils/transaction.ts +63 -63
- package/src/vault/index.ts +4 -3
- package/src/vault/paths.ts +106 -106
- package/src/vault/query.ts +4 -1
- package/src/vault/reader.ts +44 -1
- package/src/vault/watcher.ts +24 -1
- package/src/vault/writer.ts +487 -413
- package/skills/persistent-memory/SKILL.md +0 -148
- package/skills/persistent-memory/references/tool-reference.md +0 -90
|
@@ -1,159 +1,159 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Call Tool Handler
|
|
3
|
-
* Routes tool calls to appropriate handlers
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js'
|
|
7
|
-
import type { Logger } from 'pino'
|
|
8
|
-
import { ToolRegistry } from '@/tools/registry'
|
|
9
|
-
import type { ToolResponse } from '@/tools/types'
|
|
10
|
-
|
|
11
|
-
// Import tool handlers
|
|
12
|
-
import { handleGetProjectContext } from './tools/get-project-context'
|
|
13
|
-
import { handleUpdateProgress } from './tools/update-progress'
|
|
14
|
-
import { handleRememberDecision } from './tools/remember-decision'
|
|
15
|
-
import { handleRecallSimilar } from './tools/recall-similar'
|
|
16
|
-
import { handleGetCodeStandards } from './tools/get-code-standards'
|
|
17
|
-
import { handleListProjects } from './tools/list-projects'
|
|
18
|
-
|
|
19
|
-
// Phase 12 tool handlers
|
|
20
|
-
import { handleSmartContext } from './tools/smart-context'
|
|
21
|
-
import { handleAutoRemember } from './tools/auto-remember'
|
|
22
|
-
import { handleGetPhase12Status } from './tools/get-phase12-status'
|
|
23
|
-
|
|
24
|
-
// Pattern & Correction tool handlers
|
|
25
|
-
import { handleRecognizePattern } from './tools/recognize-pattern'
|
|
26
|
-
import { handleRecordCorrection } from './tools/record-correction'
|
|
27
|
-
import { handleGetPatterns } from './tools/get-patterns'
|
|
28
|
-
import { handleGetCorrections } from './tools/get-corrections'
|
|
29
|
-
|
|
30
|
-
// Project management handlers
|
|
31
|
-
import { handleCreateProject } from './tools/create-project'
|
|
32
|
-
import { handleInitProject } from './tools/init-project'
|
|
33
|
-
|
|
34
|
-
// Phase 16 Unified Brain Tool
|
|
35
|
-
import { handleBrain } from './tools/brain'
|
|
36
|
-
|
|
37
|
-
// Code Intelligence
|
|
38
|
-
import { handleSearchCode } from './tools/search-code'
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Handle tools/call request
|
|
42
|
-
* Validates that tool exists and routes to the appropriate handler
|
|
43
|
-
*
|
|
44
|
-
* @param name - Name of the tool to call
|
|
45
|
-
* @param args - Arguments for the tool
|
|
46
|
-
* @param logger - Logger instance for this request
|
|
47
|
-
* @returns Tool response
|
|
48
|
-
* @throws McpError if tool not found or handler fails
|
|
49
|
-
*/
|
|
50
|
-
export async function handleCallTool(
|
|
51
|
-
name: string,
|
|
52
|
-
args: Record<string, unknown>,
|
|
53
|
-
logger: Logger
|
|
54
|
-
): Promise<ToolResponse> {
|
|
55
|
-
logger.info({ toolName: name, args }, 'Tool called')
|
|
56
|
-
|
|
57
|
-
// Validate tool exists
|
|
58
|
-
if (!ToolRegistry.validateToolExists(name)) {
|
|
59
|
-
throw new McpError(
|
|
60
|
-
ErrorCode.MethodNotFound,
|
|
61
|
-
`Unknown tool: ${name}`
|
|
62
|
-
)
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Validate required parameters
|
|
66
|
-
const validation = ToolRegistry.validateRequiredParams(name, args)
|
|
67
|
-
if (!validation.valid) {
|
|
68
|
-
throw new McpError(
|
|
69
|
-
ErrorCode.InvalidParams,
|
|
70
|
-
validation.error || 'Invalid parameters'
|
|
71
|
-
)
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// Route to specific handler based on tool name
|
|
75
|
-
try {
|
|
76
|
-
switch (name) {
|
|
77
|
-
case 'get_project_context':
|
|
78
|
-
return await handleGetProjectContext(args, logger)
|
|
79
|
-
|
|
80
|
-
case 'update_progress':
|
|
81
|
-
return await handleUpdateProgress(args, logger)
|
|
82
|
-
|
|
83
|
-
case 'remember_decision':
|
|
84
|
-
return await handleRememberDecision(args, logger)
|
|
85
|
-
|
|
86
|
-
case 'recall_similar':
|
|
87
|
-
return await handleRecallSimilar(args, logger)
|
|
88
|
-
|
|
89
|
-
case 'get_code_standards':
|
|
90
|
-
return await handleGetCodeStandards(args, logger)
|
|
91
|
-
|
|
92
|
-
case 'list_projects':
|
|
93
|
-
return await handleListProjects(args, logger)
|
|
94
|
-
|
|
95
|
-
// Phase 12 Tools
|
|
96
|
-
case 'smart_context':
|
|
97
|
-
return await handleSmartContext(args, logger)
|
|
98
|
-
|
|
99
|
-
case 'auto_remember':
|
|
100
|
-
return await handleAutoRemember(args, logger)
|
|
101
|
-
|
|
102
|
-
case 'get_phase12_status':
|
|
103
|
-
return await handleGetPhase12Status(args, logger)
|
|
104
|
-
|
|
105
|
-
case 'create_project':
|
|
106
|
-
return await handleCreateProject(args, logger)
|
|
107
|
-
|
|
108
|
-
case 'init_project':
|
|
109
|
-
return await handleInitProject(args, logger)
|
|
110
|
-
|
|
111
|
-
// Pattern & Correction Tools
|
|
112
|
-
case 'recognize_pattern':
|
|
113
|
-
return await handleRecognizePattern(args, logger)
|
|
114
|
-
|
|
115
|
-
case 'record_correction':
|
|
116
|
-
return await handleRecordCorrection(args, logger)
|
|
117
|
-
|
|
118
|
-
case 'get_patterns':
|
|
119
|
-
return await handleGetPatterns(args, logger)
|
|
120
|
-
|
|
121
|
-
case 'get_corrections':
|
|
122
|
-
return await handleGetCorrections(args, logger)
|
|
123
|
-
|
|
124
|
-
// Phase 16 Unified Brain Tool
|
|
125
|
-
case 'brain':
|
|
126
|
-
return await handleBrain(args, logger)
|
|
127
|
-
|
|
128
|
-
// Code Intelligence
|
|
129
|
-
case 'search_code':
|
|
130
|
-
return await handleSearchCode(args, logger)
|
|
131
|
-
|
|
132
|
-
default:
|
|
133
|
-
// This should never happen if validateToolExists works correctly
|
|
134
|
-
throw new McpError(
|
|
135
|
-
ErrorCode.InternalError,
|
|
136
|
-
`Handler not implemented for tool: ${name}`
|
|
137
|
-
)
|
|
138
|
-
}
|
|
139
|
-
} catch (error) {
|
|
140
|
-
// Re-throw MCP errors as-is
|
|
141
|
-
if (error instanceof McpError) {
|
|
142
|
-
throw error
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// Convert other errors to MCP errors
|
|
146
|
-
logger.error({
|
|
147
|
-
toolName: name,
|
|
148
|
-
error: error instanceof Error ? {
|
|
149
|
-
message: error.message,
|
|
150
|
-
stack: error.stack
|
|
151
|
-
} : error
|
|
152
|
-
}, 'Tool handler error')
|
|
153
|
-
|
|
154
|
-
throw new McpError(
|
|
155
|
-
ErrorCode.InternalError,
|
|
156
|
-
error instanceof Error ? error.message : 'An unknown error occurred'
|
|
157
|
-
)
|
|
158
|
-
}
|
|
159
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Call Tool Handler
|
|
3
|
+
* Routes tool calls to appropriate handlers
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js'
|
|
7
|
+
import type { Logger } from 'pino'
|
|
8
|
+
import { ToolRegistry } from '@/tools/registry'
|
|
9
|
+
import type { ToolResponse } from '@/tools/types'
|
|
10
|
+
|
|
11
|
+
// Import tool handlers
|
|
12
|
+
import { handleGetProjectContext } from './tools/get-project-context'
|
|
13
|
+
import { handleUpdateProgress } from './tools/update-progress'
|
|
14
|
+
import { handleRememberDecision } from './tools/remember-decision'
|
|
15
|
+
import { handleRecallSimilar } from './tools/recall-similar'
|
|
16
|
+
import { handleGetCodeStandards } from './tools/get-code-standards'
|
|
17
|
+
import { handleListProjects } from './tools/list-projects'
|
|
18
|
+
|
|
19
|
+
// Phase 12 tool handlers
|
|
20
|
+
import { handleSmartContext } from './tools/smart-context'
|
|
21
|
+
import { handleAutoRemember } from './tools/auto-remember'
|
|
22
|
+
import { handleGetPhase12Status } from './tools/get-phase12-status'
|
|
23
|
+
|
|
24
|
+
// Pattern & Correction tool handlers
|
|
25
|
+
import { handleRecognizePattern } from './tools/recognize-pattern'
|
|
26
|
+
import { handleRecordCorrection } from './tools/record-correction'
|
|
27
|
+
import { handleGetPatterns } from './tools/get-patterns'
|
|
28
|
+
import { handleGetCorrections } from './tools/get-corrections'
|
|
29
|
+
|
|
30
|
+
// Project management handlers
|
|
31
|
+
import { handleCreateProject } from './tools/create-project'
|
|
32
|
+
import { handleInitProject } from './tools/init-project'
|
|
33
|
+
|
|
34
|
+
// Phase 16 Unified Brain Tool
|
|
35
|
+
import { handleBrain } from './tools/brain'
|
|
36
|
+
|
|
37
|
+
// Code Intelligence
|
|
38
|
+
import { handleSearchCode } from './tools/search-code'
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Handle tools/call request
|
|
42
|
+
* Validates that tool exists and routes to the appropriate handler
|
|
43
|
+
*
|
|
44
|
+
* @param name - Name of the tool to call
|
|
45
|
+
* @param args - Arguments for the tool
|
|
46
|
+
* @param logger - Logger instance for this request
|
|
47
|
+
* @returns Tool response
|
|
48
|
+
* @throws McpError if tool not found or handler fails
|
|
49
|
+
*/
|
|
50
|
+
export async function handleCallTool(
|
|
51
|
+
name: string,
|
|
52
|
+
args: Record<string, unknown>,
|
|
53
|
+
logger: Logger
|
|
54
|
+
): Promise<ToolResponse> {
|
|
55
|
+
logger.info({ toolName: name, args }, 'Tool called')
|
|
56
|
+
|
|
57
|
+
// Validate tool exists
|
|
58
|
+
if (!ToolRegistry.validateToolExists(name)) {
|
|
59
|
+
throw new McpError(
|
|
60
|
+
ErrorCode.MethodNotFound,
|
|
61
|
+
`Unknown tool: ${name}`
|
|
62
|
+
)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Validate required parameters
|
|
66
|
+
const validation = ToolRegistry.validateRequiredParams(name, args)
|
|
67
|
+
if (!validation.valid) {
|
|
68
|
+
throw new McpError(
|
|
69
|
+
ErrorCode.InvalidParams,
|
|
70
|
+
validation.error || 'Invalid parameters'
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Route to specific handler based on tool name
|
|
75
|
+
try {
|
|
76
|
+
switch (name) {
|
|
77
|
+
case 'get_project_context':
|
|
78
|
+
return await handleGetProjectContext(args, logger)
|
|
79
|
+
|
|
80
|
+
case 'update_progress':
|
|
81
|
+
return await handleUpdateProgress(args, logger)
|
|
82
|
+
|
|
83
|
+
case 'remember_decision':
|
|
84
|
+
return await handleRememberDecision(args, logger)
|
|
85
|
+
|
|
86
|
+
case 'recall_similar':
|
|
87
|
+
return await handleRecallSimilar(args, logger)
|
|
88
|
+
|
|
89
|
+
case 'get_code_standards':
|
|
90
|
+
return await handleGetCodeStandards(args, logger)
|
|
91
|
+
|
|
92
|
+
case 'list_projects':
|
|
93
|
+
return await handleListProjects(args, logger)
|
|
94
|
+
|
|
95
|
+
// Phase 12 Tools
|
|
96
|
+
case 'smart_context':
|
|
97
|
+
return await handleSmartContext(args, logger)
|
|
98
|
+
|
|
99
|
+
case 'auto_remember':
|
|
100
|
+
return await handleAutoRemember(args, logger)
|
|
101
|
+
|
|
102
|
+
case 'get_phase12_status':
|
|
103
|
+
return await handleGetPhase12Status(args, logger)
|
|
104
|
+
|
|
105
|
+
case 'create_project':
|
|
106
|
+
return await handleCreateProject(args, logger)
|
|
107
|
+
|
|
108
|
+
case 'init_project':
|
|
109
|
+
return await handleInitProject(args, logger)
|
|
110
|
+
|
|
111
|
+
// Pattern & Correction Tools
|
|
112
|
+
case 'recognize_pattern':
|
|
113
|
+
return await handleRecognizePattern(args, logger)
|
|
114
|
+
|
|
115
|
+
case 'record_correction':
|
|
116
|
+
return await handleRecordCorrection(args, logger)
|
|
117
|
+
|
|
118
|
+
case 'get_patterns':
|
|
119
|
+
return await handleGetPatterns(args, logger)
|
|
120
|
+
|
|
121
|
+
case 'get_corrections':
|
|
122
|
+
return await handleGetCorrections(args, logger)
|
|
123
|
+
|
|
124
|
+
// Phase 16 Unified Brain Tool
|
|
125
|
+
case 'brain':
|
|
126
|
+
return await handleBrain(args, logger)
|
|
127
|
+
|
|
128
|
+
// Code Intelligence
|
|
129
|
+
case 'search_code':
|
|
130
|
+
return await handleSearchCode(args, logger)
|
|
131
|
+
|
|
132
|
+
default:
|
|
133
|
+
// This should never happen if validateToolExists works correctly
|
|
134
|
+
throw new McpError(
|
|
135
|
+
ErrorCode.InternalError,
|
|
136
|
+
`Handler not implemented for tool: ${name}`
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
} catch (error) {
|
|
140
|
+
// Re-throw MCP errors as-is
|
|
141
|
+
if (error instanceof McpError) {
|
|
142
|
+
throw error
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Convert other errors to MCP errors
|
|
146
|
+
logger.error({
|
|
147
|
+
toolName: name,
|
|
148
|
+
error: error instanceof Error ? {
|
|
149
|
+
message: error.message,
|
|
150
|
+
stack: error.stack
|
|
151
|
+
} : error
|
|
152
|
+
}, 'Tool handler error')
|
|
153
|
+
|
|
154
|
+
throw new McpError(
|
|
155
|
+
ErrorCode.InternalError,
|
|
156
|
+
error instanceof Error ? error.message : 'An unknown error occurred'
|
|
157
|
+
)
|
|
158
|
+
}
|
|
159
|
+
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* List Tools Handler
|
|
3
|
-
* Handles the MCP tools/list request
|
|
4
|
-
*
|
|
5
|
-
* In unified tool mode (default), exposes brain + search_code.
|
|
6
|
-
* In legacy mode, all tools are exposed.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { ToolRegistry } from '@/tools/registry'
|
|
10
|
-
import { getServices, isServicesInitialized } from '@/server/services'
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Handle tools/list request
|
|
14
|
-
* Returns available tools in MCP format, filtered by config
|
|
15
|
-
*/
|
|
16
|
-
export async function handleListTools() {
|
|
17
|
-
// Check if unified tool mode is enabled
|
|
18
|
-
if (isServicesInitialized()) {
|
|
19
|
-
try {
|
|
20
|
-
const { config } = getServices()
|
|
21
|
-
if (config.unifiedToolMode) {
|
|
22
|
-
const tools = ['brain', 'search_code']
|
|
23
|
-
.map(name => ToolRegistry.getToolByName(name))
|
|
24
|
-
.filter(Boolean)
|
|
25
|
-
return { tools }
|
|
26
|
-
}
|
|
27
|
-
} catch {
|
|
28
|
-
// Services not ready, fall through to default
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// Default: return all tools (legacy + brain)
|
|
33
|
-
const tools = ToolRegistry.getToolsForListResponse()
|
|
34
|
-
return { tools }
|
|
35
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* List Tools Handler
|
|
3
|
+
* Handles the MCP tools/list request
|
|
4
|
+
*
|
|
5
|
+
* In unified tool mode (default), exposes brain + search_code.
|
|
6
|
+
* In legacy mode, all tools are exposed.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { ToolRegistry } from '@/tools/registry'
|
|
10
|
+
import { getServices, isServicesInitialized } from '@/server/services'
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Handle tools/list request
|
|
14
|
+
* Returns available tools in MCP format, filtered by config
|
|
15
|
+
*/
|
|
16
|
+
export async function handleListTools() {
|
|
17
|
+
// Check if unified tool mode is enabled
|
|
18
|
+
if (isServicesInitialized()) {
|
|
19
|
+
try {
|
|
20
|
+
const { config } = getServices()
|
|
21
|
+
if (config.unifiedToolMode) {
|
|
22
|
+
const tools = ['brain', 'search_code']
|
|
23
|
+
.map(name => ToolRegistry.getToolByName(name))
|
|
24
|
+
.filter(Boolean)
|
|
25
|
+
return { tools }
|
|
26
|
+
}
|
|
27
|
+
} catch {
|
|
28
|
+
// Services not ready, fall through to default
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Default: return all tools (legacy + brain)
|
|
33
|
+
const tools = ToolRegistry.getToolsForListResponse()
|
|
34
|
+
return { tools }
|
|
35
|
+
}
|