claude-ide-bridge 2.14.0 → 2.16.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.
Files changed (59) hide show
  1. package/dist/automation.d.ts +44 -45
  2. package/dist/automation.js +242 -107
  3. package/dist/automation.js.map +1 -1
  4. package/dist/bridge.js +25 -0
  5. package/dist/bridge.js.map +1 -1
  6. package/dist/prompts.js +48 -0
  7. package/dist/prompts.js.map +1 -1
  8. package/dist/server.d.ts +2 -1
  9. package/dist/server.js +29 -5
  10. package/dist/server.js.map +1 -1
  11. package/dist/tools/debug.d.ts +0 -21
  12. package/dist/tools/debug.js +0 -38
  13. package/dist/tools/debug.js.map +1 -1
  14. package/dist/tools/findFiles.d.ts +34 -0
  15. package/dist/tools/findFiles.js +16 -4
  16. package/dist/tools/findFiles.js.map +1 -1
  17. package/dist/tools/generateAPIDocumentation.d.ts +29 -2
  18. package/dist/tools/generateAPIDocumentation.js +21 -2
  19. package/dist/tools/generateAPIDocumentation.js.map +1 -1
  20. package/dist/tools/getAIComments.d.ts +56 -0
  21. package/dist/tools/getAIComments.js +34 -3
  22. package/dist/tools/getAIComments.js.map +1 -1
  23. package/dist/tools/getCurrentSelection.d.ts +80 -0
  24. package/dist/tools/getCurrentSelection.js +44 -6
  25. package/dist/tools/getCurrentSelection.js.map +1 -1
  26. package/dist/tools/getDebugState.d.ts +140 -0
  27. package/dist/tools/getDebugState.js +110 -0
  28. package/dist/tools/getDebugState.js.map +1 -0
  29. package/dist/tools/getTypeSignature.d.ts +34 -0
  30. package/dist/tools/getTypeSignature.js +17 -5
  31. package/dist/tools/getTypeSignature.js.map +1 -1
  32. package/dist/tools/getWorkspaceFolders.d.ts +37 -0
  33. package/dist/tools/getWorkspaceFolders.js +25 -3
  34. package/dist/tools/getWorkspaceFolders.js.map +1 -1
  35. package/dist/tools/getWorkspaceSettings.d.ts +43 -0
  36. package/dist/tools/getWorkspaceSettings.js +52 -0
  37. package/dist/tools/getWorkspaceSettings.js.map +1 -0
  38. package/dist/tools/gitHistory.d.ts +30 -0
  39. package/dist/tools/gitHistory.js +28 -10
  40. package/dist/tools/gitHistory.js.map +1 -1
  41. package/dist/tools/index.js +6 -3
  42. package/dist/tools/index.js.map +1 -1
  43. package/dist/tools/listTerminals.d.ts +55 -0
  44. package/dist/tools/listTerminals.js +78 -0
  45. package/dist/tools/listTerminals.js.map +1 -0
  46. package/dist/tools/searchAndReplace.d.ts +58 -0
  47. package/dist/tools/searchAndReplace.js +36 -3
  48. package/dist/tools/searchAndReplace.js.map +1 -1
  49. package/dist/tools/terminal.d.ts +0 -21
  50. package/dist/tools/terminal.js +0 -51
  51. package/dist/tools/terminal.js.map +1 -1
  52. package/dist/tools/workspaceSettings.d.ts +0 -31
  53. package/dist/tools/workspaceSettings.js +0 -45
  54. package/dist/tools/workspaceSettings.js.map +1 -1
  55. package/dist/transport.d.ts +3 -0
  56. package/dist/transport.js +10 -1
  57. package/dist/transport.js.map +1 -1
  58. package/package.json +1 -1
  59. package/templates/automation-policy.example.json +18 -4
@@ -1,60 +1,61 @@
1
1
  import type { ClaudeOrchestrator } from "./claudeOrchestrator.js";
2
- export interface OnDiagnosticsErrorPolicy {
2
+ /**
3
+ * Shared fields for prompt resolution in any automation hook.
4
+ * Exactly one of `prompt` or `promptName` must be provided.
5
+ *
6
+ * - `prompt`: inline instruction string with `{{placeholder}}` tokens.
7
+ * - `promptName`: name of a built-in MCP prompt (e.g. `"unused-in"`, `"why-error"`).
8
+ * - `promptArgs`: static args passed to the named prompt. Values may contain
9
+ * `{{placeholder}}` tokens that are substituted with sanitized event data
10
+ * (control chars stripped, length capped) before the prompt is resolved.
11
+ */
12
+ export interface PromptSource {
13
+ prompt?: string;
14
+ promptName?: string;
15
+ promptArgs?: Record<string, string>;
16
+ }
17
+ export interface OnDiagnosticsErrorPolicy extends PromptSource {
3
18
  enabled: boolean;
4
19
  minSeverity: "error" | "warning";
5
- /** Placeholders: {{file}}, {{diagnostics}} */
6
- prompt: string;
20
+ /** Placeholders (inline prompt only): {{file}}, {{diagnostics}} */
7
21
  /** Minimum ms between triggers for the same file. Enforced minimum: 5000. */
8
22
  cooldownMs: number;
9
23
  }
10
- export interface OnFileSavePolicy {
24
+ export interface OnFileSavePolicy extends PromptSource {
11
25
  enabled: boolean;
12
26
  /** Minimatch glob patterns, e.g. ["**\/*.ts", "!node_modules/**"] */
13
27
  patterns: string[];
14
- /** Placeholders: {{file}} */
15
- prompt: string;
28
+ /** Placeholders (inline prompt only): {{file}} */
16
29
  cooldownMs: number;
17
30
  }
18
- export interface OnFileChangedPolicy {
31
+ export interface OnFileChangedPolicy extends PromptSource {
19
32
  enabled: boolean;
20
33
  /** Minimatch glob patterns, e.g. ["**\/*.ts", "!node_modules/**"] */
21
34
  patterns: string[];
22
- /** Placeholders: {{file}} */
23
- prompt: string;
35
+ /** Placeholders (inline prompt only): {{file}} */
24
36
  cooldownMs: number;
25
37
  }
26
- export interface OnPostCompactPolicy {
38
+ export interface OnPostCompactPolicy extends PromptSource {
27
39
  enabled: boolean;
28
40
  /**
29
- * Prompt to enqueue after Claude compacts its context.
30
- * Use this to re-snapshot IDE state so Claude recovers context.
31
41
  * No placeholders — fired unconditionally when compaction occurs.
42
+ * Use promptName (e.g. "project-status") to re-snapshot IDE state.
32
43
  */
33
- prompt: string;
34
44
  /** Minimum ms between triggers (prevents repeated compaction storms). Enforced minimum: 5000. */
35
45
  cooldownMs: number;
36
46
  }
37
- export interface OnInstructionsLoadedPolicy {
47
+ export interface OnInstructionsLoadedPolicy extends PromptSource {
38
48
  enabled: boolean;
39
- /**
40
- * Prompt to enqueue when Claude loads its system instructions (first turn of a session).
41
- * Useful for injecting a tool-capability summary at session start.
42
- * No placeholders.
43
- */
44
- prompt: string;
45
49
  }
46
- export interface OnCwdChangedPolicy {
50
+ export interface OnCwdChangedPolicy extends PromptSource {
47
51
  enabled: boolean;
48
52
  /**
49
- * Prompt to enqueue when Claude Code's working directory changes (Claude Code 2.1.83+).
50
- * Useful for re-initialising workspace context when CC switches projects.
51
- * Placeholder: {{cwd}}
53
+ * Placeholders (inline prompt only): {{cwd}}
52
54
  */
53
- prompt: string;
54
55
  /** Minimum ms between triggers. Enforced minimum: 5000. */
55
56
  cooldownMs: number;
56
57
  }
57
- export interface OnTestRunPolicy {
58
+ export interface OnTestRunPolicy extends PromptSource {
58
59
  enabled: boolean;
59
60
  /**
60
61
  * Only trigger when there are test failures or errors.
@@ -63,10 +64,8 @@ export interface OnTestRunPolicy {
63
64
  */
64
65
  onFailureOnly: boolean;
65
66
  /**
66
- * Prompt to enqueue after a test run.
67
- * Placeholders: {{runner}}, {{failed}}, {{passed}}, {{total}}, {{failures}}
67
+ * Placeholders (inline prompt only): {{runner}}, {{failed}}, {{passed}}, {{total}}, {{failures}}
68
68
  */
69
- prompt: string;
70
69
  /** Minimum ms between triggers. Enforced minimum: 5000. */
71
70
  cooldownMs: number;
72
71
  }
@@ -86,13 +85,11 @@ export interface TestRunResult {
86
85
  message: string;
87
86
  }>;
88
87
  }
89
- export interface OnGitCommitPolicy {
88
+ export interface OnGitCommitPolicy extends PromptSource {
90
89
  enabled: boolean;
91
90
  /**
92
- * Prompt to enqueue after a successful git commit.
93
- * Placeholders: {{hash}}, {{branch}}, {{message}}, {{files}}, {{count}}
91
+ * Placeholders (inline prompt only): {{hash}}, {{branch}}, {{message}}, {{files}}, {{count}}
94
92
  */
95
- prompt: string;
96
93
  /** Minimum ms between triggers. Enforced minimum: 5000. */
97
94
  cooldownMs: number;
98
95
  }
@@ -104,13 +101,11 @@ export interface GitCommitResult {
104
101
  files: string[];
105
102
  count: number;
106
103
  }
107
- export interface OnGitPushPolicy {
104
+ export interface OnGitPushPolicy extends PromptSource {
108
105
  enabled: boolean;
109
106
  /**
110
- * Prompt to enqueue after a successful git push.
111
- * Placeholders: {{remote}}, {{branch}}, {{hash}}
107
+ * Placeholders (inline prompt only): {{remote}}, {{branch}}, {{hash}}
112
108
  */
113
- prompt: string;
114
109
  /** Minimum ms between triggers. Enforced minimum: 5000. */
115
110
  cooldownMs: number;
116
111
  }
@@ -120,13 +115,11 @@ export interface GitPushResult {
120
115
  branch: string;
121
116
  hash: string;
122
117
  }
123
- export interface OnBranchCheckoutPolicy {
118
+ export interface OnBranchCheckoutPolicy extends PromptSource {
124
119
  enabled: boolean;
125
120
  /**
126
- * Prompt to enqueue after a successful git checkout (branch switch or creation).
127
- * Placeholders: {{branch}}, {{previousBranch}}, {{created}}
121
+ * Placeholders (inline prompt only): {{branch}}, {{previousBranch}}, {{created}}
128
122
  */
129
- prompt: string;
130
123
  /** Minimum ms between triggers. Enforced minimum: 5000. */
131
124
  cooldownMs: number;
132
125
  }
@@ -136,13 +129,11 @@ export interface BranchCheckoutResult {
136
129
  previousBranch: string | null;
137
130
  created: boolean;
138
131
  }
139
- export interface OnPullRequestPolicy {
132
+ export interface OnPullRequestPolicy extends PromptSource {
140
133
  enabled: boolean;
141
134
  /**
142
- * Prompt to enqueue after a GitHub PR is successfully created.
143
- * Placeholders: {{url}}, {{number}}, {{title}}, {{branch}}
135
+ * Placeholders (inline prompt only): {{url}}, {{number}}, {{title}}, {{branch}}
144
136
  */
145
- prompt: string;
146
137
  /** Minimum ms between triggers. Enforced minimum: 5000. */
147
138
  cooldownMs: number;
148
139
  }
@@ -209,6 +200,14 @@ export declare class AutomationHooks {
209
200
  /** Active task ID for the pull-request handler (workspace-global). */
210
201
  private activePullRequestTaskId;
211
202
  constructor(policy: AutomationPolicy, orchestrator: ClaudeOrchestrator, log: (msg: string) => void);
203
+ /**
204
+ * Resolve a named prompt, substituting any `{{placeholder}}` tokens in
205
+ * `promptArgs` values with sanitized event data before calling `getPrompt()`.
206
+ *
207
+ * Returns the resolved user-message text, or `null` if the prompt is unknown
208
+ * or has missing required arguments.
209
+ */
210
+ private _resolveNamedPrompt;
212
211
  handleDiagnosticsChanged(file: string, diagnostics: Diagnostic[]): void;
213
212
  /** Prune lastTrigger entries older than LAST_TRIGGER_MAX_AGE_MS to prevent unbounded growth. */
214
213
  private _pruneLastTrigger;