vibeostheog 0.24.3 → 0.24.5
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 +5 -0
- package/dist/vibeOS.js +21 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/vibeOS.js
CHANGED
|
@@ -6081,7 +6081,7 @@ function classifyTurnSimple(userText) {
|
|
|
6081
6081
|
if (new RegExp("^I (need|want|would like) to (" + IMPL_VERBS + ")\\b", "i").test(lower)) {
|
|
6082
6082
|
return "REFINING";
|
|
6083
6083
|
}
|
|
6084
|
-
if (/^(the |there is |there are |i think |looks like |seems like |i see |why (is|are|does|did) )
|
|
6084
|
+
if (/^(the |there is |there are |i think |looks like |seems like |i see |why (is|are|does|did) )/i.test(lower)) {
|
|
6085
6085
|
return "EXPLORING";
|
|
6086
6086
|
}
|
|
6087
6087
|
if (/^(how|what|why|when|where|who|can you|could you|let me|tell me|explain|describe|show|list|check|is there|are there|does|do you|summarize|elaborate|clarify|inspect|trace|find|search|look|read|show me|dump|debug)/i.test(lower)) {
|
|
@@ -9371,9 +9371,11 @@ function observeToolPattern(toolName, input, output, directory3) {
|
|
|
9371
9371
|
} catch {
|
|
9372
9372
|
}
|
|
9373
9373
|
}
|
|
9374
|
+
var MAX_SAVE_EST_PER_WARN = 5;
|
|
9374
9375
|
function recordSaving(tool2, reason, saveEst, meta = {}) {
|
|
9375
9376
|
try {
|
|
9376
9377
|
if (!saveEst || saveEst <= 0) return 0;
|
|
9378
|
+
if (saveEst > MAX_SAVE_EST_PER_WARN) saveEst = MAX_SAVE_EST_PER_WARN;
|
|
9377
9379
|
const firstWord = meta?.firstWord || tool2 || "";
|
|
9378
9380
|
updateState((s) => {
|
|
9379
9381
|
s.lifetime ??= { total_savings_usd: 0, cache_savings_usd: 0, missed_context7_usd: 0, session_count: 0, warn_count: 0 };
|
|
@@ -9597,7 +9599,7 @@ async function apiComputeControlVector(state, action, optimizationMode) {
|
|
|
9597
9599
|
const res = await remoteCall("blackboxControlVector", [state, action, optimizationMode], null);
|
|
9598
9600
|
if (res?.control_vector) {
|
|
9599
9601
|
const local = computeControlVector2(state, action, optimizationMode);
|
|
9600
|
-
return { ...res.control_vector, tier_bias: local.tier_bias, optimization_mode: local.optimization_mode };
|
|
9602
|
+
return { ...res.control_vector, tier_bias: local.tier_bias, optimization_mode: local.optimization_mode, enforcement_mode: local.enforcement_mode, flow_mode: local.flow_mode, tdd_mode: local.tdd_mode, thinking_mode: local.thinking_mode };
|
|
9601
9603
|
}
|
|
9602
9604
|
} catch {
|
|
9603
9605
|
}
|
|
@@ -10268,6 +10270,17 @@ var onSystemTransform = async (_input, output) => {
|
|
|
10268
10270
|
};
|
|
10269
10271
|
|
|
10270
10272
|
// src/lib/hooks/shared-footer.ts
|
|
10273
|
+
var REGIME_TAG = {
|
|
10274
|
+
INIT: "INIT",
|
|
10275
|
+
DIVERGENT: "DVRG",
|
|
10276
|
+
EXPLORING: "XPLR",
|
|
10277
|
+
REFINING: "RFNE",
|
|
10278
|
+
CONVERGING: "CVGE",
|
|
10279
|
+
CLOSED: "CLSD",
|
|
10280
|
+
LOOPING: "LOOP",
|
|
10281
|
+
AUDIT: "AUDT",
|
|
10282
|
+
FORENSIC: "FRNC"
|
|
10283
|
+
};
|
|
10271
10284
|
var BRAND_MAP = {
|
|
10272
10285
|
vibeultrax: "VibeUltraX",
|
|
10273
10286
|
vibeqmax: "VibeQMaX",
|
|
@@ -10331,9 +10344,10 @@ function buildEnforcementTags(opts) {
|
|
|
10331
10344
|
return tags;
|
|
10332
10345
|
}
|
|
10333
10346
|
function buildFooterLine(input) {
|
|
10334
|
-
const { activeSlot, sessionSlot, providerLabel, modelName, ltTotal, ltTrend, vibeBrand, optMode, flashIcon, enfTags, vectorChangedSlot } = input;
|
|
10347
|
+
const { activeSlot, sessionSlot, providerLabel, modelName, ltTotal, ltTrend, vibeBrand, optMode, flashIcon, enfTags, vectorChangedSlot, subRegime } = input;
|
|
10335
10348
|
const tierIcon = resolveTierIcon(activeSlot);
|
|
10336
|
-
|
|
10349
|
+
const regimeTag = subRegime ? REGIME_TAG[subRegime] || subRegime.slice(0, 4) : null;
|
|
10350
|
+
let line = `\u2014 ${tierIcon} ${activeSlot} | ${providerLabel} | ${modelName}${regimeTag ? ` \u25B6 ${regimeTag}` : ""}`;
|
|
10337
10351
|
if (ltTotal > 0) {
|
|
10338
10352
|
const savingsPulse = formatSavingsPulse(ltTotal, ltTrend);
|
|
10339
10353
|
if (savingsPulse) line += ` | ${savingsPulse}`;
|
|
@@ -10568,6 +10582,7 @@ async function _appendFooter(input, output, directory3) {
|
|
|
10568
10582
|
const vibeBrand = resolveBrand(optModeFooter, activeSlot);
|
|
10569
10583
|
const flashIcon = isApiConnected2() ? " \u26A1" : "";
|
|
10570
10584
|
const displayMode = selNowFooter?.optimization_mode || optMode || "auto";
|
|
10585
|
+
const currentSubRegime = _latestBlackboxState?.sub_regime || classifyTurnSimple2(latestUserIntent || "");
|
|
10571
10586
|
const vibeLine = buildFooterLine({
|
|
10572
10587
|
activeSlot,
|
|
10573
10588
|
providerLabel: execution.provider_label,
|
|
@@ -10579,7 +10594,8 @@ async function _appendFooter(input, output, directory3) {
|
|
|
10579
10594
|
flashIcon,
|
|
10580
10595
|
enfTags,
|
|
10581
10596
|
sessionSlot,
|
|
10582
|
-
vectorChangedSlot: selNowFooter?.vector_changed_slot
|
|
10597
|
+
vectorChangedSlot: selNowFooter?.vector_changed_slot,
|
|
10598
|
+
subRegime: currentSubRegime
|
|
10583
10599
|
});
|
|
10584
10600
|
const footerText = stripped + `
|
|
10585
10601
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibeostheog",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.5",
|
|
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",
|