osborn 0.9.46 → 0.9.47

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 (2) hide show
  1. package/dist/claude-llm.js +13 -0
  2. package/package.json +1 -1
@@ -211,6 +211,19 @@ export class ClaudeLLM extends llm.LLM {
211
211
  mcpServers: this.#mcpServers,
212
212
  voiceMode: opts.voiceMode || 'realtime',
213
213
  skipTTSQueue: opts.skipTTSQueue || false,
214
+ // CRITICAL: the PreCompact / PostCompact hooks call
215
+ // `this.#opts.onCompactionEvent?.(...)` to invoke the bridge to the
216
+ // frontend (chat-bubble + banner). Without including the callback in
217
+ // this whitelisted literal, callers can pass it correctly via opts but
218
+ // it's silently dropped during construction → hooks invoke undefined →
219
+ // no chat bubble appears. This was the real reason the compaction UI
220
+ // never showed up in 0.9.44–0.9.46 despite the wiring at every caller
221
+ // looking right. Confirmed 2026-05-28 by reading the live dist on Fly
222
+ // and seeing PreCompact/PostCompact emoji logs + the SDK iterator
223
+ // marker [COMPACT-SDK-ITER] firing while [COMPACT-AGENT-RX] never did.
224
+ // `onPermissionRequest` is handled separately via its own private field
225
+ // and does NOT need to be in this literal.
226
+ onCompactionEvent: opts.onCompactionEvent,
214
227
  };
215
228
  this.#eventEmitter = opts.eventEmitter || new EventEmitter();
216
229
  console.log('🟠 ClaudeLLM initialized (Research Mode)');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "osborn",
3
- "version": "0.9.46",
3
+ "version": "0.9.47",
4
4
  "description": "Voice AI coding assistant - local agent that connects to Osborn frontend",
5
5
  "type": "module",
6
6
  "bin": {