costhawk 1.5.12 → 1.5.13

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 +1 @@
1
- {"version":3,"file":"cursor-parser.js","sourceRoot":"","sources":["../src/cursor-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursor-parser.js","sourceRoot":"","sources":["../src/cursor-parser.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import { homedir, hostname, platform } from "os";
10
10
  // Claude Code local transcript parsing
11
11
  import { claudeCodeDirectoryExists, discoverTranscripts, getClaudeProjectsDir, parseAllTranscriptsDetailed, } from "./transcript-parser.js";
12
12
  import { codexDirectoryExists, discoverCodexSessions, getCodexSessionsDir, parseAllCodexSessionsDetailed, } from "./codex-parser.js";
13
- import { cursorDbExists, getCursorDbPath, isCursorParserError, parseCursorUsageDryRun, } from "./cursor-parser.js";
13
+ import { cursorDbExists, getCursorDbPath, getCursorMeta, isCursorParserError, parseCursorUsage, runCursorSelfTest, } from "./cursor-parser.js";
14
14
  import { calculateCost, formatCost, formatTokens, calculateSavings, CLAUDE_SUBSCRIPTIONS, getClaudeCodePricing, getLLMPricing, } from "./pricing-constants.js";
15
15
  import { BUILD_COMMIT_SHA } from "./build-info.js";
16
16
  // Constants
@@ -2579,17 +2579,31 @@ const GetLocalCodexUsageSchema = {
2579
2579
  .describe("Only include sessions modified within this many hours (1-720, default 24)"),
2580
2580
  format: z.enum(["markdown", "json"]).optional().default("markdown").describe("Response format"),
2581
2581
  };
2582
- // PR1 dry-run schema for Cursor: no maxAgeHours (Cursor message timestamps
2583
- // are unverified across versions adding an age filter would be misleading
2584
- // until PR2 confirms the stable timestamp source). No apiKey or pricing
2585
- // (PR1 defers cost calculation entirely). Format is JSON-only in PR1;
2586
- // markdown formatter parity will be added in PR2 if needed.
2582
+ // Cursor usage schema. Three modes:
2583
+ // - "usage" (default): per-session tokens with startTime/endTime/dailyUsage
2584
+ // and timestamp provenance fields. Backward-compatible superset of the
2585
+ // PR1 response shape (dryRun wrapper and sessions array are retained).
2586
+ // - "self_test": runs the parser against the live DB and reports
2587
+ // coverage + invariant checks. Surfaces FAIL as MCP isError:true so
2588
+ // hosts can distinguish "parser broken" from "session has no data".
2589
+ // - "what_we_read": transparency mode. Returns the DB path, file size,
2590
+ // table list, key-prefix histogram, and a small sample of
2591
+ // UUID-truncated keys so users can see exactly what the parser reads.
2592
+ //
2593
+ // No apiKey or pricing — cost calculation remains deferred. Format is
2594
+ // JSON-only because the three modes have distinct shapes; markdown
2595
+ // parity can be added later if needed.
2587
2596
  const GetLocalCursorUsageSchema = {
2597
+ mode: z
2598
+ .enum(["usage", "self_test", "what_we_read"])
2599
+ .optional()
2600
+ .default("usage")
2601
+ .describe("Mode: 'usage' (default) returns per-session token data with timestamps; 'self_test' runs parser health checks and invariant validations; 'what_we_read' shows the exact DB path, tables, and key prefix histogram for transparency"),
2588
2602
  format: z
2589
2603
  .enum(["json"])
2590
2604
  .optional()
2591
2605
  .default("json")
2592
- .describe("Response format. Only json is supported in this PR1 dry-run release."),
2606
+ .describe("Response format. Only json is currently supported."),
2593
2607
  };
2594
2608
  const ListCodexSessionsSchema = {
2595
2609
  maxAgeHours: z
@@ -3903,21 +3917,35 @@ server.registerTool("costhawk_list_codex_sessions", {
3903
3917
  // sqlite3 binary. Read-only. Does NOT push to costcanary backend. Does NOT
3904
3918
  // modify any state. Returns aggregated per-conversation token counts.
3905
3919
  //
3906
- // Cursor message timestamps are not yet verified across versions, so this PR1
3907
- // release does not return startTime/endTime/dailyUsage. PR2 will add timestamp
3908
- // support after verification on real Cursor data.
3920
+ // Cursor local usage tool. PR2 adds per-session timestamps (start/end,
3921
+ // dailyUsage) with provenance fields that mark the values as precise
3922
+ // (bubble-level) or approximate (composer-level fallback). Also adds two
3923
+ // operational modes — self_test and what_we_read — for diagnosing parser
3924
+ // health and surfacing exactly what data CostHawk is reading.
3925
+ //
3926
+ // The default "usage" mode retains PR1's response shape as a backward-
3927
+ // compatible superset: the `dryRun: true` wrapper is preserved, `totals`
3928
+ // is unchanged, and the `sessions` array adds new fields without removing
3929
+ // any. Consumers pinned to the PR1 shape continue to work.
3909
3930
  server.registerTool("costhawk_get_local_cursor_usage", {
3910
- description: `Get Cursor IDE usage from local SQLite WITHOUT uploading to CostHawk. Read-only dry run. Shows per-conversation token counts and models from the user's local Cursor database.
3931
+ description: `Get Cursor IDE usage from local SQLite. Read-only never uploads anything to CostHawk. Shows per-conversation token counts, models, time ranges, and daily breakdowns from the user's local Cursor database.
3911
3932
 
3912
- NOTE: This is an early dry-run preview. It does not include per-message timestamps yet — those will be added in a future release after verification on real Cursor data. It does not push any data to CostHawk.
3933
+ Modes (controlled by the \`mode\` parameter):
3934
+ - 'usage' (default): per-session token data with startTime, endTime, timestampSource/Quality, and dailyUsage.
3935
+ - 'self_test': runs the parser against the live DB and reports coverage plus invariant checks. Returns PASS / DEGRADED / FAIL.
3936
+ - 'what_we_read': transparency mode. Shows the exact DB path, file size, tables, key-prefix histogram, and a sample of keys (UUIDs truncated).
3913
3937
 
3914
3938
  IMPORTANT: Always display the COMPLETE output in your response. Never summarize or truncate.`,
3915
3939
  inputSchema: GetLocalCursorUsageSchema,
3916
3940
  annotations: READ_ONLY_ANNOTATIONS,
3917
- }, async (_args, _extra) => {
3941
+ }, async (args, _extra) => {
3942
+ const mode = args.mode ?? "usage";
3918
3943
  // Precheck the SQLite file before invoking sqlite3 so the user gets a
3919
3944
  // helpful "install Cursor first" message instead of an opaque ENOENT.
3920
- if (!cursorDbExists()) {
3945
+ // self_test is the one exception — it returns a structured FAIL payload
3946
+ // instead of an error string so callers can programmatically inspect
3947
+ // why the check failed.
3948
+ if (!cursorDbExists() && mode !== "self_test") {
3921
3949
  return {
3922
3950
  content: [
3923
3951
  {
@@ -3929,7 +3957,26 @@ IMPORTANT: Always display the COMPLETE output in your response. Never summarize
3929
3957
  };
3930
3958
  }
3931
3959
  try {
3932
- const result = parseCursorUsageDryRun();
3960
+ if (mode === "self_test") {
3961
+ const testResult = runCursorSelfTest();
3962
+ const text = JSON.stringify(testResult, null, 2);
3963
+ // FAIL = parser could not run (isError so MCP hosts can react).
3964
+ // DEGRADED = parser ran with warnings; not an error, just a heads-up.
3965
+ // PASS = everything clean.
3966
+ return {
3967
+ content: [{ type: "text", text }],
3968
+ isError: testResult.overallStatus === "FAIL",
3969
+ };
3970
+ }
3971
+ if (mode === "what_we_read") {
3972
+ const meta = getCursorMeta();
3973
+ const text = JSON.stringify(meta, null, 2);
3974
+ return {
3975
+ content: [{ type: "text", text }],
3976
+ };
3977
+ }
3978
+ // mode === "usage" (default)
3979
+ const result = parseCursorUsage();
3933
3980
  if (result.sessions.length === 0) {
3934
3981
  return {
3935
3982
  content: [
@@ -3944,6 +3991,10 @@ IMPORTANT: Always display the COMPLETE output in your response. Never summarize
3944
3991
  const totalInputTokens = result.sessions.reduce((acc, s) => acc + s.tokens.inputTokens, 0);
3945
3992
  const totalOutputTokens = result.sessions.reduce((acc, s) => acc + s.tokens.outputTokens, 0);
3946
3993
  const totalMessages = result.sessions.reduce((acc, s) => acc + s.messageCount, 0);
3994
+ // NOTE: `dryRun: true` is retained for backward compatibility with
3995
+ // the PR1 response shape. The tool is still read-only — it has never
3996
+ // pushed data to the backend and does not in PR2. The flag continues
3997
+ // to communicate that intent to PR1-era consumers who depend on it.
3947
3998
  const response = {
3948
3999
  dryRun: true,
3949
4000
  filePath: result.filePath,