@claude-flow/cli 3.1.0-alpha.9 → 3.5.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/.claude/agents/core/coder.md +1 -1
- package/.claude/agents/core/planner.md +2 -2
- package/.claude/agents/core/researcher.md +1 -1
- package/.claude/agents/core/reviewer.md +1 -1
- package/.claude/agents/core/tester.md +1 -1
- package/.claude/agents/data/data-ml-model.md +4 -4
- package/.claude/agents/development/dev-backend-api.md +4 -4
- package/.claude/agents/documentation/docs-api-openapi.md +4 -4
- package/.claude/agents/github/code-review-swarm.md +2 -2
- package/.claude/agents/github/issue-tracker.md +2 -2
- package/.claude/agents/github/pr-manager.md +2 -2
- package/.claude/agents/github/release-manager.md +2 -2
- package/.claude/agents/github/workflow-automation.md +2 -2
- package/.claude/agents/sparc/architecture.md +3 -3
- package/.claude/agents/sparc/pseudocode.md +2 -2
- package/.claude/agents/sparc/refinement.md +3 -3
- package/.claude/agents/sparc/specification.md +2 -2
- package/.claude/agents/swarm/adaptive-coordinator.md +1 -1
- package/.claude/agents/swarm/hierarchical-coordinator.md +1 -1
- package/.claude/agents/swarm/mesh-coordinator.md +1 -1
- package/.claude/agents/templates/base-template-generator.md +3 -3
- package/.claude/agents/templates/sparc-coordinator.md +3 -3
- package/.claude/helpers/auto-memory-hook.mjs +350 -0
- package/.claude/helpers/hook-handler.cjs +232 -0
- package/.claude/helpers/intelligence.cjs +916 -0
- package/.claude/helpers/session.js +8 -0
- package/.claude/helpers/statusline.cjs +96 -28
- package/.claude/settings.json +86 -141
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
- package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
- package/README.md +910 -475
- package/bin/preinstall.cjs +2 -0
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +45 -2
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +292 -82
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +48 -4
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/neural.js.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/executor.d.ts +8 -2
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +315 -43
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.d.ts +18 -0
- package/dist/src/init/helpers-generator.d.ts.map +1 -1
- package/dist/src/init/helpers-generator.js +498 -0
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/mcp-generator.d.ts +0 -1
- package/dist/src/init/mcp-generator.d.ts.map +1 -1
- package/dist/src/init/mcp-generator.js +32 -16
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +138 -95
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.d.ts +16 -8
- package/dist/src/init/statusline-generator.d.ts.map +1 -1
- package/dist/src/init/statusline-generator.js +506 -930
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/init/types.d.ts +8 -0
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +7 -0
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +4 -0
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
- package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/agentdb-tools.js +557 -0
- package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +184 -32
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +32 -27
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/memory/intelligence.d.ts.map +1 -1
- package/dist/src/memory/intelligence.js +34 -6
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +407 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge.js +1493 -0
- package/dist/src/memory/memory-bridge.js.map +1 -0
- package/dist/src/memory/memory-initializer.d.ts +3 -0
- package/dist/src/memory/memory-initializer.d.ts.map +1 -1
- package/dist/src/memory/memory-initializer.js +125 -1
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -1
- package/dist/src/ruvector/enhanced-model-router.js +25 -15
- package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
- package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
- package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
- package/dist/src/services/agentic-flow-bridge.js +95 -0
- package/dist/src/services/agentic-flow-bridge.js.map +1 -0
- package/dist/src/services/ruvector-training.d.ts +2 -1
- package/dist/src/services/ruvector-training.d.ts.map +1 -1
- package/dist/src/services/ruvector-training.js +1 -2
- package/dist/src/services/ruvector-training.js.map +1 -1
- package/dist/src/update/validator.js +1 -1
- package/dist/src/update/validator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -4
|
@@ -0,0 +1,557 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentDB MCP Tools — Phase 6 of ADR-053
|
|
3
|
+
*
|
|
4
|
+
* Exposes AgentDB v3 controller operations as MCP tools.
|
|
5
|
+
* Provides direct access to ReasoningBank, CausalGraph, SkillLibrary,
|
|
6
|
+
* AttestationLog, and bridge health through the MCP protocol.
|
|
7
|
+
*
|
|
8
|
+
* Security: All handlers validate input types, enforce length bounds,
|
|
9
|
+
* and sanitize error messages before returning to MCP callers.
|
|
10
|
+
*
|
|
11
|
+
* @module v3/cli/mcp-tools/agentdb-tools
|
|
12
|
+
*/
|
|
13
|
+
// ===== Shared validation helpers =====
|
|
14
|
+
const MAX_STRING_LENGTH = 100_000; // 100KB max for any string input
|
|
15
|
+
const MAX_BATCH_SIZE = 500; // Max entries per batch operation
|
|
16
|
+
const MAX_TOP_K = 100; // Max results per query
|
|
17
|
+
function validateString(value, name, maxLen = MAX_STRING_LENGTH) {
|
|
18
|
+
if (typeof value !== 'string' || value.length === 0)
|
|
19
|
+
return null;
|
|
20
|
+
if (value.length > maxLen)
|
|
21
|
+
return null;
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
function validatePositiveInt(value, defaultVal, max) {
|
|
25
|
+
if (typeof value !== 'number' || !Number.isFinite(value))
|
|
26
|
+
return defaultVal;
|
|
27
|
+
const n = Math.floor(value);
|
|
28
|
+
return n > 0 ? Math.min(n, max) : defaultVal;
|
|
29
|
+
}
|
|
30
|
+
function validateScore(value, defaultVal) {
|
|
31
|
+
if (typeof value !== 'number' || !Number.isFinite(value))
|
|
32
|
+
return defaultVal;
|
|
33
|
+
return Math.max(0, Math.min(1, value));
|
|
34
|
+
}
|
|
35
|
+
function sanitizeError(error) {
|
|
36
|
+
if (error instanceof Error) {
|
|
37
|
+
// Strip filesystem paths from error messages
|
|
38
|
+
return error.message.replace(/\/[^\s:]+\//g, '<path>/').substring(0, 500);
|
|
39
|
+
}
|
|
40
|
+
return 'Internal error';
|
|
41
|
+
}
|
|
42
|
+
// Lazy-cached bridge module
|
|
43
|
+
let bridgeModule = null;
|
|
44
|
+
async function getBridge() {
|
|
45
|
+
if (!bridgeModule) {
|
|
46
|
+
bridgeModule = await import('../memory/memory-bridge.js');
|
|
47
|
+
}
|
|
48
|
+
return bridgeModule;
|
|
49
|
+
}
|
|
50
|
+
// ===== agentdb_health — Controller health check =====
|
|
51
|
+
export const agentdbHealth = {
|
|
52
|
+
name: 'agentdb_health',
|
|
53
|
+
description: 'Get AgentDB v3 controller health status including cache stats and attestation count',
|
|
54
|
+
inputSchema: {
|
|
55
|
+
type: 'object',
|
|
56
|
+
properties: {},
|
|
57
|
+
},
|
|
58
|
+
handler: async () => {
|
|
59
|
+
try {
|
|
60
|
+
const bridge = await getBridge();
|
|
61
|
+
const health = await bridge.bridgeHealthCheck();
|
|
62
|
+
if (!health)
|
|
63
|
+
return { available: false, error: 'AgentDB bridge not available' };
|
|
64
|
+
return health;
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
return { available: false, error: sanitizeError(error) };
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
// ===== agentdb_controllers — List all controllers =====
|
|
72
|
+
export const agentdbControllers = {
|
|
73
|
+
name: 'agentdb_controllers',
|
|
74
|
+
description: 'List all AgentDB v3 controllers and their initialization status',
|
|
75
|
+
inputSchema: {
|
|
76
|
+
type: 'object',
|
|
77
|
+
properties: {},
|
|
78
|
+
},
|
|
79
|
+
handler: async () => {
|
|
80
|
+
try {
|
|
81
|
+
const bridge = await getBridge();
|
|
82
|
+
const controllers = await bridge.bridgeListControllers();
|
|
83
|
+
if (!controllers)
|
|
84
|
+
return { available: false, controllers: [], error: 'Bridge not available' };
|
|
85
|
+
return {
|
|
86
|
+
available: true,
|
|
87
|
+
controllers,
|
|
88
|
+
total: controllers.length,
|
|
89
|
+
active: controllers.filter((c) => c.enabled).length,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
return { available: false, error: sanitizeError(error) };
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
// ===== agentdb_pattern_store — Store via ReasoningBank =====
|
|
98
|
+
export const agentdbPatternStore = {
|
|
99
|
+
name: 'agentdb_pattern-store',
|
|
100
|
+
description: 'Store a pattern directly via ReasoningBank controller',
|
|
101
|
+
inputSchema: {
|
|
102
|
+
type: 'object',
|
|
103
|
+
properties: {
|
|
104
|
+
pattern: { type: 'string', description: 'Pattern description' },
|
|
105
|
+
type: { type: 'string', description: 'Pattern type (e.g., task-routing, error-recovery)' },
|
|
106
|
+
confidence: { type: 'number', description: 'Confidence score (0-1)' },
|
|
107
|
+
},
|
|
108
|
+
required: ['pattern'],
|
|
109
|
+
},
|
|
110
|
+
handler: async (params) => {
|
|
111
|
+
try {
|
|
112
|
+
const pattern = validateString(params.pattern, 'pattern');
|
|
113
|
+
if (!pattern)
|
|
114
|
+
return { success: false, error: 'pattern is required (non-empty string, max 100KB)' };
|
|
115
|
+
const bridge = await getBridge();
|
|
116
|
+
const result = await bridge.bridgeStorePattern({
|
|
117
|
+
pattern,
|
|
118
|
+
type: validateString(params.type, 'type', 200) ?? 'general',
|
|
119
|
+
confidence: validateScore(params.confidence, 0.8),
|
|
120
|
+
});
|
|
121
|
+
return result ?? { success: false, error: 'Bridge not available' };
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
return { success: false, error: sanitizeError(error) };
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
// ===== agentdb_pattern_search — Search via ReasoningBank =====
|
|
129
|
+
export const agentdbPatternSearch = {
|
|
130
|
+
name: 'agentdb_pattern-search',
|
|
131
|
+
description: 'Search patterns via ReasoningBank controller with BM25+semantic hybrid',
|
|
132
|
+
inputSchema: {
|
|
133
|
+
type: 'object',
|
|
134
|
+
properties: {
|
|
135
|
+
query: { type: 'string', description: 'Search query' },
|
|
136
|
+
topK: { type: 'number', description: 'Number of results (default: 5)' },
|
|
137
|
+
minConfidence: { type: 'number', description: 'Minimum score threshold (0-1)' },
|
|
138
|
+
},
|
|
139
|
+
required: ['query'],
|
|
140
|
+
},
|
|
141
|
+
handler: async (params) => {
|
|
142
|
+
try {
|
|
143
|
+
const query = validateString(params.query, 'query', 10_000);
|
|
144
|
+
if (!query)
|
|
145
|
+
return { results: [], error: 'query is required (non-empty string, max 10KB)' };
|
|
146
|
+
const bridge = await getBridge();
|
|
147
|
+
const result = await bridge.bridgeSearchPatterns({
|
|
148
|
+
query,
|
|
149
|
+
topK: validatePositiveInt(params.topK, 5, MAX_TOP_K),
|
|
150
|
+
minConfidence: validateScore(params.minConfidence, 0.3),
|
|
151
|
+
});
|
|
152
|
+
return result ?? { results: [], controller: 'unavailable' };
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
return { results: [], error: sanitizeError(error) };
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
// ===== agentdb_feedback — Record task feedback =====
|
|
160
|
+
export const agentdbFeedback = {
|
|
161
|
+
name: 'agentdb_feedback',
|
|
162
|
+
description: 'Record task feedback for learning via LearningSystem + ReasoningBank controllers',
|
|
163
|
+
inputSchema: {
|
|
164
|
+
type: 'object',
|
|
165
|
+
properties: {
|
|
166
|
+
taskId: { type: 'string', description: 'Task identifier' },
|
|
167
|
+
success: { type: 'boolean', description: 'Whether task succeeded' },
|
|
168
|
+
quality: { type: 'number', description: 'Quality score (0-1)' },
|
|
169
|
+
agent: { type: 'string', description: 'Agent that performed the task' },
|
|
170
|
+
},
|
|
171
|
+
required: ['taskId'],
|
|
172
|
+
},
|
|
173
|
+
handler: async (params) => {
|
|
174
|
+
try {
|
|
175
|
+
const taskId = validateString(params.taskId, 'taskId', 500);
|
|
176
|
+
if (!taskId)
|
|
177
|
+
return { success: false, error: 'taskId is required (non-empty string, max 500 chars)' };
|
|
178
|
+
const bridge = await getBridge();
|
|
179
|
+
const result = await bridge.bridgeRecordFeedback({
|
|
180
|
+
taskId,
|
|
181
|
+
success: params.success === true,
|
|
182
|
+
quality: validateScore(params.quality, 0.85),
|
|
183
|
+
agent: validateString(params.agent, 'agent', 200) ?? undefined,
|
|
184
|
+
});
|
|
185
|
+
return result ?? { success: false, error: 'Bridge not available' };
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
return { success: false, error: sanitizeError(error) };
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
// ===== agentdb_causal_edge — Record causal relationships =====
|
|
193
|
+
export const agentdbCausalEdge = {
|
|
194
|
+
name: 'agentdb_causal-edge',
|
|
195
|
+
description: 'Record a causal edge between two memory entries via CausalMemoryGraph',
|
|
196
|
+
inputSchema: {
|
|
197
|
+
type: 'object',
|
|
198
|
+
properties: {
|
|
199
|
+
sourceId: { type: 'string', description: 'Source entry ID' },
|
|
200
|
+
targetId: { type: 'string', description: 'Target entry ID' },
|
|
201
|
+
relation: { type: 'string', description: 'Relationship type (e.g., caused, preceded, succeeded)' },
|
|
202
|
+
weight: { type: 'number', description: 'Edge weight (0-1)' },
|
|
203
|
+
},
|
|
204
|
+
required: ['sourceId', 'targetId', 'relation'],
|
|
205
|
+
},
|
|
206
|
+
handler: async (params) => {
|
|
207
|
+
try {
|
|
208
|
+
const sourceId = validateString(params.sourceId, 'sourceId', 500);
|
|
209
|
+
const targetId = validateString(params.targetId, 'targetId', 500);
|
|
210
|
+
const relation = validateString(params.relation, 'relation', 200);
|
|
211
|
+
if (!sourceId)
|
|
212
|
+
return { success: false, error: 'sourceId is required (non-empty string)' };
|
|
213
|
+
if (!targetId)
|
|
214
|
+
return { success: false, error: 'targetId is required (non-empty string)' };
|
|
215
|
+
if (!relation)
|
|
216
|
+
return { success: false, error: 'relation is required (non-empty string)' };
|
|
217
|
+
const bridge = await getBridge();
|
|
218
|
+
const result = await bridge.bridgeRecordCausalEdge({
|
|
219
|
+
sourceId,
|
|
220
|
+
targetId,
|
|
221
|
+
relation,
|
|
222
|
+
weight: typeof params.weight === 'number' ? validateScore(params.weight, 0.5) : undefined,
|
|
223
|
+
});
|
|
224
|
+
return result ?? { success: false, error: 'Bridge not available' };
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
return { success: false, error: sanitizeError(error) };
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
};
|
|
231
|
+
// ===== agentdb_route — Route via SemanticRouter =====
|
|
232
|
+
export const agentdbRoute = {
|
|
233
|
+
name: 'agentdb_route',
|
|
234
|
+
description: 'Route a task via AgentDB SemanticRouter or LearningSystem recommendAlgorithm',
|
|
235
|
+
inputSchema: {
|
|
236
|
+
type: 'object',
|
|
237
|
+
properties: {
|
|
238
|
+
task: { type: 'string', description: 'Task description to route' },
|
|
239
|
+
context: { type: 'string', description: 'Additional context' },
|
|
240
|
+
},
|
|
241
|
+
required: ['task'],
|
|
242
|
+
},
|
|
243
|
+
handler: async (params) => {
|
|
244
|
+
try {
|
|
245
|
+
const task = validateString(params.task, 'task', 10_000);
|
|
246
|
+
if (!task)
|
|
247
|
+
return { route: 'general', confidence: 0.5, agents: ['coder'], controller: 'error', error: 'task is required (non-empty string)' };
|
|
248
|
+
const bridge = await getBridge();
|
|
249
|
+
const result = await bridge.bridgeRouteTask({
|
|
250
|
+
task,
|
|
251
|
+
context: validateString(params.context, 'context', 10_000) ?? undefined,
|
|
252
|
+
});
|
|
253
|
+
return result ?? { route: 'general', confidence: 0.5, agents: ['coder'], controller: 'fallback' };
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
return { route: 'general', confidence: 0.5, agents: ['coder'], controller: 'error', error: sanitizeError(error) };
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
};
|
|
260
|
+
// ===== agentdb_session_start — Session with ReflexionMemory =====
|
|
261
|
+
export const agentdbSessionStart = {
|
|
262
|
+
name: 'agentdb_session-start',
|
|
263
|
+
description: 'Start a session with ReflexionMemory episodic replay',
|
|
264
|
+
inputSchema: {
|
|
265
|
+
type: 'object',
|
|
266
|
+
properties: {
|
|
267
|
+
sessionId: { type: 'string', description: 'Session identifier' },
|
|
268
|
+
context: { type: 'string', description: 'Session context for pattern retrieval' },
|
|
269
|
+
},
|
|
270
|
+
required: ['sessionId'],
|
|
271
|
+
},
|
|
272
|
+
handler: async (params) => {
|
|
273
|
+
try {
|
|
274
|
+
const sessionId = validateString(params.sessionId, 'sessionId', 500);
|
|
275
|
+
if (!sessionId)
|
|
276
|
+
return { success: false, error: 'sessionId is required (non-empty string)' };
|
|
277
|
+
const bridge = await getBridge();
|
|
278
|
+
const result = await bridge.bridgeSessionStart({
|
|
279
|
+
sessionId,
|
|
280
|
+
context: validateString(params.context, 'context', 10_000) ?? undefined,
|
|
281
|
+
});
|
|
282
|
+
return result ?? { success: false, error: 'Bridge not available' };
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
return { success: false, error: sanitizeError(error) };
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
};
|
|
289
|
+
// ===== agentdb_session_end — End session + NightlyLearner =====
|
|
290
|
+
export const agentdbSessionEnd = {
|
|
291
|
+
name: 'agentdb_session-end',
|
|
292
|
+
description: 'End session, persist to ReflexionMemory, trigger NightlyLearner consolidation',
|
|
293
|
+
inputSchema: {
|
|
294
|
+
type: 'object',
|
|
295
|
+
properties: {
|
|
296
|
+
sessionId: { type: 'string', description: 'Session identifier' },
|
|
297
|
+
summary: { type: 'string', description: 'Session summary' },
|
|
298
|
+
tasksCompleted: { type: 'number', description: 'Number of tasks completed' },
|
|
299
|
+
},
|
|
300
|
+
required: ['sessionId'],
|
|
301
|
+
},
|
|
302
|
+
handler: async (params) => {
|
|
303
|
+
try {
|
|
304
|
+
const sessionId = validateString(params.sessionId, 'sessionId', 500);
|
|
305
|
+
if (!sessionId)
|
|
306
|
+
return { success: false, error: 'sessionId is required (non-empty string)' };
|
|
307
|
+
const bridge = await getBridge();
|
|
308
|
+
const result = await bridge.bridgeSessionEnd({
|
|
309
|
+
sessionId,
|
|
310
|
+
summary: validateString(params.summary, 'summary', 50_000) ?? undefined,
|
|
311
|
+
tasksCompleted: validatePositiveInt(params.tasksCompleted, 0, 10_000),
|
|
312
|
+
});
|
|
313
|
+
return result ?? { success: false, error: 'Bridge not available' };
|
|
314
|
+
}
|
|
315
|
+
catch (error) {
|
|
316
|
+
return { success: false, error: sanitizeError(error) };
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
// ===== agentdb_hierarchical_store — Store to hierarchical memory =====
|
|
321
|
+
export const agentdbHierarchicalStore = {
|
|
322
|
+
name: 'agentdb_hierarchical-store',
|
|
323
|
+
description: 'Store to hierarchical memory with tier (working, episodic, semantic)',
|
|
324
|
+
inputSchema: {
|
|
325
|
+
type: 'object',
|
|
326
|
+
properties: {
|
|
327
|
+
key: { type: 'string', description: 'Memory entry key' },
|
|
328
|
+
value: { type: 'string', description: 'Memory entry value' },
|
|
329
|
+
tier: {
|
|
330
|
+
type: 'string',
|
|
331
|
+
description: 'Memory tier (working, episodic, semantic)',
|
|
332
|
+
enum: ['working', 'episodic', 'semantic'],
|
|
333
|
+
default: 'working',
|
|
334
|
+
},
|
|
335
|
+
},
|
|
336
|
+
required: ['key', 'value'],
|
|
337
|
+
},
|
|
338
|
+
handler: async (params) => {
|
|
339
|
+
try {
|
|
340
|
+
const key = validateString(params.key, 'key', 1000);
|
|
341
|
+
const value = validateString(params.value, 'value');
|
|
342
|
+
if (!key)
|
|
343
|
+
return { success: false, error: 'key is required (non-empty string, max 1KB)' };
|
|
344
|
+
if (!value)
|
|
345
|
+
return { success: false, error: 'value is required (non-empty string, max 100KB)' };
|
|
346
|
+
const tier = validateString(params.tier, 'tier', 20) ?? 'working';
|
|
347
|
+
if (!['working', 'episodic', 'semantic'].includes(tier)) {
|
|
348
|
+
return { success: false, error: `Invalid tier: ${tier}. Must be working, episodic, or semantic` };
|
|
349
|
+
}
|
|
350
|
+
const bridge = await getBridge();
|
|
351
|
+
const result = await bridge.bridgeHierarchicalStore({ key, value, tier });
|
|
352
|
+
return result ?? { success: false, error: 'Bridge not available' };
|
|
353
|
+
}
|
|
354
|
+
catch (error) {
|
|
355
|
+
return { success: false, error: sanitizeError(error) };
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
};
|
|
359
|
+
// ===== agentdb_hierarchical_recall — Recall from hierarchical memory =====
|
|
360
|
+
export const agentdbHierarchicalRecall = {
|
|
361
|
+
name: 'agentdb_hierarchical-recall',
|
|
362
|
+
description: 'Recall from hierarchical memory with optional tier filter',
|
|
363
|
+
inputSchema: {
|
|
364
|
+
type: 'object',
|
|
365
|
+
properties: {
|
|
366
|
+
query: { type: 'string', description: 'Recall query' },
|
|
367
|
+
tier: { type: 'string', description: 'Filter by tier (working, episodic, semantic)' },
|
|
368
|
+
topK: { type: 'number', description: 'Number of results (default: 5)' },
|
|
369
|
+
},
|
|
370
|
+
required: ['query'],
|
|
371
|
+
},
|
|
372
|
+
handler: async (params) => {
|
|
373
|
+
try {
|
|
374
|
+
const query = validateString(params.query, 'query', 10_000);
|
|
375
|
+
if (!query)
|
|
376
|
+
return { results: [], error: 'query is required (non-empty string, max 10KB)' };
|
|
377
|
+
const tier = validateString(params.tier, 'tier', 20);
|
|
378
|
+
if (tier && !['working', 'episodic', 'semantic'].includes(tier)) {
|
|
379
|
+
return { results: [], error: `Invalid tier: ${tier}. Must be working, episodic, or semantic` };
|
|
380
|
+
}
|
|
381
|
+
const bridge = await getBridge();
|
|
382
|
+
const result = await bridge.bridgeHierarchicalRecall({
|
|
383
|
+
query,
|
|
384
|
+
tier: tier ?? undefined,
|
|
385
|
+
topK: validatePositiveInt(params.topK, 5, MAX_TOP_K),
|
|
386
|
+
});
|
|
387
|
+
return result ?? { results: [], error: 'Bridge not available' };
|
|
388
|
+
}
|
|
389
|
+
catch (error) {
|
|
390
|
+
return { results: [], error: sanitizeError(error) };
|
|
391
|
+
}
|
|
392
|
+
},
|
|
393
|
+
};
|
|
394
|
+
// ===== agentdb_consolidate — Run memory consolidation =====
|
|
395
|
+
export const agentdbConsolidate = {
|
|
396
|
+
name: 'agentdb_consolidate',
|
|
397
|
+
description: 'Run memory consolidation to promote entries across tiers and compress old data',
|
|
398
|
+
inputSchema: {
|
|
399
|
+
type: 'object',
|
|
400
|
+
properties: {
|
|
401
|
+
minAge: { type: 'number', description: 'Minimum age in hours since store (optional)' },
|
|
402
|
+
maxEntries: { type: 'number', description: 'Maximum entries to consolidate (optional)' },
|
|
403
|
+
},
|
|
404
|
+
},
|
|
405
|
+
handler: async (params) => {
|
|
406
|
+
try {
|
|
407
|
+
const bridge = await getBridge();
|
|
408
|
+
const result = await bridge.bridgeConsolidate({
|
|
409
|
+
minAge: typeof params.minAge === 'number' ? Math.max(0, params.minAge) : undefined,
|
|
410
|
+
maxEntries: validatePositiveInt(params.maxEntries, 1000, 10_000),
|
|
411
|
+
});
|
|
412
|
+
return result ?? { success: false, error: 'Bridge not available' };
|
|
413
|
+
}
|
|
414
|
+
catch (error) {
|
|
415
|
+
return { success: false, error: sanitizeError(error) };
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
};
|
|
419
|
+
// ===== agentdb_batch — Batch operations (insert, update, delete) =====
|
|
420
|
+
export const agentdbBatch = {
|
|
421
|
+
name: 'agentdb_batch',
|
|
422
|
+
description: 'Batch operations on memory entries (insert, update, delete)',
|
|
423
|
+
inputSchema: {
|
|
424
|
+
type: 'object',
|
|
425
|
+
properties: {
|
|
426
|
+
operation: {
|
|
427
|
+
type: 'string',
|
|
428
|
+
description: 'Batch operation type',
|
|
429
|
+
enum: ['insert', 'update', 'delete'],
|
|
430
|
+
},
|
|
431
|
+
entries: {
|
|
432
|
+
type: 'array',
|
|
433
|
+
description: 'Array of {key, value} entries to operate on',
|
|
434
|
+
items: {
|
|
435
|
+
type: 'object',
|
|
436
|
+
properties: {
|
|
437
|
+
key: { type: 'string' },
|
|
438
|
+
value: { type: 'string' },
|
|
439
|
+
},
|
|
440
|
+
required: ['key'],
|
|
441
|
+
},
|
|
442
|
+
},
|
|
443
|
+
},
|
|
444
|
+
required: ['operation', 'entries'],
|
|
445
|
+
},
|
|
446
|
+
handler: async (params) => {
|
|
447
|
+
try {
|
|
448
|
+
const operation = validateString(params.operation, 'operation', 20);
|
|
449
|
+
if (!operation)
|
|
450
|
+
return { success: false, error: 'operation is required (string)' };
|
|
451
|
+
if (!['insert', 'update', 'delete'].includes(operation)) {
|
|
452
|
+
return { success: false, error: `Invalid operation: ${operation}. Must be insert, update, or delete` };
|
|
453
|
+
}
|
|
454
|
+
if (!Array.isArray(params.entries) || params.entries.length === 0) {
|
|
455
|
+
return { success: false, error: 'entries is required (non-empty array)' };
|
|
456
|
+
}
|
|
457
|
+
if (params.entries.length > MAX_BATCH_SIZE) {
|
|
458
|
+
return { success: false, error: `Too many entries: ${params.entries.length}. Max is ${MAX_BATCH_SIZE}` };
|
|
459
|
+
}
|
|
460
|
+
// Validate each entry
|
|
461
|
+
const validatedEntries = [];
|
|
462
|
+
for (let i = 0; i < params.entries.length; i++) {
|
|
463
|
+
const entry = params.entries[i];
|
|
464
|
+
if (!entry || typeof entry !== 'object') {
|
|
465
|
+
return { success: false, error: `entries[${i}] must be an object` };
|
|
466
|
+
}
|
|
467
|
+
const key = validateString(entry.key, `entries[${i}].key`, 1000);
|
|
468
|
+
if (!key)
|
|
469
|
+
return { success: false, error: `entries[${i}].key is required (non-empty string)` };
|
|
470
|
+
const value = validateString(entry.value, `entries[${i}].value`);
|
|
471
|
+
validatedEntries.push({ key, value: value ?? undefined });
|
|
472
|
+
}
|
|
473
|
+
const bridge = await getBridge();
|
|
474
|
+
const result = await bridge.bridgeBatchOperation({
|
|
475
|
+
operation,
|
|
476
|
+
entries: validatedEntries,
|
|
477
|
+
});
|
|
478
|
+
return result ?? { success: false, error: 'Bridge not available' };
|
|
479
|
+
}
|
|
480
|
+
catch (error) {
|
|
481
|
+
return { success: false, error: sanitizeError(error) };
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
};
|
|
485
|
+
// ===== agentdb_context_synthesize — Synthesize context from memories =====
|
|
486
|
+
export const agentdbContextSynthesize = {
|
|
487
|
+
name: 'agentdb_context-synthesize',
|
|
488
|
+
description: 'Synthesize context from stored memories for a given query',
|
|
489
|
+
inputSchema: {
|
|
490
|
+
type: 'object',
|
|
491
|
+
properties: {
|
|
492
|
+
query: { type: 'string', description: 'Query to synthesize context for' },
|
|
493
|
+
maxEntries: { type: 'number', description: 'Maximum entries to include (default: 10)' },
|
|
494
|
+
},
|
|
495
|
+
required: ['query'],
|
|
496
|
+
},
|
|
497
|
+
handler: async (params) => {
|
|
498
|
+
try {
|
|
499
|
+
const query = validateString(params.query, 'query', 10_000);
|
|
500
|
+
if (!query)
|
|
501
|
+
return { success: false, error: 'query is required (non-empty string, max 10KB)' };
|
|
502
|
+
const bridge = await getBridge();
|
|
503
|
+
const result = await bridge.bridgeContextSynthesize({
|
|
504
|
+
query,
|
|
505
|
+
maxEntries: validatePositiveInt(params.maxEntries, 10, MAX_TOP_K),
|
|
506
|
+
});
|
|
507
|
+
return result ?? { success: false, error: 'Bridge not available' };
|
|
508
|
+
}
|
|
509
|
+
catch (error) {
|
|
510
|
+
return { success: false, error: sanitizeError(error) };
|
|
511
|
+
}
|
|
512
|
+
},
|
|
513
|
+
};
|
|
514
|
+
// ===== agentdb_semantic_route — Route via SemanticRouter =====
|
|
515
|
+
export const agentdbSemanticRoute = {
|
|
516
|
+
name: 'agentdb_semantic-route',
|
|
517
|
+
description: 'Route an input via AgentDB SemanticRouter for intent classification',
|
|
518
|
+
inputSchema: {
|
|
519
|
+
type: 'object',
|
|
520
|
+
properties: {
|
|
521
|
+
input: { type: 'string', description: 'Input text to route' },
|
|
522
|
+
},
|
|
523
|
+
required: ['input'],
|
|
524
|
+
},
|
|
525
|
+
handler: async (params) => {
|
|
526
|
+
try {
|
|
527
|
+
const input = validateString(params.input, 'input', 10_000);
|
|
528
|
+
if (!input)
|
|
529
|
+
return { route: null, error: 'input is required (non-empty string, max 10KB)' };
|
|
530
|
+
const bridge = await getBridge();
|
|
531
|
+
const result = await bridge.bridgeSemanticRoute({ input });
|
|
532
|
+
return result ?? { route: null, error: 'Bridge not available' };
|
|
533
|
+
}
|
|
534
|
+
catch (error) {
|
|
535
|
+
return { route: null, error: sanitizeError(error) };
|
|
536
|
+
}
|
|
537
|
+
},
|
|
538
|
+
};
|
|
539
|
+
// ===== Export all tools =====
|
|
540
|
+
export const agentdbTools = [
|
|
541
|
+
agentdbHealth,
|
|
542
|
+
agentdbControllers,
|
|
543
|
+
agentdbPatternStore,
|
|
544
|
+
agentdbPatternSearch,
|
|
545
|
+
agentdbFeedback,
|
|
546
|
+
agentdbCausalEdge,
|
|
547
|
+
agentdbRoute,
|
|
548
|
+
agentdbSessionStart,
|
|
549
|
+
agentdbSessionEnd,
|
|
550
|
+
agentdbHierarchicalStore,
|
|
551
|
+
agentdbHierarchicalRecall,
|
|
552
|
+
agentdbConsolidate,
|
|
553
|
+
agentdbBatch,
|
|
554
|
+
agentdbContextSynthesize,
|
|
555
|
+
agentdbSemanticRoute,
|
|
556
|
+
];
|
|
557
|
+
//# sourceMappingURL=agentdb-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentdb-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/agentdb-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/hooks-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA6jB1C,eAAO,MAAM,YAAY,EAAE,OAsC1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAwB3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAkC7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAuB9B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"hooks-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/hooks-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA6jB1C,eAAO,MAAM,YAAY,EAAE,OAsC1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAwB3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAkC7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAuB9B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OA0KxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAyC1B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,OA8CvB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAoF1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAsE3B,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,OAsD1B,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,OAsC3B,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,OAoE9B,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,OAyE3B,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,OAyE/B,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,OAqE7B,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,OAuCjC,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,OA4BzB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,OAsCvB,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,OAsG/B,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,OAkBpC,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,OAsClC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OA4CjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OA4IhC,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,OAoE/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAqGhC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,OA8KpC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,OAwEpC,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,OAsHxC,CAAC;AA8PF,eAAO,MAAM,eAAe,EAAE,OA8C7B,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,OAiGjC,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,OAqD/B,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,OAgE/B,CAAC;AAiBF,eAAO,MAAM,eAAe,EAAE,OAyC7B,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,OA8B/B,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,OAuB7B,CAAC;AAqBF,eAAO,MAAM,iBAAiB,EAAE,OAuC/B,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,OAAO,EAwC/B,CAAC;AAEF,eAAe,UAAU,CAAC"}
|