@winspan/claude-forge 8.26.1 → 8.27.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.
@@ -96,9 +96,6 @@ export declare class SQLiteStorage extends EventEmitter {
96
96
  private db;
97
97
  private dbPath;
98
98
  constructor(dbPath: string);
99
- private dropLegacyRoutingEventsIfNeeded;
100
- private ensureRoutingEventsColumns;
101
- private ensureToolEventColumns;
102
99
  private initSchema;
103
100
  getDatabase(): Database.Database;
104
101
  getDbPath(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/core/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/core/storage/sqlite.ts"],"names":[],"mappings":"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"}
@@ -26,54 +26,8 @@ export class SQLiteStorage extends EventEmitter {
26
26
  this.db.pragma('wal_autocheckpoint = 100');
27
27
  this.db.pragma(`cache_size = ${DATABASE.CACHE_SIZE}`);
28
28
  this.db.pragma(`busy_timeout = ${DATABASE.BUSY_TIMEOUT}`);
29
- // Phase 5: drop legacy routing_events table without experiment columns
30
- // before initSchema recreates it with the new fields. Historical routing
31
- // data is intentionally discarded per Phase 5 migration decision.
32
- this.dropLegacyRoutingEventsIfNeeded();
33
- // Legacy tables may predate columns referenced by schema.sql indexes
34
- // (e.g. route_request_id). ALTER them up first so initSchema's
35
- // `CREATE INDEX IF NOT EXISTS` statements find the columns they need.
36
- this.ensureRoutingEventsColumns();
37
- this.ensureToolEventColumns();
38
29
  this.initSchema();
39
30
  }
40
- dropLegacyRoutingEventsIfNeeded() {
41
- const tableExists = this.db
42
- .prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name='routing_events'`)
43
- .get();
44
- if (!tableExists)
45
- return;
46
- const cols = this.db.prepare(`PRAGMA table_info(routing_events)`).all();
47
- const hasExperimentId = cols.some(c => c.name === 'experiment_id');
48
- if (!hasExperimentId) {
49
- logger.info('[Storage] Dropping legacy routing_events (missing experiment_id); table will be recreated.');
50
- this.db.exec(`DROP TABLE routing_events`);
51
- }
52
- }
53
- ensureRoutingEventsColumns() {
54
- const cols = this.db.prepare(`PRAGMA table_info(routing_events)`).all();
55
- const names = new Set(cols.map(c => c.name));
56
- const additions = [
57
- ['completed_ts', 'INTEGER'],
58
- ['total_execution_ms', 'INTEGER'],
59
- ['completion_reason', 'TEXT'],
60
- ['route_request_id', 'TEXT'],
61
- ];
62
- for (const [name, type] of additions) {
63
- if (!names.has(name)) {
64
- logger.info(`[Storage] Adding routing_events.${name} column`);
65
- this.db.exec(`ALTER TABLE routing_events ADD COLUMN ${name} ${type}`);
66
- }
67
- }
68
- }
69
- ensureToolEventColumns() {
70
- const cols = this.db.prepare(`PRAGMA table_info(v2_tool_events)`).all();
71
- const names = new Set(cols.map(c => c.name));
72
- if (!names.has('route_request_id')) {
73
- logger.info('[Storage] Adding v2_tool_events.route_request_id column');
74
- this.db.exec(`ALTER TABLE v2_tool_events ADD COLUMN route_request_id TEXT`);
75
- }
76
- }
77
31
  initSchema() {
78
32
  const thisDir = dirname(fileURLToPath(import.meta.url));
79
33
  const schemaPath = join(thisDir, 'schema.sql');
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/core/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/core/storage/sqlite.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@ export declare class PreToolUseHandler {
16
16
  private sessionStartTime;
17
17
  constructor(ruleEngine: RuleEngine, contextBuilder: ContextBuilder);
18
18
  handle(event: ForgeEvent): Promise<HookResult>;
19
+ /**
20
+ * Enforce routing decisions: if session was routed to an agent,
21
+ * block direct tool calls that bypass the agent.
22
+ */
23
+ private checkRoutingEnforcement;
19
24
  handleWithDecision(event: ForgeEvent): Promise<{
20
25
  result: HookResult;
21
26
  decision: GovernanceDecision;
@@ -1 +1 @@
1
- {"version":3,"file":"pre-tool-use.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,iCAAiC,CAAC;AAG7F,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IAJxB,OAAO,CAAC,gBAAgB,CAAc;gBAG5B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc;IAGlC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAK9C,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAyD1G,OAAO,CAAC,gBAAgB;CASzB"}
1
+ {"version":3,"file":"pre-tool-use.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,iCAAiC,CAAC;AAmB7F,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IAJxB,OAAO,CAAC,gBAAgB,CAAc;gBAG5B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc;IAGlC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAYpD;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAmEzB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAyD1G,OAAO,CAAC,gBAAgB;CASzB"}
@@ -7,6 +7,20 @@
7
7
  * 3. Return block/warn/allow decision
8
8
  */
9
9
  import { logger } from '../../core/utils/logger.js';
10
+ import { routingState } from '../routing-state.js';
11
+ // Tools that are allowed even when routing is active (investigation phase)
12
+ const ROUTING_WHITELIST = new Set([
13
+ 'Read', 'Grep', 'Glob', // Code exploration
14
+ 'AskUserQuestion', // Clarification
15
+ 'WebSearch', 'WebFetch', // Research
16
+ ]);
17
+ // Tools that trigger routing enforcement (decision/action phase)
18
+ const ROUTING_ENFORCEMENT_TOOLS = new Set([
19
+ 'Edit', 'Write', 'Bash', // Code modification & execution
20
+ 'Agent', 'Task', // Delegation (must match routed agent)
21
+ 'NotebookEdit', // Notebook modification
22
+ 'EnterPlanMode', 'ExitPlanMode', // Planning (should be done by agent)
23
+ ]);
10
24
  export class PreToolUseHandler {
11
25
  ruleEngine;
12
26
  contextBuilder;
@@ -16,9 +30,80 @@ export class PreToolUseHandler {
16
30
  this.contextBuilder = contextBuilder;
17
31
  }
18
32
  async handle(event) {
33
+ // 1. Check routing enforcement FIRST (before governance rules)
34
+ const routingCheck = this.checkRoutingEnforcement(event);
35
+ if (!routingCheck.allow) {
36
+ return routingCheck;
37
+ }
38
+ // 2. Then run governance rules
19
39
  const { result } = await this.handleWithDecision(event);
20
40
  return result;
21
41
  }
42
+ /**
43
+ * Enforce routing decisions: if session was routed to an agent,
44
+ * block direct tool calls that bypass the agent.
45
+ */
46
+ checkRoutingEnforcement(event) {
47
+ const routing = routingState.getRouting(event.session_id);
48
+ if (!routing) {
49
+ return { allow: true }; // No active routing, allow everything
50
+ }
51
+ const toolName = event.tool_name;
52
+ if (!toolName) {
53
+ return { allow: true };
54
+ }
55
+ // Allow whitelisted tools (investigation phase)
56
+ if (ROUTING_WHITELIST.has(toolName)) {
57
+ return { allow: true };
58
+ }
59
+ // Check if this is the correct Agent/Task call
60
+ if (toolName === 'Agent' || toolName === 'Task') {
61
+ const subagentType = event.tool_input?.subagent_type;
62
+ if (subagentType === routing.agentName) {
63
+ // Correct agent invoked - clear routing state and allow
64
+ routingState.clearRouting(event.session_id);
65
+ logger.info(`[PreToolUse] Routing enforced: ${routing.agentName} invoked correctly`);
66
+ return { allow: true };
67
+ }
68
+ // Wrong agent - block
69
+ logger.warn(`[PreToolUse] Routing violation: expected ${routing.agentName}, got ${subagentType}`);
70
+ return {
71
+ allow: false,
72
+ reason: [
73
+ `⚠️ 路由冲突:当前任务已被路由到 ${routing.agentName} agent。`,
74
+ ``,
75
+ `你尝试调用的是 ${subagentType},这与路由决策不符。`,
76
+ ``,
77
+ `请使用正确的 agent:`,
78
+ ` Tool: Agent`,
79
+ ` subagent_type: "${routing.agentName}"`,
80
+ ` prompt: <用户原始 prompt>`,
81
+ ].join('\n'),
82
+ };
83
+ }
84
+ // Enforcement tools (Edit/Write/Bash) - block and force Agent call
85
+ if (ROUTING_ENFORCEMENT_TOOLS.has(toolName)) {
86
+ logger.warn(`[PreToolUse] Routing enforcement: blocked ${toolName}, must use ${routing.agentName}`);
87
+ return {
88
+ allow: false,
89
+ reason: [
90
+ `⚠️ 路由强制执行:当前任务必须通过 ${routing.agentName} agent 处理。`,
91
+ ``,
92
+ `你尝试直接调用 ${toolName} 工具,这违反了路由决策。`,
93
+ ``,
94
+ `正确做法:使用 Agent 工具调用专业 agent`,
95
+ ` Tool: Agent`,
96
+ ` subagent_type: "${routing.agentName}"`,
97
+ ` description: "执行用户请求的任务"`,
98
+ ` prompt: <将用户的完整 prompt 传入>`,
99
+ ``,
100
+ `Agent 职责:${routing.agentDescription}`,
101
+ ].join('\n'),
102
+ };
103
+ }
104
+ // Other tools - allow (e.g., AskUserQuestion for clarification)
105
+ return { allow: true };
106
+ }
22
107
  async handleWithDecision(event) {
23
108
  try {
24
109
  const options = {
@@ -1 +1 @@
1
- {"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../../src/daemon/handlers/pre-tool-use.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-prompt.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,mCAAmC,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAE7D,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAVlB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;gBAGrC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,mBAAmB,GAAE,mBAAmB,GAAG,IAAW,EACtD,MAAM,GAAE,gBAAgB,GAAG,IAAW,EACtC,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,OAAO,GAAE,aAAa,GAAG,IAAW,EACpC,QAAQ,GAAE,eAAe,GAAG,IAAW;IAG3C,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAiHrD"}
1
+ {"version":3,"file":"user-prompt.d.ts","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,mCAAmC,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAE7D,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAVlB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;gBAGrC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,mBAAmB,GAAE,mBAAmB,GAAG,IAAW,EACtD,MAAM,GAAE,gBAAgB,GAAG,IAAW,EACtC,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,OAAO,GAAE,aAAa,GAAG,IAAW,EACpC,QAAQ,GAAE,eAAe,GAAG,IAAW;IAG3C,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAmIrD"}
@@ -11,6 +11,7 @@
11
11
  * 4. Persist routing_events row for Web UI observation
12
12
  */
13
13
  import { logger } from '../../core/utils/logger.js';
14
+ import { routingState } from '../routing-state.js';
14
15
  export const INJECTION_VERSION = 'v1-declarative-2026-05-08';
15
16
  export class UserPromptHandler {
16
17
  classifier;
@@ -67,6 +68,7 @@ export class UserPromptHandler {
67
68
  // 2. Route
68
69
  let decision = null;
69
70
  let routedAgentName = null;
71
+ let routedAgentDef = null;
70
72
  let routedType = 'none';
71
73
  if (this.router) {
72
74
  decision = this.router.decide({ taskType: analysis.taskType, complexity: analysis.complexity }, event.session_id);
@@ -75,6 +77,7 @@ export class UserPromptHandler {
75
77
  const agentDef = this.agents?.get(agentName);
76
78
  if (agentDef) {
77
79
  routedAgentName = agentName;
80
+ routedAgentDef = agentDef;
78
81
  routedType = 'agent';
79
82
  systemParts.push(formatAgentDirective(agentName, agentDef.description));
80
83
  logger.info(`[UserPrompt] Routed to agent: ${agentName}`);
@@ -90,7 +93,13 @@ export class UserPromptHandler {
90
93
  // 4. Persist routing_events row
91
94
  if (this.storage) {
92
95
  try {
93
- const ts = Date.parse(event.timestamp) || Date.now();
96
+ // Always use Date.now() as the server-side wall-clock reference.
97
+ // event.timestamp comes from Claude Code as an ISO string without
98
+ // timezone (e.g. "2026-05-09T07:57:47"); Date.parse treats it as
99
+ // UTC, but Claude Code actually emits it in *local* time, which
100
+ // silently offsets ts from first_tool_ts (taken via Date.now)
101
+ // by the TZ delta and makes latency math meaningless.
102
+ const ts = Date.now();
94
103
  const routeRequestId = `${event.session_id}:${ts}`;
95
104
  const eventId = this.storage.writeRoutingEvent({
96
105
  session_id: event.session_id,
@@ -111,6 +120,16 @@ export class UserPromptHandler {
111
120
  if (routedType === 'agent' && this.observer) {
112
121
  this.observer.beginPending(event.session_id, eventId, routeRequestId, routedAgentName);
113
122
  }
123
+ // Record routing state for PreToolUse enforcement
124
+ if (routedType === 'agent' && routedAgentName && routedAgentDef) {
125
+ routingState.setRouting(event.session_id, {
126
+ agentName: routedAgentName,
127
+ agentDescription: routedAgentDef.description,
128
+ timestamp: ts,
129
+ routeRequestId,
130
+ });
131
+ logger.info(`[UserPrompt] Routing state recorded for session ${event.session_id}`);
132
+ }
114
133
  }
115
134
  catch (err) {
116
135
  logger.warn(`[UserPrompt] Failed to persist routing_events: ${err}`);
@@ -137,16 +156,19 @@ export class UserPromptHandler {
137
156
  function formatAgentDirective(agentName, agentDescription) {
138
157
  return [
139
158
  '━━━ Claude Forge: Agent Routing ━━━',
140
- `本次任务的正确执行路径是调用 ${agentName} agent。`,
159
+ `⚠️ 本次任务必须通过 ${agentName} agent 执行。`,
160
+ '',
161
+ '**强制要求**:立即使用 Agent 工具调用该 agent,不要尝试自行处理。',
141
162
  '',
142
- '请使用 Agent 工具:',
163
+ '调用方式:',
164
+ ` Tool: Agent`,
143
165
  ` subagent_type: "${agentName}"`,
144
- ' description: "执行用户请求的任务"',
145
- ' prompt: <用户原始 prompt 原样传入>',
166
+ ` description: "执行用户请求的任务"`,
167
+ ` prompt: <将用户的原始 prompt 完整传入>`,
146
168
  '',
147
- `该 agent 职责:${agentDescription}`,
169
+ `Agent 职责:${agentDescription}`,
148
170
  '',
149
- '若判断该任务不适用此路径,请简述原因后再自行处理(原因将被记录用于路由调优)。',
171
+ '注意:直接调用其他工具(Read/Bash/Edit 等)将被系统拦截。',
150
172
  '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━',
151
173
  ].join('\n');
152
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user-prompt.js","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-prompt.js","sourceRoot":"","sources":["../../../src/daemon/handlers/user-prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * RoutingState — in-memory session routing state for PreToolUse enforcement
3
+ *
4
+ * Tracks which sessions have active routing decisions, so PreToolUse can
5
+ * enforce "must use Agent tool" when Claude tries to bypass the routing.
6
+ */
7
+ export interface RoutingDecision {
8
+ agentName: string;
9
+ agentDescription: string;
10
+ timestamp: number;
11
+ routeRequestId: string;
12
+ }
13
+ /**
14
+ * Global routing state manager (singleton pattern)
15
+ */
16
+ declare class RoutingStateManager {
17
+ private state;
18
+ /**
19
+ * Record that a session has been routed to a specific agent
20
+ */
21
+ setRouting(sessionId: string, decision: RoutingDecision): void;
22
+ /**
23
+ * Get the active routing decision for a session (if any)
24
+ */
25
+ getRouting(sessionId: string): RoutingDecision | null;
26
+ /**
27
+ * Clear routing state for a session (called after agent is invoked or session ends)
28
+ */
29
+ clearRouting(sessionId: string): void;
30
+ /**
31
+ * Check if a session has an active routing decision
32
+ */
33
+ hasRouting(sessionId: string): boolean;
34
+ }
35
+ export declare const routingState: RoutingStateManager;
36
+ export {};
37
+ //# sourceMappingURL=routing-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-state.d.ts","sourceRoot":"","sources":["../../src/daemon/routing-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,cAAM,mBAAmB;IACvB,OAAO,CAAC,KAAK,CAAsC;IAEnD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI9D;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIrD;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAGvC;AAGD,eAAO,MAAM,YAAY,qBAA4B,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * RoutingState — in-memory session routing state for PreToolUse enforcement
3
+ *
4
+ * Tracks which sessions have active routing decisions, so PreToolUse can
5
+ * enforce "must use Agent tool" when Claude tries to bypass the routing.
6
+ */
7
+ /**
8
+ * Global routing state manager (singleton pattern)
9
+ */
10
+ class RoutingStateManager {
11
+ state = new Map();
12
+ /**
13
+ * Record that a session has been routed to a specific agent
14
+ */
15
+ setRouting(sessionId, decision) {
16
+ this.state.set(sessionId, decision);
17
+ }
18
+ /**
19
+ * Get the active routing decision for a session (if any)
20
+ */
21
+ getRouting(sessionId) {
22
+ return this.state.get(sessionId) ?? null;
23
+ }
24
+ /**
25
+ * Clear routing state for a session (called after agent is invoked or session ends)
26
+ */
27
+ clearRouting(sessionId) {
28
+ this.state.delete(sessionId);
29
+ }
30
+ /**
31
+ * Check if a session has an active routing decision
32
+ */
33
+ hasRouting(sessionId) {
34
+ return this.state.has(sessionId);
35
+ }
36
+ }
37
+ // Singleton instance
38
+ export const routingState = new RoutingStateManager();
39
+ //# sourceMappingURL=routing-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-state.js","sourceRoot":"","sources":["../../src/daemon/routing-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;GAEG;AACH,MAAM,mBAAmB;IACf,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEnD;;OAEG;IACH,UAAU,CAAC,SAAiB,EAAE,QAAyB;QACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAAiB;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,mBAAmB,EAAE,CAAC"}
@@ -137,8 +137,13 @@ rules:
137
137
  - when:
138
138
  taskType: compare_solutions
139
139
  action: { type: route_to_agent, name: researcher }
140
+ # Only route "explain" when the topic is complex enough to warrant a
141
+ # researcher dive. Plain clarification questions ("what does X mean",
142
+ # "does this work?") should stay with the main Claude — routing them out
143
+ # just produces disobey events since the main session will answer inline.
140
144
  - when:
141
145
  taskType: explain
146
+ complexity: complex
142
147
  action: { type: route_to_agent, name: researcher }
143
148
 
144
149
  # -- Documentation ---------------------------------------------------------
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@winspan/claude-forge",
3
- "version": "8.26.1",
3
+ "version": "8.27.0",
4
4
  "description": "SDLC intelligent orchestration engine for Claude Code",
5
5
  "main": "dist/cli/index.js",
6
6
  "type": "module",
@@ -1,82 +0,0 @@
1
- #!/usr/bin/env bash
2
- # 检查当前 session 的 context token 使用量,接近限制时发出预警
3
-
4
- WARN_THRESHOLD="${CONTEXT_WARN_THRESHOLD:-150000}"
5
- ALERT_THRESHOLD="${CONTEXT_ALERT_THRESHOLD:-180000}"
6
-
7
- # 从 stdin 读取 hook 输入,提取 session_id 和 cwd(jq 替代 python3)
8
- INPUT=$(cat)
9
- SESSION_ID=$(echo "$INPUT" | jq -r '.session_id // ""')
10
- CWD=$(echo "$INPUT" | jq -r '.cwd // ""')
11
-
12
- # 定位 session 文件
13
- find_session_file() {
14
- local session_id="$1"
15
- local cwd="$2"
16
-
17
- if [ -n "$cwd" ]; then
18
- local sanitized
19
- sanitized=$(echo "$cwd" | sed 's|/|-|g')
20
- local project_dir="$HOME/.claude/projects/${sanitized}"
21
- if [ -n "$session_id" ] && [ -f "$project_dir/${session_id}.jsonl" ]; then
22
- echo "$project_dir/${session_id}.jsonl"
23
- return
24
- fi
25
- local latest
26
- latest=$(ls -t "$project_dir"/*.jsonl 2>/dev/null | head -1)
27
- [ -n "$latest" ] && echo "$latest"
28
- fi
29
- }
30
-
31
- SESSION_FILE=$(find_session_file "$SESSION_ID" "$CWD")
32
-
33
- if [ -z "$SESSION_FILE" ] || [ ! -f "$SESSION_FILE" ]; then
34
- exit 0
35
- fi
36
-
37
- # 只扫描最后 200 行(token 用量只会增大,最新的 assistant 消息在末尾)
38
- # 避免随 session 增长的全文件 O(n) 扫描
39
- CONTEXT_TOKENS=$(tail -200 "$SESSION_FILE" | jq -r '
40
- select(.type == "assistant" and .message.usage != null)
41
- | (.message.usage.input_tokens // 0)
42
- + (.message.usage.cache_read_input_tokens // 0)
43
- + (.message.usage.cache_creation_input_tokens // 0)
44
- ' 2>/dev/null | awk 'BEGIN{max=0} {if($1+0>max) max=$1+0} END{print max}')
45
-
46
- CONTEXT_TOKENS="${CONTEXT_TOKENS:-0}"
47
-
48
- # 冷却机制:同一会话 60 秒内只触发一次告警,避免每次 PostToolUse 重复输出
49
- COOLDOWN_SECS="${CONTEXT_ALERT_COOLDOWN:-60}"
50
- ALERT_FLAG_DIR="${TMPDIR:-/tmp}/claude-forge-ctx"
51
- mkdir -p "$ALERT_FLAG_DIR"
52
- ALERT_FLAG="$ALERT_FLAG_DIR/${SESSION_ID}.alert"
53
-
54
- is_in_cooldown() {
55
- [ -f "$ALERT_FLAG" ] || return 1
56
- local last_alert
57
- last_alert=$(cat "$ALERT_FLAG" 2>/dev/null)
58
- local now
59
- now=$(date +%s)
60
- [ -n "$last_alert" ] && [ $((now - last_alert)) -lt "$COOLDOWN_SECS" ]
61
- }
62
-
63
- if [ "$CONTEXT_TOKENS" -ge "$ALERT_THRESHOLD" ] 2>/dev/null; then
64
- if ! is_in_cooldown; then
65
- date +%s > "$ALERT_FLAG"
66
- # 告急:注入强制指令,要求 Claude 立即提醒用户执行 /compact
67
- echo "{\"systemMessage\": \"⚠️ [Forge 紧急] Context 已用 ${CONTEXT_TOKENS} tokens(阈值 ${ALERT_THRESHOLD}),即将触及上限。请在回复的第一行用醒目格式提醒用户立即输入 /compact 压缩上下文,否则后续对话可能丢失信息。回复内容尽量精简。\"}"
68
- fi
69
-
70
- elif [ "$CONTEXT_TOKENS" -ge "$WARN_THRESHOLD" ] 2>/dev/null; then
71
- if ! is_in_cooldown; then
72
- date +%s > "$ALERT_FLAG"
73
- # 预警:在命令行输出提示(stderr → 终端可见,不影响 Claude Code 响应)
74
- echo "⚠️ Context 预警:已用 ${CONTEXT_TOKENS} tokens,建议执行 /compact" >&2
75
- fi
76
- exit 0
77
- else
78
- # 低于预警阈值时清除冷却标记,允许下次超限时重新告警
79
- rm -f "$ALERT_FLAG"
80
- fi
81
-
82
- exit 0