vibeostheog 0.23.25 → 0.23.27
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 +8 -0
- package/package.json +1 -1
- package/src/lib/hooks/chat-transform.js +2 -3
- package/src/lib/hooks/footer.js +10 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## 0.23.27
|
|
2
|
+
- fix: ML-chosen optimization_mode dances in footer + → arrow
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## 0.23.26
|
|
6
|
+
- fix: footer primary tier = ML decision (vector_changed_slot), ✓ when applied
|
|
7
|
+
|
|
8
|
+
|
|
1
9
|
## 0.23.25
|
|
2
10
|
- fix: footer always shows regime + vector_changed + optimization_mode — no expiry, no hidden conditions
|
|
3
11
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibeostheog",
|
|
3
|
-
"version": "0.23.
|
|
3
|
+
"version": "0.23.27",
|
|
4
4
|
"description": "Cost-aware delegation enforcer for OpenCode. Tracks model usage, routes Task subagents to cheaper tiers, surfaces cumulative savings in chat. Includes research audit, reporting framework, project memory, progressive scratchpad decadence, and trinity CLI for brain/medium/cheap slot switching.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"release": "node scripts/release.mjs",
|
|
@@ -207,9 +207,8 @@ export function syncControlSettings(cv, options = {}) {
|
|
|
207
207
|
if (cv.thinking_mode && currentSel.thinking_level !== "full")
|
|
208
208
|
writeIf("thinking_level", cv.thinking_mode);
|
|
209
209
|
if (persistOptimizationMode && cv.optimization_mode && userOptMode !== "auto") {
|
|
210
|
-
if (userOptMode !== cv.optimization_mode
|
|
211
|
-
|
|
212
|
-
saveOptimizationMode(cv.optimization_mode);
|
|
210
|
+
if (userOptMode !== cv.optimization_mode) {
|
|
211
|
+
writeIf("optimization_mode", cv.optimization_mode);
|
|
213
212
|
}
|
|
214
213
|
}
|
|
215
214
|
const slot = cv.tier_bias;
|
package/src/lib/hooks/footer.js
CHANGED
|
@@ -285,34 +285,26 @@ async function _appendFooter(input, output, directory) {
|
|
|
285
285
|
const optMode = (resolvedMode || "budget").toLowerCase();
|
|
286
286
|
const brandMap = { vibeultrax: "VibeUltraX", vibeqmax: "VibeQMaX", vibemax: "VibeMaX", quality: "VibeQMaX", audit: "VibeQMaX", forensic: "VibeQMaX" };
|
|
287
287
|
const brandedToRuntime = { vibeultrax: "Quality", vibeqmax: "Quality", vibemax: "Speed" };
|
|
288
|
-
const activeSlot = selNowFooter.active_slot || "brain";
|
|
288
|
+
const activeSlot = selNowFooter.vector_changed_slot || selNowFooter.active_slot || "brain";
|
|
289
289
|
const vibeBrand = brandMap[optModeFooter] || (activeSlot === "brain" ? "VibeQMaX" : "VibeMaX");
|
|
290
290
|
const modeLabel = modeCapitalized(brandedToRuntime[optMode] || optMode);
|
|
291
|
-
const tierIcon = activeSlot === "brain" ? "
|
|
292
|
-
const flashIcon = isApiConnected() ? "
|
|
293
|
-
let vibeLine =
|
|
291
|
+
const tierIcon = activeSlot === "brain" ? "\ud83e\udde0" : activeSlot === "medium" ? "\u2699" : activeSlot === "cheap" ? "\ud83c\udf81" : "\u26a1";
|
|
292
|
+
const flashIcon = isApiConnected() ? " \u26a1" : "";
|
|
293
|
+
let vibeLine = `\u2014 ${tierIcon} ${activeSlot} | ${execution.provider_label} | ${modelDisplayName(execution.model)}`;
|
|
294
294
|
if (ltTotal > 0) {
|
|
295
295
|
vibeLine += ` | $${formatUsd(ltTotal)}`;
|
|
296
296
|
}
|
|
297
297
|
if (isApiConnected()) {
|
|
298
298
|
vibeLine += ` | ${vibeBrand}${flashIcon}`;
|
|
299
299
|
}
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
vibeLine += ` | ${regime}`;
|
|
300
|
+
const displayMode = selNowFooter?.optimization_mode || optMode || "auto";
|
|
301
|
+
if (displayMode && displayMode !== "auto") {
|
|
302
|
+
vibeLine += ` | ${displayMode}`;
|
|
304
303
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
const sel = loadSelection();
|
|
308
|
-
if (sel?.vector_changed_slot) {
|
|
309
|
-
vibeLine += ` | → ${sel.vector_changed_slot}`;
|
|
310
|
-
}
|
|
311
|
-
if (sel?.optimization_mode && sel.optimization_mode !== "auto") {
|
|
312
|
-
vibeLine += ` | ${sel.optimization_mode}`;
|
|
313
|
-
}
|
|
304
|
+
if (selNowFooter?.vector_changed_slot) {
|
|
305
|
+
vibeLine += ` | → ${selNowFooter.vector_changed_slot}`;
|
|
314
306
|
}
|
|
315
|
-
|
|
307
|
+
|
|
316
308
|
const footerText = stripped + `\n\n${vibeLine} —`;
|
|
317
309
|
if (_blackboxEnabled) {
|
|
318
310
|
try {
|