@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.
@@ -35,6 +35,7 @@ import { isSensitivePath } from "./sensitive-paths.js";
35
35
  import { CURRENT_SESSION_VERSION, getLatestCompactionEntry } from "./session-manager.js";
36
36
  import { createSyntheticSourceInfo } from "./source-info.js";
37
37
  import { buildSystemPrompt } from "./system-prompt.js";
38
+ import { resolveThinkingDisplay } from "./thinking.js";
38
39
  import { createAllToolDefinitions, discoverAgentTypes, getRunningBackgroundAgents, } from "./tools/index.js";
39
40
  import { expandSkillContent } from "./tools/skill.js";
40
41
  import { createToolDefinitionFromAgentTool, wrapToolDefinition } from "./tools/tool-definition-wrapper.js";
@@ -1510,12 +1511,22 @@ export class AgentSession {
1510
1511
  const previousModel = this.model;
1511
1512
  const thinkingLevel = this._getThinkingLevelForModelSwitch();
1512
1513
  this.agent.setModel(model);
1514
+ this._refreshThinkingDisplay(model);
1513
1515
  this.sessionManager.appendModelChange(model.provider, model.id);
1514
1516
  this.settingsManager.setDefaultModelAndProvider(model.provider, model.id);
1515
1517
  // Re-clamp thinking level for new model's capabilities
1516
1518
  this.setThinkingLevel(thinkingLevel);
1517
1519
  await this._emitModelSelect(model, previousModel, "set");
1518
1520
  }
1521
+ /**
1522
+ * Refresh the live agent's thinkingDisplay for a (possibly) new model. The default
1523
+ * depends on the model (adaptive-thinking models default to "summarized"), so this
1524
+ * must run on every model switch. Keyed by model id from shared settings, so it
1525
+ * resolves identically to how createAgentSession seeds it at startup.
1526
+ */
1527
+ _refreshThinkingDisplay(model) {
1528
+ this.agent.thinkingDisplay = resolveThinkingDisplay(model, this.settingsManager.getModelThinkingDisplay(model.id));
1529
+ }
1519
1530
  /**
1520
1531
  * Cycle to next/previous model.
1521
1532
  * Uses scoped models (from --models flag) if available, otherwise all available models.
@@ -1561,6 +1572,7 @@ export class AgentSession {
1561
1572
  const thinkingLevel = this._getThinkingLevelForModelSwitch(next.thinkingLevel);
1562
1573
  // Apply model
1563
1574
  this.agent.setModel(next.model);
1575
+ this._refreshThinkingDisplay(next.model);
1564
1576
  this.sessionManager.appendModelChange(next.model.provider, next.model.id);
1565
1577
  this.settingsManager.setDefaultModelAndProvider(next.model.provider, next.model.id);
1566
1578
  // Apply thinking level.
@@ -1588,6 +1600,7 @@ export class AgentSession {
1588
1600
  }
1589
1601
  const thinkingLevel = this._getThinkingLevelForModelSwitch();
1590
1602
  this.agent.setModel(nextModel);
1603
+ this._refreshThinkingDisplay(nextModel);
1591
1604
  this.sessionManager.appendModelChange(nextModel.provider, nextModel.id);
1592
1605
  this.settingsManager.setDefaultModelAndProvider(nextModel.provider, nextModel.id);
1593
1606
  // Re-clamp thinking level for new model's capabilities
@@ -2100,6 +2113,7 @@ export class AgentSession {
2100
2113
  return;
2101
2114
  }
2102
2115
  this.agent.setModel(refreshedModel);
2116
+ this._refreshThinkingDisplay(refreshedModel);
2103
2117
  }
2104
2118
  _bindExtensionCore(runner) {
2105
2119
  const getCommands = () => {
@@ -2652,6 +2666,7 @@ export class AgentSession {
2652
2666
  const match = availableModels.find((m) => m.provider === sessionContext.model.provider && m.id === sessionContext.model.modelId);
2653
2667
  if (match) {
2654
2668
  this.agent.setModel(match);
2669
+ this._refreshThinkingDisplay(match);
2655
2670
  await this._emitModelSelect(match, previousModel, "restore");
2656
2671
  }
2657
2672
  }