claude-brain 0.15.2 → 0.16.0
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 +191 -191
- package/VERSION +1 -1
- package/assets/CLAUDE-unified.md +11 -11
- package/assets/CLAUDE.md +29 -11
- package/bunfig.toml +8 -8
- package/package.json +82 -82
- 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 +341 -341
- package/src/automation/auto-context.ts +240 -240
- package/src/automation/decision-detector.ts +452 -452
- package/src/automation/index.ts +11 -11
- 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 +205 -205
- package/src/cli/auto-setup.ts +82 -82
- package/src/cli/bin.ts +209 -202
- package/src/cli/commands/chroma.ts +573 -573
- package/src/cli/commands/git-hook.ts +189 -189
- package/src/cli/commands/hooks.ts +213 -213
- package/src/cli/commands/init.ts +122 -122
- package/src/cli/commands/install-mcp.ts +92 -92
- package/src/cli/commands/pack.ts +197 -197
- package/src/cli/commands/refresh.ts +323 -0
- package/src/cli/commands/serve.ts +167 -173
- package/src/cli/commands/start.ts +42 -42
- package/src/cli/commands/uninstall-mcp.ts +41 -41
- package/src/cli/commands/update.ts +124 -121
- package/src/cli/diagnose.ts +4 -4
- package/src/cli/health-check.ts +4 -4
- package/src/cli/migrate-chroma.ts +106 -106
- package/src/cli/setup.ts +4 -4
- 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/config/defaults.ts +50 -50
- package/src/config/home.ts +55 -55
- package/src/config/index.ts +7 -7
- package/src/config/loader.ts +166 -166
- package/src/config/migration.ts +76 -76
- package/src/config/schema.ts +360 -360
- package/src/config/validator.ts +184 -184
- package/src/config/watcher.ts +86 -86
- package/src/context/assembler.ts +398 -398
- package/src/context/cache-manager.ts +101 -101
- package/src/context/formatter.ts +84 -84
- package/src/context/hierarchy.ts +85 -85
- package/src/context/index.ts +83 -83
- package/src/context/progress-tracker.ts +174 -174
- package/src/context/standards-manager.ts +287 -287
- package/src/context/types.ts +252 -252
- package/src/context/validator.ts +58 -58
- package/src/diagnostics/index.ts +123 -123
- package/src/health/index.ts +229 -229
- package/src/hooks/brain-hook.ts +128 -112
- package/src/hooks/capture.ts +168 -205
- package/src/hooks/deduplicator.ts +72 -72
- package/src/hooks/git-capture.ts +109 -109
- package/src/hooks/git-hook-installer.ts +207 -207
- package/src/hooks/index.ts +20 -20
- package/src/hooks/installer.ts +194 -194
- package/src/hooks/passive-classifier.ts +404 -723
- package/src/hooks/queue.ts +129 -129
- package/src/hooks/session-tracker.ts +312 -275
- package/src/hooks/types.ts +47 -47
- package/src/index.ts +7 -7
- package/src/intelligence/cross-project/affinity.ts +162 -162
- package/src/intelligence/cross-project/generalizer.ts +283 -283
- package/src/intelligence/cross-project/index.ts +13 -13
- package/src/intelligence/cross-project/transfer.ts +201 -201
- package/src/intelligence/index.ts +24 -24
- package/src/intelligence/optimization/index.ts +10 -10
- package/src/intelligence/optimization/precompute.ts +202 -202
- package/src/intelligence/optimization/semantic-cache.ts +207 -207
- package/src/intelligence/prediction/context-anticipator.ts +198 -198
- package/src/intelligence/prediction/decision-predictor.ts +184 -184
- package/src/intelligence/prediction/index.ts +13 -13
- package/src/intelligence/prediction/recommender.ts +268 -268
- package/src/intelligence/reasoning/chain-retrieval.ts +247 -247
- package/src/intelligence/reasoning/counterfactual.ts +248 -248
- package/src/intelligence/reasoning/index.ts +13 -13
- package/src/intelligence/reasoning/synthesizer.ts +169 -169
- package/src/intelligence/temporal/evolution.ts +197 -197
- package/src/intelligence/temporal/index.ts +16 -16
- package/src/intelligence/temporal/query-processor.ts +190 -190
- package/src/intelligence/temporal/timeline.ts +259 -259
- package/src/intelligence/temporal/trends.ts +263 -263
- package/src/knowledge/entity-extractor.ts +416 -416
- 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 +168 -168
- package/src/knowledge/relationship-extractor.ts +108 -108
- package/src/memory/chroma/client.ts +174 -174
- package/src/memory/chroma/collection-manager.ts +94 -94
- package/src/memory/chroma/config.ts +57 -57
- package/src/memory/chroma/embeddings.ts +155 -155
- 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 +315 -315
- package/src/memory/chroma/store.ts +741 -741
- package/src/memory/consolidation/archiver.ts +164 -164
- package/src/memory/consolidation/merger.ts +186 -186
- package/src/memory/consolidation/scorer.ts +138 -138
- package/src/memory/context-builder.ts +236 -236
- package/src/memory/database.ts +169 -169
- package/src/memory/embedding-utils.ts +156 -156
- package/src/memory/embeddings.ts +226 -226
- package/src/memory/episodic/detector.ts +108 -108
- package/src/memory/episodic/manager.ts +351 -351
- package/src/memory/episodic/summarizer.ts +179 -179
- package/src/memory/episodic/types.ts +52 -52
- package/src/memory/index.ts +582 -582
- package/src/memory/knowledge-extractor.ts +455 -455
- package/src/memory/learning.ts +378 -378
- package/src/memory/patterns.ts +396 -396
- package/src/memory/schema.ts +88 -88
- package/src/memory/search.ts +309 -309
- package/src/memory/store.ts +787 -787
- package/src/memory/types.ts +121 -121
- package/src/orchestrator/coordinator.ts +272 -272
- package/src/orchestrator/decision-logger.ts +228 -228
- package/src/orchestrator/event-emitter.ts +198 -198
- package/src/orchestrator/event-queue.ts +184 -184
- package/src/orchestrator/handlers/base-handler.ts +70 -70
- package/src/orchestrator/handlers/context-handler.ts +73 -73
- package/src/orchestrator/handlers/decision-handler.ts +204 -204
- package/src/orchestrator/handlers/index.ts +10 -10
- package/src/orchestrator/handlers/status-handler.ts +131 -131
- package/src/orchestrator/handlers/task-handler.ts +171 -171
- package/src/orchestrator/index.ts +275 -275
- package/src/orchestrator/task-parser.ts +284 -284
- package/src/orchestrator/types.ts +98 -98
- 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 -300
- package/src/retrieval/bm25/tokenizer.ts +184 -184
- package/src/retrieval/feedback/adaptive.ts +223 -223
- package/src/retrieval/feedback/index.ts +16 -16
- package/src/retrieval/feedback/metrics.ts +223 -223
- package/src/retrieval/feedback/store.ts +283 -283
- package/src/retrieval/fusion/index.ts +194 -194
- package/src/retrieval/fusion/rrf.ts +163 -163
- package/src/retrieval/index.ts +12 -12
- package/src/retrieval/pipeline.ts +375 -375
- package/src/retrieval/query/expander.ts +198 -198
- package/src/retrieval/query/index.ts +27 -27
- package/src/retrieval/query/intent-classifier.ts +236 -236
- package/src/retrieval/query/temporal-parser.ts +295 -295
- package/src/retrieval/reranker/index.ts +188 -188
- package/src/retrieval/reranker/model.ts +95 -95
- package/src/retrieval/service.ts +125 -125
- package/src/retrieval/types.ts +162 -162
- package/src/routing/entity-extractor.ts +428 -428
- package/src/routing/intent-classifier.ts +450 -436
- package/src/routing/response-filter.ts +261 -258
- package/src/routing/router.ts +1441 -1322
- package/src/routing/search-engine.ts +515 -475
- package/src/routing/types.ts +94 -94
- package/src/scripts/health-check.ts +118 -118
- package/src/scripts/setup.ts +122 -122
- package/src/server/handlers/call-tool.ts +156 -156
- package/src/server/handlers/index.ts +9 -9
- package/src/server/handlers/list-tools.ts +35 -35
- package/src/server/handlers/tools/analyze-decision-evolution.ts +151 -151
- package/src/server/handlers/tools/auto-remember.ts +200 -200
- package/src/server/handlers/tools/brain.ts +85 -85
- package/src/server/handlers/tools/create-project.ts +135 -135
- package/src/server/handlers/tools/detect-trends.ts +144 -144
- package/src/server/handlers/tools/find-cross-project-patterns.ts +168 -168
- package/src/server/handlers/tools/get-activity-log.ts +194 -194
- package/src/server/handlers/tools/get-code-standards.ts +124 -124
- package/src/server/handlers/tools/get-corrections.ts +154 -154
- package/src/server/handlers/tools/get-decision-timeline.ts +172 -172
- package/src/server/handlers/tools/get-episode.ts +103 -103
- package/src/server/handlers/tools/get-patterns.ts +158 -158
- package/src/server/handlers/tools/get-phase12-status.ts +63 -63
- package/src/server/handlers/tools/get-project-context.ts +75 -75
- package/src/server/handlers/tools/get-recommendations.ts +145 -145
- package/src/server/handlers/tools/index.ts +31 -31
- package/src/server/handlers/tools/init-project.ts +757 -757
- package/src/server/handlers/tools/list-episodes.ts +90 -90
- package/src/server/handlers/tools/list-projects.ts +125 -125
- package/src/server/handlers/tools/rate-memory.ts +101 -101
- package/src/server/handlers/tools/recall-similar.ts +87 -87
- package/src/server/handlers/tools/recognize-pattern.ts +126 -126
- package/src/server/handlers/tools/record-correction.ts +125 -125
- package/src/server/handlers/tools/remember-decision.ts +153 -153
- package/src/server/handlers/tools/schemas.ts +253 -253
- package/src/server/handlers/tools/search-knowledge-graph.ts +102 -102
- package/src/server/handlers/tools/smart-context.ts +146 -146
- package/src/server/handlers/tools/update-progress.ts +131 -131
- package/src/server/handlers/tools/what-if-analysis.ts +135 -135
- package/src/server/http-api.ts +693 -693
- package/src/server/index.ts +40 -40
- package/src/server/mcp-server.ts +283 -283
- package/src/server/providers/index.ts +7 -7
- package/src/server/providers/prompts.ts +327 -327
- package/src/server/providers/resources.ts +622 -622
- package/src/server/services.ts +468 -468
- package/src/server/types.ts +39 -39
- package/src/server/utils/error-handler.ts +155 -155
- package/src/server/utils/index.ts +13 -13
- package/src/server/utils/memory-indicator.ts +83 -83
- package/src/server/utils/request-context.ts +122 -122
- package/src/server/utils/response-formatter.ts +129 -129
- package/src/server/utils/validators.ts +210 -210
- package/src/setup/index.ts +48 -48
- package/src/setup/wizard.ts +461 -461
- package/src/tools/index.ts +24 -24
- package/src/tools/registry.ts +115 -115
- package/src/tools/schemas.test.ts +30 -30
- package/src/tools/schemas.ts +617 -617
- package/src/tools/types.ts +412 -412
- package/src/utils/circuit-breaker.ts +130 -130
- package/src/utils/cleanup.ts +34 -34
- package/src/utils/error-handler.ts +132 -132
- package/src/utils/error-messages.ts +60 -60
- package/src/utils/fallback.ts +45 -45
- package/src/utils/index.ts +54 -54
- package/src/utils/logger-utils.ts +80 -80
- package/src/utils/logger.ts +88 -88
- package/src/utils/phase12-helper.ts +56 -56
- package/src/utils/retry.ts +94 -94
- package/src/utils/timing.ts +47 -47
- package/src/utils/transaction.ts +63 -63
- package/src/vault/frontmatter.ts +264 -264
- package/src/vault/index.ts +318 -318
- package/src/vault/paths.ts +106 -106
- package/src/vault/query.ts +422 -422
- package/src/vault/reader.ts +264 -264
- package/src/vault/templates.ts +186 -186
- package/src/vault/types.ts +73 -73
- package/src/vault/watcher.ts +277 -277
- package/src/vault/writer.ts +413 -413
- package/tsconfig.json +30 -30
- package/src/cli/auto-update.ts +0 -157
package/src/tools/index.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tools Module Exports
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
export { TOOLS, getToolNames, type ToolDefinition, type ToolName } from './schemas'
|
|
6
|
-
export { ToolRegistry } from './registry'
|
|
7
|
-
export type {
|
|
8
|
-
// Input types
|
|
9
|
-
GetProjectContextInput,
|
|
10
|
-
UpdateProgressInput,
|
|
11
|
-
RememberDecisionInput,
|
|
12
|
-
RecallSimilarInput,
|
|
13
|
-
GetCodeStandardsInput,
|
|
14
|
-
ListProjectsInput,
|
|
15
|
-
ToolInput,
|
|
16
|
-
// Output types
|
|
17
|
-
ToolResponse,
|
|
18
|
-
ProjectContext,
|
|
19
|
-
ProgressUpdateResult,
|
|
20
|
-
DecisionStorageResult,
|
|
21
|
-
SimilarMemory,
|
|
22
|
-
CodeStandards,
|
|
23
|
-
ProjectListItem
|
|
24
|
-
} from './types'
|
|
1
|
+
/**
|
|
2
|
+
* Tools Module Exports
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export { TOOLS, getToolNames, type ToolDefinition, type ToolName } from './schemas'
|
|
6
|
+
export { ToolRegistry } from './registry'
|
|
7
|
+
export type {
|
|
8
|
+
// Input types
|
|
9
|
+
GetProjectContextInput,
|
|
10
|
+
UpdateProgressInput,
|
|
11
|
+
RememberDecisionInput,
|
|
12
|
+
RecallSimilarInput,
|
|
13
|
+
GetCodeStandardsInput,
|
|
14
|
+
ListProjectsInput,
|
|
15
|
+
ToolInput,
|
|
16
|
+
// Output types
|
|
17
|
+
ToolResponse,
|
|
18
|
+
ProjectContext,
|
|
19
|
+
ProgressUpdateResult,
|
|
20
|
+
DecisionStorageResult,
|
|
21
|
+
SimilarMemory,
|
|
22
|
+
CodeStandards,
|
|
23
|
+
ProjectListItem
|
|
24
|
+
} from './types'
|
package/src/tools/registry.ts
CHANGED
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tool Registry
|
|
3
|
-
* Central registry for all MCP tools, providing lookup and validation
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { TOOLS, type ToolDefinition, type ToolName } from './schemas'
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* ToolRegistry provides access to all registered tools
|
|
10
|
-
* and validation methods for tool operations
|
|
11
|
-
*/
|
|
12
|
-
export class ToolRegistry {
|
|
13
|
-
/**
|
|
14
|
-
* Get all registered tools
|
|
15
|
-
* @returns Array of all tool definitions
|
|
16
|
-
*/
|
|
17
|
-
static getAllTools(): ToolDefinition[] {
|
|
18
|
-
return Object.values(TOOLS)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Find a tool by its name
|
|
23
|
-
* @param name - The tool name to search for
|
|
24
|
-
* @returns The tool definition or undefined if not found
|
|
25
|
-
*/
|
|
26
|
-
static getToolByName(name: string): ToolDefinition | undefined {
|
|
27
|
-
return Object.values(TOOLS).find(tool => tool.name === name)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Check if a tool exists in the registry
|
|
32
|
-
* @param name - The tool name to validate
|
|
33
|
-
* @returns true if the tool exists, false otherwise
|
|
34
|
-
*/
|
|
35
|
-
static validateToolExists(name: string): boolean {
|
|
36
|
-
return this.getToolByName(name) !== undefined
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Get the count of registered tools
|
|
41
|
-
* @returns Number of registered tools
|
|
42
|
-
*/
|
|
43
|
-
static getToolCount(): number {
|
|
44
|
-
return Object.keys(TOOLS).length
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Get all tool names
|
|
49
|
-
* @returns Array of tool names
|
|
50
|
-
*/
|
|
51
|
-
static getToolNames(): ToolName[] {
|
|
52
|
-
return Object.values(TOOLS).map(tool => tool.name) as ToolName[]
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Check if a tool name is valid (type guard)
|
|
57
|
-
* @param name - The name to check
|
|
58
|
-
* @returns true if name is a valid ToolName
|
|
59
|
-
*/
|
|
60
|
-
static isValidToolName(name: string): name is ToolName {
|
|
61
|
-
return this.validateToolExists(name)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Get tools formatted for MCP tools/list response
|
|
66
|
-
* @returns Array of tools in MCP format
|
|
67
|
-
*/
|
|
68
|
-
static getToolsForListResponse(): ToolDefinition[] {
|
|
69
|
-
return Object.values(TOOLS)
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Get only the unified brain tool (Phase 16)
|
|
74
|
-
* @returns Array containing only the brain tool
|
|
75
|
-
*/
|
|
76
|
-
static getUnifiedTools(): ToolDefinition[] {
|
|
77
|
-
const brain = this.getToolByName('brain')
|
|
78
|
-
return brain ? [brain] : []
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Validate that required parameters are present
|
|
83
|
-
* @param toolName - Name of the tool
|
|
84
|
-
* @param args - Arguments provided
|
|
85
|
-
* @returns Object with valid flag and optional error message
|
|
86
|
-
*/
|
|
87
|
-
static validateRequiredParams(
|
|
88
|
-
toolName: string,
|
|
89
|
-
args: Record<string, unknown>
|
|
90
|
-
): { valid: boolean; error?: string } {
|
|
91
|
-
const tool = this.getToolByName(toolName)
|
|
92
|
-
|
|
93
|
-
if (!tool) {
|
|
94
|
-
return { valid: false, error: `Unknown tool: ${toolName}` }
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const required = tool.inputSchema.required || []
|
|
98
|
-
const missingParams: string[] = []
|
|
99
|
-
|
|
100
|
-
for (const param of required) {
|
|
101
|
-
if (args[param] === undefined || args[param] === null) {
|
|
102
|
-
missingParams.push(param)
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
if (missingParams.length > 0) {
|
|
107
|
-
return {
|
|
108
|
-
valid: false,
|
|
109
|
-
error: `Missing required parameters: ${missingParams.join(', ')}`
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return { valid: true }
|
|
114
|
-
}
|
|
115
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registry
|
|
3
|
+
* Central registry for all MCP tools, providing lookup and validation
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { TOOLS, type ToolDefinition, type ToolName } from './schemas'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* ToolRegistry provides access to all registered tools
|
|
10
|
+
* and validation methods for tool operations
|
|
11
|
+
*/
|
|
12
|
+
export class ToolRegistry {
|
|
13
|
+
/**
|
|
14
|
+
* Get all registered tools
|
|
15
|
+
* @returns Array of all tool definitions
|
|
16
|
+
*/
|
|
17
|
+
static getAllTools(): ToolDefinition[] {
|
|
18
|
+
return Object.values(TOOLS)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Find a tool by its name
|
|
23
|
+
* @param name - The tool name to search for
|
|
24
|
+
* @returns The tool definition or undefined if not found
|
|
25
|
+
*/
|
|
26
|
+
static getToolByName(name: string): ToolDefinition | undefined {
|
|
27
|
+
return Object.values(TOOLS).find(tool => tool.name === name)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Check if a tool exists in the registry
|
|
32
|
+
* @param name - The tool name to validate
|
|
33
|
+
* @returns true if the tool exists, false otherwise
|
|
34
|
+
*/
|
|
35
|
+
static validateToolExists(name: string): boolean {
|
|
36
|
+
return this.getToolByName(name) !== undefined
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Get the count of registered tools
|
|
41
|
+
* @returns Number of registered tools
|
|
42
|
+
*/
|
|
43
|
+
static getToolCount(): number {
|
|
44
|
+
return Object.keys(TOOLS).length
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Get all tool names
|
|
49
|
+
* @returns Array of tool names
|
|
50
|
+
*/
|
|
51
|
+
static getToolNames(): ToolName[] {
|
|
52
|
+
return Object.values(TOOLS).map(tool => tool.name) as ToolName[]
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Check if a tool name is valid (type guard)
|
|
57
|
+
* @param name - The name to check
|
|
58
|
+
* @returns true if name is a valid ToolName
|
|
59
|
+
*/
|
|
60
|
+
static isValidToolName(name: string): name is ToolName {
|
|
61
|
+
return this.validateToolExists(name)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Get tools formatted for MCP tools/list response
|
|
66
|
+
* @returns Array of tools in MCP format
|
|
67
|
+
*/
|
|
68
|
+
static getToolsForListResponse(): ToolDefinition[] {
|
|
69
|
+
return Object.values(TOOLS)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Get only the unified brain tool (Phase 16)
|
|
74
|
+
* @returns Array containing only the brain tool
|
|
75
|
+
*/
|
|
76
|
+
static getUnifiedTools(): ToolDefinition[] {
|
|
77
|
+
const brain = this.getToolByName('brain')
|
|
78
|
+
return brain ? [brain] : []
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Validate that required parameters are present
|
|
83
|
+
* @param toolName - Name of the tool
|
|
84
|
+
* @param args - Arguments provided
|
|
85
|
+
* @returns Object with valid flag and optional error message
|
|
86
|
+
*/
|
|
87
|
+
static validateRequiredParams(
|
|
88
|
+
toolName: string,
|
|
89
|
+
args: Record<string, unknown>
|
|
90
|
+
): { valid: boolean; error?: string } {
|
|
91
|
+
const tool = this.getToolByName(toolName)
|
|
92
|
+
|
|
93
|
+
if (!tool) {
|
|
94
|
+
return { valid: false, error: `Unknown tool: ${toolName}` }
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const required = tool.inputSchema.required || []
|
|
98
|
+
const missingParams: string[] = []
|
|
99
|
+
|
|
100
|
+
for (const param of required) {
|
|
101
|
+
if (args[param] === undefined || args[param] === null) {
|
|
102
|
+
missingParams.push(param)
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (missingParams.length > 0) {
|
|
107
|
+
return {
|
|
108
|
+
valid: false,
|
|
109
|
+
error: `Missing required parameters: ${missingParams.join(', ')}`
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return { valid: true }
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
export interface GetPatternsInput {
|
|
2
|
-
project_name?: string
|
|
3
|
-
pattern_type?: 'solution' | 'anti-pattern' | 'best-practice' | 'common-issue'
|
|
4
|
-
limit?: number
|
|
5
|
-
query?: string
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export interface GetCorrectionsInput {
|
|
9
|
-
project_name?: string
|
|
10
|
-
limit?: number
|
|
11
|
-
query?: string
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface RecognizePatternInput {
|
|
15
|
-
project_name: string
|
|
16
|
-
pattern_type: 'solution' | 'anti-pattern' | 'best-practice' | 'common-issue'
|
|
17
|
-
description: string
|
|
18
|
-
example?: string
|
|
19
|
-
confidence?: number
|
|
20
|
-
context?: string
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface RecordCorrectionInput {
|
|
24
|
-
project_name: string
|
|
25
|
-
original: string
|
|
26
|
-
correction: string
|
|
27
|
-
reasoning: string
|
|
28
|
-
context?: string
|
|
29
|
-
confidence?: number
|
|
30
|
-
}
|
|
1
|
+
export interface GetPatternsInput {
|
|
2
|
+
project_name?: string
|
|
3
|
+
pattern_type?: 'solution' | 'anti-pattern' | 'best-practice' | 'common-issue'
|
|
4
|
+
limit?: number
|
|
5
|
+
query?: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface GetCorrectionsInput {
|
|
9
|
+
project_name?: string
|
|
10
|
+
limit?: number
|
|
11
|
+
query?: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface RecognizePatternInput {
|
|
15
|
+
project_name: string
|
|
16
|
+
pattern_type: 'solution' | 'anti-pattern' | 'best-practice' | 'common-issue'
|
|
17
|
+
description: string
|
|
18
|
+
example?: string
|
|
19
|
+
confidence?: number
|
|
20
|
+
context?: string
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface RecordCorrectionInput {
|
|
24
|
+
project_name: string
|
|
25
|
+
original: string
|
|
26
|
+
correction: string
|
|
27
|
+
reasoning: string
|
|
28
|
+
context?: string
|
|
29
|
+
confidence?: number
|
|
30
|
+
}
|