claude-ide-bridge 2.28.0 → 2.34.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 (136) hide show
  1. package/README.md +189 -1179
  2. package/dist/automation.d.ts +85 -1
  3. package/dist/automation.js +355 -38
  4. package/dist/automation.js.map +1 -1
  5. package/dist/bridge.d.ts +12 -0
  6. package/dist/bridge.js +151 -6
  7. package/dist/bridge.js.map +1 -1
  8. package/dist/claudeDriver.d.ts +5 -2
  9. package/dist/claudeDriver.js +8 -5
  10. package/dist/claudeDriver.js.map +1 -1
  11. package/dist/claudeOrchestrator.d.ts +4 -0
  12. package/dist/claudeOrchestrator.js +2 -0
  13. package/dist/claudeOrchestrator.js.map +1 -1
  14. package/dist/commands/install.d.ts +1 -0
  15. package/dist/commands/install.js +158 -0
  16. package/dist/commands/install.js.map +1 -0
  17. package/dist/commands/marketplace.d.ts +11 -0
  18. package/dist/commands/marketplace.js +120 -0
  19. package/dist/commands/marketplace.js.map +1 -0
  20. package/dist/companions/registry.d.ts +12 -0
  21. package/dist/companions/registry.js +71 -0
  22. package/dist/companions/registry.js.map +1 -0
  23. package/dist/config.d.ts +5 -0
  24. package/dist/config.js +36 -0
  25. package/dist/config.js.map +1 -1
  26. package/dist/extensionClient.d.ts +5 -0
  27. package/dist/extensionClient.js +14 -0
  28. package/dist/extensionClient.js.map +1 -1
  29. package/dist/index.js +91 -23
  30. package/dist/index.js.map +1 -1
  31. package/dist/probe.d.ts +1 -0
  32. package/dist/probe.js +3 -1
  33. package/dist/probe.js.map +1 -1
  34. package/dist/prompts.js +33 -0
  35. package/dist/prompts.js.map +1 -1
  36. package/dist/server.d.ts +2 -0
  37. package/dist/server.js +28 -1
  38. package/dist/server.js.map +1 -1
  39. package/dist/tools/auditDependencies.js +2 -0
  40. package/dist/tools/auditDependencies.js.map +1 -1
  41. package/dist/tools/batchLsp.d.ts +1 -1
  42. package/dist/tools/batchLsp.js +14 -2
  43. package/dist/tools/batchLsp.js.map +1 -1
  44. package/dist/tools/bridgeDoctor.d.ts +3 -0
  45. package/dist/tools/bridgeDoctor.js +1 -0
  46. package/dist/tools/bridgeDoctor.js.map +1 -1
  47. package/dist/tools/bridgeStatus.d.ts +4 -1
  48. package/dist/tools/bridgeStatus.js +25 -2
  49. package/dist/tools/bridgeStatus.js.map +1 -1
  50. package/dist/tools/contextBundle.d.ts +7 -0
  51. package/dist/tools/contextBundle.js +85 -11
  52. package/dist/tools/contextBundle.js.map +1 -1
  53. package/dist/tools/editText.js +1 -1
  54. package/dist/tools/editText.js.map +1 -1
  55. package/dist/tools/explainSymbol.d.ts +9 -0
  56. package/dist/tools/explainSymbol.js +37 -0
  57. package/dist/tools/explainSymbol.js.map +1 -1
  58. package/dist/tools/fileOperations.js +3 -3
  59. package/dist/tools/fileOperations.js.map +1 -1
  60. package/dist/tools/findRelatedTests.d.ts +83 -0
  61. package/dist/tools/findRelatedTests.js +196 -0
  62. package/dist/tools/findRelatedTests.js.map +1 -0
  63. package/dist/tools/getAnalyticsReport.d.ts +102 -0
  64. package/dist/tools/getAnalyticsReport.js +129 -0
  65. package/dist/tools/getAnalyticsReport.js.map +1 -0
  66. package/dist/tools/getArchitectureContext.d.ts +85 -0
  67. package/dist/tools/getArchitectureContext.js +135 -0
  68. package/dist/tools/getArchitectureContext.js.map +1 -0
  69. package/dist/tools/getBufferContent.js +1 -1
  70. package/dist/tools/getBufferContent.js.map +1 -1
  71. package/dist/tools/getDiagnostics.d.ts +4 -0
  72. package/dist/tools/getDiagnostics.js +28 -4
  73. package/dist/tools/getDiagnostics.js.map +1 -1
  74. package/dist/tools/getProjectContext.d.ts +114 -0
  75. package/dist/tools/getProjectContext.js +344 -0
  76. package/dist/tools/getProjectContext.js.map +1 -0
  77. package/dist/tools/getSessionUsage.d.ts +58 -0
  78. package/dist/tools/getSessionUsage.js +57 -0
  79. package/dist/tools/getSessionUsage.js.map +1 -0
  80. package/dist/tools/getSymbolHistory.d.ts +157 -0
  81. package/dist/tools/getSymbolHistory.js +256 -0
  82. package/dist/tools/getSymbolHistory.js.map +1 -0
  83. package/dist/tools/getToolCapabilities.d.ts +3 -0
  84. package/dist/tools/getToolCapabilities.js +1 -0
  85. package/dist/tools/getToolCapabilities.js.map +1 -1
  86. package/dist/tools/getTypeSignature.d.ts +2 -2
  87. package/dist/tools/getTypeSignature.js +34 -2
  88. package/dist/tools/getTypeSignature.js.map +1 -1
  89. package/dist/tools/handoffNote.d.ts +3 -0
  90. package/dist/tools/handoffNote.js +1 -0
  91. package/dist/tools/handoffNote.js.map +1 -1
  92. package/dist/tools/headless/lspClient.d.ts +26 -0
  93. package/dist/tools/headless/lspClient.js +221 -0
  94. package/dist/tools/headless/lspClient.js.map +1 -0
  95. package/dist/tools/headless/lspFallback.d.ts +28 -0
  96. package/dist/tools/headless/lspFallback.js +122 -0
  97. package/dist/tools/headless/lspFallback.js.map +1 -0
  98. package/dist/tools/index.d.ts +7 -1
  99. package/dist/tools/index.js +215 -7
  100. package/dist/tools/index.js.map +1 -1
  101. package/dist/tools/jumpToFirstError.js +2 -1
  102. package/dist/tools/jumpToFirstError.js.map +1 -1
  103. package/dist/tools/lsp.d.ts +5 -5
  104. package/dist/tools/lsp.js +125 -45
  105. package/dist/tools/lsp.js.map +1 -1
  106. package/dist/tools/openFile.js +4 -2
  107. package/dist/tools/openFile.js.map +1 -1
  108. package/dist/tools/organizeImports.js +1 -1
  109. package/dist/tools/organizeImports.js.map +1 -1
  110. package/dist/tools/replaceBlock.js +1 -1
  111. package/dist/tools/replaceBlock.js.map +1 -1
  112. package/dist/tools/runClaudeTask.d.ts +4 -0
  113. package/dist/tools/runClaudeTask.js +7 -0
  114. package/dist/tools/runClaudeTask.js.map +1 -1
  115. package/dist/tools/runCommand.d.ts +15 -0
  116. package/dist/tools/runCommand.js +5 -0
  117. package/dist/tools/runCommand.js.map +1 -1
  118. package/dist/tools/saveDocument.js +1 -1
  119. package/dist/tools/saveDocument.js.map +1 -1
  120. package/dist/tools/screenshotAndAnnotate.d.ts +103 -0
  121. package/dist/tools/screenshotAndAnnotate.js +192 -0
  122. package/dist/tools/screenshotAndAnnotate.js.map +1 -0
  123. package/dist/tools/searchTools.d.ts +61 -0
  124. package/dist/tools/searchTools.js +85 -0
  125. package/dist/tools/searchTools.js.map +1 -0
  126. package/dist/tools/searchWorkspace.js +2 -2
  127. package/dist/tools/searchWorkspace.js.map +1 -1
  128. package/dist/tools/utils.js +1 -1
  129. package/dist/tools/utils.js.map +1 -1
  130. package/dist/transport.d.ts +24 -0
  131. package/dist/transport.js +40 -2
  132. package/dist/transport.js.map +1 -1
  133. package/dist/version.d.ts +2 -0
  134. package/dist/version.js +14 -0
  135. package/dist/version.js.map +1 -1
  136. package/package.json +2 -2
@@ -23,7 +23,7 @@ export interface AutomationCondition {
23
23
  /** Only fire if the active file has a diagnostic of at least this severity. */
24
24
  diagnosticsMinSeverity?: "error" | "warning";
25
25
  /** Only fire if the last test run for any runner had this outcome. */
26
- testRunnerLastStatus?: "passed" | "failed";
26
+ testRunnerLastStatus?: "passed" | "failed" | "any";
27
27
  }
28
28
  export interface PromptSource {
29
29
  prompt?: string;
@@ -87,6 +87,16 @@ export interface OnFileChangedPolicy extends PromptSource {
87
87
  /** Placeholders (inline prompt only): {{file}} */
88
88
  cooldownMs: number;
89
89
  }
90
+ export interface OnPreCompactPolicy extends PromptSource {
91
+ enabled: boolean;
92
+ /**
93
+ * No placeholders — fired just before Claude Code compacts the context window.
94
+ * Use to snapshot IDE state, write a handoff note, or complete an in-flight task
95
+ * before Claude loses context. Pairs with onPostCompact.
96
+ */
97
+ /** Minimum ms between triggers. Enforced minimum: 5000. */
98
+ cooldownMs: number;
99
+ }
90
100
  export interface OnPostCompactPolicy extends PromptSource {
91
101
  enabled: boolean;
92
102
  /**
@@ -161,6 +171,34 @@ export interface TestRunResult {
161
171
  message: string;
162
172
  }>;
163
173
  }
174
+ export interface OnDebugSessionEndPolicy extends PromptSource {
175
+ enabled: boolean;
176
+ /**
177
+ * Placeholders (inline prompt only): {{sessionName}}, {{sessionType}}
178
+ */
179
+ cooldownMs: number;
180
+ }
181
+ /** Minimal debug session result passed to handleDebugSessionEnd. */
182
+ export interface DebugSessionEndResult {
183
+ sessionName: string;
184
+ sessionType: string;
185
+ }
186
+ export interface OnDebugSessionStartPolicy extends PromptSource {
187
+ enabled: boolean;
188
+ /**
189
+ * Placeholders (inline prompt only): {{sessionName}}, {{sessionType}}
190
+ */
191
+ cooldownMs: number;
192
+ }
193
+ /** Minimal debug session result passed to handleDebugSessionStart. */
194
+ export interface DebugSessionStartResult {
195
+ sessionName: string;
196
+ sessionType: string;
197
+ /** Number of breakpoints active at session start. */
198
+ breakpointCount: number;
199
+ /** Active file at session start (first breakpoint file, if any). */
200
+ activeFile: string;
201
+ }
164
202
  export interface OnGitCommitPolicy extends PromptSource {
165
203
  enabled: boolean;
166
204
  /**
@@ -310,6 +348,8 @@ export interface AutomationPolicy {
310
348
  onCwdChanged?: OnCwdChangedPolicy;
311
349
  /** Fired by Claude Code 2.1.76+ PostCompact hook — re-injects IDE context after compaction. */
312
350
  onPostCompact?: OnPostCompactPolicy;
351
+ /** Fired by Claude Code PreCompact hook — runs before context window is trimmed. */
352
+ onPreCompact?: OnPreCompactPolicy;
313
353
  /** Fired by Claude Code 2.1.76+ InstructionsLoaded hook — injects bridge status at session start. */
314
354
  onInstructionsLoaded?: OnInstructionsLoadedPolicy;
315
355
  /** Fired after every runTests call (or only on failures, depending on onFailureOnly). */
@@ -334,6 +374,10 @@ export interface AutomationPolicy {
334
374
  onDiagnosticsCleared?: OnDiagnosticsClearedPolicy;
335
375
  /** Fired when a Claude orchestrator task completes with status done. */
336
376
  onTaskSuccess?: OnTaskSuccessPolicy;
377
+ /** Fired when a VS Code debug session terminates (hasActiveSession transitions true→false). */
378
+ onDebugSessionEnd?: OnDebugSessionEndPolicy;
379
+ /** Fired when a VS Code debug session starts (hasActiveSession transitions false→true). */
380
+ onDebugSessionStart?: OnDebugSessionStartPolicy;
337
381
  }
338
382
  export interface Diagnostic {
339
383
  message: string;
@@ -409,8 +453,14 @@ export declare class AutomationHooks {
409
453
  private lastTestRunnerStatusByRunner;
410
454
  /** Active task ID for the task-success handler (workspace-global). */
411
455
  private activeTaskSuccessTaskId;
456
+ /** Active task ID for the debug-session-end handler (workspace-global). */
457
+ private activeDebugSessionEndTaskId;
458
+ /** Active task ID for the debug-session-start handler (workspace-global). */
459
+ private activeDebugSessionStartTaskId;
412
460
  /** Active task ID for the post-compact handler (workspace-global). */
413
461
  private activePostCompactTaskId;
462
+ /** Active task ID for the pre-compact handler (workspace-global). */
463
+ private activePreCompactTaskId;
414
464
  /** Active task ID for the instructions-loaded handler (workspace-global). */
415
465
  private activeInstructionsLoadedTaskId;
416
466
  /**
@@ -418,6 +468,7 @@ export declare class AutomationHooks {
418
468
  * Entries older than 60 minutes are pruned on each enqueue.
419
469
  */
420
470
  private taskTimestamps;
471
+ private _lastFiredAt;
421
472
  constructor(policy: AutomationPolicy, orchestrator: ClaudeOrchestrator, log: (msg: string) => void, extensionClient?: ExtensionClient | undefined, workspace?: string | undefined);
422
473
  /**
423
474
  * Central enqueue for all automation-triggered tasks.
@@ -454,6 +505,12 @@ export declare class AutomationHooks {
454
505
  * Fires when CC's working directory changes — useful for re-snapshotting workspace context.
455
506
  */
456
507
  handleCwdChanged(newCwd: string): void;
508
+ /**
509
+ * Called when Claude Code fires a PreCompact hook.
510
+ * Fires the onPreCompact automation hook before context trimming — use to snapshot state or
511
+ * write a handoff note before Claude loses context.
512
+ */
513
+ handlePreCompact(): void;
457
514
  /**
458
515
  * Called when Claude Code fires a PostCompact hook (Claude Code 2.1.76+).
459
516
  * Re-enqueues the configured prompt so Claude can re-snapshot IDE state after losing context.
@@ -516,8 +573,22 @@ export declare class AutomationHooks {
516
573
  * Call from bridge.ts when a task transitions to done.
517
574
  */
518
575
  handleTaskSuccess(result: TaskSuccessResult): void;
576
+ /**
577
+ * Called when a VS Code debug session ends (hasActiveSession transitions true→false).
578
+ * Fires the onDebugSessionEnd automation hook if configured.
579
+ */
580
+ handleDebugSessionEnd(result: DebugSessionEndResult): Promise<void>;
581
+ /**
582
+ * Called when a VS Code debug session starts (hasActiveSession transitions false→true).
583
+ * Fires the onDebugSessionStart automation hook if configured.
584
+ */
585
+ handleDebugSessionStart(result: DebugSessionStartResult): Promise<void>;
519
586
  /** Summary of automation policy for getBridgeStatus. */
520
587
  getStatus(): {
588
+ onPreCompact: {
589
+ enabled: boolean;
590
+ cooldownMs: number;
591
+ } | null;
521
592
  onPostCompact: {
522
593
  enabled: boolean;
523
594
  cooldownMs: number;
@@ -586,6 +657,14 @@ export declare class AutomationHooks {
586
657
  enabled: boolean;
587
658
  cooldownMs: number;
588
659
  } | null;
660
+ onDebugSessionEnd: {
661
+ enabled: boolean;
662
+ cooldownMs: number;
663
+ } | null;
664
+ onDebugSessionStart: {
665
+ enabled: boolean;
666
+ cooldownMs: number;
667
+ } | null;
589
668
  unwiredEnabledHooks: string[];
590
669
  defaultModel: string;
591
670
  maxTasksPerHour: number;
@@ -593,4 +672,9 @@ export declare class AutomationHooks {
593
672
  defaultEffort: string;
594
673
  automationSystemPrompt: string;
595
674
  };
675
+ isPreCompactEnabled(): boolean;
676
+ getStats(): {
677
+ hooksEnabled: number;
678
+ lastFiredAt: string | null;
679
+ };
596
680
  }