@ccview/core 0.1.0 → 0.1.2

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.
@@ -1,3 +1,2 @@
1
- import type { ModelName } from '../types.js';
2
- export declare function calculateCost(tokensIn: number, tokensOut: number, model: ModelName): number;
1
+ export { estimateCost as calculateCost } from '../parser/token-estimator.js';
3
2
  //# sourceMappingURL=cost-calculator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost-calculator.d.ts","sourceRoot":"","sources":["../../src/analyzer/cost-calculator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAK3F"}
1
+ {"version":3,"file":"cost-calculator.d.ts","sourceRoot":"","sources":["../../src/analyzer/cost-calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAA"}
@@ -1,8 +1,2 @@
1
- import { DEFAULT_PRICING } from '../types.js';
2
- export function calculateCost(tokensIn, tokensOut, model) {
3
- const pricing = DEFAULT_PRICING[model];
4
- const inputCost = (tokensIn / 1_000_000) * pricing.inputPer1M;
5
- const outputCost = (tokensOut / 1_000_000) * pricing.outputPer1M;
6
- return Math.round((inputCost + outputCost) * 1_000_000) / 1_000_000;
7
- }
1
+ export { estimateCost as calculateCost } from '../parser/token-estimator.js';
8
2
  //# sourceMappingURL=cost-calculator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost-calculator.js","sourceRoot":"","sources":["../../src/analyzer/cost-calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,SAAiB,EAAE,KAAgB;IACjF,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,SAAS,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAA;IAC7D,MAAM,UAAU,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,WAAW,CAAA;IAChE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;AACrE,CAAC"}
1
+ {"version":3,"file":"cost-calculator.js","sourceRoot":"","sources":["../../src/analyzer/cost-calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AAQrC,wBAAgB,YAAY,CAAC,MAAM,SAAkB,GAAG,QAAQ,CAAC,QAAQ,CAsBxE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AAQrC,wBAAgB,YAAY,CAAC,MAAM,SAAkB,GAAG,QAAQ,CAAC,QAAQ,CAgBxE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
package/dist/db/index.js CHANGED
@@ -12,12 +12,9 @@ export function openDatabase(dbPath = DEFAULT_DB_PATH) {
12
12
  const db = new Database(dbPath);
13
13
  db.pragma('journal_mode = WAL');
14
14
  db.pragma('foreign_keys = ON');
15
- const tableExists = db
16
- .prepare(`SELECT COUNT(*) as cnt FROM sqlite_master WHERE type='table' AND name='sessions'`)
17
- .get();
18
- if (!tableExists || tableExists.cnt === 0) {
19
- initSchema(db);
20
- }
15
+ // Esegui sempre initSchema: i CREATE TABLE IF NOT EXISTS sono idempotenti
16
+ // e runMigrations controlla internamente quali migrazioni sono già state applicate
17
+ initSchema(db);
21
18
  return db;
22
19
  }
23
20
  export { Database };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;AAEvE,MAAM,UAAU,YAAY,CAAC,MAAM,GAAG,eAAe;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;IAE/B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC/B,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAE9B,MAAM,WAAW,GAAG,EAAE;SACnB,OAAO,CACN,kFAAkF,CACnF;SACA,GAAG,EAAE,CAAA;IAER,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QAC1C,UAAU,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;AAEvE,MAAM,UAAU,YAAY,CAAC,MAAM,GAAG,eAAe;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;IAE/B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC/B,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAE9B,0EAA0E;IAC1E,mFAAmF;IACnF,UAAU,CAAC,EAAE,CAAC,CAAA;IAEd,OAAO,EAAE,CAAA;AACX,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
@@ -49,6 +49,11 @@ export declare function getSessionById(db: Database.Database, id: string): Sessi
49
49
  export declare function listSessions(db: Database.Database, filters: SessionFilters): Session[];
50
50
  export declare function sessionExistsByHash(db: Database.Database, hash: string): boolean;
51
51
  export declare function updateSessionHash(db: Database.Database, logPath: string, hash: string): void;
52
+ export declare function getSessionByLogPath(db: Database.Database, logPath: string): {
53
+ id: string;
54
+ logHash: string | null;
55
+ } | null;
56
+ export declare function deleteSessionById(db: Database.Database, id: string): void;
52
57
  export declare function insertStep(db: Database.Database, step: Step): void;
53
58
  export declare function listStepsBySession(db: Database.Database, sessionId: string): Step[];
54
59
  export declare function insertFileImpact(db: Database.Database, impact: FileImpact): void;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@ function mapStepRow(row) {
36
36
  contentSummary: row['content_summary'] ?? null,
37
37
  tokensIn: row['tokens_in'] ?? 0,
38
38
  tokensOut: row['tokens_out'] ?? 0,
39
+ cacheCreationTokens: row['cache_creation_tokens'] ?? 0,
40
+ cacheReadTokens: row['cache_read_tokens'] ?? 0,
39
41
  durationMs: row['duration_ms'] ?? null,
40
42
  toolName: row['tool_name'] ?? null,
41
43
  toolInput: row['tool_input'] ?? null,
@@ -147,17 +149,30 @@ export function sessionExistsByHash(db, hash) {
147
149
  export function updateSessionHash(db, logPath, hash) {
148
150
  db.prepare(`UPDATE sessions SET log_hash = ? WHERE raw_log_path = ?`).run(hash, logPath);
149
151
  }
152
+ export function getSessionByLogPath(db, logPath) {
153
+ const row = db
154
+ .prepare(`SELECT id, log_hash FROM sessions WHERE raw_log_path = ?`)
155
+ .get(logPath);
156
+ if (!row)
157
+ return null;
158
+ return { id: row.id, logHash: row.log_hash };
159
+ }
160
+ export function deleteSessionById(db, id) {
161
+ db.prepare(`DELETE FROM sessions WHERE id = ?`).run(id);
162
+ }
150
163
  // ── Steps ──────────────────────────────────────────────────────────
151
164
  export function insertStep(db, step) {
152
165
  db.prepare(`
153
166
  INSERT INTO steps (
154
167
  id, session_id, step_index, type, subtype,
155
- content, content_summary, tokens_in, tokens_out, duration_ms,
168
+ content, content_summary, tokens_in, tokens_out,
169
+ cache_creation_tokens, cache_read_tokens, duration_ms,
156
170
  tool_name, tool_input, tool_output,
157
171
  is_error, is_retry, retry_of_step_id, created_at
158
172
  ) VALUES (
159
173
  @id, @sessionId, @stepIndex, @type, @subtype,
160
- @content, @contentSummary, @tokensIn, @tokensOut, @durationMs,
174
+ @content, @contentSummary, @tokensIn, @tokensOut,
175
+ @cacheCreationTokens, @cacheReadTokens, @durationMs,
161
176
  @toolName, @toolInput, @toolOutput,
162
177
  @isError, @isRetry, @retryOfStepId, @createdAt
163
178
  )
@@ -171,6 +186,8 @@ export function insertStep(db, step) {
171
186
  contentSummary: step.contentSummary,
172
187
  tokensIn: step.tokensIn,
173
188
  tokensOut: step.tokensOut,
189
+ cacheCreationTokens: step.cacheCreationTokens,
190
+ cacheReadTokens: step.cacheReadTokens,
174
191
  durationMs: step.durationMs,
175
192
  toolName: step.toolName,
176
193
  toolInput: step.toolInput,
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type Database from 'better-sqlite3';
2
- export declare const SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS _migrations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n version INTEGER NOT NULL UNIQUE,\n name TEXT NOT NULL,\n applied_at DATETIME DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE IF NOT EXISTS sessions (\n id TEXT PRIMARY KEY,\n project_path TEXT,\n project_name TEXT,\n started_at DATETIME NOT NULL,\n ended_at DATETIME,\n duration_seconds INTEGER,\n total_tokens_in INTEGER DEFAULT 0,\n total_tokens_out INTEGER DEFAULT 0,\n total_cost_usd REAL DEFAULT 0,\n total_steps INTEGER DEFAULT 0,\n tool_call_count INTEGER DEFAULT 0,\n error_count INTEGER DEFAULT 0,\n retry_count INTEGER DEFAULT 0,\n model TEXT,\n summary TEXT,\n raw_log_path TEXT,\n log_hash TEXT,\n indexed_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n UNIQUE(raw_log_path)\n);\n\nCREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_name);\nCREATE INDEX IF NOT EXISTS idx_sessions_date ON sessions(started_at DESC);\n\nCREATE TABLE IF NOT EXISTS steps (\n id TEXT PRIMARY KEY,\n session_id TEXT NOT NULL,\n step_index INTEGER NOT NULL,\n type TEXT NOT NULL,\n subtype TEXT,\n content TEXT,\n content_summary TEXT,\n tokens_in INTEGER DEFAULT 0,\n tokens_out INTEGER DEFAULT 0,\n duration_ms INTEGER,\n tool_name TEXT,\n tool_input TEXT,\n tool_output TEXT,\n is_error INTEGER DEFAULT 0,\n is_retry INTEGER DEFAULT 0,\n retry_of_step_id TEXT,\n created_at DATETIME NOT NULL,\n FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE,\n FOREIGN KEY (retry_of_step_id) REFERENCES steps(id)\n);\n\nCREATE INDEX IF NOT EXISTS idx_steps_session ON steps(session_id, step_index);\nCREATE INDEX IF NOT EXISTS idx_steps_type ON steps(type);\n\nCREATE TABLE IF NOT EXISTS file_impacts (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n step_id TEXT NOT NULL,\n file_path TEXT NOT NULL,\n action TEXT NOT NULL,\n lines_added INTEGER DEFAULT 0,\n lines_removed INTEGER DEFAULT 0,\n diff_content TEXT,\n created_at DATETIME NOT NULL,\n FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE,\n FOREIGN KEY (step_id) REFERENCES steps(id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_file_impacts_session ON file_impacts(session_id);\nCREATE INDEX IF NOT EXISTS idx_file_impacts_file ON file_impacts(file_path);\n\nCREATE TABLE IF NOT EXISTS projects (\n path TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n total_sessions INTEGER DEFAULT 0,\n total_tokens INTEGER DEFAULT 0,\n total_cost_usd REAL DEFAULT 0,\n first_session_at DATETIME,\n last_session_at DATETIME,\n claude_md_path TEXT,\n updated_at DATETIME DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE IF NOT EXISTS claude_md_rules (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n project_path TEXT NOT NULL,\n rule_text TEXT NOT NULL,\n rule_category TEXT,\n times_respected INTEGER DEFAULT 0,\n times_violated INTEGER DEFAULT 0,\n last_checked_at DATETIME,\n FOREIGN KEY (project_path) REFERENCES projects(path)\n);\n\nCREATE VIEW IF NOT EXISTS v_session_overview AS\nSELECT\n s.*,\n p.name as project_display_name,\n COUNT(DISTINCT fi.file_path) as unique_files_touched,\n SUM(CASE WHEN st.is_error THEN 1 ELSE 0 END) as errors,\n SUM(CASE WHEN st.subtype = 'bash' THEN 1 ELSE 0 END) as bash_commands,\n SUM(CASE WHEN st.subtype = 'file_edit' THEN 1 ELSE 0 END) as file_edits\nFROM sessions s\nLEFT JOIN projects p ON s.project_path = p.path\nLEFT JOIN steps st ON s.id = st.session_id\nLEFT JOIN file_impacts fi ON s.id = fi.session_id\nGROUP BY s.id;\n\nCREATE VIEW IF NOT EXISTS v_file_hotspots AS\nSELECT\n fi.file_path,\n s.project_name,\n COUNT(*) as total_touches,\n SUM(fi.lines_added) as total_lines_added,\n SUM(fi.lines_removed) as total_lines_removed,\n COUNT(DISTINCT fi.session_id) as sessions_involved\nFROM file_impacts fi\nJOIN sessions s ON fi.session_id = s.id\nWHERE fi.action IN ('create', 'edit', 'delete')\nGROUP BY fi.file_path, s.project_name\nORDER BY total_touches DESC;\n\nCREATE VIEW IF NOT EXISTS v_daily_costs AS\nSELECT\n DATE(started_at) as day,\n COUNT(*) as sessions,\n SUM(total_tokens_in + total_tokens_out) as total_tokens,\n SUM(total_cost_usd) as total_cost,\n AVG(duration_seconds) as avg_session_duration\nFROM sessions\nGROUP BY DATE(started_at)\nORDER BY day DESC;\n";
2
+ export declare const SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS _migrations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n version INTEGER NOT NULL UNIQUE,\n name TEXT NOT NULL,\n applied_at DATETIME DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE IF NOT EXISTS sessions (\n id TEXT PRIMARY KEY,\n project_path TEXT,\n project_name TEXT,\n started_at DATETIME NOT NULL,\n ended_at DATETIME,\n duration_seconds INTEGER,\n total_tokens_in INTEGER DEFAULT 0,\n total_tokens_out INTEGER DEFAULT 0,\n total_cost_usd REAL DEFAULT 0,\n total_steps INTEGER DEFAULT 0,\n tool_call_count INTEGER DEFAULT 0,\n error_count INTEGER DEFAULT 0,\n retry_count INTEGER DEFAULT 0,\n model TEXT,\n summary TEXT,\n raw_log_path TEXT,\n log_hash TEXT,\n indexed_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n UNIQUE(raw_log_path)\n);\n\nCREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_name);\nCREATE INDEX IF NOT EXISTS idx_sessions_date ON sessions(started_at DESC);\nCREATE INDEX IF NOT EXISTS idx_sessions_hash ON sessions(log_hash);\n\nCREATE TABLE IF NOT EXISTS steps (\n id TEXT PRIMARY KEY,\n session_id TEXT NOT NULL,\n step_index INTEGER NOT NULL,\n type TEXT NOT NULL,\n subtype TEXT,\n content TEXT,\n content_summary TEXT,\n tokens_in INTEGER DEFAULT 0,\n tokens_out INTEGER DEFAULT 0,\n cache_creation_tokens INTEGER DEFAULT 0,\n cache_read_tokens INTEGER DEFAULT 0,\n duration_ms INTEGER,\n tool_name TEXT,\n tool_input TEXT,\n tool_output TEXT,\n is_error INTEGER DEFAULT 0,\n is_retry INTEGER DEFAULT 0,\n retry_of_step_id TEXT,\n created_at DATETIME NOT NULL,\n FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE,\n FOREIGN KEY (retry_of_step_id) REFERENCES steps(id)\n);\n\nCREATE INDEX IF NOT EXISTS idx_steps_session ON steps(session_id, step_index);\nCREATE INDEX IF NOT EXISTS idx_steps_type ON steps(type);\n\nCREATE TABLE IF NOT EXISTS file_impacts (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n step_id TEXT NOT NULL,\n file_path TEXT NOT NULL,\n action TEXT NOT NULL,\n lines_added INTEGER DEFAULT 0,\n lines_removed INTEGER DEFAULT 0,\n diff_content TEXT,\n created_at DATETIME NOT NULL,\n FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE,\n FOREIGN KEY (step_id) REFERENCES steps(id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_file_impacts_session ON file_impacts(session_id);\nCREATE INDEX IF NOT EXISTS idx_file_impacts_file ON file_impacts(file_path);\n\nCREATE TABLE IF NOT EXISTS projects (\n path TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n total_sessions INTEGER DEFAULT 0,\n total_tokens INTEGER DEFAULT 0,\n total_cost_usd REAL DEFAULT 0,\n first_session_at DATETIME,\n last_session_at DATETIME,\n claude_md_path TEXT,\n updated_at DATETIME DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE IF NOT EXISTS claude_md_rules (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n project_path TEXT NOT NULL,\n rule_text TEXT NOT NULL,\n rule_category TEXT,\n times_respected INTEGER DEFAULT 0,\n times_violated INTEGER DEFAULT 0,\n last_checked_at DATETIME,\n FOREIGN KEY (project_path) REFERENCES projects(path)\n);\n\nCREATE VIEW IF NOT EXISTS v_session_overview AS\nSELECT\n s.*,\n p.name as project_display_name,\n COUNT(DISTINCT fi.file_path) as unique_files_touched,\n SUM(CASE WHEN st.is_error THEN 1 ELSE 0 END) as errors,\n SUM(CASE WHEN st.subtype = 'bash' THEN 1 ELSE 0 END) as bash_commands,\n SUM(CASE WHEN st.subtype = 'file_edit' THEN 1 ELSE 0 END) as file_edits\nFROM sessions s\nLEFT JOIN projects p ON s.project_path = p.path\nLEFT JOIN steps st ON s.id = st.session_id\nLEFT JOIN file_impacts fi ON s.id = fi.session_id\nGROUP BY s.id;\n\nCREATE VIEW IF NOT EXISTS v_file_hotspots AS\nSELECT\n fi.file_path,\n s.project_name,\n COUNT(*) as total_touches,\n SUM(fi.lines_added) as total_lines_added,\n SUM(fi.lines_removed) as total_lines_removed,\n COUNT(DISTINCT fi.session_id) as sessions_involved\nFROM file_impacts fi\nJOIN sessions s ON fi.session_id = s.id\nWHERE fi.action IN ('create', 'edit', 'delete')\nGROUP BY fi.file_path, s.project_name\nORDER BY total_touches DESC;\n\nCREATE VIEW IF NOT EXISTS v_daily_costs AS\nSELECT\n DATE(started_at) as day,\n COUNT(*) as sessions,\n SUM(total_tokens_in + total_tokens_out) as total_tokens,\n SUM(total_cost_usd) as total_cost,\n AVG(duration_seconds) as avg_session_duration\nFROM sessions\nGROUP BY DATE(started_at)\nORDER BY day DESC;\n";
3
3
  export declare function initSchema(db: Database.Database): void;
4
4
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE1C,eAAO,MAAM,UAAU,ssIAwItB,CAAA;AAID,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CActD"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAG1C,eAAO,MAAM,UAAU,+1IA2ItB,CAAA;AAMD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAgBtD"}
package/dist/db/schema.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { getPricingForModel } from '../types.js';
1
2
  export const SCHEMA_SQL = `
2
3
  CREATE TABLE IF NOT EXISTS _migrations (
3
4
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -30,6 +31,7 @@ CREATE TABLE IF NOT EXISTS sessions (
30
31
 
31
32
  CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_name);
32
33
  CREATE INDEX IF NOT EXISTS idx_sessions_date ON sessions(started_at DESC);
34
+ CREATE INDEX IF NOT EXISTS idx_sessions_hash ON sessions(log_hash);
33
35
 
34
36
  CREATE TABLE IF NOT EXISTS steps (
35
37
  id TEXT PRIMARY KEY,
@@ -41,6 +43,8 @@ CREATE TABLE IF NOT EXISTS steps (
41
43
  content_summary TEXT,
42
44
  tokens_in INTEGER DEFAULT 0,
43
45
  tokens_out INTEGER DEFAULT 0,
46
+ cache_creation_tokens INTEGER DEFAULT 0,
47
+ cache_read_tokens INTEGER DEFAULT 0,
44
48
  duration_ms INTEGER,
45
49
  tool_name TEXT,
46
50
  tool_input TEXT,
@@ -136,6 +140,8 @@ GROUP BY DATE(started_at)
136
140
  ORDER BY day DESC;
137
141
  `;
138
142
  const INITIAL_VERSION = 1;
143
+ const RECALCULATE_COSTS_VERSION = 2;
144
+ const ADD_CACHE_TOKENS_VERSION = 3;
139
145
  export function initSchema(db) {
140
146
  db.exec(SCHEMA_SQL);
141
147
  const hasVersion = db
@@ -144,5 +150,60 @@ export function initSchema(db) {
144
150
  if (!hasVersion) {
145
151
  db.prepare(`INSERT INTO _migrations (version, name) VALUES (?, ?)`).run(INITIAL_VERSION, 'initial_schema');
146
152
  }
153
+ runMigrations(db);
154
+ }
155
+ function runMigrations(db) {
156
+ // Migration 2: ricalcola i costi con il nuovo pricing per modello
157
+ const hasMigration2 = db
158
+ .prepare(`SELECT version FROM _migrations WHERE version = ?`)
159
+ .get(RECALCULATE_COSTS_VERSION);
160
+ if (!hasMigration2) {
161
+ const sessions = db
162
+ .prepare(`SELECT id, model, total_tokens_in, total_tokens_out FROM sessions`)
163
+ .all();
164
+ const updateSession = db.prepare(`UPDATE sessions SET total_cost_usd = ? WHERE id = ?`);
165
+ const txn = db.transaction(() => {
166
+ for (const s of sessions) {
167
+ const pricing = getPricingForModel(s.model);
168
+ const cost = (s.total_tokens_in / 1_000_000) * pricing.inputPer1M +
169
+ (s.total_tokens_out / 1_000_000) * pricing.outputPer1M;
170
+ updateSession.run(Math.round(cost * 1_000_000) / 1_000_000, s.id);
171
+ }
172
+ // Ricalcola i totali dei progetti
173
+ db.prepare(`
174
+ UPDATE projects
175
+ SET total_cost_usd = (
176
+ SELECT COALESCE(SUM(total_cost_usd), 0)
177
+ FROM sessions
178
+ WHERE project_path = projects.path
179
+ )
180
+ `).run();
181
+ db.prepare(`INSERT INTO _migrations (version, name) VALUES (?, ?)`).run(RECALCULATE_COSTS_VERSION, 'recalculate_costs_with_updated_pricing');
182
+ });
183
+ txn();
184
+ }
185
+ // Migration 3: add cache_creation_tokens and cache_read_tokens to steps
186
+ const hasMigration3 = db
187
+ .prepare(`SELECT version FROM _migrations WHERE version = ?`)
188
+ .get(ADD_CACHE_TOKENS_VERSION);
189
+ if (!hasMigration3) {
190
+ const txn3 = db.transaction(() => {
191
+ // SQLite allows ADD COLUMN; these are safe no-ops if columns already exist on a fresh DB
192
+ try {
193
+ db.prepare(`ALTER TABLE steps ADD COLUMN cache_creation_tokens INTEGER DEFAULT 0`).run();
194
+ }
195
+ catch {
196
+ // Column may already exist on fresh DBs created with the new schema
197
+ }
198
+ try {
199
+ db.prepare(`ALTER TABLE steps ADD COLUMN cache_read_tokens INTEGER DEFAULT 0`).run();
200
+ }
201
+ catch {
202
+ // Column may already exist on fresh DBs created with the new schema
203
+ }
204
+ db.prepare(`INSERT INTO _migrations (version, name) VALUES (?, ?)`).run(ADD_CACHE_TOKENS_VERSION, 'add_cache_tokens_to_steps');
205
+ });
206
+ txn3();
207
+ }
147
208
  }
148
209
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwIzB,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB,MAAM,UAAU,UAAU,CAAC,EAAqB;IAC9C,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEnB,MAAM,UAAU,GAAG,EAAE;SAClB,OAAO,CACN,mDAAmD,CACpD;SACA,GAAG,CAAC,eAAe,CAAC,CAAA;IAEvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,EAAE,CAAC,OAAO,CACR,uDAAuD,CACxD,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/db/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAsC,MAAM,aAAa,CAAA;AAGrF,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,IAAI,CAuEN"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/db/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAsC,MAAM,aAAa,CAAA;AAWrF,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,IAAI,CAkFN"}
package/dist/db/sync.js CHANGED
@@ -1,6 +1,16 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { insertSession, insertStep, insertFileImpact, upsertProject, updateSessionHash } from './queries.js';
2
+ import { insertSession, insertStep, insertFileImpact, upsertProject, updateSessionHash, getSessionByLogPath, deleteSessionById, } from './queries.js';
3
3
  export function indexSession(db, entry, logPath, hash) {
4
+ // Deduplication: check if a session with the same raw_log_path already exists
5
+ const existing = getSessionByLogPath(db, logPath);
6
+ if (existing) {
7
+ if (existing.logHash === hash) {
8
+ // Same file, same content — skip re-indexing
9
+ return;
10
+ }
11
+ // Same path but different hash (file was updated) — delete old and re-index
12
+ deleteSessionById(db, existing.id);
13
+ }
4
14
  const sessionId = randomUUID();
5
15
  const session = {
6
16
  id: sessionId,
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/db/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/db/sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"log-scanner.d.ts","sourceRoot":"","sources":["../../src/parser/log-scanner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AAKrE,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AAED,iBAAe,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhE;AAED,iBAAe,gBAAgB,CAC7B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CA4C5B;AAED,iBAAe,eAAe,CAC5B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAQ7B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAsDrB;AAED,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"log-scanner.d.ts","sourceRoot":"","sources":["../../src/parser/log-scanner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AAIrE,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AAED,iBAAe,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhE;AAED,iBAAe,gBAAgB,CAC7B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CA4C5B;AAED,iBAAe,eAAe,CAC5B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAQ7B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAmDrB;AAED,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA"}
@@ -5,7 +5,6 @@ import { join } from 'node:path';
5
5
  import { homedir } from 'node:os';
6
6
  import { parseSession } from './session-parser.js';
7
7
  import { estimateCost } from './token-estimator.js';
8
- import { DEFAULT_PRICING } from '../types.js';
9
8
  async function computeFileHash(filePath) {
10
9
  return new Promise((resolve, reject) => {
11
10
  const hash = createHash('sha256');
@@ -91,10 +90,7 @@ export async function scanClaudeDirectory(options = {}) {
91
90
  }
92
91
  const parsed = await parseSession(file.filePath);
93
92
  // Apply cost estimation
94
- if (parsed.session.model) {
95
- const pricing = DEFAULT_PRICING[parsed.session.model];
96
- parsed.session.totalCostUsd = estimateCost(parsed.session.totalTokensIn, parsed.session.totalTokensOut, pricing);
97
- }
93
+ parsed.session.totalCostUsd = estimateCost(parsed.session.totalTokensIn, parsed.session.totalTokensOut, parsed.session.model);
98
94
  newSessions++;
99
95
  }
100
96
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"log-scanner.js","sourceRoot":"","sources":["../../src/parser/log-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-scanner.js","sourceRoot":"","sources":["../../src/parser/log-scanner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-parser.d.ts","sourceRoot":"","sources":["../../src/parser/session-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,aAAa,CAAA;AAYlE,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAkI5E"}
1
+ {"version":3,"file":"session-parser.d.ts","sourceRoot":"","sources":["../../src/parser/session-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAQ,MAAM,aAAa,CAAA;AAIvD,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAkI5E"}
@@ -2,21 +2,11 @@ import { createReadStream } from 'node:fs';
2
2
  import { createInterface } from 'node:readline';
3
3
  import { parseStep, extractModel, extractUsage } from './step-parser.js';
4
4
  import { extractFileImpacts } from './file-impact.js';
5
- function resolveModelName(raw) {
6
- const lower = raw.toLowerCase();
7
- if (lower.includes('opus'))
8
- return 'opus';
9
- if (lower.includes('sonnet'))
10
- return 'sonnet';
11
- if (lower.includes('haiku'))
12
- return 'haiku';
13
- return 'unknown';
14
- }
15
5
  export async function parseSession(filePath) {
16
6
  const steps = [];
17
7
  let totalTokensIn = 0;
18
8
  let totalTokensOut = 0;
19
- let model = null;
9
+ let rawModelId = null;
20
10
  let projectPath = null;
21
11
  let startedAt = null;
22
12
  let endedAt = null;
@@ -52,8 +42,8 @@ export async function parseSession(filePath) {
52
42
  }
53
43
  // Extract model
54
44
  const rawModel = extractModel(entry);
55
- if (rawModel && !model) {
56
- model = resolveModelName(rawModel);
45
+ if (rawModel && !rawModelId) {
46
+ rawModelId = rawModel; // Salva la stringa esatta dal log
57
47
  }
58
48
  // Extract usage from final assistant entries
59
49
  const usage = extractUsage(entry);
@@ -120,7 +110,7 @@ export async function parseSession(filePath) {
120
110
  toolCallCount,
121
111
  errorCount,
122
112
  retryCount: 0,
123
- model,
113
+ model: rawModelId,
124
114
  summary,
125
115
  rawLogPath: filePath,
126
116
  },
@@ -1 +1 @@
1
- {"version":3,"file":"session-parser.js","sourceRoot":"","sources":["../../src/parser/session-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-parser.js","sourceRoot":"","sources":["../../src/parser/session-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"step-parser.d.ts","sourceRoot":"","sources":["../../src/parser/step-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAyB,MAAM,aAAa,CAAA;AAE9D,KAAK,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,CAAA;AAkDjD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,CAkB3F;AAkLD,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAM1D;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,GACb;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiBhD"}
1
+ {"version":3,"file":"step-parser.d.ts","sourceRoot":"","sources":["../../src/parser/step-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAyB,MAAM,aAAa,CAAA;AAE9D,KAAK,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,CAAA;AAkDjD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,CAkB3F;AA8LD,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAM1D;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,GACb;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiBhD"}
@@ -76,6 +76,8 @@ function parseUserEntry(e, index, createdAt) {
76
76
  contentSummary: outputText ? truncate(outputText, 200) : null,
77
77
  tokensIn: 0,
78
78
  tokensOut: 0,
79
+ cacheCreationTokens: 0,
80
+ cacheReadTokens: 0,
79
81
  durationMs: null,
80
82
  toolName: null,
81
83
  toolInput: null,
@@ -96,6 +98,8 @@ function parseUserEntry(e, index, createdAt) {
96
98
  contentSummary: truncate(content, 200),
97
99
  tokensIn: 0,
98
100
  tokensOut: 0,
101
+ cacheCreationTokens: 0,
102
+ cacheReadTokens: 0,
99
103
  durationMs: null,
100
104
  toolName: null,
101
105
  toolInput: null,
@@ -120,10 +124,10 @@ function parseAssistantEntry(e, index, createdAt) {
120
124
  const stopReason = message['stop_reason'];
121
125
  // Only take usage from final entry of a turn (stop_reason != null)
122
126
  const isFinal = stopReason != null && stopReason !== '';
127
+ const cacheCreationTokens = isFinal ? (usage.cache_creation_input_tokens ?? 0) : 0;
128
+ const cacheReadTokens = isFinal ? (usage.cache_read_input_tokens ?? 0) : 0;
123
129
  const tokensIn = isFinal
124
- ? (usage.input_tokens ?? 0) +
125
- (usage.cache_creation_input_tokens ?? 0) +
126
- (usage.cache_read_input_tokens ?? 0)
130
+ ? (usage.input_tokens ?? 0) + cacheCreationTokens + cacheReadTokens
127
131
  : 0;
128
132
  const tokensOut = isFinal ? (usage.output_tokens ?? 0) : 0;
129
133
  const steps = [];
@@ -141,6 +145,8 @@ function parseAssistantEntry(e, index, createdAt) {
141
145
  contentSummary: `Tool call: ${block.name}`,
142
146
  tokensIn: 0,
143
147
  tokensOut: 0,
148
+ cacheCreationTokens: 0,
149
+ cacheReadTokens: 0,
144
150
  durationMs: null,
145
151
  toolName: block.name,
146
152
  toolInput: block.input ? JSON.stringify(block.input) : null,
@@ -164,6 +170,8 @@ function parseAssistantEntry(e, index, createdAt) {
164
170
  contentSummary: truncate(fullText, 200),
165
171
  tokensIn,
166
172
  tokensOut,
173
+ cacheCreationTokens,
174
+ cacheReadTokens,
167
175
  durationMs: null,
168
176
  toolName: null,
169
177
  toolInput: null,
@@ -179,6 +187,8 @@ function parseAssistantEntry(e, index, createdAt) {
179
187
  const first = steps[0];
180
188
  first.tokensIn = tokensIn;
181
189
  first.tokensOut = tokensOut;
190
+ first.cacheCreationTokens = cacheCreationTokens;
191
+ first.cacheReadTokens = cacheReadTokens;
182
192
  }
183
193
  else if (isFinal) {
184
194
  // Entry with no text and no tools but has usage (e.g. empty final streaming entry)
@@ -190,6 +200,8 @@ function parseAssistantEntry(e, index, createdAt) {
190
200
  contentSummary: null,
191
201
  tokensIn,
192
202
  tokensOut,
203
+ cacheCreationTokens,
204
+ cacheReadTokens,
193
205
  durationMs: null,
194
206
  toolName: null,
195
207
  toolInput: null,
@@ -1 +1 @@
1
- {"version":3,"file":"step-parser.js","sourceRoot":"","sources":["../../src/parser/step-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-parser.js","sourceRoot":"","sources":["../../src/parser/step-parser.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- import type { PricingModel } from '../types.js';
2
1
  /**
3
2
  * Heuristic token estimation from text.
4
3
  * ~4 chars/token for natural language, ~3 chars/token for code.
5
4
  */
6
5
  export declare function estimateTokens(text: string, type: 'natural' | 'code'): number;
7
6
  /**
8
- * Estimate cost in USD from token counts and pricing model.
7
+ * Estimate cost in USD from token counts and model ID string.
9
8
  */
10
- export declare function estimateCost(tokensIn: number, tokensOut: number, pricing: PricingModel): number;
9
+ export declare function estimateCost(tokensIn: number, tokensOut: number, modelId: string | null): number;
11
10
  //# sourceMappingURL=token-estimator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-estimator.d.ts","sourceRoot":"","sources":["../../src/parser/token-estimator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAI7E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACpB,MAAM,CAIR"}
1
+ {"version":3,"file":"token-estimator.d.ts","sourceRoot":"","sources":["../../src/parser/token-estimator.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAI7E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,MAAM,CAKR"}
@@ -1,3 +1,4 @@
1
+ import { getPricingForModel } from '../types.js';
1
2
  /**
2
3
  * Heuristic token estimation from text.
3
4
  * ~4 chars/token for natural language, ~3 chars/token for code.
@@ -9,11 +10,12 @@ export function estimateTokens(text, type) {
9
10
  return Math.ceil(text.length / charsPerToken);
10
11
  }
11
12
  /**
12
- * Estimate cost in USD from token counts and pricing model.
13
+ * Estimate cost in USD from token counts and model ID string.
13
14
  */
14
- export function estimateCost(tokensIn, tokensOut, pricing) {
15
+ export function estimateCost(tokensIn, tokensOut, modelId) {
16
+ const pricing = getPricingForModel(modelId);
15
17
  const inputCost = (tokensIn / 1_000_000) * pricing.inputPer1M;
16
18
  const outputCost = (tokensOut / 1_000_000) * pricing.outputPer1M;
17
- return inputCost + outputCost;
19
+ return Math.round((inputCost + outputCost) * 1_000_000) / 1_000_000;
18
20
  }
19
21
  //# sourceMappingURL=token-estimator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-estimator.js","sourceRoot":"","sources":["../../src/parser/token-estimator.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAwB;IACnE,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAA;IACnB,MAAM,aAAa,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAA;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,SAAiB,EACjB,OAAqB;IAErB,MAAM,SAAS,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAA;IAC7D,MAAM,UAAU,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,WAAW,CAAA;IAChE,OAAO,SAAS,GAAG,UAAU,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"token-estimator.js","sourceRoot":"","sources":["../../src/parser/token-estimator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAwB;IACnE,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAA;IACnB,MAAM,aAAa,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAA;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,SAAiB,EACjB,OAAsB;IAEtB,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAA;IAC7D,MAAM,UAAU,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,WAAW,CAAA;IAChE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;AACrE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  export type StepType = 'user_prompt' | 'assistant_response' | 'tool_call' | 'tool_result' | 'error';
2
2
  export type ToolSubtype = 'file_edit' | 'bash' | 'read_file' | 'search' | 'glob' | 'other';
3
3
  export type FileAction = 'create' | 'edit' | 'delete' | 'read' | 'rename';
4
- export type ModelName = 'opus' | 'sonnet' | 'haiku' | 'unknown';
4
+ export type ModelTier = 'opus' | 'sonnet' | 'haiku' | 'unknown';
5
+ export type ModelId = 'claude-opus-4-6-20260401' | 'claude-sonnet-4-6-20260401' | 'claude-opus-4-5-20260301' | 'claude-sonnet-4-5-20241022' | 'claude-haiku-4-5-20251001' | 'claude-opus-4-20250514' | 'claude-sonnet-4-20250514' | 'claude-opus-4-1-20250414' | 'claude-3-7-sonnet-20250219' | 'claude-3-opus-20240229' | 'claude-3-5-sonnet-20241022' | 'claude-3-5-sonnet-20240620' | 'claude-3-5-haiku-20241022' | 'claude-3-haiku-20240307' | string;
5
6
  export interface Session {
6
7
  id: string;
7
8
  projectPath: string | null;
@@ -16,7 +17,7 @@ export interface Session {
16
17
  toolCallCount: number;
17
18
  errorCount: number;
18
19
  retryCount: number;
19
- model: ModelName | null;
20
+ model: string | null;
20
21
  summary: string | null;
21
22
  rawLogPath: string;
22
23
  }
@@ -30,6 +31,8 @@ export interface Step {
30
31
  contentSummary: string | null;
31
32
  tokensIn: number;
32
33
  tokensOut: number;
34
+ cacheCreationTokens: number;
35
+ cacheReadTokens: number;
33
36
  durationMs: number | null;
34
37
  toolName: string | null;
35
38
  toolInput: string | null;
@@ -82,9 +85,21 @@ export interface ScanError {
82
85
  error: string;
83
86
  }
84
87
  export interface PricingModel {
85
- model: ModelName;
88
+ id: ModelId;
89
+ tier: ModelTier;
90
+ label: string;
86
91
  inputPer1M: number;
92
+ cacheWrite5mPer1M: number;
93
+ cacheWrite1hPer1M: number;
94
+ cacheHitPer1M: number;
87
95
  outputPer1M: number;
88
96
  }
89
- export declare const DEFAULT_PRICING: Record<ModelName, PricingModel>;
97
+ export declare const MODEL_PRICING: PricingModel[];
98
+ export declare const PRICING_BY_ID: Map<string, PricingModel>;
99
+ export declare const TIER_FALLBACK_PRICING: Record<ModelTier, Omit<PricingModel, 'id' | 'tier' | 'label'>>;
100
+ /**
101
+ * Trova il pricing per un model string dai log.
102
+ * Cerca prima match esatto, poi match parziale per tier, poi fallback.
103
+ */
104
+ export declare function getPricingForModel(rawModelString: string | null): PricingModel;
90
105
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -2,10 +2,69 @@
2
2
  // ccview — Shared Types
3
3
  // Core data model — allineato con lo schema SQLite in db/schema.ts
4
4
  // ============================================================
5
- export const DEFAULT_PRICING = {
6
- opus: { model: 'opus', inputPer1M: 15, outputPer1M: 75 },
7
- sonnet: { model: 'sonnet', inputPer1M: 3, outputPer1M: 15 },
8
- haiku: { model: 'haiku', inputPer1M: 0.25, outputPer1M: 1.25 },
9
- unknown: { model: 'unknown', inputPer1M: 3, outputPer1M: 15 },
5
+ // Pricing ufficiale Anthropic — fonte: https://platform.claude.com/docs/en/about-claude/pricing
6
+ // Ultimo aggiornamento: Aprile 2026
7
+ export const MODEL_PRICING = [
8
+ // ── Claude 4.6 ──
9
+ { id: 'claude-opus-4-6-20260401', tier: 'opus', label: 'Opus 4.6', inputPer1M: 5, cacheWrite5mPer1M: 6.25, cacheWrite1hPer1M: 10, cacheHitPer1M: 0.50, outputPer1M: 25 },
10
+ { id: 'claude-sonnet-4-6-20260401', tier: 'sonnet', label: 'Sonnet 4.6', inputPer1M: 3, cacheWrite5mPer1M: 3.75, cacheWrite1hPer1M: 6, cacheHitPer1M: 0.30, outputPer1M: 15 },
11
+ // ── Claude 4.5 ──
12
+ { id: 'claude-opus-4-5-20260301', tier: 'opus', label: 'Opus 4.5', inputPer1M: 5, cacheWrite5mPer1M: 6.25, cacheWrite1hPer1M: 10, cacheHitPer1M: 0.50, outputPer1M: 25 },
13
+ { id: 'claude-sonnet-4-5-20241022', tier: 'sonnet', label: 'Sonnet 4.5', inputPer1M: 3, cacheWrite5mPer1M: 3.75, cacheWrite1hPer1M: 6, cacheHitPer1M: 0.30, outputPer1M: 15 },
14
+ { id: 'claude-haiku-4-5-20251001', tier: 'haiku', label: 'Haiku 4.5', inputPer1M: 1, cacheWrite5mPer1M: 1.25, cacheWrite1hPer1M: 2, cacheHitPer1M: 0.10, outputPer1M: 5 },
15
+ // ── Claude 4.x ──
16
+ { id: 'claude-opus-4-20250514', tier: 'opus', label: 'Opus 4', inputPer1M: 15, cacheWrite5mPer1M: 18.75, cacheWrite1hPer1M: 30, cacheHitPer1M: 1.50, outputPer1M: 75 },
17
+ { id: 'claude-sonnet-4-20250514', tier: 'sonnet', label: 'Sonnet 4', inputPer1M: 3, cacheWrite5mPer1M: 3.75, cacheWrite1hPer1M: 6, cacheHitPer1M: 0.30, outputPer1M: 15 },
18
+ { id: 'claude-opus-4-1-20250414', tier: 'opus', label: 'Opus 4.1', inputPer1M: 15, cacheWrite5mPer1M: 18.75, cacheWrite1hPer1M: 30, cacheHitPer1M: 1.50, outputPer1M: 75 },
19
+ // ── Claude 3.x legacy ──
20
+ { id: 'claude-3-7-sonnet-20250219', tier: 'sonnet', label: 'Sonnet 3.7', inputPer1M: 3, cacheWrite5mPer1M: 3.75, cacheWrite1hPer1M: 6, cacheHitPer1M: 0.30, outputPer1M: 15 },
21
+ { id: 'claude-3-opus-20240229', tier: 'opus', label: 'Opus 3', inputPer1M: 15, cacheWrite5mPer1M: 18.75, cacheWrite1hPer1M: 30, cacheHitPer1M: 1.50, outputPer1M: 75 },
22
+ { id: 'claude-3-5-sonnet-20241022', tier: 'sonnet', label: 'Sonnet 3.5 v2', inputPer1M: 3, cacheWrite5mPer1M: 3.75, cacheWrite1hPer1M: 6, cacheHitPer1M: 0.30, outputPer1M: 15 },
23
+ { id: 'claude-3-5-sonnet-20240620', tier: 'sonnet', label: 'Sonnet 3.5', inputPer1M: 3, cacheWrite5mPer1M: 3.75, cacheWrite1hPer1M: 6, cacheHitPer1M: 0.30, outputPer1M: 15 },
24
+ { id: 'claude-3-5-haiku-20241022', tier: 'haiku', label: 'Haiku 3.5', inputPer1M: 0.80, cacheWrite5mPer1M: 1, cacheWrite1hPer1M: 1.6, cacheHitPer1M: 0.08, outputPer1M: 4 },
25
+ { id: 'claude-3-haiku-20240307', tier: 'haiku', label: 'Haiku 3', inputPer1M: 0.25, cacheWrite5mPer1M: 0.30, cacheWrite1hPer1M: 0.50, cacheHitPer1M: 0.03, outputPer1M: 1.25 },
26
+ ];
27
+ // Lookup veloce per model ID esatto
28
+ export const PRICING_BY_ID = new Map(MODEL_PRICING.map(p => [p.id, p]));
29
+ // Fallback per tier quando il model ID esatto non è trovato
30
+ export const TIER_FALLBACK_PRICING = {
31
+ opus: { inputPer1M: 5, cacheWrite5mPer1M: 6.25, cacheWrite1hPer1M: 10, cacheHitPer1M: 0.50, outputPer1M: 25 },
32
+ sonnet: { inputPer1M: 3, cacheWrite5mPer1M: 3.75, cacheWrite1hPer1M: 6, cacheHitPer1M: 0.30, outputPer1M: 15 },
33
+ haiku: { inputPer1M: 1, cacheWrite5mPer1M: 1.25, cacheWrite1hPer1M: 2, cacheHitPer1M: 0.10, outputPer1M: 5 },
34
+ unknown: { inputPer1M: 3, cacheWrite5mPer1M: 3.75, cacheWrite1hPer1M: 6, cacheHitPer1M: 0.30, outputPer1M: 15 },
10
35
  };
36
+ /**
37
+ * Trova il pricing per un model string dai log.
38
+ * Cerca prima match esatto, poi match parziale per tier, poi fallback.
39
+ */
40
+ export function getPricingForModel(rawModelString) {
41
+ if (!rawModelString) {
42
+ return { id: 'unknown', tier: 'unknown', label: 'Unknown', ...TIER_FALLBACK_PRICING.unknown };
43
+ }
44
+ // 1. Match esatto
45
+ const exact = PRICING_BY_ID.get(rawModelString);
46
+ if (exact)
47
+ return exact;
48
+ // 2. Match parziale — il log potrebbe avere alias o versioni future
49
+ const lower = rawModelString.toLowerCase();
50
+ const tier = resolveModelTier(lower);
51
+ // 3. Cerca il modello più recente del tier come best guess
52
+ const tierMatch = MODEL_PRICING.find(p => p.tier === tier);
53
+ if (tierMatch) {
54
+ return { ...tierMatch, id: rawModelString, label: `${tierMatch.label} (matched)` };
55
+ }
56
+ // 4. Fallback
57
+ const fb = TIER_FALLBACK_PRICING[tier];
58
+ return { id: rawModelString, tier, label: rawModelString, ...fb };
59
+ }
60
+ /** Risolvi tier da una model string lowercase */
61
+ function resolveModelTier(lower) {
62
+ if (lower.includes('opus'))
63
+ return 'opus';
64
+ if (lower.includes('sonnet'))
65
+ return 'sonnet';
66
+ if (lower.includes('haiku'))
67
+ return 'haiku';
68
+ return 'unknown';
69
+ }
11
70
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wBAAwB;AACxB,mEAAmE;AACnE,+DAA+D;AAoG/D,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC9D,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;IACxD,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;IAC3D,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9D,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;CAC9D,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ccview/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Core parser and database for ccview — Claude Code session analytics",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -15,14 +15,6 @@
15
15
  "files": [
16
16
  "dist"
17
17
  ],
18
- "scripts": {
19
- "build": "tsc",
20
- "build:watch": "tsc --watch",
21
- "test": "vitest run",
22
- "test:watch": "vitest",
23
- "typecheck": "tsc --noEmit",
24
- "clean": "rm -rf dist"
25
- },
26
18
  "dependencies": {
27
19
  "better-sqlite3": "^12.8.0"
28
20
  },
@@ -34,5 +26,13 @@
34
26
  },
35
27
  "engines": {
36
28
  "node": ">=18.0.0"
29
+ },
30
+ "scripts": {
31
+ "build": "tsc",
32
+ "build:watch": "tsc --watch",
33
+ "test": "vitest run",
34
+ "test:watch": "vitest",
35
+ "typecheck": "tsc --noEmit",
36
+ "clean": "rm -rf dist"
37
37
  }
38
- }
38
+ }