@skillfm/local 2.7.6 → 2.7.8

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.
Files changed (40) hide show
  1. package/dist/agent-forcing/claude-code-skill-v2.d.ts +72 -0
  2. package/dist/agent-forcing/claude-code-skill-v2.d.ts.map +1 -0
  3. package/dist/agent-forcing/claude-code-skill-v2.js +174 -0
  4. package/dist/agent-forcing/claude-code-skill-v2.js.map +1 -0
  5. package/dist/agent-forcing/forcing-rules.d.ts +24 -4
  6. package/dist/agent-forcing/forcing-rules.d.ts.map +1 -1
  7. package/dist/agent-forcing/forcing-rules.js +117 -9
  8. package/dist/agent-forcing/forcing-rules.js.map +1 -1
  9. package/dist/agent-forcing/injectors.d.ts.map +1 -1
  10. package/dist/agent-forcing/injectors.js +151 -19
  11. package/dist/agent-forcing/injectors.js.map +1 -1
  12. package/dist/guard/cli.d.ts.map +1 -1
  13. package/dist/guard/cli.js +21 -0
  14. package/dist/guard/cli.js.map +1 -1
  15. package/dist/guard/prompt-context.d.ts +48 -0
  16. package/dist/guard/prompt-context.d.ts.map +1 -0
  17. package/dist/guard/prompt-context.js +102 -0
  18. package/dist/guard/prompt-context.js.map +1 -0
  19. package/dist/harness/templates.d.ts +12 -0
  20. package/dist/harness/templates.d.ts.map +1 -1
  21. package/dist/harness/templates.js +10 -0
  22. package/dist/harness/templates.js.map +1 -1
  23. package/dist/harness/writers.d.ts.map +1 -1
  24. package/dist/harness/writers.js +1 -0
  25. package/dist/harness/writers.js.map +1 -1
  26. package/dist/mcp/index.d.ts.map +1 -1
  27. package/dist/mcp/index.js +11 -0
  28. package/dist/mcp/index.js.map +1 -1
  29. package/dist/mcp/tools/_sentry-descriptions.d.ts +7 -0
  30. package/dist/mcp/tools/_sentry-descriptions.d.ts.map +1 -0
  31. package/dist/mcp/tools/_sentry-descriptions.js +243 -0
  32. package/dist/mcp/tools/_sentry-descriptions.js.map +1 -0
  33. package/dist/mcp/tools/index.d.ts.map +1 -1
  34. package/dist/mcp/tools/index.js +16 -6
  35. package/dist/mcp/tools/index.js.map +1 -1
  36. package/dist/mcp/tools/unlock.d.ts +19 -0
  37. package/dist/mcp/tools/unlock.d.ts.map +1 -0
  38. package/dist/mcp/tools/unlock.js +103 -0
  39. package/dist/mcp/tools/unlock.js.map +1 -0
  40. package/package.json +2 -2
@@ -4,7 +4,8 @@
4
4
  import * as fs from 'node:fs';
5
5
  import * as path from 'node:path';
6
6
  import { homedir } from 'node:os';
7
- import { renderForcingGuide, injectOrReplaceBlock, removeBlock, hasMarkerBlock, } from './forcing-rules.js';
7
+ import { SKILLFM_MARKER_START, SKILLFM_MARKER_END } from './types.js';
8
+ import { renderForcingGuide, injectOrReplaceBlock, removeBlock, hasMarkerBlock, renderSoulIdentityBlock, renderToolsGuideBlock, } from './forcing-rules.js';
8
9
  const BACKUP_BASE = path.join(homedir(), '.skillfm', 'agent-forcing-backup');
9
10
  async function backupFile(filePath) {
10
11
  const ts = new Date().toISOString().replace(/[:.]/g, '-');
@@ -16,43 +17,138 @@ async function backupFile(filePath) {
16
17
  return backupPath;
17
18
  }
18
19
  // ── OpenClaw ────────────────────────────────────────────────────────
19
- // 路径: ~/.openclaw/workspace/SKILLFM-AGENT-GUIDE.md (新建独立文件)
20
- // OpenClaw 自动 inject workspace 所有 .md system_prompt (我们 trace 验过 48KB)
20
+ // 真路径分层 (Eric "design 不够好" 后调研发现 OpenClaw 真层级):
21
+ // - SOUL.md: identity (model 当自我, 训练数据 identity 模式最熟) identity assimilation
22
+ // - TOOLS.md: OpenClaw 专为 MCP tool 配置 → 注 tool guide (5 tool 触发 + 用法 + example)
23
+ // - AGENTS.md: 跨 agent instructions → 保留 long guide (detail reference)
24
+ // - IDENTITY/HEARTBEAT/MEMORY: 次要 → 注 short rule 重复保险
25
+ //
26
+ // 关键改动 (vs 旧版 5 文件 short PREPEND): SOUL/TOOLS 是真 identity/tool 主战场,
27
+ // 不是 instructions. 这才是 OpenClaw 设计真意图 (https://docs.openclaw.ai/concepts/system-prompt).
28
+ const OPENCLAW_SOUL_FILE = 'SOUL.md'; // identity 层 — 真核武器
29
+ const OPENCLAW_TOOLS_FILE = 'TOOLS.md'; // tool 专用层
30
+ const OPENCLAW_AGENTS_FILE = 'AGENTS.md'; // instructions 层 (long guide)
31
+ const OPENCLAW_FORCED_SHORT_FILES = ['IDENTITY.md', 'HEARTBEAT.md', 'MEMORY.md']; // 次要保险
21
32
  export async function detectOpenClaw() {
22
33
  const workspaceDir = path.join(homedir(), '.openclaw', 'workspace');
23
- const injectPath = path.join(workspaceDir, 'SKILLFM-AGENT-GUIDE.md');
24
34
  const detected = fs.existsSync(workspaceDir);
35
+ const soulPath = path.join(workspaceDir, OPENCLAW_SOUL_FILE);
25
36
  let already = false;
26
- if (detected && fs.existsSync(injectPath)) {
37
+ if (detected && fs.existsSync(soulPath)) {
27
38
  try {
28
- const c = await fs.promises.readFile(injectPath, 'utf-8');
39
+ const c = await fs.promises.readFile(soulPath, 'utf-8');
29
40
  already = hasMarkerBlock(c);
30
41
  }
31
42
  catch { }
32
43
  }
33
- return { harness: 'openclaw', detected, inject_path: detected ? injectPath : undefined, already_injected: already };
44
+ return { harness: 'openclaw', detected, inject_path: detected ? soulPath : undefined, already_injected: already };
34
45
  }
35
46
  export async function injectOpenClaw(opts = {}) {
36
47
  const det = await detectOpenClaw();
37
48
  if (!det.detected) {
38
49
  return { harness: 'openclaw', applied: false, error: 'OpenClaw workspace not found (~/.openclaw/workspace)' };
39
50
  }
40
- const filePath = det.inject_path;
41
- let backup_path;
42
- if (fs.existsSync(filePath)) {
43
- backup_path = await backupFile(filePath);
51
+ const workspaceDir = path.join(homedir(), '.openclaw', 'workspace');
52
+ // 清理旧版独立文件 (deprecated, OpenClaw 不读)
53
+ const oldStandalonePath = path.join(workspaceDir, 'SKILLFM-AGENT-GUIDE.md');
54
+ if (fs.existsSync(oldStandalonePath)) {
55
+ await fs.promises.unlink(oldStandalonePath).catch(() => { });
56
+ }
57
+ let totalBytes = 0;
58
+ const injectedFiles = [];
59
+ let mainBackupPath;
60
+ // 1️⃣ SOUL.md — identity assimilation (真核武器)
61
+ await injectOpenClawFile({
62
+ workspaceDir,
63
+ filename: OPENCLAW_SOUL_FILE,
64
+ block: renderSoulIdentityBlock(opts),
65
+ onResult: (bytes, backup) => {
66
+ totalBytes += bytes;
67
+ injectedFiles.push(path.join(workspaceDir, OPENCLAW_SOUL_FILE));
68
+ if (backup)
69
+ mainBackupPath = backup;
70
+ },
71
+ });
72
+ // 2️⃣ TOOLS.md — MCP tool 详细说明 (OpenClaw 专为 tool 设计)
73
+ await injectOpenClawFile({
74
+ workspaceDir,
75
+ filename: OPENCLAW_TOOLS_FILE,
76
+ block: renderToolsGuideBlock(opts),
77
+ onResult: (bytes) => {
78
+ totalBytes += bytes;
79
+ injectedFiles.push(path.join(workspaceDir, OPENCLAW_TOOLS_FILE));
80
+ },
81
+ });
82
+ // 3️⃣ AGENTS.md — long forcing guide (detail reference)
83
+ await injectOpenClawFile({
84
+ workspaceDir,
85
+ filename: OPENCLAW_AGENTS_FILE,
86
+ block: renderForcingGuide(opts),
87
+ onResult: (bytes) => {
88
+ totalBytes += bytes;
89
+ injectedFiles.push(path.join(workspaceDir, OPENCLAW_AGENTS_FILE));
90
+ },
91
+ });
92
+ // 4️⃣ IDENTITY/HEARTBEAT/MEMORY — short rule (重复保险, model 看到 6 处)
93
+ for (const filename of OPENCLAW_FORCED_SHORT_FILES) {
94
+ const filePath = path.join(workspaceDir, filename);
95
+ let existing = '';
96
+ if (fs.existsSync(filePath)) {
97
+ existing = await fs.promises.readFile(filePath, 'utf-8');
98
+ }
99
+ else {
100
+ existing = `# ${filename.replace('.md', '')}\n\n`;
101
+ }
102
+ // 用 short rule (不是 SOUL/TOOLS 的 full guide)
103
+ const newContent = injectOrReplaceBlock(existing, opts, 'short');
104
+ await fs.promises.writeFile(filePath, newContent, 'utf-8');
105
+ totalBytes += Buffer.byteLength(newContent, 'utf-8') - Buffer.byteLength(existing, 'utf-8');
106
+ injectedFiles.push(filePath);
44
107
  }
45
- const content = renderForcingGuide(opts);
46
- await fs.promises.writeFile(filePath, content, 'utf-8');
47
108
  return {
48
109
  harness: 'openclaw',
49
110
  applied: true,
50
- inject_path: filePath,
51
- backup_path,
52
- revert_command: backup_path ? `cp "${backup_path}" "${filePath}"` : `rm "${filePath}"`,
53
- bytes_injected: Buffer.byteLength(content, 'utf-8'),
111
+ inject_path: injectedFiles.join(', '),
112
+ backup_path: mainBackupPath,
113
+ revert_command: 'npx -y -p @skillfm/local skillfm-local forcing uninstall',
114
+ bytes_injected: totalBytes,
54
115
  };
55
116
  }
117
+ /**
118
+ * 单文件注入 helper (用于 SOUL/TOOLS/AGENTS 不同 block 内容).
119
+ * block 是已 render 好的字符串, 直接 PREPEND/replace 进文件.
120
+ */
121
+ async function injectOpenClawFile(opts) {
122
+ const filePath = path.join(opts.workspaceDir, opts.filename);
123
+ let existing = '';
124
+ let backup;
125
+ if (fs.existsSync(filePath)) {
126
+ backup = await backupFile(filePath);
127
+ existing = await fs.promises.readFile(filePath, 'utf-8');
128
+ }
129
+ else {
130
+ existing = `# ${opts.filename.replace('.md', '')}\n\n`;
131
+ }
132
+ // PREPEND or replace existing block
133
+ const startIdx = existing.indexOf(SKILLFM_MARKER_START);
134
+ const endIdx = existing.indexOf(SKILLFM_MARKER_END);
135
+ let newContent;
136
+ if (startIdx >= 0 && endIdx > startIdx) {
137
+ newContent = existing.slice(0, startIdx).trimEnd() + '\n\n' + opts.block + '\n' + existing.slice(endIdx + SKILLFM_MARKER_END.length).trimStart();
138
+ }
139
+ else {
140
+ const trimmed = existing.trimStart();
141
+ const firstNewline = trimmed.indexOf('\n');
142
+ if (firstNewline > 0 && trimmed.startsWith('#')) {
143
+ newContent = trimmed.slice(0, firstNewline + 1) + '\n' + opts.block + '\n\n' + trimmed.slice(firstNewline + 1);
144
+ }
145
+ else {
146
+ newContent = opts.block + '\n\n' + existing.trimStart();
147
+ }
148
+ }
149
+ await fs.promises.writeFile(filePath, newContent, 'utf-8');
150
+ opts.onResult(Buffer.byteLength(newContent, 'utf-8') - Buffer.byteLength(existing, 'utf-8'), backup);
151
+ }
56
152
  // ── Claude Code ─────────────────────────────────────────────────────
57
153
  // 路径: ~/.claude/CLAUDE.md (user-level memory, Claude Code 必读)
58
154
  // 注入: marker block append/replace 进现有 CLAUDE.md
@@ -223,6 +319,43 @@ export async function removeAllInjections() {
223
319
  const detections = await detectAllHarnesses();
224
320
  const results = [];
225
321
  for (const d of detections) {
322
+ if (d.harness === 'openclaw') {
323
+ // OpenClaw: 6 文件全清 marker block (跟 inject 对称)
324
+ const workspaceDir = path.join(homedir(), '.openclaw', 'workspace');
325
+ const allOpenClawFiles = [
326
+ OPENCLAW_SOUL_FILE, OPENCLAW_TOOLS_FILE, OPENCLAW_AGENTS_FILE,
327
+ ...OPENCLAW_FORCED_SHORT_FILES,
328
+ ];
329
+ let totalRemoved = 0;
330
+ const cleanedFiles = [];
331
+ for (const filename of allOpenClawFiles) {
332
+ const filePath = path.join(workspaceDir, filename);
333
+ if (!fs.existsSync(filePath))
334
+ continue;
335
+ try {
336
+ const content = await fs.promises.readFile(filePath, 'utf-8');
337
+ if (!hasMarkerBlock(content))
338
+ continue;
339
+ const cleaned = removeBlock(content);
340
+ await fs.promises.writeFile(filePath, cleaned, 'utf-8');
341
+ totalRemoved += Buffer.byteLength(content, 'utf-8') - Buffer.byteLength(cleaned, 'utf-8');
342
+ cleanedFiles.push(filename);
343
+ }
344
+ catch {
345
+ // skip
346
+ }
347
+ }
348
+ if (cleanedFiles.length > 0) {
349
+ results.push({
350
+ harness: 'openclaw',
351
+ applied: true,
352
+ inject_path: cleanedFiles.join(', '),
353
+ bytes_injected: -totalRemoved,
354
+ });
355
+ }
356
+ continue;
357
+ }
358
+ // 其他 harness: 单文件
226
359
  if (!d.inject_path)
227
360
  continue;
228
361
  if (!fs.existsSync(d.inject_path))
@@ -232,8 +365,7 @@ export async function removeAllInjections() {
232
365
  if (!hasMarkerBlock(content))
233
366
  continue;
234
367
  const cleaned = removeBlock(content);
235
- // 如果 cleaned 是空 / 只剩默认 header → 删文件 (适用 OpenClaw / Cursor 独立文件)
236
- if (d.harness === 'openclaw' || d.harness === 'cursor') {
368
+ if (d.harness === 'cursor') {
237
369
  await fs.promises.unlink(d.inject_path);
238
370
  }
239
371
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"injectors.js","sourceRoot":"","sources":["../../src/agent-forcing/injectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injectors.js","sourceRoot":"","sources":["../../src/agent-forcing/injectors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/guard/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;AA6OtB,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4CnE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/guard/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;AA8PtB,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+CnE"}
package/dist/guard/cli.js CHANGED
@@ -18,6 +18,7 @@
18
18
  * 只有 sidecar 明确返回 412 才 exit 2。这样保证 hook 故障不会锁死用户 UX。
19
19
  */
20
20
  import { callGuardCheck, callGuardPostToolUse, callGuardSessionStart, readSidecarEndpoint, } from './sidecar-client.js';
21
+ import { buildHookOutput } from './prompt-context.js';
21
22
  // ============================================================================
22
23
  // stdin 读取(非阻塞,超时 300ms)
23
24
  // ============================================================================
@@ -207,6 +208,23 @@ async function cmdProbeMcp(_stdin, _flags) {
207
208
  }
208
209
  }
209
210
  // ============================================================================
211
+ // 子命令:prompt-context (V2 Agent Forcing — UserPromptSubmit hint, PRD §2.4)
212
+ // ============================================================================
213
+ async function cmdPromptContext(stdin, _flags) {
214
+ // Stay completely silent on errors — stdout is consumed by Claude Code as
215
+ // injected system context, and emitting noise would corrupt the agent's
216
+ // view of the conversation.
217
+ try {
218
+ const hint = buildHookOutput(stdin);
219
+ if (hint)
220
+ process.stdout.write(hint + '\n');
221
+ }
222
+ catch {
223
+ // fail-open silent
224
+ }
225
+ return 0;
226
+ }
227
+ // ============================================================================
210
228
  // 子命令:check-script-loaded
211
229
  // ============================================================================
212
230
  async function cmdCheckScriptLoaded(stdin, flags) {
@@ -239,6 +257,7 @@ export async function runGuardCli(argv) {
239
257
  ' session-start Hook: harness session start (warn-only)',
240
258
  ' pre-tool-use Hook: pre-tool-use (blocking — exit 2 if brain_run not called)',
241
259
  ' post-tool-use Hook: post-tool-use (warn-only, audit)',
260
+ ' prompt-context Hook: UserPromptSubmit (V2 Agent Forcing — emit L4 hint to stdout when SkillFM trigger keyword detected)',
242
261
  ' check-script-loaded Diagnostic: print current guard state as JSON',
243
262
  ' probe-mcp Diagnostic: probe sidecar MCP output layer (M9.5)',
244
263
  '',
@@ -259,6 +278,8 @@ export async function runGuardCli(argv) {
259
278
  return cmdPreToolUse(stdin, flags);
260
279
  case 'post-tool-use':
261
280
  return cmdPostToolUse(stdin, flags);
281
+ case 'prompt-context':
282
+ return cmdPromptContext(stdin, flags);
262
283
  case 'check-script-loaded':
263
284
  return cmdCheckScriptLoaded(stdin, flags);
264
285
  case 'probe-mcp':
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/guard/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/guard/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * sdk/skillfm-local/src/guard/prompt-context.ts
3
+ *
4
+ * V2 Agent Forcing — UserPromptSubmit hint emitter (PRD §2.4).
5
+ *
6
+ * Called via `skillfm-guard prompt-context` from Claude Code's
7
+ * UserPromptSubmit hook. Reads stdin JSON, scans the user prompt for
8
+ * SkillFM trigger keywords, and emits an L4 Agent Voice hint to stdout.
9
+ * Claude Code prepends stdout as additional system context before the
10
+ * LLM sees the user message.
11
+ *
12
+ * Failure model: completely silent if anything goes wrong (fail-open).
13
+ * stdout is consumed by Claude Code, so any noise becomes injected text —
14
+ * we'd rather emit nothing than emit a stack trace into the agent context.
15
+ */
16
+ export interface MatchedIntent {
17
+ /** Which SkillFM tool the agent should reach for first. */
18
+ primary_tool: 'skillfm_checkup' | 'skillfm_show_my_usage' | 'skillfm_explain_provider_key' | 'skillfm_setup_gateway';
19
+ /** The keyword phrase that matched (for explanation in the hint). */
20
+ matched_phrase: string;
21
+ /** Rough categorization for analytics; not surfaced in hint. */
22
+ category: 'health' | 'usage' | 'byok' | 'install';
23
+ }
24
+ /**
25
+ * Scan a user prompt for the highest-priority SkillFM trigger.
26
+ * Rules are evaluated in order; first match wins. Returns null if none match.
27
+ */
28
+ export declare function detectIntent(prompt: string): MatchedIntent | null;
29
+ /**
30
+ * Render the system-context hint that Claude Code will prepend to the user
31
+ * message. Format intentionally compact (≤ 400 chars) — UserPromptSubmit
32
+ * fires on every prompt and bloated hints inflate context cost.
33
+ */
34
+ export declare function renderHint(intent: MatchedIntent): string;
35
+ export interface PromptContextInput {
36
+ prompt?: unknown;
37
+ user_prompt?: unknown;
38
+ session_id?: unknown;
39
+ }
40
+ /**
41
+ * Pure function (testable): given the parsed UserPromptSubmit payload,
42
+ * return the hint string to emit to stdout, or null to stay silent.
43
+ * Claude Code accepts:
44
+ * - any non-empty stdout → prepended as additional context
45
+ * - empty stdout → no-op
46
+ */
47
+ export declare function buildHookOutput(payload: PromptContextInput): string | null;
48
+ //# sourceMappingURL=prompt-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-context.d.ts","sourceRoot":"","sources":["../../src/guard/prompt-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,YAAY,EACR,iBAAiB,GACjB,uBAAuB,GACvB,8BAA8B,GAC9B,uBAAuB,CAAC;IAC5B,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACnD;AAqCD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAajE;AAiBD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAQxD;AAMD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAQ1E"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * sdk/skillfm-local/src/guard/prompt-context.ts
3
+ *
4
+ * V2 Agent Forcing — UserPromptSubmit hint emitter (PRD §2.4).
5
+ *
6
+ * Called via `skillfm-guard prompt-context` from Claude Code's
7
+ * UserPromptSubmit hook. Reads stdin JSON, scans the user prompt for
8
+ * SkillFM trigger keywords, and emits an L4 Agent Voice hint to stdout.
9
+ * Claude Code prepends stdout as additional system context before the
10
+ * LLM sees the user message.
11
+ *
12
+ * Failure model: completely silent if anything goes wrong (fail-open).
13
+ * stdout is consumed by Claude Code, so any noise becomes injected text —
14
+ * we'd rather emit nothing than emit a stack trace into the agent context.
15
+ */
16
+ const TRIGGER_RULES = [
17
+ // health / checkup
18
+ { pattern: /体检|健康度|我家\s*AI|AI\s*状态|checkup|health\s*check|dashboard\b|my\s*AI/i,
19
+ primary_tool: 'skillfm_checkup',
20
+ category: 'health' },
21
+ { pattern: /AI\s*(感觉|有点|这两天)\s*慢|怎么\s*(感觉|这么|这种)\s*慢|AI\s*怎么了/i,
22
+ primary_tool: 'skillfm_checkup',
23
+ category: 'health' },
24
+ // usage / cost
25
+ { pattern: /用了\s*多少\s*token|花了\s*多少|多少\s*钱|哪\s*能\s*省|想\s*省|怎么\s*省|账单.{0,8}(多|高|贵)|usage|billing|how\s*much/i,
26
+ primary_tool: 'skillfm_show_my_usage',
27
+ category: 'usage' },
28
+ { pattern: /换\s*便宜|cascading|router\b|路由/i,
29
+ primary_tool: 'skillfm_show_my_usage',
30
+ category: 'usage' },
31
+ // BYOK
32
+ { pattern: /API\s*key|api[\s-]?key|OpenAI\s*key|Anthropic\s*key|DeepSeek\s*key|给\s*你\s*key|存\s*key|sk-(?:admin-|ant-)?[a-z0-9]/i,
33
+ primary_tool: 'skillfm_explain_provider_key',
34
+ category: 'byok' },
35
+ // install / setup
36
+ { pattern: /(接入|装|配置)\s*SkillFM|setup\s*SkillFM|install\s*SkillFM|怎么\s*接\s*SkillFM/i,
37
+ primary_tool: 'skillfm_setup_gateway',
38
+ category: 'install' },
39
+ // bare SkillFM mention — fall back to checkup as the safest entry
40
+ { pattern: /SkillFM/i,
41
+ primary_tool: 'skillfm_checkup',
42
+ category: 'health' },
43
+ ];
44
+ /**
45
+ * Scan a user prompt for the highest-priority SkillFM trigger.
46
+ * Rules are evaluated in order; first match wins. Returns null if none match.
47
+ */
48
+ export function detectIntent(prompt) {
49
+ if (!prompt || typeof prompt !== 'string')
50
+ return null;
51
+ for (const rule of TRIGGER_RULES) {
52
+ const m = rule.pattern.exec(prompt);
53
+ if (m) {
54
+ return {
55
+ primary_tool: rule.primary_tool,
56
+ matched_phrase: m[0],
57
+ category: rule.category,
58
+ };
59
+ }
60
+ }
61
+ return null;
62
+ }
63
+ // ============================================================================
64
+ // Hint rendering
65
+ // ============================================================================
66
+ const TOOL_HINTS = {
67
+ skillfm_checkup: 'Call `skillfm_checkup` for the snapshot — show its `rendered` field directly. Do NOT replace with `curl /status` or generic exec.',
68
+ skillfm_show_my_usage: 'Call `skillfm_show_my_usage` with the matching window (today/week/month). Show the `rendered` field directly with all the ¥ numbers; do not paraphrase.',
69
+ skillfm_explain_provider_key: 'Call `skillfm_explain_provider_key` BEFORE accepting any API key from the user — show them risk level, scope, and revoke URL first. Then `skillfm_save_credential`.',
70
+ skillfm_setup_gateway: 'Call `skillfm_setup_gateway` with `{dry_run: true}` first to surface the planned IDE config changes; only call `{dry_run: false}` after the user confirms.',
71
+ };
72
+ /**
73
+ * Render the system-context hint that Claude Code will prepend to the user
74
+ * message. Format intentionally compact (≤ 400 chars) — UserPromptSubmit
75
+ * fires on every prompt and bloated hints inflate context cost.
76
+ */
77
+ export function renderHint(intent) {
78
+ const action = TOOL_HINTS[intent.primary_tool];
79
+ return [
80
+ `[SkillFM hint] User prompt mentions "${intent.matched_phrase}" — `,
81
+ `${action} `,
82
+ `Speak naturally on the user's behalf (L4 Agent Voice), e.g. "好, 我帮你看下", `,
83
+ `not "我必须先调 SkillFM tool".`,
84
+ ].join('');
85
+ }
86
+ /**
87
+ * Pure function (testable): given the parsed UserPromptSubmit payload,
88
+ * return the hint string to emit to stdout, or null to stay silent.
89
+ * Claude Code accepts:
90
+ * - any non-empty stdout → prepended as additional context
91
+ * - empty stdout → no-op
92
+ */
93
+ export function buildHookOutput(payload) {
94
+ const prompt = (typeof payload.prompt === 'string' && payload.prompt) ||
95
+ (typeof payload.user_prompt === 'string' && payload.user_prompt) ||
96
+ '';
97
+ const intent = detectIntent(prompt);
98
+ if (!intent)
99
+ return null;
100
+ return renderHint(intent);
101
+ }
102
+ //# sourceMappingURL=prompt-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-context.js","sourceRoot":"","sources":["../../src/guard/prompt-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAyBH,MAAM,aAAa,GAAkB;IACnC,mBAAmB;IACnB,EAAE,OAAO,EAAE,oEAAoE;QAC7E,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,QAAQ,EAAE;IACtB,EAAE,OAAO,EAAE,oDAAoD;QAC7D,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,QAAQ,EAAE;IACtB,eAAe;IACf,EAAE,OAAO,EAAE,iGAAiG;QAC1G,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,OAAO,EAAE;IACrB,EAAE,OAAO,EAAE,+BAA+B;QACxC,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,OAAO,EAAE;IACrB,OAAO;IACP,EAAE,OAAO,EAAE,qHAAqH;QAC9H,YAAY,EAAE,8BAA8B;QAC5C,QAAQ,EAAE,MAAM,EAAE;IACpB,kBAAkB;IAClB,EAAE,OAAO,EAAE,yEAAyE;QAClF,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,SAAS,EAAE;IACvB,kEAAkE;IAClE,EAAE,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,QAAQ,EAAE;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC;YACN,OAAO;gBACL,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,UAAU,GAAkD;IAChE,eAAe,EACb,mIAAmI;IACrI,qBAAqB,EACnB,yJAAyJ;IAC3J,4BAA4B,EAC1B,qKAAqK;IACvK,qBAAqB,EACnB,4JAA4J;CAC/J,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,MAAqB;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO;QACL,wCAAwC,MAAM,CAAC,cAAc,MAAM;QACnE,GAAG,MAAM,GAAG;QACZ,0EAA0E;QAC1E,2BAA2B;KAC5B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAA2B;IACzD,MAAM,MAAM,GACV,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;QACtD,CAAC,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;QAChE,EAAE,CAAC;IACL,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC"}
@@ -61,6 +61,18 @@ export interface ClaudeSettingsPatch {
61
61
  command: string;
62
62
  }>;
63
63
  }>;
64
+ /**
65
+ * V2 Agent Forcing — UserPromptSubmit hook (PRD §2.4).
66
+ * Fires on every user prompt; skillfm-guard prompt-context scans for
67
+ * SkillFM trigger keywords and emits L4 Agent Voice hint to stdout
68
+ * (Claude Code prepends stdout as additional system context before LLM).
69
+ */
70
+ UserPromptSubmit?: Array<{
71
+ hooks: Array<{
72
+ type: 'command';
73
+ command: string;
74
+ }>;
75
+ }>;
64
76
  };
65
77
  /** MCP server 注册(Claude Code 新版 settings.json 支持) */
66
78
  mcpServers?: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/harness/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAM7C,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mBAAmB;IACnB,mBAAmB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9C,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,SAAY,GAAG,YAAY,CA8CtF;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE;QACL,YAAY,CAAC,EAAE,KAAK,CAAC;YACnB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,SAAS,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACpD,CAAC,CAAC;QACH,UAAU,CAAC,EAAE,KAAK,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,SAAS,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACpD,CAAC,CAAC;QACH,WAAW,CAAC,EAAE,KAAK,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,SAAS,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACpD,CAAC,CAAC;KACJ,CAAC;IACF,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAErD,wBAAgB,mBAAmB,IAAI,mBAAmB,CA4BzD;AAMD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,gBAAgB,IAAI,gBAAgB,CAKnD;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,IAAI,eAAe,CAKxD;AAED,4CAA4C;AAC5C,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAOhE,CAAC;AAMF,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,cAAc,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,mCAAmC;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAqDrE"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/harness/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAM7C,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mBAAmB;IACnB,mBAAmB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9C,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,SAAY,GAAG,YAAY,CA8CtF;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE;QACL,YAAY,CAAC,EAAE,KAAK,CAAC;YACnB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,SAAS,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACpD,CAAC,CAAC;QACH,UAAU,CAAC,EAAE,KAAK,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,SAAS,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACpD,CAAC,CAAC;QACH,WAAW,CAAC,EAAE,KAAK,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,SAAS,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACpD,CAAC,CAAC;QACH;;;;;WAKG;QACH,gBAAgB,CAAC,EAAE,KAAK,CAAC;YACvB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,SAAS,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACpD,CAAC,CAAC;KACJ,CAAC;IACF,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAErD,wBAAgB,mBAAmB,IAAI,mBAAmB,CAsCzD;AAMD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,gBAAgB,IAAI,gBAAgB,CAKnD;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,IAAI,eAAe,CAKxD;AAED,4CAA4C;AAC5C,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAOhE,CAAC;AAMF,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,cAAc,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,mCAAmC;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAqDrE"}
@@ -93,6 +93,16 @@ export function claudeSettingsPatch() {
93
93
  ],
94
94
  },
95
95
  ],
96
+ // V2 Agent Forcing — proactively inject L4 Agent Voice hint when user
97
+ // prompt contains SkillFM trigger keywords. Hook stdout is prepended
98
+ // as additional system context (Claude Code UserPromptSubmit semantics).
99
+ UserPromptSubmit: [
100
+ {
101
+ hooks: [
102
+ { type: 'command', command: `${SKILLFM_GUARD_COMMAND} prompt-context` },
103
+ ],
104
+ },
105
+ ],
96
106
  },
97
107
  };
98
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/harness/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAkBjC,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,GAAW,EAAE,IAAI,GAAG,OAAO,EAAE;IACtE,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,aAAa;YAChB,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC;gBACnC,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC;gBACxD,mBAAmB,EAAE,MAAM;gBAC3B,aAAa,EAAE,GAAG;aACnB,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;gBAC9D,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC;gBAC3D,mBAAmB,EAAE,MAAM;gBAC3B,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC;aACpD,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC;gBACnC,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC;gBACnD,mBAAmB,EAAE,MAAM;gBAC3B,aAAa,EAAE,GAAG;aACnB,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC;gBACnC,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC;gBAC/C,mBAAmB,EAAE,MAAM;gBAC3B,aAAa,EAAE,GAAG;aACnB,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC;gBACnC,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,aAAa,CAAC;gBACxD,mBAAmB,EAAE,MAAM;gBAC3B,aAAa,EAAE,GAAG;aACnB,CAAC;QACJ,KAAK,SAAS,CAAC;QACf;YACE,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC;gBACnC,iBAAiB,EAAE,IAAI;gBACvB,mBAAmB,EAAE,MAAM;gBAC3B,aAAa,EAAE,GAAG;aACnB,CAAC;IACN,CAAC;AACH,CAAC;AAmCD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAErD,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,KAAK,EAAE;YACL,YAAY,EAAE;gBACZ;oBACE,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,qBAAqB,gBAAgB,EAAE;qBACvE;iBACF;aACF;YACD,UAAU,EAAE;gBACV;oBACE,OAAO,EAAE,8BAA8B;oBACvC,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,qBAAqB,eAAe,EAAE;qBACtE;iBACF;aACF;YACD,WAAW,EAAE;gBACX;oBACE,OAAO,EAAE,8BAA8B;oBACvC,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,qBAAqB,gBAAgB,EAAE;qBACvE;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,YAAY,EAAE,CAAC,GAAG,qBAAqB,+BAA+B,CAAC;QACvE,aAAa,EAAE,CAAC,GAAG,qBAAqB,gCAAgC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAuBD,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAmC;IACnE,aAAa,EAAE,YAAY;IAC3B,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,IAAI,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE,IAAI;CACd,CAAC;AAmBF,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,aAAa;YAChB,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,IAAI;gBACpB,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,IAAI,EAAE,kBAAkB;gBACxC,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,KAAK,EAAE,cAAc;gBACrC,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EACN,oEAAoE;aACvE,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,KAAK;gBACrB,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EACN,yEAAyE;aAC5E,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,KAAK;gBACrB,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EACN,2DAA2D;aAC9D,CAAC;QACJ,KAAK,SAAS,CAAC;QACf;YACE,OAAO;gBACL,UAAU,EAAE,IAAI,EAAE,uBAAuB;gBACzC,cAAc,EAAE,KAAK;gBACrB,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EAAE,kEAAkE;aAC7E,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/harness/templates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"writers.d.ts","sourceRoot":"","sources":["../../src/harness/writers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAgD,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAO9F,MAAM,MAAM,sBAAsB,GAC9B,6BAA6B,GAC7B,8BAA8B,GAC9B,8BAA8B,CAAC;AAEnC,qBAAa,kBAAmB,SAAQ,KAAK;IACxB,IAAI,EAAE,sBAAsB;gBAA5B,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM;CAIjE;AAMD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC;KACjE,CAAC;IACF,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,EACF,SAAS,GACT,QAAQ,GACR,oBAAoB,GACpB,yBAAyB,GACzB,wBAAwB,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,WAAoB,GACzB;IAAE,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAgDvE;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,mBAAmB,GACzB;IAAE,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAwEtE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,GACtB;IAAE,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA2CtE;AAMD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,UAAU,CA2DhE"}
1
+ {"version":3,"file":"writers.d.ts","sourceRoot":"","sources":["../../src/harness/writers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAgD,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAO9F,MAAM,MAAM,sBAAsB,GAC9B,6BAA6B,GAC7B,8BAA8B,GAC9B,8BAA8B,CAAC;AAEnC,qBAAa,kBAAmB,SAAQ,KAAK;IACxB,IAAI,EAAE,sBAAsB;gBAA5B,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM;CAIjE;AAMD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC;KACjE,CAAC;IACF,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,EACF,SAAS,GACT,QAAQ,GACR,oBAAoB,GACpB,yBAAyB,GACzB,wBAAwB,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,WAAoB,GACzB;IAAE,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAgDvE;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,mBAAmB,GACzB;IAAE,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAyEtE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,GACtB;IAAE,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA2CtE;AAMD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,UAAU,CA2DhE"}
@@ -127,6 +127,7 @@ export function mergeClaudeSettings(filePath, patch) {
127
127
  mergeSection('SessionStart');
128
128
  mergeSection('PreToolUse');
129
129
  mergeSection('PostToolUse');
130
+ mergeSection('UserPromptSubmit');
130
131
  if (existed) {
131
132
  try {
132
133
  backupFileBeforeWrite(filePath, original);