vibeostheog 0.22.21 → 0.22.23
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/package.json +2 -5
- package/src/lib/api-client.js +0 -6
- package/src/lib/hooks/footer.js +13 -13
- package/src/lib/state.js +7 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibeostheog",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.23",
|
|
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",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"checkpoint:validate": "node scripts/checkpoint-validate.mjs",
|
|
15
15
|
"test:scripts": "node --test scripts/tests/checkpoint-validate.test.mjs tests/release-pack.test.mjs",
|
|
16
16
|
"ts:audit": "node scripts/ts-audit.mjs",
|
|
17
|
-
"test": "VIBEOS_MCP_PORT=0 node --test --test-timeout=240000 tests/deep_integration.test.mjs tests/production_regressions.test.mjs tests/release_hardening_tigerteam.test.mjs tests/test_api_migration.neutral.test.mjs tests/test_const_assignment_regression.test.mjs tests/test_delegation_enforcer.test.mjs tests/test_diagnose_cmd.test.mjs tests/test_install_and_recovery.test.mjs tests/test_internals_stress_patterns_offtopic.test.mjs tests/test_saveos_e2e_cleanup.test.mjs tests/test_tdd_enforcer.test.mjs tests/test_10fixes_regression.test.mjs tests/test_cross_session_regression.test.mjs tests/test_mega_all_fixes.test.mjs tests/test_smart_cache_regression.test.mjs src/tests/*.test.js src/utils/tests/*.test.mjs \"src/vibeOS-lib/tests/auto-select-mode.test.mjs\" \"src/vibeOS-lib/tests/blackbox-regression.test.mjs\" \"src/vibeOS-lib/tests/blackbox-smoke.test.mjs\" \"src/vibeOS-lib/tests/budget-first-mode.test.mjs\" \"src/vibeOS-lib/tests/flow-enforcer.test.mjs\" \"src/vibeOS-lib/tests/flow-secrets.test.mjs\" \"src/vibeOS-lib/tests/session-metrics.test.mjs\" \"src/vibeOS-lib/tests/test_stress.test.mjs\"",
|
|
17
|
+
"test": "VIBEOS_MCP_PORT=0 node --test --test-timeout=240000 tests/deep_integration.test.mjs tests/production_regressions.test.mjs tests/release_hardening_tigerteam.test.mjs tests/test_api_migration.neutral.test.mjs tests/test_const_assignment_regression.test.mjs tests/test_delegation_enforcer.test.mjs tests/test_diagnose_cmd.test.mjs tests/test_install_and_recovery.test.mjs tests/test_internals_stress_patterns_offtopic.test.mjs tests/test_saveos_e2e_cleanup.test.mjs tests/test_tdd_enforcer.test.mjs tests/test_10fixes_regression.test.mjs tests/test_cross_session_regression.test.mjs tests/test_mega_all_fixes.test.mjs tests/test_smart_cache_regression.test.mjs src/tests/*.test.js src/utils/tests/*.test.mjs \"src/vibeOS-lib/tests/auto-select-mode.test.mjs\" \"src/vibeOS-lib/tests/blackbox-regression.test.mjs\" \"src/vibeOS-lib/tests/blackbox-smoke.test.mjs\" \"src/vibeOS-lib/tests/budget-first-mode.test.mjs\" \"src/vibeOS-lib/tests/flow-enforcer.test.mjs\" \"src/vibeOS-lib/tests/flow-secrets.test.mjs\" \"src/vibeOS-lib/tests/session-metrics.test.mjs\" \"src/vibeOS-lib/tests/test_stress.test.mjs\" tests/test_trinity_mega_regression.test.mjs tests/test_multisession_mega.test.mjs",
|
|
18
18
|
"test:ci": "VIBEOS_MCP_PORT=0 node --test --test-timeout=30000 tests/production_regressions.test.mjs tests/release_hardening_tigerteam.test.mjs tests/test_const_assignment_regression.test.mjs tests/test_diagnose_cmd.test.mjs tests/test_install_and_recovery.test.mjs tests/test_saveos_e2e_cleanup.test.mjs tests/test_tdd_enforcer.test.mjs tests/test_10fixes_regression.test.mjs tests/test_cross_session_regression.test.mjs tests/test_mega_all_fixes.test.mjs tests/test_smart_cache_regression.test.mjs src/tests/*.test.js src/utils/tests/*.test.mjs \"src/vibeOS-lib/tests/auto-select-mode.test.mjs\" \"src/vibeOS-lib/tests/blackbox-regression.test.mjs\" \"src/vibeOS-lib/tests/blackbox-smoke.test.mjs\" \"src/vibeOS-lib/tests/budget-first-mode.test.mjs\" \"src/vibeOS-lib/tests/flow-enforcer.test.mjs\" \"src/vibeOS-lib/tests/flow-secrets.test.mjs\" \"src/vibeOS-lib/tests/session-metrics.test.mjs\" \"src/vibeOS-lib/tests/test_stress.test.mjs\"",
|
|
19
19
|
"guard": "bash plugins/vibetheog-guard/scripts/run-guard.sh",
|
|
20
20
|
"guard:full": "VIBETHEOG_GUARD_FULL=1 bash plugins/vibetheog-guard/scripts/run-guard.sh",
|
|
@@ -89,8 +89,5 @@
|
|
|
89
89
|
"eslint": "^10.4.0",
|
|
90
90
|
"express": "^5.2.1",
|
|
91
91
|
"typescript": "^5.9.3"
|
|
92
|
-
},
|
|
93
|
-
"dependencies": {
|
|
94
|
-
"vibeoscore": "file:vibeoscore-1.0.2.tgz"
|
|
95
92
|
}
|
|
96
93
|
}
|
package/src/lib/api-client.js
CHANGED
|
@@ -535,10 +535,6 @@ export function setApiToken(newToken) {
|
|
|
535
535
|
persistPrimaryApiEnvState({ token: VIBEOS_API_TOKEN, disabled: false });
|
|
536
536
|
if (_anomalyDetector)
|
|
537
537
|
_anomalyDetector.reset();
|
|
538
|
-
_apiClient = null;
|
|
539
|
-
_apiFallbackMode = false;
|
|
540
|
-
_apiFallbackSince = null;
|
|
541
|
-
resetApiConnection();
|
|
542
538
|
console.error("[vibeOS] API token updated via setApiToken");
|
|
543
539
|
}
|
|
544
540
|
catch (e) {
|
|
@@ -675,8 +671,6 @@ function syncApiTokenFromDisk() {
|
|
|
675
671
|
VIBEOS_API_DISABLED = false;
|
|
676
672
|
VIBEOS_API_TOKEN ||= EMBEDDED_API_TOKEN;
|
|
677
673
|
VIBEOS_API_ENABLED = process.env.VIBEOS_API_ENABLED !== "false" && (!!VIBEOS_API_TOKEN || !!VIBEOS_API_BOOTSTRAP_TOKEN);
|
|
678
|
-
_apiFallbackMode = false;
|
|
679
|
-
_apiFallbackSince = null;
|
|
680
674
|
}
|
|
681
675
|
}
|
|
682
676
|
export function getApiClient() {
|
package/src/lib/hooks/footer.js
CHANGED
|
@@ -220,21 +220,21 @@ async function _appendFooter(input, output, directory) {
|
|
|
220
220
|
saveReport({
|
|
221
221
|
type: "session",
|
|
222
222
|
summary: "Session cost: $" + formatUsd(ltCost) + " | cache saved: $" + formatUsd(ltCache) + " | delegation saved: $" + formatUsd(Number(sesTasks || 0)) + " | task delegations: " + Number(sesTaskDelegations || 0),
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
223
|
+
metrics: {
|
|
224
|
+
sessionId: _OC_SID,
|
|
225
|
+
projectFingerprint: currentProjectFingerprint || "unknown",
|
|
226
|
+
projectName: currentProjectName || "unknown",
|
|
227
|
+
sessionCost: ltCost,
|
|
228
228
|
cacheSavings: ltCache,
|
|
229
229
|
delegationSavingsUsd: sesTasks,
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
230
|
+
taskDelegationCount: sesTaskDelegations,
|
|
231
|
+
// Backward compatibility (legacy field historically misnamed)
|
|
232
|
+
tasksDelegated: sesTaskDelegations,
|
|
233
|
+
model: resolvedModel || currentModel,
|
|
234
|
+
slot: loadSelection().active_slot || "unknown",
|
|
235
|
+
editSavings: sesEdit,
|
|
236
|
+
creditSavings: sesCredit,
|
|
237
|
+
context7Savings: sesC7,
|
|
238
238
|
quotaSavings: sesQuota,
|
|
239
239
|
},
|
|
240
240
|
tags: ["auto", "cost"],
|
package/src/lib/state.js
CHANGED
|
@@ -902,14 +902,14 @@ function getScratchpadHit(toolLower, args, baseDir = null) {
|
|
|
902
902
|
}
|
|
903
903
|
}
|
|
904
904
|
catch { }
|
|
905
|
+
}
|
|
906
|
+
if (!fullPath) {
|
|
907
|
+
const recent = scanRecentScratchpad(sessionDir, titleCase, 2000);
|
|
908
|
+
if (recent)
|
|
909
|
+
return recent;
|
|
910
|
+
return null;
|
|
911
|
+
}
|
|
905
912
|
}
|
|
906
|
-
if (!fullPath) {
|
|
907
|
-
const recent = scanRecentScratchpad(sessionDir, titleCase, 2000);
|
|
908
|
-
if (recent)
|
|
909
|
-
return recent;
|
|
910
|
-
return null;
|
|
911
|
-
}
|
|
912
|
-
}
|
|
913
913
|
try {
|
|
914
914
|
const st = statSync(fullPath);
|
|
915
915
|
const ageSec = (Date.now() - st.mtimeMs) / 1000;
|