@dreb/coding-agent 2.25.1 → 2.25.3

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.
package/CHANGELOG.md CHANGED
@@ -40,6 +40,8 @@
40
40
 
41
41
  ### Fixed
42
42
 
43
+ - Fixed `/buddy off` not persisting across sessions — the buddy reappeared in the TUI on restart. The `hidden` flag was persisted correctly, but the startup auto-mount ignored it. The startup mount is now gated on the persisted `hidden` flag (extracted into `mountExistingBuddyIfVisible()`); a hidden buddy stays loaded but unmounted until you run `/buddy` to bring it back. ([#243](https://github.com/aebrer/dreb/issues/243))
44
+
43
45
  - Fixed subagents silently returning empty results when a child's final response was truncated at the model's token limit. The subagent spawn handler now inspects the last assistant message's `stopReason`: a clean exit with no output now surfaces a descriptive error (truncation, loud truncation failure, or "completed with no output") instead of a silent empty string, and a clean exit with partial output now flags the truncation via `errorMessage` while preserving the partial text — covering both raw `length` truncation and the loud `error` stopReason produced when the core agent loop exhausts its length retries. The parent renders these errors even on a clean (exit code 0) exit. ([#240](https://github.com/aebrer/dreb/issues/240))
44
46
 
45
47
  - Fixed ghost whitespace appearing after the TUI content shrinks (e.g., closing the copy selector, filtering slash-command autocomplete, editor line deletion). The differential renderer now triggers a full screen redraw when content shrinks instead of clearing extra lines individually, which some terminals would not collapse. ([#217](https://github.com/aebrer/dreb/issues/217))
@@ -50,6 +52,8 @@
50
52
  - Fixed RPC `get_session_stats` to expose `contextUsage`, so headless clients can read actual current context-window usage instead of deriving it from token totals ([#2550](https://github.com/badlogic/pi-mono/issues/2550))
51
53
  - Fixed `pi update` for git packages to fetch only the tracked target branch with `--no-tags`, reducing unrelated branch and tag noise while preserving force-push-safe updates ([#2548](https://github.com/badlogic/pi-mono/issues/2548))
52
54
  - Fixed print and JSON modes to emit `session_shutdown` before exit, so extensions can release long-lived resources and non-interactive runs terminate cleanly ([#2576](https://github.com/badlogic/pi-mono/issues/2576))
55
+ - Fixed Kimi For Coding OAuth provider to accept OpenAI-style multimodal content arrays with base64 `image_url` data URLs for `kimi-for-coding`, and ensured `modifyModels()` preserves image capability even when static metadata is stale. ([#245](https://github.com/aebrer/dreb/issues/245))
56
+ - Fixed silent image dropping in the `openai-completions` provider — text-only models now receive explicit placeholder text (`[image omitted: model does not support images]`) instead of silently stripping image content from user messages and tool results. ([#245](https://github.com/aebrer/dreb/issues/245))
53
57
 
54
58
  ## [0.62.0] - 2026-03-23
55
59
 
package/README.md CHANGED
@@ -117,7 +117,7 @@ For each built-in provider, dreb maintains a list of tool-capable models, update
117
117
  - MiniMax
118
118
  - MiniMax (China)
119
119
 
120
- See [docs/providers.md](docs/providers.md) for detailed setup instructions.
120
+ See [docs/providers.md](docs/providers.md) for detailed setup instructions, including Kimi For Coding notes that distinguish OAuth, API-key, first-party CLI, and Moonshot Open Platform vision support.
121
121
 
122
122
  **Custom providers & models:** Add providers via `~/.dreb/agent/models.json` if they speak a supported API (OpenAI, Anthropic, Google). For custom APIs or OAuth, use extensions. See [docs/models.md](docs/models.md) and [docs/custom-provider.md](docs/custom-provider.md).
123
123
 
@@ -332,6 +332,14 @@ export declare class InteractiveMode {
332
332
  private executeCompaction;
333
333
  private handleBuddyCommand;
334
334
  private mountAndRevealBuddy;
335
+ /**
336
+ * Load the persisted buddy at startup and mount it only if it is visible.
337
+ * A buddy hidden via `/buddy off` is still loaded by start() (disabled) so
338
+ * context/idle wiring stays intact, but it must not be re-mounted on screen
339
+ * in a new session — that is the regression fixed for #243. Extracted into a
340
+ * standalone method so the mount-gate decision is directly unit-testable.
341
+ */
342
+ private mountExistingBuddyIfVisible;
335
343
  private mountBuddy;
336
344
  private removeBuddy;
337
345
  private showBuddyStatsPanel;