@newrelic/preflight 1.67.2 → 1.68.0

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 (129) hide show
  1. package/README.md +2 -1
  2. package/dist/config.d.ts +57 -2
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +127 -18
  5. package/dist/config.js.map +1 -1
  6. package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
  7. package/dist/dashboard/routes/api-handler.js +13 -5
  8. package/dist/dashboard/routes/api-handler.js.map +1 -1
  9. package/dist/hooks/event-processor.d.ts.map +1 -1
  10. package/dist/hooks/event-processor.js +7 -4
  11. package/dist/hooks/event-processor.js.map +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +90 -121
  14. package/dist/index.js.map +1 -1
  15. package/dist/install/cli.d.ts.map +1 -1
  16. package/dist/install/cli.js +16 -1
  17. package/dist/install/cli.js.map +1 -1
  18. package/dist/install/dashboard-health.js +1 -1
  19. package/dist/install/dashboard-health.js.map +1 -1
  20. package/dist/install/diagnostics.d.ts +2 -0
  21. package/dist/install/diagnostics.d.ts.map +1 -1
  22. package/dist/install/diagnostics.js +117 -27
  23. package/dist/install/diagnostics.js.map +1 -1
  24. package/dist/install/headless-install.d.ts +26 -0
  25. package/dist/install/headless-install.d.ts.map +1 -1
  26. package/dist/install/headless-install.js +44 -1
  27. package/dist/install/headless-install.js.map +1 -1
  28. package/dist/install/install-helper.d.ts +2 -0
  29. package/dist/install/install-helper.d.ts.map +1 -1
  30. package/dist/install/install-helper.js +5 -0
  31. package/dist/install/install-helper.js.map +1 -1
  32. package/dist/lib/child-env.d.ts +11 -0
  33. package/dist/lib/child-env.d.ts.map +1 -0
  34. package/dist/lib/child-env.js +35 -0
  35. package/dist/lib/child-env.js.map +1 -0
  36. package/dist/lib/git-remote.d.ts +7 -0
  37. package/dist/lib/git-remote.d.ts.map +1 -1
  38. package/dist/lib/git-remote.js +13 -0
  39. package/dist/lib/git-remote.js.map +1 -1
  40. package/dist/metrics/cost-estimate-gate.d.ts +20 -0
  41. package/dist/metrics/cost-estimate-gate.d.ts.map +1 -1
  42. package/dist/metrics/cost-estimate-gate.js +21 -1
  43. package/dist/metrics/cost-estimate-gate.js.map +1 -1
  44. package/dist/metrics/cost-tracker-seed.d.ts.map +1 -1
  45. package/dist/metrics/cost-tracker-seed.js +1 -0
  46. package/dist/metrics/cost-tracker-seed.js.map +1 -1
  47. package/dist/metrics/cost-tracker.d.ts +53 -1
  48. package/dist/metrics/cost-tracker.d.ts.map +1 -1
  49. package/dist/metrics/cost-tracker.js +87 -2
  50. package/dist/metrics/cost-tracker.js.map +1 -1
  51. package/dist/metrics/local-session-aggregator.d.ts +13 -0
  52. package/dist/metrics/local-session-aggregator.d.ts.map +1 -1
  53. package/dist/metrics/local-session-aggregator.js +22 -4
  54. package/dist/metrics/local-session-aggregator.js.map +1 -1
  55. package/dist/metrics/model-pricing.d.ts +6 -0
  56. package/dist/metrics/model-pricing.d.ts.map +1 -1
  57. package/dist/metrics/model-pricing.js +19 -2
  58. package/dist/metrics/model-pricing.js.map +1 -1
  59. package/dist/metrics/pricing-init.d.ts +13 -0
  60. package/dist/metrics/pricing-init.d.ts.map +1 -0
  61. package/dist/metrics/pricing-init.js +19 -0
  62. package/dist/metrics/pricing-init.js.map +1 -0
  63. package/dist/metrics/pricing-overlay.d.ts.map +1 -1
  64. package/dist/metrics/pricing-overlay.js +4 -5
  65. package/dist/metrics/pricing-overlay.js.map +1 -1
  66. package/dist/proxy/proxy-manager.d.ts +3 -0
  67. package/dist/proxy/proxy-manager.d.ts.map +1 -1
  68. package/dist/proxy/proxy-manager.js +43 -3
  69. package/dist/proxy/proxy-manager.js.map +1 -1
  70. package/dist/proxy/types.d.ts +7 -0
  71. package/dist/proxy/types.d.ts.map +1 -1
  72. package/dist/proxy/types.js.map +1 -1
  73. package/dist/proxy/upstream-http.d.ts.map +1 -1
  74. package/dist/proxy/upstream-http.js +44 -1
  75. package/dist/proxy/upstream-http.js.map +1 -1
  76. package/dist/proxy/upstream-stdio.d.ts +0 -1
  77. package/dist/proxy/upstream-stdio.d.ts.map +1 -1
  78. package/dist/proxy/upstream-stdio.js +2 -26
  79. package/dist/proxy/upstream-stdio.js.map +1 -1
  80. package/dist/redaction-patterns.d.ts.map +1 -1
  81. package/dist/redaction-patterns.js +1 -0
  82. package/dist/redaction-patterns.js.map +1 -1
  83. package/dist/secret-command.d.ts +57 -0
  84. package/dist/secret-command.d.ts.map +1 -0
  85. package/dist/secret-command.js +117 -0
  86. package/dist/secret-command.js.map +1 -0
  87. package/dist/security/audit-trail.d.ts +7 -1
  88. package/dist/security/audit-trail.d.ts.map +1 -1
  89. package/dist/security/audit-trail.js +24 -0
  90. package/dist/security/audit-trail.js.map +1 -1
  91. package/dist/server.d.ts.map +1 -1
  92. package/dist/server.js +9 -4
  93. package/dist/server.js.map +1 -1
  94. package/dist/storage/historical-costs.d.ts +6 -0
  95. package/dist/storage/historical-costs.d.ts.map +1 -0
  96. package/dist/storage/historical-costs.js +42 -0
  97. package/dist/storage/historical-costs.js.map +1 -0
  98. package/dist/storage/local-store.d.ts +6 -4
  99. package/dist/storage/local-store.d.ts.map +1 -1
  100. package/dist/storage/local-store.js +21 -7
  101. package/dist/storage/local-store.js.map +1 -1
  102. package/dist/storage/session-store.d.ts +23 -1
  103. package/dist/storage/session-store.d.ts.map +1 -1
  104. package/dist/storage/session-store.js +100 -8
  105. package/dist/storage/session-store.js.map +1 -1
  106. package/dist/storage/types.d.ts +7 -11
  107. package/dist/storage/types.d.ts.map +1 -1
  108. package/dist/storage/types.js.map +1 -1
  109. package/dist/tools/cross-session-tools.d.ts +7 -1
  110. package/dist/tools/cross-session-tools.d.ts.map +1 -1
  111. package/dist/tools/cross-session-tools.js +47 -14
  112. package/dist/tools/cross-session-tools.js.map +1 -1
  113. package/dist/tools/session-stats.d.ts +6 -0
  114. package/dist/tools/session-stats.d.ts.map +1 -1
  115. package/dist/tools/session-stats.js +2 -1
  116. package/dist/tools/session-stats.js.map +1 -1
  117. package/dist/transport/audit-record-sender.d.ts +20 -0
  118. package/dist/transport/audit-record-sender.d.ts.map +1 -0
  119. package/dist/transport/audit-record-sender.js +54 -0
  120. package/dist/transport/audit-record-sender.js.map +1 -0
  121. package/dist/transport/nr-ingest.d.ts +3 -0
  122. package/dist/transport/nr-ingest.d.ts.map +1 -1
  123. package/dist/transport/nr-ingest.js +21 -8
  124. package/dist/transport/nr-ingest.js.map +1 -1
  125. package/dist/transport/unforwarded-session-monitor.d.ts +12 -6
  126. package/dist/transport/unforwarded-session-monitor.d.ts.map +1 -1
  127. package/dist/transport/unforwarded-session-monitor.js +24 -5
  128. package/dist/transport/unforwarded-session-monitor.js.map +1 -1
  129. package/package.json +21 -8
@@ -1,18 +1,33 @@
1
1
  import { dirname } from 'node:path';
2
- import { areHooksInstalled, mergeSettings, detectSettingsPath } from './install-helper.js';
2
+ import { createLogger } from '../shared/index.js';
3
+ import { areHooksInstalled, mergeSettings, detectSettingsPath, readAndCheckHooks, } from './install-helper.js';
3
4
  import { readJsonFileStrict, writeJsonFile, errMsg } from './json-utils.js';
4
5
  import { resolveBinaryPath } from './schedule.js';
6
+ const logger = createLogger('headless-install');
7
+ export const HEADLESS_INSTALL_DISABLED_MESSAGE = 'nr_observe_install_hooks is disabled, so no changes were made. Run `preflight install` in a terminal to install the hooks, or set "allowHeadlessInstall": true in your Preflight config (or NEW_RELIC_AI_ALLOW_HEADLESS_INSTALL=true) to let this tool install them.';
5
8
  /**
6
9
  * Installs the preflight hook entries (PreToolUse, PostToolUse,
7
10
  * PermissionRequest, PermissionDenied) into ~/.claude/settings.json (or
8
11
  * the project-level equivalent) without a TTY. Does NOT touch ~/.mcp.json —
9
12
  * Smithery handles MCP server registration separately.
10
13
  *
14
+ * Refuses unless `allowHeadlessInstall` is true. Any connected MCP client can
15
+ * call the tool, so rewriting the user's agent hook config is opt-in. A refusal
16
+ * reads and writes nothing. Hooks already present at project scope count as
17
+ * installed, since Claude Code would run a second user-scope set as well.
18
+ *
11
19
  * Returns a typed result so MCP tool callers can format a user-facing message.
12
20
  */
13
21
  export function installHooksHeadless(options = {}) {
22
+ if (options.allowHeadlessInstall !== true) {
23
+ return { status: 'disabled', message: HEADLESS_INSTALL_DISABLED_MESSAGE };
24
+ }
14
25
  const scope = options.scope ?? 'user';
15
26
  const settingsPath = options._settingsPathOverride ?? detectSettingsPath(scope, null);
27
+ const projectSettingsPath = options._projectSettingsPathOverride ?? detectSettingsPath('project', null);
28
+ if (projectSettingsPath !== settingsPath && readAndCheckHooks(projectSettingsPath)) {
29
+ return { status: 'already_installed', settingsPath: projectSettingsPath };
30
+ }
16
31
  const binPath = resolveBinaryPath();
17
32
  try {
18
33
  const existing = readJsonFileStrict(settingsPath);
@@ -27,4 +42,32 @@ export function installHooksHeadless(options = {}) {
27
42
  return { status: 'error', message: errMsg(err) };
28
43
  }
29
44
  }
45
+ /**
46
+ * Builds the `headlessInstaller` the MCP tool calls. `allowHeadlessInstall` is
47
+ * captured by value, so callers rebuild the installer once config has loaded.
48
+ * The audit trail is read at call time via `getAuditTrail`. An audit entry is written only when hooks were
49
+ * actually changed, so a refusal or an already-installed no-op leaves no entry.
50
+ */
51
+ export function createHeadlessInstaller(options) {
52
+ return () => {
53
+ const result = installHooksHeadless({
54
+ allowHeadlessInstall: options.allowHeadlessInstall,
55
+ _settingsPathOverride: options._settingsPathOverride,
56
+ _projectSettingsPathOverride: options._projectSettingsPathOverride,
57
+ });
58
+ if (result.status === 'installed') {
59
+ // The hooks are already on disk, so a failed audit step must not turn
60
+ // the call into an error the client would retry.
61
+ try {
62
+ const record = options.getAuditTrail()?.recordHeadlessHookInstall(result.settingsPath);
63
+ if (record)
64
+ options.onAuditRecord?.(record);
65
+ }
66
+ catch (err) {
67
+ logger.warn('Hook install succeeded but its audit record failed', { error: errMsg(err) });
68
+ }
69
+ }
70
+ return result;
71
+ };
72
+ }
30
73
  //# sourceMappingURL=headless-install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"headless-install.js","sourceRoot":"","sources":["../../src/install/headless-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOlD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAA0E,EAAE;IAE5E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC;QACvD,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"headless-install.js","sourceRoot":"","sources":["../../src/install/headless-install.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,8 @@ export declare function areHooksInstalled(settingsContent: Record<string, unknow
75
75
  * whether NR hooks are installed. Returns false on any I/O error.
76
76
  */
77
77
  export declare function readAndCheckHooks(settingsPath?: string): boolean;
78
+ /** Whether NR hooks are installed in user-scope or project-scope Claude Code settings. */
79
+ export declare function areHooksInstalledAtAnyScope(home?: string | null): boolean;
78
80
  export declare function mergeSettings(existing: Record<string, unknown>, binPath?: string | null, options?: {
79
81
  platform?: PlatformTarget;
80
82
  }): Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"install-helper.d.ts","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-helper.d.ts","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"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"}
@@ -269,6 +269,11 @@ export function readAndCheckHooks(settingsPath) {
269
269
  return false;
270
270
  }
271
271
  }
272
+ /** Whether NR hooks are installed in user-scope or project-scope Claude Code settings. */
273
+ export function areHooksInstalledAtAnyScope(home) {
274
+ return (readAndCheckHooks(detectSettingsPath('user', home)) ||
275
+ readAndCheckHooks(detectSettingsPath('project', null)));
276
+ }
272
277
  // ---------------------------------------------------------------------------
273
278
  // Zod schemas — validate existing file shapes before merging
274
279
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"install-helper.js","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-helper.js","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Env keys that enable dynamic-linker or interpreter injection into a child
3
+ * process. Stripped before Preflight spawns anything it was configured to
4
+ * run (proxy stdio upstreams, secret helper commands).
5
+ */
6
+ export declare const DANGEROUS_ENV_KEYS: ReadonlySet<string>;
7
+ export declare function stripDangerousEnv(env: Readonly<Record<string, string | undefined>>): {
8
+ readonly env: Record<string, string>;
9
+ readonly stripped: readonly string[];
10
+ };
11
+ //# sourceMappingURL=child-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-env.d.ts","sourceRoot":"","sources":["../../src/lib/child-env.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAejD,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG;IACpF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,CASA"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Env keys that enable dynamic-linker or interpreter injection into a child
3
+ * process. Stripped before Preflight spawns anything it was configured to
4
+ * run (proxy stdio upstreams, secret helper commands).
5
+ */
6
+ export const DANGEROUS_ENV_KEYS = new Set([
7
+ 'LD_PRELOAD',
8
+ 'LD_LIBRARY_PATH',
9
+ 'DYLD_INSERT_LIBRARIES',
10
+ 'DYLD_LIBRARY_PATH',
11
+ 'NODE_OPTIONS',
12
+ 'PYTHONPATH',
13
+ 'PYTHONSTARTUP',
14
+ 'RUBYOPT',
15
+ 'PERL5LIB',
16
+ 'LD_AUDIT',
17
+ 'GCONV_PATH',
18
+ 'BASH_ENV',
19
+ 'ENV',
20
+ 'ELECTRON_RUN_AS_NODE',
21
+ ]);
22
+ export function stripDangerousEnv(env) {
23
+ const kept = {};
24
+ const stripped = [];
25
+ for (const [key, value] of Object.entries(env)) {
26
+ if (value === undefined)
27
+ continue;
28
+ if (DANGEROUS_ENV_KEYS.has(key))
29
+ stripped.push(key);
30
+ else
31
+ kept[key] = value;
32
+ }
33
+ return { env: kept, stripped };
34
+ }
35
+ //# sourceMappingURL=child-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-env.js","sourceRoot":"","sources":["../../src/lib/child-env.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,YAAY;IACZ,iBAAiB;IACjB,uBAAuB;IACvB,mBAAmB;IACnB,cAAc;IACd,YAAY;IACZ,eAAe;IACf,SAAS;IACT,UAAU;IACV,UAAU;IACV,YAAY;IACZ,UAAU;IACV,KAAK;IACL,sBAAsB;CACvB,CAAC,CAAC;AAEH,MAAM,UAAU,iBAAiB,CAAC,GAAiD;IAIjF,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACjC,CAAC"}
@@ -58,6 +58,13 @@ export declare function repoNameFromRemote(remote: string | null | undefined): s
58
58
  * opt-out) may carry. So a one-segment remote gives just its name.
59
59
  */
60
60
  export declare function projectIdFromRemote(remote: string | null | undefined): string | null;
61
+ /**
62
+ * A repo name saved before the shared parser existed can lead with the remote's
63
+ * userinfo (`<token>@github.com/widgets`). A real name never has an `@` in its
64
+ * first segment, so everything through the last `@` there is userinfo. Returns
65
+ * null when nothing is left.
66
+ */
67
+ export declare function stripRepoNameCredentials(name: string): string | null;
61
68
  /**
62
69
  * A browsable commit URL (`https://<host>/<path>/commit/<hash>`) for a network
63
70
  * remote. Null for local, `file://`, and `git://` remotes, for an ssh or scp
@@ -1 +1 @@
1
- {"version":3,"file":"git-remote.d.ts","sourceRoot":"","sources":["../../src/lib/git-remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,eAAe;IAC9B,gHAAgH;IAChH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0HAA0H;IAC1H,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mKAAmK;IACnK,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AA4GD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI,CAoBxF;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKpF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,MAAM,GAAG,IAAI,CAWf;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAiBvF"}
1
+ {"version":3,"file":"git-remote.d.ts","sourceRoot":"","sources":["../../src/lib/git-remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,eAAe;IAC9B,gHAAgH;IAChH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0HAA0H;IAC1H,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mKAAmK;IACnK,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AA4GD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI,CAoBxF;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKpF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMpE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,MAAM,GAAG,IAAI,CAWf;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAiBvF"}
@@ -163,6 +163,19 @@ export function projectIdFromRemote(remote) {
163
163
  // A one-segment path has no `/` after normalizePath(), and its ownerRepo is `host/name`.
164
164
  return parsed.path.includes('/') ? parsed.ownerRepo : parsed.path;
165
165
  }
166
+ /**
167
+ * A repo name saved before the shared parser existed can lead with the remote's
168
+ * userinfo (`<token>@github.com/widgets`). A real name never has an `@` in its
169
+ * first segment, so everything through the last `@` there is userinfo. Returns
170
+ * null when nothing is left.
171
+ */
172
+ export function stripRepoNameCredentials(name) {
173
+ const slash = name.indexOf('/');
174
+ const firstSegment = slash === -1 ? name : name.slice(0, slash);
175
+ const at = firstSegment.lastIndexOf('@');
176
+ const stripped = name.slice(at + 1);
177
+ return stripped.length > 0 ? stripped : null;
178
+ }
166
179
  /**
167
180
  * A browsable commit URL (`https://<host>/<path>/commit/<hash>`) for a network
168
181
  * remote. Null for local, `file://`, and `git://` remotes, for an ssh or scp
@@ -1 +1 @@
1
- {"version":3,"file":"git-remote.js","sourceRoot":"","sources":["../../src/lib/git-remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-remote.js","sourceRoot":"","sources":["../../src/lib/git-remote.ts"],"names":[],"mappings":"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"}
@@ -22,4 +22,24 @@ export interface CostEstimateParams {
22
22
  * See #877.
23
23
  */
24
24
  export declare function shouldApplyCostEstimate(params: CostEstimateParams): boolean;
25
+ /**
26
+ * Whether a record belongs to the session this process owns, so its cost may
27
+ * enter the process-wide `CostTracker`. A record with no session id is treated
28
+ * as ours. Applies to exact token events as well as byte estimates: a
29
+ * provisional `--stdio` engine drains every session's buffer before its own id
30
+ * resolves, and would otherwise persist a crashed session's cost as its own.
31
+ */
32
+ export declare function isOwnSessionRecord(recordSessionId: string | null, ownSessionId: string): boolean;
33
+ /**
34
+ * Whether a token event's cost belongs to this process's session rather than
35
+ * only to that session's rollup. A `--stdio` engine persists its process-wide
36
+ * `CostTracker` total as its own session's cost, and stamps its own session id
37
+ * on every `AiTurnCost` it emits, so another session's token event must feed
38
+ * neither. `--local` owns no single session and keeps everything.
39
+ */
40
+ export declare function isTokenEventForThisProcess(params: {
41
+ readonly stdio: boolean;
42
+ readonly eventSessionId: string | null;
43
+ readonly ownSessionId: string;
44
+ }): boolean;
25
45
  //# sourceMappingURL=cost-estimate-gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost-estimate-gate.d.ts","sourceRoot":"","sources":["../../src/metrics/cost-estimate-gate.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,+FAA+F;IAC/F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAI3E"}
1
+ {"version":3,"file":"cost-estimate-gate.d.ts","sourceRoot":"","sources":["../../src/metrics/cost-estimate-gate.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,+FAA+F;IAC/F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAI3E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAEhG;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAEV"}
@@ -18,6 +18,26 @@ export function shouldApplyCostEstimate(params) {
18
18
  return false;
19
19
  if (params.reportCount !== 0)
20
20
  return false;
21
- return params.recordSessionId === null || params.recordSessionId === params.ownSessionId;
21
+ return isOwnSessionRecord(params.recordSessionId, params.ownSessionId);
22
+ }
23
+ /**
24
+ * Whether a record belongs to the session this process owns, so its cost may
25
+ * enter the process-wide `CostTracker`. A record with no session id is treated
26
+ * as ours. Applies to exact token events as well as byte estimates: a
27
+ * provisional `--stdio` engine drains every session's buffer before its own id
28
+ * resolves, and would otherwise persist a crashed session's cost as its own.
29
+ */
30
+ export function isOwnSessionRecord(recordSessionId, ownSessionId) {
31
+ return recordSessionId === null || recordSessionId === ownSessionId;
32
+ }
33
+ /**
34
+ * Whether a token event's cost belongs to this process's session rather than
35
+ * only to that session's rollup. A `--stdio` engine persists its process-wide
36
+ * `CostTracker` total as its own session's cost, and stamps its own session id
37
+ * on every `AiTurnCost` it emits, so another session's token event must feed
38
+ * neither. `--local` owns no single session and keeps everything.
39
+ */
40
+ export function isTokenEventForThisProcess(params) {
41
+ return !params.stdio || isOwnSessionRecord(params.eventSessionId, params.ownSessionId);
22
42
  }
23
43
  //# sourceMappingURL=cost-estimate-gate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost-estimate-gate.js","sourceRoot":"","sources":["../../src/metrics/cost-estimate-gate.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAA0B;IAChE,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,MAAM,CAAC,eAAe,KAAK,IAAI,IAAI,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,YAAY,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"cost-estimate-gate.js","sourceRoot":"","sources":["../../src/metrics/cost-estimate-gate.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAA0B;IAChE,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,kBAAkB,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,eAA8B,EAAE,YAAoB;IACrF,OAAO,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,YAAY,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAI1C;IACC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,kBAAkB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;AACzF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cost-tracker-seed.d.ts","sourceRoot":"","sources":["../../src/metrics/cost-tracker-seed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWzD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,GAAG,eAAe,CA0BnF"}
1
+ {"version":3,"file":"cost-tracker-seed.d.ts","sourceRoot":"","sources":["../../src/metrics/cost-tracker-seed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWzD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,GAAG,eAAe,CA2BnF"}
@@ -32,6 +32,7 @@ export function buildCostTrackerSeed(persisted) {
32
32
  daySubagentCostUsd: persisted.subagentCostUsd * todayRatio,
33
33
  ...(persisted.unpricedByModel && { unpricedByModel: persisted.unpricedByModel }),
34
34
  ...(persisted.estimatedByModel && { estimatedByModel: persisted.estimatedByModel }),
35
+ ...(persisted.byteEstimates && { byteEstimates: persisted.byteEstimates }),
35
36
  };
36
37
  }
37
38
  //# sourceMappingURL=cost-tracker-seed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost-tracker-seed.js","sourceRoot":"","sources":["../../src/metrics/cost-tracker-seed.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE5F,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,yDAAyD;AACzD,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,MAAM,UAAU,oBAAoB,CAAC,SAA6B;IAChE,MAAM,YAAY,GAAG,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACrD,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QACtE,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO;QACL,YAAY;QACZ,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,aAAa,EAAE,YAAY,GAAG,SAAS,CAAC,eAAe;QACvD,gBAAgB,EAAE,SAAS,CAAC,WAAW;QACvC,iBAAiB,EAAE,SAAS,CAAC,YAAY;QACzC,mBAAmB,EAAE,SAAS,CAAC,cAAc;QAC7C,oBAAoB,EAAE,SAAS,CAAC,eAAe;QAC/C,wBAAwB,EAAE,SAAS,CAAC,mBAAmB;QACvD,oBAAoB,EAAE,SAAS,CAAC,eAAe;QAC/C,WAAW;QACX,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;QAClD,MAAM;QACN,UAAU,EAAE,yBAAyB,CAAC,SAAS,CAAC;QAChD,kBAAkB,EAAE,SAAS,CAAC,eAAe,GAAG,UAAU;QAC1D,GAAG,CAAC,SAAS,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC;QAChF,GAAG,CAAC,SAAS,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE,CAAC;KACpF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cost-tracker-seed.js","sourceRoot":"","sources":["../../src/metrics/cost-tracker-seed.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE5F,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,yDAAyD;AACzD,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,MAAM,UAAU,oBAAoB,CAAC,SAA6B;IAChE,MAAM,YAAY,GAAG,SAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACrD,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QACtE,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO;QACL,YAAY;QACZ,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,aAAa,EAAE,YAAY,GAAG,SAAS,CAAC,eAAe;QACvD,gBAAgB,EAAE,SAAS,CAAC,WAAW;QACvC,iBAAiB,EAAE,SAAS,CAAC,YAAY;QACzC,mBAAmB,EAAE,SAAS,CAAC,cAAc;QAC7C,oBAAoB,EAAE,SAAS,CAAC,eAAe;QAC/C,wBAAwB,EAAE,SAAS,CAAC,mBAAmB;QACvD,oBAAoB,EAAE,SAAS,CAAC,eAAe;QAC/C,WAAW;QACX,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;QAClD,MAAM;QACN,UAAU,EAAE,yBAAyB,CAAC,SAAS,CAAC;QAChD,kBAAkB,EAAE,SAAS,CAAC,eAAe,GAAG,UAAU;QAC1D,GAAG,CAAC,SAAS,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC;QAChF,GAAG,CAAC,SAAS,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE,CAAC;QACnF,GAAG,CAAC,SAAS,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC;KAC3E,CAAC;AACJ,CAAC"}
@@ -50,6 +50,17 @@ export interface TokenRecordContext {
50
50
  * observation.
51
51
  */
52
52
  readonly responseMs?: number;
53
+ /**
54
+ * Set by `onTokenEvent`, i.e. by the usage watchers (the Claude Code
55
+ * transcript watcher, `CopilotUsageWatcher`, `CopilotAppUsageWatcher`, and
56
+ * the Copilot SDK extension), whose reports replay history and so cover the
57
+ * turns the byte estimates stood in for. `CopilotAppUsageWatcher` skips an
58
+ * over-threshold first-seen backlog, so its next delta can drop estimates
59
+ * for turns that are never reported. A self-report
60
+ * (`nr_observe_report_tokens`) describes one response and must leave the
61
+ * estimates for earlier turns in place.
62
+ */
63
+ readonly replacesEstimates?: boolean;
53
64
  }
54
65
  export interface UnpricedModelUsage {
55
66
  readonly calls: number;
@@ -60,9 +71,21 @@ export interface EstimatedModelUsage extends UnpricedModelUsage {
60
71
  /** Table id whose price stood in for this model's missing one. */
61
72
  readonly estimatedFrom: string;
62
73
  }
74
+ /**
75
+ * The part of the session total that came from byte-size estimates
76
+ * (`recordEstimatedTokens`) rather than a real token report. Kept as its own
77
+ * ledger so the first real report can take it back out: the same turns arrive
78
+ * again as exact usage once the transcript watcher reads from byte 0.
79
+ */
80
+ export interface ByteEstimateLedger {
81
+ readonly costUsd: number;
82
+ readonly inputTokens: number;
83
+ readonly outputTokens: number;
84
+ readonly costByModel: Readonly<Record<string, number>>;
85
+ readonly costByDayUsd: Readonly<Record<string, number>>;
86
+ }
63
87
  export interface CostMetrics {
64
88
  readonly sessionTotalCostUsd: number | null;
65
- readonly costByTask: null;
66
89
  readonly costByModel: Record<string, number>;
67
90
  readonly costPerLineOfCode: number | null;
68
91
  readonly costPerFileModified: number | null;
@@ -82,6 +105,13 @@ export interface CostMetrics {
82
105
  readonly totalCacheSavingsUsd: number;
83
106
  readonly reportCount: number;
84
107
  readonly estimationCount: number;
108
+ /**
109
+ * Byte-estimated share of the totals still awaiting a real report. Present
110
+ * once any estimate has been recorded or seeded; all-zero after a real
111
+ * report took the estimates back out, so a persisted copy is overwritten
112
+ * rather than left stale.
113
+ */
114
+ readonly byteEstimates?: ByteEstimateLedger;
85
115
  readonly latestCostBreakdown: CostBreakdown | null;
86
116
  /** Cumulative cost attributed to subagent calls (ctx.agentId was set). */
87
117
  readonly subagentCostUsd: number;
@@ -177,6 +207,8 @@ export interface CostTrackerSeed {
177
207
  readonly costByWorkflowRunId: Readonly<Record<string, Readonly<Record<string, number>>>>;
178
208
  readonly unpricedByModel?: Readonly<Record<string, UnpricedModelUsage>>;
179
209
  readonly estimatedByModel?: Readonly<Record<string, EstimatedModelUsage>>;
210
+ /** Restored separately because `seedFromPersisted` counts as a report. See `ByteEstimateLedger`. */
211
+ readonly byteEstimates?: ByteEstimateLedger;
180
212
  }
181
213
  export interface SubagentMetrics {
182
214
  readonly subagentUsd: number;
@@ -201,6 +233,13 @@ export declare class CostTracker implements Resettable {
201
233
  private currentModel;
202
234
  private reportCount;
203
235
  private estimationCount;
236
+ private byteEstimateCostUsd;
237
+ private byteEstimateInputTokens;
238
+ private byteEstimateOutputTokens;
239
+ private byteEstimateCostByModel;
240
+ private byteEstimateCostByDay;
241
+ /** True once a ledger exists to report, even if a real report has since emptied it. */
242
+ private hasByteEstimateHistory;
204
243
  private latestCostBreakdown;
205
244
  private costByModel;
206
245
  private unpricedByModel;
@@ -250,6 +289,13 @@ export declare class CostTracker implements Resettable {
250
289
  constructor(sessionTracker?: SessionTracker, options?: {
251
290
  rateMultiplier?: number;
252
291
  });
292
+ /**
293
+ * Prices a usage without recording it, applying this tracker's rate
294
+ * multiplier. For events that belong to another session: the caller still
295
+ * needs the dollar figure for that session's own rollup, but must not fold it
296
+ * into this process-wide total.
297
+ */
298
+ priceUsage(usage: TokenUsage, model: string): CostBreakdown;
253
299
  /**
254
300
  * Primary path: record exact token usage from self-reporting.
255
301
  *
@@ -264,6 +310,12 @@ export declare class CostTracker implements Resettable {
264
310
  * Uses the heuristic: tokens ≈ characters / 4.
265
311
  */
266
312
  recordEstimatedTokens(inputChars: number, outputChars: number, model: string): CostBreakdown;
313
+ /**
314
+ * Takes the byte-estimated share back out of the totals. Subtraction clamps
315
+ * at zero because a seeded ledger can name a day or model the seeded totals
316
+ * bucketed differently.
317
+ */
318
+ private discardByteEstimates;
267
319
  /**
268
320
  * Shared by both the late-arrival and normal paths of `accumulateTokens`:
269
321
  * per-agent-type subagent bucketing, high-context spend, and API-duration
@@ -1 +1 @@
1
- {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/metrics/cost-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/metrics/cost-tracker.ts"],"names":[],"mappings":"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"}