@yhong91/vibetime 0.1.32 → 0.1.33

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.
Files changed (2) hide show
  1. package/bin/vibetime.mjs +26 -2
  2. package/package.json +1 -1
package/bin/vibetime.mjs CHANGED
@@ -1928,7 +1928,7 @@ function countTextLines(text) {
1928
1928
  }
1929
1929
 
1930
1930
  // src/lib/constants.ts
1931
- var PACKAGE_VERSION = true ? "0.1.32" : "0.1.1";
1931
+ var PACKAGE_VERSION = true ? "0.1.33" : "0.1.1";
1932
1932
  var DEFAULT_API_URL = "http://121.196.224.82:3001";
1933
1933
  var DEFAULT_BACKFILL_BATCH_SIZE = 50;
1934
1934
  var DEFAULT_BACKFILL_BATCH_BYTES = 800 * 1024;
@@ -7472,6 +7472,7 @@ async function loadQoderDbModelCalls(appDirName, sessionId, modelMap) {
7472
7472
  }
7473
7473
  const db = new DatabaseSync(dbPath, { readOnly: true });
7474
7474
  try {
7475
+ const preferredModel = resolveSessionPreferredModel(db, sessionId, modelMap);
7475
7476
  const rows = db.prepare(
7476
7477
  `select request_id, token_info, model_info from chat_message where session_id = ? and role = 'assistant' and token_info != '' order by gmt_create asc`
7477
7478
  ).all(sessionId);
@@ -7480,7 +7481,7 @@ async function loadQoderDbModelCalls(appDirName, sessionId, modelMap) {
7480
7481
  const modelInfo = parseJsonLine(stringField(row, "model_info") || "") || {};
7481
7482
  const modelKey = stringField(modelInfo, "model_key");
7482
7483
  const call = {
7483
- model: modelKey ? modelMap[modelKey] || modelKey : void 0,
7484
+ model: modelKey ? modelMap[modelKey] || modelKey : preferredModel,
7484
7485
  inputTokens: numberField(usage, "prompt_tokens") || 0,
7485
7486
  outputTokens: numberField(usage, "completion_tokens") || 0,
7486
7487
  cachedTokens: numberField(usage, "cached_tokens") || 0
@@ -7504,6 +7505,29 @@ async function loadQoderDbModelCalls(appDirName, sessionId, modelMap) {
7504
7505
  }
7505
7506
  return calls;
7506
7507
  }
7508
+ function resolveSessionPreferredModel(db, sessionId, modelMap) {
7509
+ let current = sessionId;
7510
+ for (let depth = 0; depth < 5 && current; depth++) {
7511
+ let row;
7512
+ try {
7513
+ row = db.prepare(
7514
+ "select preferred_model_info, parent_session_id from chat_session where session_id = ?"
7515
+ ).get(current);
7516
+ } catch {
7517
+ return void 0;
7518
+ }
7519
+ if (!row) {
7520
+ return void 0;
7521
+ }
7522
+ const info = parseJsonLine(stringField(row, "preferred_model_info") || "") || {};
7523
+ const preferred = stringField(info, "preferred_model");
7524
+ if (preferred) {
7525
+ return modelMap[preferred] || preferred;
7526
+ }
7527
+ current = stringField(row, "parent_session_id");
7528
+ }
7529
+ return void 0;
7530
+ }
7507
7531
 
7508
7532
  // src/adapters/qoder-cn.ts
7509
7533
  import { readdir as readdir7, readFile as readFile10, stat as stat8 } from "node:fs/promises";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@yhong91/vibetime",
3
3
  "type": "module",
4
- "version": "0.1.32",
4
+ "version": "0.1.33",
5
5
  "description": "vibetime CLI — install AI-agent hooks (Claude Code, Codex, OpenCode, Pi) and report activity to vibetime.",
6
6
  "license": "MIT",
7
7
  "publishConfig": {