claude-ide-bridge 2.23.5 → 2.23.7

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.
@@ -258,6 +258,12 @@ export interface Diagnostic {
258
258
  }
259
259
  /** Load and validate a JSON automation policy file. Throws on any failure. */
260
260
  export declare function loadPolicy(filePath: string): AutomationPolicy;
261
+ /**
262
+ * Check which CC hook events have at least one settings.json entry whose
263
+ * command references the matching bridge notify tool. Returns a map of
264
+ * CC event name → wired (boolean).
265
+ */
266
+ export declare function checkCcHookWiring(): Record<string, boolean>;
261
267
  export declare class AutomationHooks {
262
268
  private readonly policy;
263
269
  private readonly orchestrator;
@@ -435,5 +441,6 @@ export declare class AutomationHooks {
435
441
  enabled: boolean;
436
442
  cooldownMs: number;
437
443
  } | null;
444
+ unwiredEnabledHooks: string[];
438
445
  };
439
446
  }
@@ -68,11 +68,11 @@ function validatePromptSource(hookName, cfg) {
68
68
  if (!hasPrompt && !hasPromptName) {
69
69
  throw new Error(`"${hookName}" must have a non-empty "prompt" or "promptName"`);
70
70
  }
71
- if (hasPrompt && cfg.prompt.length > MAX_POLICY_PROMPT_CHARS) {
71
+ if (hasPrompt && (cfg.prompt?.length ?? 0) > MAX_POLICY_PROMPT_CHARS) {
72
72
  throw new Error(`"${hookName}.prompt" must be ≤ ${MAX_POLICY_PROMPT_CHARS} characters`);
73
73
  }
74
74
  if (hasPromptName) {
75
- if (cfg.promptName.length > MAX_PROMPT_NAME_CHARS) {
75
+ if ((cfg.promptName?.length ?? 0) > MAX_PROMPT_NAME_CHARS) {
76
76
  throw new Error(`"${hookName}.promptName" must be ≤ ${MAX_PROMPT_NAME_CHARS} characters`);
77
77
  }
78
78
  if (cfg.promptArgs !== undefined) {
@@ -413,6 +413,52 @@ export function loadPolicy(filePath) {
413
413
  }
414
414
  return policy;
415
415
  }
416
+ /**
417
+ * CC hook events that require a settings.json entry calling a bridge notify tool.
418
+ * Bridge-tool-triggered hooks (onFileSave, onGitCommit, etc.) need no CC wiring.
419
+ */
420
+ const CC_HOOK_TOOL_MAP = {
421
+ PostCompact: "notifyPostCompact",
422
+ InstructionsLoaded: "notifyInstructionsLoaded",
423
+ TaskCreated: "notifyTaskCreated",
424
+ PermissionDenied: "notifyPermissionDenied",
425
+ CwdChanged: "notifyCwdChanged",
426
+ };
427
+ /** Policy hook names that correspond to CC hook events (need settings.json wiring). */
428
+ const _POLICY_TO_CC_EVENT = {
429
+ onPostCompact: "PostCompact",
430
+ onInstructionsLoaded: "InstructionsLoaded",
431
+ onTaskCreated: "TaskCreated",
432
+ onPermissionDenied: "PermissionDenied",
433
+ onCwdChanged: "CwdChanged",
434
+ };
435
+ /**
436
+ * Check which CC hook events have at least one settings.json entry whose
437
+ * command references the matching bridge notify tool. Returns a map of
438
+ * CC event name → wired (boolean).
439
+ */
440
+ export function checkCcHookWiring() {
441
+ const result = {};
442
+ for (const ccEvent of Object.keys(CC_HOOK_TOOL_MAP)) {
443
+ result[ccEvent] = false;
444
+ }
445
+ try {
446
+ const configDir = process.env.CLAUDE_CONFIG_DIR ??
447
+ path.join(process.env.HOME ?? process.env.USERPROFILE ?? "~", ".claude");
448
+ const settingsPath = path.join(configDir, "settings.json");
449
+ const raw = fs.readFileSync(settingsPath, "utf-8");
450
+ const settings = JSON.parse(raw);
451
+ const hooks = settings.hooks ?? {};
452
+ for (const [ccEvent, toolName] of Object.entries(CC_HOOK_TOOL_MAP)) {
453
+ const entries = hooks[ccEvent] ?? [];
454
+ result[ccEvent] = entries.some((e) => typeof e.command === "string" && e.command.includes(toolName));
455
+ }
456
+ }
457
+ catch {
458
+ // Settings file missing or unparseable — treat all as unwired
459
+ }
460
+ return result;
461
+ }
416
462
  // ── AutomationHooks ───────────────────────────────────────────────────────────
417
463
  export class AutomationHooks {
418
464
  policy;
@@ -584,9 +630,10 @@ export class AutomationHooks {
584
630
  .map((d) => `[${d.severity}] ${d.message.slice(0, MAX_DIAGNOSTIC_MSG_CHARS)}`)
585
631
  .join("\n");
586
632
  const nonce = crypto.randomBytes(6).toString("hex");
587
- prompt = cfg
588
- .prompt.replace(/\{\{file\}\}/g, untrustedBlock("FILE PATH", safeFilePath, nonce))
589
- .replace(/\{\{diagnostics\}\}/g, untrustedBlock("DIAGNOSTIC DATA", diagnosticsText, nonce));
633
+ prompt =
634
+ cfg.prompt
635
+ ?.replace(/\{\{file\}\}/g, untrustedBlock("FILE PATH", safeFilePath, nonce))
636
+ .replace(/\{\{diagnostics\}\}/g, untrustedBlock("DIAGNOSTIC DATA", diagnosticsText, nonce)) ?? "";
590
637
  }
591
638
  prompt = truncatePrompt(buildHookMetadata("onDiagnosticsError", normalizedFile) + prompt);
592
639
  try {
@@ -643,7 +690,8 @@ export class AutomationHooks {
643
690
  }
644
691
  else {
645
692
  const nonce = crypto.randomBytes(6).toString("hex");
646
- prompt = cfg.prompt.replace(/\{\{cwd\}\}/g, untrustedBlock("CWD", safeCwd, nonce));
693
+ prompt =
694
+ cfg.prompt?.replace(/\{\{cwd\}\}/g, untrustedBlock("CWD", safeCwd, nonce)) ?? "";
647
695
  }
648
696
  prompt = truncatePrompt(buildHookMetadata("onCwdChanged") + prompt);
649
697
  try {
@@ -683,7 +731,7 @@ export class AutomationHooks {
683
731
  postCompactPrompt = resolved;
684
732
  }
685
733
  else {
686
- postCompactPrompt = cfg.prompt;
734
+ postCompactPrompt = cfg.prompt ?? "";
687
735
  }
688
736
  postCompactPrompt = truncatePrompt(buildHookMetadata("onPostCompact") + postCompactPrompt);
689
737
  try {
@@ -717,7 +765,7 @@ export class AutomationHooks {
717
765
  instrPrompt = resolved;
718
766
  }
719
767
  else {
720
- instrPrompt = cfg.prompt;
768
+ instrPrompt = cfg.prompt ?? "";
721
769
  }
722
770
  instrPrompt = truncatePrompt(buildHookMetadata("onInstructionsLoaded") + instrPrompt);
723
771
  try {
@@ -784,7 +832,8 @@ export class AutomationHooks {
784
832
  }
785
833
  else {
786
834
  const nonce = crypto.randomBytes(6).toString("hex");
787
- prompt = cfg.prompt.replace(/\{\{file\}\}/g, untrustedBlock("FILE PATH", safeFilePath, nonce));
835
+ prompt =
836
+ cfg.prompt?.replace(/\{\{file\}\}/g, untrustedBlock("FILE PATH", safeFilePath, nonce)) ?? "";
788
837
  }
789
838
  prompt = truncatePrompt(buildHookMetadata("onFileSave", normalizedFile) + prompt);
790
839
  try {
@@ -856,7 +905,8 @@ export class AutomationHooks {
856
905
  }
857
906
  else {
858
907
  const nonce = crypto.randomBytes(6).toString("hex");
859
- prompt = cfg.prompt.replace(/\{\{file\}\}/g, untrustedBlock("FILE PATH", safeFilePath, nonce));
908
+ prompt =
909
+ cfg.prompt?.replace(/\{\{file\}\}/g, untrustedBlock("FILE PATH", safeFilePath, nonce)) ?? "";
860
910
  }
861
911
  prompt = truncatePrompt(buildHookMetadata("onFileChanged", normalizedFile) + prompt);
862
912
  try {
@@ -942,12 +992,13 @@ export class AutomationHooks {
942
992
  }
943
993
  else {
944
994
  const nonce = crypto.randomBytes(6).toString("hex");
945
- prompt = cfg
946
- .prompt.replace(/\{\{runner\}\}/g, untrustedBlock("TEST RUNNER", runnerStr, nonce))
947
- .replace(/\{\{failed\}\}/g, String(failureCount))
948
- .replace(/\{\{passed\}\}/g, String(result.summary.passed))
949
- .replace(/\{\{total\}\}/g, String(result.summary.total))
950
- .replace(/\{\{failures\}\}/g, untrustedBlock("TEST FAILURES", failuresText, nonce));
995
+ prompt =
996
+ cfg.prompt
997
+ ?.replace(/\{\{runner\}\}/g, untrustedBlock("TEST RUNNER", runnerStr, nonce))
998
+ .replace(/\{\{failed\}\}/g, String(failureCount))
999
+ .replace(/\{\{passed\}\}/g, String(result.summary.passed))
1000
+ .replace(/\{\{total\}\}/g, String(result.summary.total))
1001
+ .replace(/\{\{failures\}\}/g, untrustedBlock("TEST FAILURES", failuresText, nonce)) ?? "";
951
1002
  }
952
1003
  prompt = truncatePrompt(buildHookMetadata("onTestRun") + prompt);
953
1004
  try {
@@ -1037,15 +1088,16 @@ export class AutomationHooks {
1037
1088
  }
1038
1089
  else {
1039
1090
  const nonce = crypto.randomBytes(6).toString("hex");
1040
- prompt = cfg
1041
- .prompt.replace(/\{\{hash\}\}/g, untrustedBlock("COMMIT HASH", safeHash, nonce))
1042
- .replace(/\{\{branch\}\}/g, untrustedBlock("BRANCH", safeBranchCommit, nonce))
1043
- .replace(/\{\{message\}\}/g, untrustedBlock("COMMIT MESSAGE", safeMessage, nonce))
1044
- .replace(/\{\{count\}\}/g, String(result.count))
1045
- .replace(/\{\{files\}\}/g, untrustedBlock("COMMITTED FILES", filesText, nonce))
1046
- .replace(/\{\{changeImpact\}\}/g, changeImpact
1047
- ? untrustedBlock("CHANGE IMPACT", changeImpact, nonce)
1048
- : "(change impact unavailable)");
1091
+ prompt =
1092
+ cfg.prompt
1093
+ ?.replace(/\{\{hash\}\}/g, untrustedBlock("COMMIT HASH", safeHash, nonce))
1094
+ .replace(/\{\{branch\}\}/g, untrustedBlock("BRANCH", safeBranchCommit, nonce))
1095
+ .replace(/\{\{message\}\}/g, untrustedBlock("COMMIT MESSAGE", safeMessage, nonce))
1096
+ .replace(/\{\{count\}\}/g, String(result.count))
1097
+ .replace(/\{\{files\}\}/g, untrustedBlock("COMMITTED FILES", filesText, nonce))
1098
+ .replace(/\{\{changeImpact\}\}/g, changeImpact
1099
+ ? untrustedBlock("CHANGE IMPACT", changeImpact, nonce)
1100
+ : "(change impact unavailable)") ?? "";
1049
1101
  }
1050
1102
  prompt = truncatePrompt(buildHookMetadata("onGitCommit") + prompt);
1051
1103
  try {
@@ -1103,10 +1155,11 @@ export class AutomationHooks {
1103
1155
  }
1104
1156
  else {
1105
1157
  const nonce = crypto.randomBytes(6).toString("hex");
1106
- prompt = cfg
1107
- .prompt.replace(/\{\{remote\}\}/g, untrustedBlock("REMOTE", safeRemote, nonce))
1108
- .replace(/\{\{branch\}\}/g, untrustedBlock("BRANCH", safeBranch, nonce))
1109
- .replace(/\{\{hash\}\}/g, safeHash);
1158
+ prompt =
1159
+ cfg.prompt
1160
+ ?.replace(/\{\{remote\}\}/g, untrustedBlock("REMOTE", safeRemote, nonce))
1161
+ .replace(/\{\{branch\}\}/g, untrustedBlock("BRANCH", safeBranch, nonce))
1162
+ .replace(/\{\{hash\}\}/g, safeHash) ?? "";
1110
1163
  }
1111
1164
  prompt = truncatePrompt(buildHookMetadata("onGitPush") + prompt);
1112
1165
  try {
@@ -1162,9 +1215,10 @@ export class AutomationHooks {
1162
1215
  }
1163
1216
  else {
1164
1217
  const nonce = crypto.randomBytes(6).toString("hex");
1165
- prompt = cfg
1166
- .prompt.replace(/\{\{remote\}\}/g, untrustedBlock("REMOTE", safeRemote, nonce))
1167
- .replace(/\{\{branch\}\}/g, untrustedBlock("BRANCH", safeBranch, nonce));
1218
+ prompt =
1219
+ cfg.prompt
1220
+ ?.replace(/\{\{remote\}\}/g, untrustedBlock("REMOTE", safeRemote, nonce))
1221
+ .replace(/\{\{branch\}\}/g, untrustedBlock("BRANCH", safeBranch, nonce)) ?? "";
1168
1222
  }
1169
1223
  prompt = truncatePrompt(buildHookMetadata("onGitPull") + prompt);
1170
1224
  try {
@@ -1225,10 +1279,11 @@ export class AutomationHooks {
1225
1279
  }
1226
1280
  else {
1227
1281
  const nonce = crypto.randomBytes(6).toString("hex");
1228
- prompt = cfg
1229
- .prompt.replace(/\{\{branch\}\}/g, untrustedBlock("BRANCH", safeBranch, nonce))
1230
- .replace(/\{\{previousBranch\}\}/g, untrustedBlock("PREVIOUS BRANCH", safePreviousBranch, nonce))
1231
- .replace(/\{\{created\}\}/g, String(result.created));
1282
+ prompt =
1283
+ cfg.prompt
1284
+ ?.replace(/\{\{branch\}\}/g, untrustedBlock("BRANCH", safeBranch, nonce))
1285
+ .replace(/\{\{previousBranch\}\}/g, untrustedBlock("PREVIOUS BRANCH", safePreviousBranch, nonce))
1286
+ .replace(/\{\{created\}\}/g, String(result.created)) ?? "";
1232
1287
  }
1233
1288
  prompt = truncatePrompt(buildHookMetadata("onBranchCheckout") + prompt);
1234
1289
  try {
@@ -1290,11 +1345,12 @@ export class AutomationHooks {
1290
1345
  }
1291
1346
  else {
1292
1347
  const nonce = crypto.randomBytes(6).toString("hex");
1293
- prompt = cfg
1294
- .prompt.replace(/\{\{url\}\}/g, untrustedBlock("PR URL", safeUrl, nonce))
1295
- .replace(/\{\{number\}\}/g, safeNumber)
1296
- .replace(/\{\{title\}\}/g, untrustedBlock("PR TITLE", safeTitle, nonce))
1297
- .replace(/\{\{branch\}\}/g, untrustedBlock("BRANCH", safeBranch, nonce));
1348
+ prompt =
1349
+ cfg.prompt
1350
+ ?.replace(/\{\{url\}\}/g, untrustedBlock("PR URL", safeUrl, nonce))
1351
+ .replace(/\{\{number\}\}/g, safeNumber)
1352
+ .replace(/\{\{title\}\}/g, untrustedBlock("PR TITLE", safeTitle, nonce))
1353
+ .replace(/\{\{branch\}\}/g, untrustedBlock("BRANCH", safeBranch, nonce)) ?? "";
1298
1354
  }
1299
1355
  prompt = truncatePrompt(buildHookMetadata("onPullRequest") + prompt);
1300
1356
  try {
@@ -1394,9 +1450,10 @@ export class AutomationHooks {
1394
1450
  }
1395
1451
  else {
1396
1452
  const nonce = crypto.randomBytes(6).toString("hex");
1397
- prompt = cfg
1398
- .prompt.replace(/\{\{tool\}\}/g, untrustedBlock("TOOL NAME", safeTool, nonce))
1399
- .replace(/\{\{reason\}\}/g, untrustedBlock("DENIAL REASON", safeReason, nonce));
1453
+ prompt =
1454
+ cfg.prompt
1455
+ ?.replace(/\{\{tool\}\}/g, untrustedBlock("TOOL NAME", safeTool, nonce))
1456
+ .replace(/\{\{reason\}\}/g, untrustedBlock("DENIAL REASON", safeReason, nonce)) ?? "";
1400
1457
  }
1401
1458
  prompt = truncatePrompt(buildHookMetadata("onPermissionDenied") + prompt);
1402
1459
  try {
@@ -1448,7 +1505,8 @@ export class AutomationHooks {
1448
1505
  }
1449
1506
  else {
1450
1507
  const nonce = crypto.randomBytes(6).toString("hex");
1451
- prompt = cfg.prompt.replace(/\{\{file\}\}/g, untrustedBlock("FILE PATH", safeFilePath, nonce));
1508
+ prompt =
1509
+ cfg.prompt?.replace(/\{\{file\}\}/g, untrustedBlock("FILE PATH", safeFilePath, nonce)) ?? "";
1452
1510
  }
1453
1511
  prompt = truncatePrompt(buildHookMetadata("onDiagnosticsCleared", normalizedFile) + prompt);
1454
1512
  try {
@@ -1522,6 +1580,13 @@ export class AutomationHooks {
1522
1580
  /** Summary of automation policy for getBridgeStatus. */
1523
1581
  getStatus() {
1524
1582
  const p = this.policy;
1583
+ const wiring = checkCcHookWiring();
1584
+ const unwiredEnabledHooks = Object.entries(_POLICY_TO_CC_EVENT)
1585
+ .filter(([policyKey, ccEvent]) => {
1586
+ const hookCfg = p[policyKey];
1587
+ return hookCfg?.enabled === true && wiring[ccEvent] === false;
1588
+ })
1589
+ .map(([policyKey]) => policyKey);
1525
1590
  return {
1526
1591
  onPostCompact: p.onPostCompact
1527
1592
  ? {
@@ -1611,6 +1676,7 @@ export class AutomationHooks {
1611
1676
  cooldownMs: p.onGitPull.cooldownMs,
1612
1677
  }
1613
1678
  : null,
1679
+ unwiredEnabledHooks,
1614
1680
  };
1615
1681
  }
1616
1682
  }
@@ -1 +1 @@
1
- {"version":3,"file":"automation.js","sourceRoot":"","sources":["../src/automation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automation.js","sourceRoot":"","sources":["../src/automation.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,22 @@ export function createBridgeStatusTool(extensionClient, sessions, orchestrator,
67
67
  : latencyMs < 500
68
68
  ? "degraded"
69
69
  : "poor";
70
+ const automationStatus = automationHooks?.getStatus() ?? null;
71
+ const unwired = automationStatus?.unwiredEnabledHooks ?? [];
72
+ const baseSuggestedActions = extensionConnected
73
+ ? [
74
+ "Use explainSymbol to understand any function in one call",
75
+ "Use refactorPreview to see what a refactoring would change before applying",
76
+ "Use setEditorDecorations to highlight code review findings inline",
77
+ ]
78
+ : [
79
+ "Connect the VS Code extension for LSP, debugger, and terminal tools",
80
+ "File operations, Git, GitHub, and CLI tools are available without the extension",
81
+ ];
82
+ if (unwired.length > 0) {
83
+ baseSuggestedActions.push(`Automation hooks enabled but not wired in settings.json: ${unwired.join(", ")}. ` +
84
+ `Add CC hook entries calling the bridge notify tools (see CLAUDE.md Automation Policy section).`);
85
+ }
70
86
  return successStructured({
71
87
  extensionConnected,
72
88
  activeSessions: sessions?.size ?? 1,
@@ -87,21 +103,12 @@ export function createBridgeStatusTool(extensionClient, sessions, orchestrator,
87
103
  maxTokenBudget: ClaudeOrchestrator.MAX_TOKEN_BUDGET,
88
104
  },
89
105
  }),
90
- ...(automationHooks && { automation: automationHooks.getStatus() }),
106
+ ...(automationStatus !== null && { automation: automationStatus }),
91
107
  tier: extensionConnected ? "full" : "basic",
92
108
  tierDescription: extensionConnected
93
109
  ? "All tools available including LSP, debugger, and terminal integration"
94
110
  : "File operations, Git, GitHub, and CLI tools available. Connect the VS Code extension for LSP, debugger, and terminal tools.",
95
- suggestedActions: extensionConnected
96
- ? [
97
- "Use explainSymbol to understand any function in one call",
98
- "Use refactorPreview to see what a refactoring would change before applying",
99
- "Use setEditorDecorations to highlight code review findings inline",
100
- ]
101
- : [
102
- "Connect the VS Code extension for LSP, debugger, and terminal tools",
103
- "File operations, Git, GitHub, and CLI tools are available without the extension",
104
- ],
111
+ suggestedActions: baseSuggestedActions,
105
112
  hint: extensionConnected
106
113
  ? "All tools available."
107
114
  : "Extension disconnected — extension-dependent tools (LSP, terminal, debugging, etc.) are temporarily unavailable. " +
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeStatus.js","sourceRoot":"","sources":["../../src/tools/bridgeStatus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridgeStatus.js","sourceRoot":"","sources":["../../src/tools/bridgeStatus.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,7 @@ import { createListClaudeTasksTool } from "./listClaudeTasks.js";
60
60
  import { createListTerminalsTool } from "./listTerminals.js";
61
61
  import { createApplyCodeActionTool, createFindImplementationsTool, createFindReferencesTool, createFormatRangeTool, createGetCallHierarchyTool, createGetCodeActionsTool, createGetHoverTool, createGoToDeclarationTool, createGoToDefinitionTool, createGoToTypeDefinitionTool, createPrepareRenameTool, createPreviewCodeActionTool, createRenameSymbolTool, createSearchWorkspaceSymbolsTool, } from "./lsp.js";
62
62
  import { createNotifyCwdChangedTool } from "./notifyCwdChanged.js";
63
+ import { createNotifyInstructionsLoadedTool, createNotifyPermissionDeniedTool, createNotifyPostCompactTool, createNotifyTaskCreatedTool, } from "./notifyHooks.js";
63
64
  import { createOpenDiffTool } from "./openDiff.js";
64
65
  import { createOpenFileTool } from "./openFile.js";
65
66
  import { createOpenInBrowserTool } from "./openInBrowser.js";
@@ -332,7 +333,13 @@ export function registerAllTools(transport, config, openedFiles, probes, extensi
332
333
  ]
333
334
  : []),
334
335
  ...(automationHooks !== null
335
- ? [createNotifyCwdChangedTool(automationHooks)]
336
+ ? [
337
+ createNotifyCwdChangedTool(automationHooks),
338
+ createNotifyPostCompactTool(automationHooks),
339
+ createNotifyInstructionsLoadedTool(automationHooks),
340
+ createNotifyTaskCreatedTool(automationHooks),
341
+ createNotifyPermissionDeniedTool(automationHooks),
342
+ ]
336
343
  : []),
337
344
  ];
338
345
  const activeTools = config.fullMode
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ import type { AutomationHooks } from "../automation.js";
2
+ /**
3
+ * Called by a Claude Code PostCompact hook (CC 2.1.76+) to notify the bridge
4
+ * that the conversation context was just compacted. Triggers onPostCompact.
5
+ *
6
+ * Example settings.json hook:
7
+ * "PostCompact": [{ "command": "claude --mcp ... notifyPostCompact" }]
8
+ */
9
+ export declare function createNotifyPostCompactTool(automationHooks: AutomationHooks): {
10
+ schema: {
11
+ name: string;
12
+ description: string;
13
+ annotations: {
14
+ readOnlyHint: boolean;
15
+ destructiveHint: boolean;
16
+ };
17
+ inputSchema: {
18
+ type: "object";
19
+ properties: {};
20
+ additionalProperties: boolean;
21
+ };
22
+ outputSchema: {
23
+ type: string;
24
+ properties: {
25
+ received: {
26
+ type: string;
27
+ };
28
+ };
29
+ required: string[];
30
+ };
31
+ };
32
+ handler: (_args: Record<string, unknown>) => Promise<{
33
+ content: Array<{
34
+ type: string;
35
+ text: string;
36
+ }>;
37
+ structuredContent: unknown;
38
+ }>;
39
+ };
40
+ /**
41
+ * Called by a Claude Code InstructionsLoaded hook (CC 2.1.76+) to notify the
42
+ * bridge that the session started or CLAUDE.md was reloaded. Triggers
43
+ * onInstructionsLoaded.
44
+ *
45
+ * Example settings.json hook:
46
+ * "InstructionsLoaded": [{ "command": "claude --mcp ... notifyInstructionsLoaded" }]
47
+ */
48
+ export declare function createNotifyInstructionsLoadedTool(automationHooks: AutomationHooks): {
49
+ schema: {
50
+ name: string;
51
+ description: string;
52
+ annotations: {
53
+ readOnlyHint: boolean;
54
+ destructiveHint: boolean;
55
+ };
56
+ inputSchema: {
57
+ type: "object";
58
+ properties: {};
59
+ additionalProperties: boolean;
60
+ };
61
+ outputSchema: {
62
+ type: string;
63
+ properties: {
64
+ received: {
65
+ type: string;
66
+ };
67
+ };
68
+ required: string[];
69
+ };
70
+ };
71
+ handler: (_args: Record<string, unknown>) => Promise<{
72
+ content: Array<{
73
+ type: string;
74
+ text: string;
75
+ }>;
76
+ structuredContent: unknown;
77
+ }>;
78
+ };
79
+ /**
80
+ * Called by a Claude Code TaskCreated hook (CC 2.1.84+) to notify the bridge
81
+ * that a subagent task was created. Triggers onTaskCreated.
82
+ *
83
+ * Example settings.json hook:
84
+ * "TaskCreated": [{ "command": "claude --mcp ... notifyTaskCreated --taskId $TASK_ID --prompt $PROMPT" }]
85
+ */
86
+ export declare function createNotifyTaskCreatedTool(automationHooks: AutomationHooks): {
87
+ schema: {
88
+ name: string;
89
+ description: string;
90
+ annotations: {
91
+ readOnlyHint: boolean;
92
+ destructiveHint: boolean;
93
+ };
94
+ inputSchema: {
95
+ type: "object";
96
+ properties: {
97
+ taskId: {
98
+ type: string;
99
+ description: string;
100
+ };
101
+ prompt: {
102
+ type: string;
103
+ description: string;
104
+ };
105
+ };
106
+ required: string[];
107
+ additionalProperties: boolean;
108
+ };
109
+ outputSchema: {
110
+ type: string;
111
+ properties: {
112
+ received: {
113
+ type: string;
114
+ };
115
+ taskId: {
116
+ type: string;
117
+ };
118
+ };
119
+ required: string[];
120
+ };
121
+ };
122
+ handler: (args: Record<string, unknown>) => Promise<{
123
+ content: Array<{
124
+ type: string;
125
+ text: string;
126
+ }>;
127
+ structuredContent: unknown;
128
+ }>;
129
+ };
130
+ /**
131
+ * Called by a Claude Code PermissionDenied hook (CC 2.1.89+) to notify the
132
+ * bridge that a tool call was blocked. Triggers onPermissionDenied.
133
+ *
134
+ * Example settings.json hook:
135
+ * "PermissionDenied": [{ "command": "claude --mcp ... notifyPermissionDenied --tool $TOOL --reason $REASON" }]
136
+ */
137
+ export declare function createNotifyPermissionDeniedTool(automationHooks: AutomationHooks): {
138
+ schema: {
139
+ name: string;
140
+ description: string;
141
+ annotations: {
142
+ readOnlyHint: boolean;
143
+ destructiveHint: boolean;
144
+ };
145
+ inputSchema: {
146
+ type: "object";
147
+ properties: {
148
+ tool: {
149
+ type: string;
150
+ description: string;
151
+ };
152
+ reason: {
153
+ type: string;
154
+ description: string;
155
+ };
156
+ };
157
+ required: string[];
158
+ additionalProperties: boolean;
159
+ };
160
+ outputSchema: {
161
+ type: string;
162
+ properties: {
163
+ received: {
164
+ type: string;
165
+ };
166
+ tool: {
167
+ type: string;
168
+ };
169
+ };
170
+ required: string[];
171
+ };
172
+ };
173
+ handler: (args: Record<string, unknown>) => Promise<{
174
+ content: Array<{
175
+ type: string;
176
+ text: string;
177
+ }>;
178
+ structuredContent: unknown;
179
+ }>;
180
+ };
@@ -0,0 +1,165 @@
1
+ import { successStructured } from "./utils.js";
2
+ /**
3
+ * Called by a Claude Code PostCompact hook (CC 2.1.76+) to notify the bridge
4
+ * that the conversation context was just compacted. Triggers onPostCompact.
5
+ *
6
+ * Example settings.json hook:
7
+ * "PostCompact": [{ "command": "claude --mcp ... notifyPostCompact" }]
8
+ */
9
+ export function createNotifyPostCompactTool(automationHooks) {
10
+ return {
11
+ schema: {
12
+ name: "notifyPostCompact",
13
+ description: "Notify the bridge that Claude Code just compacted its context. " +
14
+ "Triggers the onPostCompact automation policy if configured. " +
15
+ "Call this from a Claude Code PostCompact hook (CC 2.1.76+).",
16
+ annotations: { readOnlyHint: false, destructiveHint: false },
17
+ inputSchema: {
18
+ type: "object",
19
+ properties: {},
20
+ additionalProperties: false,
21
+ },
22
+ outputSchema: {
23
+ type: "object",
24
+ properties: {
25
+ received: { type: "boolean" },
26
+ },
27
+ required: ["received"],
28
+ },
29
+ },
30
+ handler: async (_args) => {
31
+ automationHooks.handlePostCompact();
32
+ return successStructured({ received: true });
33
+ },
34
+ };
35
+ }
36
+ /**
37
+ * Called by a Claude Code InstructionsLoaded hook (CC 2.1.76+) to notify the
38
+ * bridge that the session started or CLAUDE.md was reloaded. Triggers
39
+ * onInstructionsLoaded.
40
+ *
41
+ * Example settings.json hook:
42
+ * "InstructionsLoaded": [{ "command": "claude --mcp ... notifyInstructionsLoaded" }]
43
+ */
44
+ export function createNotifyInstructionsLoadedTool(automationHooks) {
45
+ return {
46
+ schema: {
47
+ name: "notifyInstructionsLoaded",
48
+ description: "Notify the bridge that Claude Code loaded or reloaded its instructions. " +
49
+ "Triggers the onInstructionsLoaded automation policy if configured. " +
50
+ "Call this from a Claude Code InstructionsLoaded hook (CC 2.1.76+).",
51
+ annotations: { readOnlyHint: false, destructiveHint: false },
52
+ inputSchema: {
53
+ type: "object",
54
+ properties: {},
55
+ additionalProperties: false,
56
+ },
57
+ outputSchema: {
58
+ type: "object",
59
+ properties: {
60
+ received: { type: "boolean" },
61
+ },
62
+ required: ["received"],
63
+ },
64
+ },
65
+ handler: async (_args) => {
66
+ automationHooks.handleInstructionsLoaded();
67
+ return successStructured({ received: true });
68
+ },
69
+ };
70
+ }
71
+ /**
72
+ * Called by a Claude Code TaskCreated hook (CC 2.1.84+) to notify the bridge
73
+ * that a subagent task was created. Triggers onTaskCreated.
74
+ *
75
+ * Example settings.json hook:
76
+ * "TaskCreated": [{ "command": "claude --mcp ... notifyTaskCreated --taskId $TASK_ID --prompt $PROMPT" }]
77
+ */
78
+ export function createNotifyTaskCreatedTool(automationHooks) {
79
+ return {
80
+ schema: {
81
+ name: "notifyTaskCreated",
82
+ description: "Notify the bridge that Claude Code created a subagent task. " +
83
+ "Triggers the onTaskCreated automation policy if configured. " +
84
+ "Call this from a Claude Code TaskCreated hook (CC 2.1.84+).",
85
+ annotations: { readOnlyHint: false, destructiveHint: false },
86
+ inputSchema: {
87
+ type: "object",
88
+ properties: {
89
+ taskId: {
90
+ type: "string",
91
+ description: "The task ID assigned by Claude Code",
92
+ },
93
+ prompt: {
94
+ type: "string",
95
+ description: "The prompt given to the subagent (truncated to 500 chars)",
96
+ },
97
+ },
98
+ required: ["taskId", "prompt"],
99
+ additionalProperties: false,
100
+ },
101
+ outputSchema: {
102
+ type: "object",
103
+ properties: {
104
+ received: { type: "boolean" },
105
+ taskId: { type: "string" },
106
+ },
107
+ required: ["received", "taskId"],
108
+ },
109
+ },
110
+ handler: async (args) => {
111
+ const taskId = args.taskId;
112
+ const prompt = args.prompt;
113
+ automationHooks.handleTaskCreated({ taskId, prompt });
114
+ return successStructured({ received: true, taskId });
115
+ },
116
+ };
117
+ }
118
+ /**
119
+ * Called by a Claude Code PermissionDenied hook (CC 2.1.89+) to notify the
120
+ * bridge that a tool call was blocked. Triggers onPermissionDenied.
121
+ *
122
+ * Example settings.json hook:
123
+ * "PermissionDenied": [{ "command": "claude --mcp ... notifyPermissionDenied --tool $TOOL --reason $REASON" }]
124
+ */
125
+ export function createNotifyPermissionDeniedTool(automationHooks) {
126
+ return {
127
+ schema: {
128
+ name: "notifyPermissionDenied",
129
+ description: "Notify the bridge that Claude Code blocked a tool call. " +
130
+ "Triggers the onPermissionDenied automation policy if configured. " +
131
+ "Call this from a Claude Code PermissionDenied hook (CC 2.1.89+).",
132
+ annotations: { readOnlyHint: false, destructiveHint: false },
133
+ inputSchema: {
134
+ type: "object",
135
+ properties: {
136
+ tool: {
137
+ type: "string",
138
+ description: "The tool name that was denied",
139
+ },
140
+ reason: {
141
+ type: "string",
142
+ description: "The reason the tool call was blocked",
143
+ },
144
+ },
145
+ required: ["tool", "reason"],
146
+ additionalProperties: false,
147
+ },
148
+ outputSchema: {
149
+ type: "object",
150
+ properties: {
151
+ received: { type: "boolean" },
152
+ tool: { type: "string" },
153
+ },
154
+ required: ["received", "tool"],
155
+ },
156
+ },
157
+ handler: async (args) => {
158
+ const tool = args.tool;
159
+ const reason = args.reason;
160
+ automationHooks.handlePermissionDenied({ tool, reason });
161
+ return successStructured({ received: true, tool });
162
+ },
163
+ };
164
+ }
165
+ //# sourceMappingURL=notifyHooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifyHooks.js","sourceRoot":"","sources":["../../src/tools/notifyHooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-ide-bridge",
3
- "version": "2.23.5",
3
+ "version": "2.23.7",
4
4
  "description": "Standalone MCP bridge for Claude Code IDE integration with any editor — 136+ tools for LSP, debugging, terminals, Git, GitHub, and more",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",