claude-ide-bridge 2.19.0 → 2.22.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 (114) hide show
  1. package/dist/automation.d.ts +97 -2
  2. package/dist/automation.js +395 -5
  3. package/dist/automation.js.map +1 -1
  4. package/dist/bridge.js +21 -4
  5. package/dist/bridge.js.map +1 -1
  6. package/dist/bridgeToken.d.ts +22 -0
  7. package/dist/bridgeToken.js +111 -0
  8. package/dist/bridgeToken.js.map +1 -0
  9. package/dist/claudeOrchestrator.d.ts +4 -0
  10. package/dist/claudeOrchestrator.js +3 -0
  11. package/dist/claudeOrchestrator.js.map +1 -1
  12. package/dist/config.d.ts +3 -0
  13. package/dist/config.js +6 -0
  14. package/dist/config.js.map +1 -1
  15. package/dist/fileLock.d.ts +16 -0
  16. package/dist/fileLock.js +39 -0
  17. package/dist/fileLock.js.map +1 -1
  18. package/dist/oauth.d.ts +24 -1
  19. package/dist/oauth.js +145 -13
  20. package/dist/oauth.js.map +1 -1
  21. package/dist/prompts.js +112 -0
  22. package/dist/prompts.js.map +1 -1
  23. package/dist/tools/activityLog.d.ts +52 -0
  24. package/dist/tools/activityLog.js +100 -0
  25. package/dist/tools/activityLog.js.map +1 -1
  26. package/dist/tools/checkDocumentDirty.d.ts +28 -0
  27. package/dist/tools/checkDocumentDirty.js +17 -4
  28. package/dist/tools/checkDocumentDirty.js.map +1 -1
  29. package/dist/tools/clipboard.d.ts +32 -0
  30. package/dist/tools/clipboard.js +19 -5
  31. package/dist/tools/clipboard.js.map +1 -1
  32. package/dist/tools/closeTabs.d.ts +35 -0
  33. package/dist/tools/closeTabs.js +21 -4
  34. package/dist/tools/closeTabs.js.map +1 -1
  35. package/dist/tools/contextBundle.d.ts +68 -0
  36. package/dist/tools/contextBundle.js +125 -0
  37. package/dist/tools/contextBundle.js.map +1 -0
  38. package/dist/tools/createIssueFromAIComment.d.ts +31 -0
  39. package/dist/tools/createIssueFromAIComment.js +14 -2
  40. package/dist/tools/createIssueFromAIComment.js.map +1 -1
  41. package/dist/tools/debug.d.ts +73 -0
  42. package/dist/tools/debug.js +36 -5
  43. package/dist/tools/debug.js.map +1 -1
  44. package/dist/tools/decorations.d.ts +38 -0
  45. package/dist/tools/decorations.js +19 -3
  46. package/dist/tools/decorations.js.map +1 -1
  47. package/dist/tools/editText.d.ts +29 -1
  48. package/dist/tools/editText.js +28 -5
  49. package/dist/tools/editText.js.map +1 -1
  50. package/dist/tools/fileOperations.d.ts +75 -0
  51. package/dist/tools/fileOperations.js +37 -7
  52. package/dist/tools/fileOperations.js.map +1 -1
  53. package/dist/tools/fileWatcher.d.ts +53 -0
  54. package/dist/tools/fileWatcher.js +26 -5
  55. package/dist/tools/fileWatcher.js.map +1 -1
  56. package/dist/tools/fixAllLintErrors.d.ts +37 -0
  57. package/dist/tools/fixAllLintErrors.js +17 -3
  58. package/dist/tools/fixAllLintErrors.js.map +1 -1
  59. package/dist/tools/formatDocument.d.ts +31 -0
  60. package/dist/tools/formatDocument.js +16 -4
  61. package/dist/tools/formatDocument.js.map +1 -1
  62. package/dist/tools/getToolCapabilities.js +1 -0
  63. package/dist/tools/getToolCapabilities.js.map +1 -1
  64. package/dist/tools/gitWrite.d.ts +254 -0
  65. package/dist/tools/gitWrite.js +120 -13
  66. package/dist/tools/gitWrite.js.map +1 -1
  67. package/dist/tools/httpClient.d.ts +56 -0
  68. package/dist/tools/httpClient.js +25 -3
  69. package/dist/tools/httpClient.js.map +1 -1
  70. package/dist/tools/index.js +13 -4
  71. package/dist/tools/index.js.map +1 -1
  72. package/dist/tools/lsp.d.ts +23 -0
  73. package/dist/tools/lsp.js +68 -3
  74. package/dist/tools/lsp.js.map +1 -1
  75. package/dist/tools/notifyCwdChanged.d.ts +13 -0
  76. package/dist/tools/notifyCwdChanged.js +10 -2
  77. package/dist/tools/notifyCwdChanged.js.map +1 -1
  78. package/dist/tools/openDiff.d.ts +25 -0
  79. package/dist/tools/openDiff.js +13 -3
  80. package/dist/tools/openDiff.js.map +1 -1
  81. package/dist/tools/openFile.d.ts +28 -0
  82. package/dist/tools/openFile.js +19 -4
  83. package/dist/tools/openFile.js.map +1 -1
  84. package/dist/tools/openInBrowser.d.ts +19 -0
  85. package/dist/tools/openInBrowser.js +13 -3
  86. package/dist/tools/openInBrowser.js.map +1 -1
  87. package/dist/tools/organizeImports.d.ts +28 -0
  88. package/dist/tools/organizeImports.js +14 -3
  89. package/dist/tools/organizeImports.js.map +1 -1
  90. package/dist/tools/planPersistence.d.ts +110 -0
  91. package/dist/tools/planPersistence.js +55 -7
  92. package/dist/tools/planPersistence.js.map +1 -1
  93. package/dist/tools/replaceBlock.d.ts +23 -1
  94. package/dist/tools/replaceBlock.js +30 -5
  95. package/dist/tools/replaceBlock.js.map +1 -1
  96. package/dist/tools/saveDocument.d.ts +22 -0
  97. package/dist/tools/saveDocument.js +15 -4
  98. package/dist/tools/saveDocument.js.map +1 -1
  99. package/dist/tools/setActiveWorkspaceFolder.d.ts +13 -0
  100. package/dist/tools/setActiveWorkspaceFolder.js +10 -2
  101. package/dist/tools/setActiveWorkspaceFolder.js.map +1 -1
  102. package/dist/tools/terminal.d.ts +118 -0
  103. package/dist/tools/terminal.js +53 -8
  104. package/dist/tools/terminal.js.map +1 -1
  105. package/dist/tools/vscodeCommands.d.ts +31 -0
  106. package/dist/tools/vscodeCommands.js +13 -3
  107. package/dist/tools/vscodeCommands.js.map +1 -1
  108. package/dist/tools/watchDiagnostics.d.ts +31 -0
  109. package/dist/tools/watchDiagnostics.js +130 -19
  110. package/dist/tools/watchDiagnostics.js.map +1 -1
  111. package/dist/tools/workspaceSettings.d.ts +20 -0
  112. package/dist/tools/workspaceSettings.js +11 -2
  113. package/dist/tools/workspaceSettings.js.map +1 -1
  114. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import type { ClaudeOrchestrator } from "./claudeOrchestrator.js";
2
+ import type { ExtensionClient } from "./extensionClient.js";
2
3
  /**
3
4
  * Shared fields for prompt resolution in any automation hook.
4
5
  * Exactly one of `prompt` or `promptName` must be provided.
@@ -8,11 +9,14 @@ import type { ClaudeOrchestrator } from "./claudeOrchestrator.js";
8
9
  * - `promptArgs`: static args passed to the named prompt. Values may contain
9
10
  * `{{placeholder}}` tokens that are substituted with sanitized event data
10
11
  * (control chars stripped, length capped) before the prompt is resolved.
12
+ * - `condition`: optional minimatch glob. If set, the hook only fires when the
13
+ * primary event value (file path, branch name, tool name, etc.) matches.
11
14
  */
12
15
  export interface PromptSource {
13
16
  prompt?: string;
14
17
  promptName?: string;
15
18
  promptArgs?: Record<string, string>;
19
+ condition?: string;
16
20
  }
17
21
  export interface OnDiagnosticsErrorPolicy extends PromptSource {
18
22
  enabled: boolean;
@@ -144,6 +148,49 @@ export interface PullRequestResult {
144
148
  title: string;
145
149
  branch: string;
146
150
  }
151
+ export interface OnTaskCreatedPolicy extends PromptSource {
152
+ enabled: boolean;
153
+ /**
154
+ * Fired by Claude Code 2.1.84+ TaskCreated hook — fires when Claude creates a subagent task.
155
+ * Placeholders (inline prompt only): {{taskId}}, {{prompt}}
156
+ */
157
+ /** Minimum ms between triggers. Enforced minimum: 5000. */
158
+ cooldownMs: number;
159
+ }
160
+ /** Minimal task-created result passed to handleTaskCreated. */
161
+ export interface TaskCreatedResult {
162
+ taskId: string;
163
+ prompt: string;
164
+ }
165
+ export interface OnPermissionDeniedPolicy extends PromptSource {
166
+ enabled: boolean;
167
+ /**
168
+ * Fired by Claude Code 2.1.89+ PermissionDenied hook — fires when a tool call is blocked.
169
+ * Placeholders (inline prompt only): {{tool}}, {{reason}}
170
+ */
171
+ /** Minimum ms between triggers. Enforced minimum: 5000. */
172
+ cooldownMs: number;
173
+ }
174
+ /** Minimal permission-denied result passed to handlePermissionDenied. */
175
+ export interface PermissionDeniedResult {
176
+ tool: string;
177
+ reason: string;
178
+ }
179
+ export interface OnDiagnosticsClearedPolicy extends PromptSource {
180
+ enabled: boolean;
181
+ /** Placeholders (inline prompt only): {{file}} */
182
+ cooldownMs: number;
183
+ }
184
+ export interface OnTaskSuccessPolicy extends PromptSource {
185
+ enabled: boolean;
186
+ /** Placeholders (inline prompt only): {{taskId}}, {{output}} */
187
+ cooldownMs: number;
188
+ }
189
+ /** Minimal task-success result passed to handleTaskSuccess. */
190
+ export interface TaskSuccessResult {
191
+ taskId: string;
192
+ output: string;
193
+ }
147
194
  export interface AutomationPolicy {
148
195
  onDiagnosticsError?: OnDiagnosticsErrorPolicy;
149
196
  onFileSave?: OnFileSavePolicy;
@@ -165,6 +212,14 @@ export interface AutomationPolicy {
165
212
  onBranchCheckout?: OnBranchCheckoutPolicy;
166
213
  /** Fired after every successful githubCreatePR call. */
167
214
  onPullRequest?: OnPullRequestPolicy;
215
+ /** Fired by Claude Code 2.1.84+ TaskCreated hook — fires when Claude creates a subagent task. */
216
+ onTaskCreated?: OnTaskCreatedPolicy;
217
+ /** Fired by Claude Code 2.1.89+ PermissionDenied hook — fires when a tool call is blocked. */
218
+ onPermissionDenied?: OnPermissionDeniedPolicy;
219
+ /** Fired when all errors/warnings clear for a file (non-zero → zero transition). */
220
+ onDiagnosticsCleared?: OnDiagnosticsClearedPolicy;
221
+ /** Fired when a Claude orchestrator task completes with status done. */
222
+ onTaskSuccess?: OnTaskSuccessPolicy;
168
223
  }
169
224
  export interface Diagnostic {
170
225
  message: string;
@@ -177,6 +232,7 @@ export declare class AutomationHooks {
177
232
  private readonly policy;
178
233
  private readonly orchestrator;
179
234
  private readonly log;
235
+ private readonly extensionClient?;
180
236
  /** Last trigger time per "trigger key" (e.g. "diagnostics:/path/to/file"). */
181
237
  private lastTrigger;
182
238
  /**
@@ -199,7 +255,17 @@ export declare class AutomationHooks {
199
255
  private activeBranchCheckoutTaskId;
200
256
  /** Active task ID for the pull-request handler (workspace-global). */
201
257
  private activePullRequestTaskId;
202
- constructor(policy: AutomationPolicy, orchestrator: ClaudeOrchestrator, log: (msg: string) => void);
258
+ /** Active task ID for the task-created handler (workspace-global). */
259
+ private activeTaskCreatedTaskId;
260
+ /** Active task ID for the permission-denied handler (workspace-global). */
261
+ private activePermissionDeniedTaskId;
262
+ /** Active task IDs per file for the diagnostics-cleared handler. */
263
+ private activeDiagnosticsClearedTasks;
264
+ /** Tracks previous error count per normalized file path for zero-transition detection. */
265
+ private prevDiagnosticErrors;
266
+ /** Active task ID for the task-success handler (workspace-global). */
267
+ private activeTaskSuccessTaskId;
268
+ constructor(policy: AutomationPolicy, orchestrator: ClaudeOrchestrator, log: (msg: string) => void, extensionClient?: ExtensionClient | undefined);
203
269
  /**
204
270
  * Resolve a named prompt, substituting any `{{placeholder}}` tokens in
205
271
  * `promptArgs` values with sanitized event data before calling `getPrompt()`.
@@ -208,6 +274,7 @@ export declare class AutomationHooks {
208
274
  * or has missing required arguments.
209
275
  */
210
276
  private _resolveNamedPrompt;
277
+ private _matchesCondition;
211
278
  handleDiagnosticsChanged(file: string, diagnostics: Diagnostic[]): void;
212
279
  /** Prune lastTrigger entries older than LAST_TRIGGER_MAX_AGE_MS to prevent unbounded growth. */
213
280
  private _pruneLastTrigger;
@@ -242,7 +309,7 @@ export declare class AutomationHooks {
242
309
  * Called after a successful gitCommit tool call.
243
310
  * Fires the onGitCommit automation hook if configured.
244
311
  */
245
- handleGitCommit(result: GitCommitResult): void;
312
+ handleGitCommit(result: GitCommitResult): Promise<void>;
246
313
  /**
247
314
  * Called after a successful gitPush tool call.
248
315
  * Fires the onGitPush automation hook if configured.
@@ -257,6 +324,18 @@ export declare class AutomationHooks {
257
324
  * Fires the onPullRequest automation hook if configured.
258
325
  */
259
326
  handlePullRequest(result: PullRequestResult): void;
327
+ handleTaskCreated(result: TaskCreatedResult): void;
328
+ handlePermissionDenied(result: PermissionDeniedResult): void;
329
+ /**
330
+ * Fires the onDiagnosticsCleared hook when a file transitions from non-zero to zero errors.
331
+ * Called internally by handleDiagnosticsChanged.
332
+ */
333
+ handleDiagnosticsCleared(normalizedFile: string): void;
334
+ /**
335
+ * Fires the onTaskSuccess hook when a Claude orchestrator task completes with status "done".
336
+ * Call from bridge.ts when a task transitions to done.
337
+ */
338
+ handleTaskSuccess(result: TaskSuccessResult): void;
260
339
  /** Summary of automation policy for getBridgeStatus. */
261
340
  getStatus(): {
262
341
  onPostCompact: {
@@ -299,5 +378,21 @@ export declare class AutomationHooks {
299
378
  enabled: boolean;
300
379
  cooldownMs: number;
301
380
  } | null;
381
+ onTaskCreated: {
382
+ enabled: boolean;
383
+ cooldownMs: number;
384
+ } | null;
385
+ onPermissionDenied: {
386
+ enabled: boolean;
387
+ cooldownMs: number;
388
+ } | null;
389
+ onDiagnosticsCleared: {
390
+ enabled: boolean;
391
+ cooldownMs: number;
392
+ } | null;
393
+ onTaskSuccess: {
394
+ enabled: boolean;
395
+ cooldownMs: number;
396
+ } | null;
302
397
  };
303
398
  }