@dreb/coding-agent 2.25.3 → 2.25.4

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
@@ -4,6 +4,8 @@
4
4
 
5
5
  ### Added
6
6
 
7
+ - Thinking summaries are visible again on Opus 4.7+ (and any adaptive-thinking Claude model). Anthropic flipped the API default for `thinking.display` to `"omitted"`, so these models returned empty thinking blocks — dreb now sends `"summarized"` by default. Added a model-keyed `modelSettings` setting with a `thinkingDisplay` override (`"summarized" | "omitted"`), exposed in `/settings` → **Show thinking summaries** (shown only for adaptive models). Because the setting is keyed by model ID and resolved at the shared session-creation chokepoint, it is honored uniformly across the TUI, headless, JSON, RPC, and Telegram clients — and inherited automatically by subagents using the same model. ([#250](https://github.com/aebrer/dreb/issues/250))
8
+
7
9
  - Secret scrubbing and sensitive file access guards — two layers of defense against accidental credential leaks through the tool pipeline. Output scrubbing detects and redacts known secret patterns (AWS, GitHub, OpenAI, Anthropic, Slack, Stripe, PEM/SSH keys, URL credentials) in tool output before it enters the LLM conversation. Sensitive file guard blocks read access to credential files (`~/.ssh/id_*`, `~/.aws/credentials`, `~/.dreb/secrets/`, etc.) via both the `read` tool and bash commands. Both layers configurable via `sensitiveFilePaths` and `secretOutputPatterns` settings. ([#171](https://github.com/aebrer/dreb/issues/171))
8
10
 
9
11
  - Expanded forbidden-commands guard with destructive operation patterns: `rm -rf /` and variants, `dd` to block devices, `mkfs`, fork bomb `:(){ :|:& };:`, and block device redirects (`> /dev/sda`). Guard now also checks quoted content (catches `echo "rm -rf /" | bash`) and inspects script files before execution (`bash script.sh`). ([#170](https://github.com/aebrer/dreb/issues/170))
package/README.md CHANGED
@@ -157,7 +157,7 @@ Type `/` in the editor to trigger commands. [Extensions](#extensions) can regist
157
157
  | `/login`, `/logout` | OAuth authentication |
158
158
  | `/model` | Switch models |
159
159
  | `/scoped-models` | Enable/disable models for cycling |
160
- | `/settings` | Thinking level, theme, message delivery, transport |
160
+ | `/settings` | Thinking level, thinking summaries (adaptive Claude models), theme, message delivery, transport |
161
161
  | `/resume` | Pick from previous sessions |
162
162
  | `/new` | Start a new session |
163
163
  | `/name <name>` | Set session display name |
@@ -467,6 +467,13 @@ export declare class AgentSession {
467
467
  * @throws Error if no API key available for the model
468
468
  */
469
469
  setModel(model: Model<any>): Promise<void>;
470
+ /**
471
+ * Refresh the live agent's thinkingDisplay for a (possibly) new model. The default
472
+ * depends on the model (adaptive-thinking models default to "summarized"), so this
473
+ * must run on every model switch. Keyed by model id from shared settings, so it
474
+ * resolves identically to how createAgentSession seeds it at startup.
475
+ */
476
+ private _refreshThinkingDisplay;
470
477
  /**
471
478
  * Cycle to next/previous model.
472
479
  * Uses scoped models (from --models flag) if available, otherwise all available models.