@dreb/coding-agent 2.25.3 → 2.27.2
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 +4 -0
- package/README.md +21 -11
- package/dist/core/agent-session.d.ts +7 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +22 -0
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/buddy/buddy-controller.d.ts.map +1 -1
- package/dist/core/buddy/buddy-controller.js +5 -23
- package/dist/core/buddy/buddy-controller.js.map +1 -1
- package/dist/core/context-buffer.d.ts +49 -0
- package/dist/core/context-buffer.d.ts.map +1 -0
- package/dist/core/context-buffer.js +84 -0
- package/dist/core/context-buffer.js.map +1 -0
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +3 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/settings-manager.d.ts +13 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +40 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/system-prompt.d.ts +5 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +6 -0
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/thinking.d.ts +10 -1
- package/dist/core/thinking.d.ts.map +1 -1
- package/dist/core/thinking.js +14 -0
- package/dist/core/thinking.js.map +1 -1
- package/dist/core/tools/subagent.d.ts.map +1 -1
- package/dist/core/tools/subagent.js +1 -0
- package/dist/core/tools/subagent.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +5 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +16 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +7 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +16 -0
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +33 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +210 -87
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/tab-title.d.ts +21 -3
- package/dist/modes/interactive/tab-title.d.ts.map +1 -1
- package/dist/modes/interactive/tab-title.js +47 -25
- package/dist/modes/interactive/tab-title.js.map +1 -1
- package/docs/agent-models.md +10 -0
- package/docs/development.md +1 -1
- package/docs/providers.md +7 -0
- package/docs/settings.md +29 -2
- package/docs/tui.md +42 -0
- package/examples/extensions/custom-provider-anthropic/package.json +3 -0
- package/examples/extensions/custom-provider-gitlab-duo/package.json +3 -0
- package/examples/extensions/custom-provider-qwen-cli/package.json +3 -0
- package/examples/extensions/with-deps/package.json +3 -0
- package/package.json +2 -2
|
@@ -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";
|
|
@@ -1052,6 +1053,7 @@ export class AgentSession {
|
|
|
1052
1053
|
promptGuidelines,
|
|
1053
1054
|
uiType: this._uiType,
|
|
1054
1055
|
gitRepoState: this._gitRepoState,
|
|
1056
|
+
currentModel: this.model ? { provider: this.model.provider, id: this.model.id } : undefined,
|
|
1055
1057
|
});
|
|
1056
1058
|
}
|
|
1057
1059
|
// =========================================================================
|
|
@@ -1510,12 +1512,24 @@ export class AgentSession {
|
|
|
1510
1512
|
const previousModel = this.model;
|
|
1511
1513
|
const thinkingLevel = this._getThinkingLevelForModelSwitch();
|
|
1512
1514
|
this.agent.setModel(model);
|
|
1515
|
+
this._refreshThinkingDisplay(model);
|
|
1513
1516
|
this.sessionManager.appendModelChange(model.provider, model.id);
|
|
1514
1517
|
this.settingsManager.setDefaultModelAndProvider(model.provider, model.id);
|
|
1518
|
+
this._baseSystemPrompt = this._rebuildSystemPrompt(this.getActiveToolNames());
|
|
1519
|
+
this.agent.setSystemPrompt(this._baseSystemPrompt);
|
|
1515
1520
|
// Re-clamp thinking level for new model's capabilities
|
|
1516
1521
|
this.setThinkingLevel(thinkingLevel);
|
|
1517
1522
|
await this._emitModelSelect(model, previousModel, "set");
|
|
1518
1523
|
}
|
|
1524
|
+
/**
|
|
1525
|
+
* Refresh the live agent's thinkingDisplay for a (possibly) new model. The default
|
|
1526
|
+
* depends on the model (adaptive-thinking models default to "summarized"), so this
|
|
1527
|
+
* must run on every model switch. Keyed by model id from shared settings, so it
|
|
1528
|
+
* resolves identically to how createAgentSession seeds it at startup.
|
|
1529
|
+
*/
|
|
1530
|
+
_refreshThinkingDisplay(model) {
|
|
1531
|
+
this.agent.thinkingDisplay = resolveThinkingDisplay(model, this.settingsManager.getModelThinkingDisplay(model.id));
|
|
1532
|
+
}
|
|
1519
1533
|
/**
|
|
1520
1534
|
* Cycle to next/previous model.
|
|
1521
1535
|
* Uses scoped models (from --models flag) if available, otherwise all available models.
|
|
@@ -1561,8 +1575,11 @@ export class AgentSession {
|
|
|
1561
1575
|
const thinkingLevel = this._getThinkingLevelForModelSwitch(next.thinkingLevel);
|
|
1562
1576
|
// Apply model
|
|
1563
1577
|
this.agent.setModel(next.model);
|
|
1578
|
+
this._refreshThinkingDisplay(next.model);
|
|
1564
1579
|
this.sessionManager.appendModelChange(next.model.provider, next.model.id);
|
|
1565
1580
|
this.settingsManager.setDefaultModelAndProvider(next.model.provider, next.model.id);
|
|
1581
|
+
this._baseSystemPrompt = this._rebuildSystemPrompt(this.getActiveToolNames());
|
|
1582
|
+
this.agent.setSystemPrompt(this._baseSystemPrompt);
|
|
1566
1583
|
// Apply thinking level.
|
|
1567
1584
|
// - Explicit scoped model thinking level overrides current session level
|
|
1568
1585
|
// - Undefined scoped model thinking level inherits the current session preference
|
|
@@ -1588,8 +1605,11 @@ export class AgentSession {
|
|
|
1588
1605
|
}
|
|
1589
1606
|
const thinkingLevel = this._getThinkingLevelForModelSwitch();
|
|
1590
1607
|
this.agent.setModel(nextModel);
|
|
1608
|
+
this._refreshThinkingDisplay(nextModel);
|
|
1591
1609
|
this.sessionManager.appendModelChange(nextModel.provider, nextModel.id);
|
|
1592
1610
|
this.settingsManager.setDefaultModelAndProvider(nextModel.provider, nextModel.id);
|
|
1611
|
+
this._baseSystemPrompt = this._rebuildSystemPrompt(this.getActiveToolNames());
|
|
1612
|
+
this.agent.setSystemPrompt(this._baseSystemPrompt);
|
|
1593
1613
|
// Re-clamp thinking level for new model's capabilities
|
|
1594
1614
|
this.setThinkingLevel(thinkingLevel);
|
|
1595
1615
|
await this._emitModelSelect(nextModel, currentModel, "cycle");
|
|
@@ -2100,6 +2120,7 @@ export class AgentSession {
|
|
|
2100
2120
|
return;
|
|
2101
2121
|
}
|
|
2102
2122
|
this.agent.setModel(refreshedModel);
|
|
2123
|
+
this._refreshThinkingDisplay(refreshedModel);
|
|
2103
2124
|
}
|
|
2104
2125
|
_bindExtensionCore(runner) {
|
|
2105
2126
|
const getCommands = () => {
|
|
@@ -2652,6 +2673,7 @@ export class AgentSession {
|
|
|
2652
2673
|
const match = availableModels.find((m) => m.provider === sessionContext.model.provider && m.id === sessionContext.model.modelId);
|
|
2653
2674
|
if (match) {
|
|
2654
2675
|
this.agent.setModel(match);
|
|
2676
|
+
this._refreshThinkingDisplay(match);
|
|
2655
2677
|
await this._emitModelSelect(match, previousModel, "restore");
|
|
2656
2678
|
}
|
|
2657
2679
|
}
|