modelstat 0.0.21 → 0.0.22

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/dist/cli.mjs CHANGED
@@ -4341,7 +4341,14 @@ var init_schemas = __esm({
4341
4341
  files_touched: external_exports.array(external_exports.string().max(512)).max(256).default([]),
4342
4342
  // Reference to originating file for reparsing
4343
4343
  source_file: external_exports.string().max(1024).nullable(),
4344
- source_byte_offset: external_exports.number().int().nonnegative().nullable()
4344
+ source_byte_offset: external_exports.number().int().nonnegative().nullable(),
4345
+ // Billing mode. Tools with a flat-fee subscription tier (Claude
4346
+ // Code, Cursor Pro, GitHub Copilot, etc) emit events tagged
4347
+ // `billing: "subscription"` — the server short-circuits cost to $0
4348
+ // for those, since token-level pricing doesn't apply once the user
4349
+ // is paying the subscription. `api` (or absent) means pay-per-token
4350
+ // against whatever rates the org has configured.
4351
+ billing: external_exports.enum(["subscription", "api"]).optional()
4345
4352
  });
4346
4353
  RedactionReport = external_exports.object({
4347
4354
  secrets_found: external_exports.number().int().nonnegative().default(0),
@@ -4723,7 +4730,12 @@ async function parseClaudeCodeJsonl(ctx) {
4723
4730
  tool_calls: {},
4724
4731
  files_touched: [],
4725
4732
  source_file: ctx.sourceFile,
4726
- source_byte_offset: offsetAtLineStart
4733
+ source_byte_offset: offsetAtLineStart,
4734
+ // Files in ~/.claude/projects/ come from the Claude Code app
4735
+ // used via subscription (not the raw API). Mark them so the
4736
+ // server short-circuits token-level cost to $0 — the user has
4737
+ // already paid the flat monthly fee.
4738
+ billing: "subscription"
4727
4739
  });
4728
4740
  } else if (obj.type === "user") {
4729
4741
  const u = obj;
@@ -4748,7 +4760,8 @@ async function parseClaudeCodeJsonl(ctx) {
4748
4760
  tool_calls: {},
4749
4761
  files_touched: [],
4750
4762
  source_file: ctx.sourceFile,
4751
- source_byte_offset: offsetAtLineStart
4763
+ source_byte_offset: offsetAtLineStart,
4764
+ billing: "subscription"
4752
4765
  });
4753
4766
  } else {
4754
4767
  skipped += 1;
@@ -44503,7 +44516,7 @@ var init_scan = __esm({
44503
44516
  init_pipeline2();
44504
44517
  init_config2();
44505
44518
  init_api();
44506
- AGENT_VERSION = "agent-dev-0.0.21";
44519
+ AGENT_VERSION = "agent-dev-0.0.22";
44507
44520
  BATCH_MAX_EVENTS = 2e3;
44508
44521
  }
44509
44522
  });
@@ -46536,7 +46549,7 @@ var init_daemon = __esm({
46536
46549
  init_config2();
46537
46550
  init_lock();
46538
46551
  init_scan();
46539
- AGENT_VERSION2 = "agent-dev-0.0.21";
46552
+ AGENT_VERSION2 = "agent-dev-0.0.22";
46540
46553
  HEARTBEAT_INTERVAL_MS = 1e4;
46541
46554
  SCAN_INTERVAL_MS = 5 * 60 * 1e3;
46542
46555
  status = {