@timmeck/brain-core 2.36.41 → 2.36.42
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/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/tool-scoping/index.d.ts +2 -0
- package/dist/tool-scoping/index.js +2 -0
- package/dist/tool-scoping/index.js.map +1 -0
- package/dist/tool-scoping/scope-manager.d.ts +122 -0
- package/dist/tool-scoping/scope-manager.js +339 -0
- package/dist/tool-scoping/scope-manager.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -247,3 +247,5 @@ export { BenchmarkSuite, runBenchmarkMigration } from './agent-training/index.js
|
|
|
247
247
|
export type { EvalCase, EvalResult, BenchmarkReport, BenchmarkSuiteStatus, EvalFunction, ScoreFunction, } from './agent-training/index.js';
|
|
248
248
|
export { AgentTrainer, runTrainerMigration } from './agent-training/index.js';
|
|
249
249
|
export type { TrainingConfig, EpochResult, TrainingReport, AgentTrainerStatus, } from './agent-training/index.js';
|
|
250
|
+
export { ToolScopeManager, runToolScopingMigration } from './tool-scoping/index.js';
|
|
251
|
+
export type { ToolScope, WorkflowContext, ScopeCheckResult, ToolScopeManagerStatus, } from './tool-scoping/index.js';
|
package/dist/index.js
CHANGED
|
@@ -214,4 +214,6 @@ export { MessageRouter, TelegramBot, DiscordBot } from './messaging/index.js';
|
|
|
214
214
|
// ── Agent Training ──────────────────────────────────────────
|
|
215
215
|
export { BenchmarkSuite, runBenchmarkMigration } from './agent-training/index.js';
|
|
216
216
|
export { AgentTrainer, runTrainerMigration } from './agent-training/index.js';
|
|
217
|
+
// ── Tool Scoping ────────────────────────────────────────────
|
|
218
|
+
export { ToolScopeManager, runToolScopingMigration } from './tool-scoping/index.js';
|
|
217
219
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tool-scoping/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Scope Manager — Dynamic Tool Scoping for Workflows
|
|
3
|
+
*
|
|
4
|
+
* Inspiriert von LangGraph's State-based Tool Filtering.
|
|
5
|
+
* Statt 424+ Tools gleichzeitig zu zeigen, filtert der ScopeManager
|
|
6
|
+
* Tools basierend auf Workflow-Phase, Kontext und Bedingungen.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const manager = new ToolScopeManager(db);
|
|
11
|
+
* manager.registerScope({ name: 'research', tools: ['query', 'search'], phase: 'gathering' });
|
|
12
|
+
* const tools = manager.getAvailableTools({ phase: 'gathering', context: {} });
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
import type Database from 'better-sqlite3';
|
|
16
|
+
export interface ToolScope {
|
|
17
|
+
/** Unique scope name (e.g., 'research', 'trading-decision', 'code-review') */
|
|
18
|
+
name: string;
|
|
19
|
+
/** Tool names available in this scope */
|
|
20
|
+
tools: string[];
|
|
21
|
+
/** Workflow phase this scope applies to (if null → applies always when active) */
|
|
22
|
+
phase?: string | null;
|
|
23
|
+
/** Priority — higher overrides lower when scopes conflict. Default: 0 */
|
|
24
|
+
priority?: number;
|
|
25
|
+
/** Human-readable description */
|
|
26
|
+
description?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface WorkflowContext {
|
|
29
|
+
/** Current workflow phase */
|
|
30
|
+
phase: string;
|
|
31
|
+
/** Arbitrary key-value context data */
|
|
32
|
+
context?: Record<string, unknown>;
|
|
33
|
+
/** Workflow/mission ID (optional) */
|
|
34
|
+
workflowId?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface ScopeCheckResult {
|
|
37
|
+
allowed: boolean;
|
|
38
|
+
reason?: string;
|
|
39
|
+
scope?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface ToolScopeManagerStatus {
|
|
42
|
+
totalScopes: number;
|
|
43
|
+
totalToolMappings: number;
|
|
44
|
+
totalChecks: number;
|
|
45
|
+
totalBlocked: number;
|
|
46
|
+
blockRate: number;
|
|
47
|
+
topBlockedTools: Array<{
|
|
48
|
+
tool: string;
|
|
49
|
+
count: number;
|
|
50
|
+
}>;
|
|
51
|
+
}
|
|
52
|
+
export declare function runToolScopingMigration(db: Database.Database): void;
|
|
53
|
+
export declare class ToolScopeManager {
|
|
54
|
+
private db;
|
|
55
|
+
private readonly log;
|
|
56
|
+
/** In-memory scope registry (fast lookups, DB is persistence layer) */
|
|
57
|
+
private scopes;
|
|
58
|
+
/** Phase → scope names index */
|
|
59
|
+
private phaseIndex;
|
|
60
|
+
/** Global scopes (no phase restriction) */
|
|
61
|
+
private globalScopes;
|
|
62
|
+
private stmtInsertScope;
|
|
63
|
+
private stmtDeleteScope;
|
|
64
|
+
private stmtLogCheck;
|
|
65
|
+
private stats;
|
|
66
|
+
constructor(db: Database.Database);
|
|
67
|
+
/** Register a tool scope. Persists to DB. */
|
|
68
|
+
registerScope(scope: ToolScope): void;
|
|
69
|
+
/** Register multiple scopes at once. */
|
|
70
|
+
registerScopes(scopes: ToolScope[]): number;
|
|
71
|
+
/** Remove a scope. */
|
|
72
|
+
removeScope(name: string): boolean;
|
|
73
|
+
/** Get a scope by name. */
|
|
74
|
+
getScope(name: string): ToolScope | null;
|
|
75
|
+
/** List all registered scopes. */
|
|
76
|
+
listScopes(): ToolScope[];
|
|
77
|
+
/**
|
|
78
|
+
* Get all tools available for a given workflow context.
|
|
79
|
+
*
|
|
80
|
+
* Combines:
|
|
81
|
+
* 1. Global scopes (no phase restriction)
|
|
82
|
+
* 2. Phase-specific scopes matching the current phase
|
|
83
|
+
* 3. Deduplicates by tool name, higher priority wins
|
|
84
|
+
*/
|
|
85
|
+
getAvailableTools(ctx: WorkflowContext): string[];
|
|
86
|
+
/**
|
|
87
|
+
* Check if a specific tool is allowed in the current context.
|
|
88
|
+
* Logs the check for audit trail.
|
|
89
|
+
*/
|
|
90
|
+
checkTool(toolName: string, ctx: WorkflowContext): ScopeCheckResult;
|
|
91
|
+
/**
|
|
92
|
+
* Get tools available for a phase, grouped by scope.
|
|
93
|
+
* Useful for dashboard display.
|
|
94
|
+
*/
|
|
95
|
+
getToolsByScope(phase: string): Array<{
|
|
96
|
+
scope: string;
|
|
97
|
+
tools: string[];
|
|
98
|
+
priority: number;
|
|
99
|
+
}>;
|
|
100
|
+
/**
|
|
101
|
+
* Register default scope presets for common workflow phases.
|
|
102
|
+
* Call this once to get sensible defaults.
|
|
103
|
+
*/
|
|
104
|
+
registerDefaults(): void;
|
|
105
|
+
/** Get recent scope check history. */
|
|
106
|
+
getCheckHistory(limit?: number): Array<{
|
|
107
|
+
toolName: string;
|
|
108
|
+
phase: string;
|
|
109
|
+
allowed: boolean;
|
|
110
|
+
scopeName: string | null;
|
|
111
|
+
workflowId: string | null;
|
|
112
|
+
createdAt: string;
|
|
113
|
+
}>;
|
|
114
|
+
/** Get top blocked tools. */
|
|
115
|
+
getTopBlocked(limit?: number): Array<{
|
|
116
|
+
tool: string;
|
|
117
|
+
count: number;
|
|
118
|
+
}>;
|
|
119
|
+
getStatus(): ToolScopeManagerStatus;
|
|
120
|
+
private loadScopes;
|
|
121
|
+
private rebuildIndex;
|
|
122
|
+
}
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Scope Manager — Dynamic Tool Scoping for Workflows
|
|
3
|
+
*
|
|
4
|
+
* Inspiriert von LangGraph's State-based Tool Filtering.
|
|
5
|
+
* Statt 424+ Tools gleichzeitig zu zeigen, filtert der ScopeManager
|
|
6
|
+
* Tools basierend auf Workflow-Phase, Kontext und Bedingungen.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const manager = new ToolScopeManager(db);
|
|
11
|
+
* manager.registerScope({ name: 'research', tools: ['query', 'search'], phase: 'gathering' });
|
|
12
|
+
* const tools = manager.getAvailableTools({ phase: 'gathering', context: {} });
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
import { getLogger } from '../utils/logger.js';
|
|
16
|
+
// ── Migration ───────────────────────────────────────────
|
|
17
|
+
export function runToolScopingMigration(db) {
|
|
18
|
+
db.exec(`
|
|
19
|
+
CREATE TABLE IF NOT EXISTS tool_scopes (
|
|
20
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
21
|
+
name TEXT NOT NULL UNIQUE,
|
|
22
|
+
phase TEXT,
|
|
23
|
+
priority INTEGER NOT NULL DEFAULT 0,
|
|
24
|
+
description TEXT,
|
|
25
|
+
tools TEXT NOT NULL DEFAULT '[]',
|
|
26
|
+
created_at TEXT DEFAULT (datetime('now'))
|
|
27
|
+
);
|
|
28
|
+
CREATE INDEX IF NOT EXISTS idx_tool_scopes_phase ON tool_scopes(phase);
|
|
29
|
+
|
|
30
|
+
CREATE TABLE IF NOT EXISTS scope_check_log (
|
|
31
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
32
|
+
tool_name TEXT NOT NULL,
|
|
33
|
+
phase TEXT NOT NULL,
|
|
34
|
+
allowed INTEGER NOT NULL DEFAULT 1,
|
|
35
|
+
scope_name TEXT,
|
|
36
|
+
workflow_id TEXT,
|
|
37
|
+
created_at TEXT DEFAULT (datetime('now'))
|
|
38
|
+
);
|
|
39
|
+
CREATE INDEX IF NOT EXISTS idx_scope_check_tool ON scope_check_log(tool_name);
|
|
40
|
+
CREATE INDEX IF NOT EXISTS idx_scope_check_created ON scope_check_log(created_at);
|
|
41
|
+
`);
|
|
42
|
+
}
|
|
43
|
+
// ── Manager ─────────────────────────────────────────────
|
|
44
|
+
export class ToolScopeManager {
|
|
45
|
+
db;
|
|
46
|
+
log = getLogger();
|
|
47
|
+
/** In-memory scope registry (fast lookups, DB is persistence layer) */
|
|
48
|
+
scopes = new Map();
|
|
49
|
+
/** Phase → scope names index */
|
|
50
|
+
phaseIndex = new Map();
|
|
51
|
+
/** Global scopes (no phase restriction) */
|
|
52
|
+
globalScopes = [];
|
|
53
|
+
stmtInsertScope;
|
|
54
|
+
stmtDeleteScope;
|
|
55
|
+
stmtLogCheck;
|
|
56
|
+
stats = { checks: 0, blocked: 0, blockedTools: new Map() };
|
|
57
|
+
constructor(db) {
|
|
58
|
+
this.db = db;
|
|
59
|
+
runToolScopingMigration(db);
|
|
60
|
+
this.stmtInsertScope = db.prepare('INSERT OR REPLACE INTO tool_scopes (name, phase, priority, description, tools) VALUES (?, ?, ?, ?, ?)');
|
|
61
|
+
this.stmtDeleteScope = db.prepare('DELETE FROM tool_scopes WHERE name = ?');
|
|
62
|
+
this.stmtLogCheck = db.prepare('INSERT INTO scope_check_log (tool_name, phase, allowed, scope_name, workflow_id) VALUES (?, ?, ?, ?, ?)');
|
|
63
|
+
// Load persisted scopes
|
|
64
|
+
this.loadScopes();
|
|
65
|
+
}
|
|
66
|
+
// ── Scope Registration ────────────────────────────────
|
|
67
|
+
/** Register a tool scope. Persists to DB. */
|
|
68
|
+
registerScope(scope) {
|
|
69
|
+
const s = {
|
|
70
|
+
...scope,
|
|
71
|
+
priority: scope.priority ?? 0,
|
|
72
|
+
phase: scope.phase ?? null,
|
|
73
|
+
};
|
|
74
|
+
this.scopes.set(s.name, s);
|
|
75
|
+
this.rebuildIndex();
|
|
76
|
+
// Persist
|
|
77
|
+
try {
|
|
78
|
+
this.stmtInsertScope.run(s.name, s.phase ?? null, s.priority, s.description ?? null, JSON.stringify(s.tools));
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
this.log.warn(`[ToolScopeManager] Failed to persist scope: ${e.message}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/** Register multiple scopes at once. */
|
|
85
|
+
registerScopes(scopes) {
|
|
86
|
+
let count = 0;
|
|
87
|
+
const tx = this.db.transaction(() => {
|
|
88
|
+
for (const s of scopes) {
|
|
89
|
+
this.registerScope(s);
|
|
90
|
+
count++;
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
tx();
|
|
94
|
+
return count;
|
|
95
|
+
}
|
|
96
|
+
/** Remove a scope. */
|
|
97
|
+
removeScope(name) {
|
|
98
|
+
const existed = this.scopes.delete(name);
|
|
99
|
+
if (existed) {
|
|
100
|
+
this.rebuildIndex();
|
|
101
|
+
try {
|
|
102
|
+
this.stmtDeleteScope.run(name);
|
|
103
|
+
}
|
|
104
|
+
catch { /* ignore */ }
|
|
105
|
+
}
|
|
106
|
+
return existed;
|
|
107
|
+
}
|
|
108
|
+
/** Get a scope by name. */
|
|
109
|
+
getScope(name) {
|
|
110
|
+
return this.scopes.get(name) ?? null;
|
|
111
|
+
}
|
|
112
|
+
/** List all registered scopes. */
|
|
113
|
+
listScopes() {
|
|
114
|
+
return [...this.scopes.values()].sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
|
|
115
|
+
}
|
|
116
|
+
// ── Tool Availability ─────────────────────────────────
|
|
117
|
+
/**
|
|
118
|
+
* Get all tools available for a given workflow context.
|
|
119
|
+
*
|
|
120
|
+
* Combines:
|
|
121
|
+
* 1. Global scopes (no phase restriction)
|
|
122
|
+
* 2. Phase-specific scopes matching the current phase
|
|
123
|
+
* 3. Deduplicates by tool name, higher priority wins
|
|
124
|
+
*/
|
|
125
|
+
getAvailableTools(ctx) {
|
|
126
|
+
const applicableScopes = [];
|
|
127
|
+
// Global scopes always apply
|
|
128
|
+
for (const name of this.globalScopes) {
|
|
129
|
+
const s = this.scopes.get(name);
|
|
130
|
+
if (s)
|
|
131
|
+
applicableScopes.push(s);
|
|
132
|
+
}
|
|
133
|
+
// Phase-specific scopes
|
|
134
|
+
const phaseScopes = this.phaseIndex.get(ctx.phase) ?? [];
|
|
135
|
+
for (const name of phaseScopes) {
|
|
136
|
+
const s = this.scopes.get(name);
|
|
137
|
+
if (s)
|
|
138
|
+
applicableScopes.push(s);
|
|
139
|
+
}
|
|
140
|
+
// Collect tools, deduplicate
|
|
141
|
+
const tools = new Set();
|
|
142
|
+
// Sort by priority (highest first) so high-priority scopes' tools win
|
|
143
|
+
applicableScopes.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
|
|
144
|
+
for (const scope of applicableScopes) {
|
|
145
|
+
for (const tool of scope.tools) {
|
|
146
|
+
tools.add(tool);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return [...tools].sort();
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Check if a specific tool is allowed in the current context.
|
|
153
|
+
* Logs the check for audit trail.
|
|
154
|
+
*/
|
|
155
|
+
checkTool(toolName, ctx) {
|
|
156
|
+
this.stats.checks++;
|
|
157
|
+
// If no scopes registered for this phase → allow all (no restrictions)
|
|
158
|
+
const hasPhaseScopes = this.phaseIndex.has(ctx.phase) || this.globalScopes.length > 0;
|
|
159
|
+
if (!hasPhaseScopes) {
|
|
160
|
+
return { allowed: true, reason: 'no scopes defined — all tools allowed' };
|
|
161
|
+
}
|
|
162
|
+
const available = this.getAvailableTools(ctx);
|
|
163
|
+
const allowed = available.includes(toolName);
|
|
164
|
+
if (!allowed) {
|
|
165
|
+
this.stats.blocked++;
|
|
166
|
+
const count = this.stats.blockedTools.get(toolName) ?? 0;
|
|
167
|
+
this.stats.blockedTools.set(toolName, count + 1);
|
|
168
|
+
}
|
|
169
|
+
// Find which scope grants access (for audit)
|
|
170
|
+
let scopeName;
|
|
171
|
+
if (allowed) {
|
|
172
|
+
for (const [name, scope] of this.scopes) {
|
|
173
|
+
if (scope.tools.includes(toolName) && (scope.phase === null || scope.phase === ctx.phase)) {
|
|
174
|
+
scopeName = name;
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// Log to DB (async-safe, fire-and-forget)
|
|
180
|
+
try {
|
|
181
|
+
this.stmtLogCheck.run(toolName, ctx.phase, allowed ? 1 : 0, scopeName ?? null, ctx.workflowId ?? null);
|
|
182
|
+
}
|
|
183
|
+
catch { /* ignore logging failures */ }
|
|
184
|
+
return {
|
|
185
|
+
allowed,
|
|
186
|
+
scope: scopeName,
|
|
187
|
+
reason: allowed
|
|
188
|
+
? `allowed by scope '${scopeName}'`
|
|
189
|
+
: `tool '${toolName}' not in any scope for phase '${ctx.phase}'`,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Get tools available for a phase, grouped by scope.
|
|
194
|
+
* Useful for dashboard display.
|
|
195
|
+
*/
|
|
196
|
+
getToolsByScope(phase) {
|
|
197
|
+
const result = [];
|
|
198
|
+
for (const name of this.globalScopes) {
|
|
199
|
+
const s = this.scopes.get(name);
|
|
200
|
+
if (s)
|
|
201
|
+
result.push({ scope: s.name, tools: [...s.tools], priority: s.priority ?? 0 });
|
|
202
|
+
}
|
|
203
|
+
for (const name of (this.phaseIndex.get(phase) ?? [])) {
|
|
204
|
+
const s = this.scopes.get(name);
|
|
205
|
+
if (s)
|
|
206
|
+
result.push({ scope: s.name, tools: [...s.tools], priority: s.priority ?? 0 });
|
|
207
|
+
}
|
|
208
|
+
return result.sort((a, b) => b.priority - a.priority);
|
|
209
|
+
}
|
|
210
|
+
// ── Built-in Scope Presets ────────────────────────────
|
|
211
|
+
/**
|
|
212
|
+
* Register default scope presets for common workflow phases.
|
|
213
|
+
* Call this once to get sensible defaults.
|
|
214
|
+
*/
|
|
215
|
+
registerDefaults() {
|
|
216
|
+
const defaults = [
|
|
217
|
+
{
|
|
218
|
+
name: 'global-always',
|
|
219
|
+
tools: ['status', 'help', 'health'],
|
|
220
|
+
phase: null,
|
|
221
|
+
priority: 100,
|
|
222
|
+
description: 'Always available — status and help tools',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: 'research-gathering',
|
|
226
|
+
tools: ['query', 'search', 'web_search', 'rag_search', 'error.search', 'insight.list'],
|
|
227
|
+
phase: 'gathering',
|
|
228
|
+
priority: 10,
|
|
229
|
+
description: 'Research gathering phase — search and query tools',
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: 'research-analysis',
|
|
233
|
+
tools: ['query', 'kg.query', 'kg.infer', 'hypothesis.create', 'experiment.propose', 'reasoning.chain'],
|
|
234
|
+
phase: 'analyzing',
|
|
235
|
+
priority: 10,
|
|
236
|
+
description: 'Research analysis phase — inference and hypothesis tools',
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
name: 'research-synthesis',
|
|
240
|
+
tools: ['kg.addFact', 'insight.create', 'principle.add', 'narrative.synthesize', 'compress'],
|
|
241
|
+
phase: 'synthesizing',
|
|
242
|
+
priority: 10,
|
|
243
|
+
description: 'Research synthesis phase — knowledge creation tools',
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
name: 'trading-analysis',
|
|
247
|
+
tools: ['market.price', 'market.history', 'signal.analyze', 'backtest.run', 'prediction.get'],
|
|
248
|
+
phase: 'trading-analysis',
|
|
249
|
+
priority: 10,
|
|
250
|
+
description: 'Trading analysis phase — market data and signals',
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
name: 'trading-execution',
|
|
254
|
+
tools: ['position.open', 'position.close', 'risk.check', 'portfolio.status'],
|
|
255
|
+
phase: 'trading-execution',
|
|
256
|
+
priority: 10,
|
|
257
|
+
description: 'Trading execution phase — position management',
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
name: 'code-review',
|
|
261
|
+
tools: ['code.search', 'code.health', 'code.patterns', 'selfmod.propose', 'selfmod.list'],
|
|
262
|
+
phase: 'code-review',
|
|
263
|
+
priority: 10,
|
|
264
|
+
description: 'Code review phase — analysis and modification tools',
|
|
265
|
+
},
|
|
266
|
+
];
|
|
267
|
+
this.registerScopes(defaults);
|
|
268
|
+
}
|
|
269
|
+
// ── History & Audit ──────────────────────────────────
|
|
270
|
+
/** Get recent scope check history. */
|
|
271
|
+
getCheckHistory(limit = 50) {
|
|
272
|
+
return this.db.prepare('SELECT tool_name as toolName, phase, allowed, scope_name as scopeName, workflow_id as workflowId, created_at as createdAt FROM scope_check_log ORDER BY created_at DESC LIMIT ?').all(limit).map((r) => ({
|
|
273
|
+
...r,
|
|
274
|
+
allowed: !!r.allowed,
|
|
275
|
+
}));
|
|
276
|
+
}
|
|
277
|
+
/** Get top blocked tools. */
|
|
278
|
+
getTopBlocked(limit = 10) {
|
|
279
|
+
return this.db.prepare('SELECT tool_name as tool, COUNT(*) as count FROM scope_check_log WHERE allowed = 0 GROUP BY tool_name ORDER BY count DESC LIMIT ?').all(limit);
|
|
280
|
+
}
|
|
281
|
+
// ── Status ──────────────────────────────────────────
|
|
282
|
+
getStatus() {
|
|
283
|
+
try {
|
|
284
|
+
const totalMappings = [...this.scopes.values()].reduce((sum, s) => sum + s.tools.length, 0);
|
|
285
|
+
const totalChecks = this.db.prepare('SELECT COUNT(*) as c FROM scope_check_log').get().c;
|
|
286
|
+
const totalBlocked = this.db.prepare('SELECT COUNT(*) as c FROM scope_check_log WHERE allowed = 0').get().c;
|
|
287
|
+
const topBlocked = this.getTopBlocked(5);
|
|
288
|
+
return {
|
|
289
|
+
totalScopes: this.scopes.size,
|
|
290
|
+
totalToolMappings: totalMappings,
|
|
291
|
+
totalChecks,
|
|
292
|
+
totalBlocked,
|
|
293
|
+
blockRate: totalChecks > 0 ? Math.round((totalBlocked / totalChecks) * 1000) / 1000 : 0,
|
|
294
|
+
topBlockedTools: topBlocked,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
catch {
|
|
298
|
+
return { totalScopes: 0, totalToolMappings: 0, totalChecks: 0, totalBlocked: 0, blockRate: 0, topBlockedTools: [] };
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// ── Private ─────────────────────────────────────────
|
|
302
|
+
loadScopes() {
|
|
303
|
+
try {
|
|
304
|
+
const rows = this.db.prepare('SELECT * FROM tool_scopes ORDER BY priority DESC').all();
|
|
305
|
+
for (const row of rows) {
|
|
306
|
+
try {
|
|
307
|
+
this.scopes.set(row.name, {
|
|
308
|
+
name: row.name,
|
|
309
|
+
phase: row.phase,
|
|
310
|
+
priority: row.priority,
|
|
311
|
+
description: row.description ?? undefined,
|
|
312
|
+
tools: JSON.parse(row.tools),
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
catch { /* skip corrupt rows */ }
|
|
316
|
+
}
|
|
317
|
+
this.rebuildIndex();
|
|
318
|
+
if (this.scopes.size > 0) {
|
|
319
|
+
this.log.debug(`[ToolScopeManager] Loaded ${this.scopes.size} scopes from DB`);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
catch { /* fresh DB, no scopes yet */ }
|
|
323
|
+
}
|
|
324
|
+
rebuildIndex() {
|
|
325
|
+
this.phaseIndex.clear();
|
|
326
|
+
this.globalScopes = [];
|
|
327
|
+
for (const [name, scope] of this.scopes) {
|
|
328
|
+
if (scope.phase === null || scope.phase === undefined) {
|
|
329
|
+
this.globalScopes.push(name);
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
const existing = this.phaseIndex.get(scope.phase) ?? [];
|
|
333
|
+
existing.push(name);
|
|
334
|
+
this.phaseIndex.set(scope.phase, existing);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
//# sourceMappingURL=scope-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-manager.js","sourceRoot":"","sources":["../../src/tool-scoping/scope-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED