vibeostheog 0.22.25 → 0.22.26

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibeostheog",
3
- "version": "0.22.25",
3
+ "version": "0.22.26",
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",
@@ -1001,6 +1001,9 @@ export function loadTrinitySlotsFromTiersFile() {
1001
1001
  // Refresh currentModel/currentTier from disk config.
1002
1002
  // Called per-hook so trinity slot changes take effect without restart.
1003
1003
  export const PLACEHOLDER_RE = /^[^/]+\/[a-z-]+-model$/i;
1004
+ // Test-only exports for regression coverage
1005
+ export function _resolveConfiguredModelId(model, configs = []) { return resolveConfiguredModelId(model, configs); }
1006
+ export function _collectConfiguredProviderModelsFromConfig(cfg) { return collectConfiguredProviderModelsFromConfig(cfg); }
1004
1007
  export function getTrinitySlotOrder(tiersData = null) {
1005
1008
  const configured = Array.isArray(tiersData?.selection?.slot_order)
1006
1009
  ? tiersData.selection.slot_order
package/src/lib/state.js CHANGED
@@ -386,8 +386,8 @@ function roundUsd(v) {
386
386
  return Math.round((Number(v) || 0) * 10000) / 10000;
387
387
  }
388
388
  // ── Tier regexes ─────────────────────────────────────────────────────
389
- const FALLBACK_HIGH = /opus|gemini-.*-pro|deepseek\/deepseek-v4-pro|gpt-5|(^|\/)o[134]($|-|\/)/i;
390
- const FALLBACK_MID = /deepseek\/deepseek-v4-flash|claude.*sonnet|gemini-.*-flash|gpt-4o(?!-mini)/i;
389
+ const FALLBACK_HIGH = /opus|gemini-.*-pro|deepseek\/deepseek-v4-pro|\bdeepseek-v4-pro\b|gpt-5|(^|\/)o[134]($|-|\/)/i;
390
+ const FALLBACK_MID = /deepseek\/deepseek-v4-flash|\bdeepseek-v4-flash\b|claude.*sonnet|gemini-.*-flash|gpt-4o(?!-mini)/i;
391
391
  export function _safeRegex(cfg, fallback, label) {
392
392
  if (!cfg)
393
393
  return fallback;