@newrelic/preflight 1.0.4 → 1.0.5

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 (148) hide show
  1. package/README.md +2 -1
  2. package/dist/alerts/types.d.ts.map +1 -1
  3. package/dist/alerts/types.js.map +1 -1
  4. package/dist/config.js +3 -3
  5. package/dist/config.js.map +1 -1
  6. package/dist/dashboard/dashboard-server.d.ts +4 -0
  7. package/dist/dashboard/dashboard-server.d.ts.map +1 -1
  8. package/dist/dashboard/dashboard-server.js +42 -1
  9. package/dist/dashboard/dashboard-server.js.map +1 -1
  10. package/dist/dashboard/live-event-bus.js +2 -2
  11. package/dist/dashboard/live-event-bus.js.map +1 -1
  12. package/dist/dashboard/routes/sse-handler.js +3 -3
  13. package/dist/dashboard/routes/sse-handler.js.map +1 -1
  14. package/dist/hooks/collector-script.d.ts.map +1 -1
  15. package/dist/hooks/collector-script.js +1 -5
  16. package/dist/hooks/collector-script.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/install/schedule.d.ts +1 -0
  22. package/dist/install/schedule.d.ts.map +1 -1
  23. package/dist/install/schedule.js +23 -5
  24. package/dist/install/schedule.js.map +1 -1
  25. package/dist/metrics/anti-patterns.d.ts.map +1 -1
  26. package/dist/metrics/anti-patterns.js.map +1 -1
  27. package/dist/metrics/context-composition-tracker.d.ts.map +1 -1
  28. package/dist/metrics/context-composition-tracker.js.map +1 -1
  29. package/dist/platforms/copilot-adapter.d.ts.map +1 -1
  30. package/dist/platforms/copilot-adapter.js.map +1 -1
  31. package/dist/proxy/otlp-receiver.d.ts.map +1 -1
  32. package/dist/proxy/otlp-receiver.js.map +1 -1
  33. package/dist/proxy/proxy-manager.js +1 -1
  34. package/dist/proxy/proxy-manager.js.map +1 -1
  35. package/dist/proxy/upstream-stdio.d.ts.map +1 -1
  36. package/dist/proxy/upstream-stdio.js.map +1 -1
  37. package/dist/security/ssrf.js +1 -1
  38. package/dist/security/ssrf.js.map +1 -1
  39. package/dist/server.d.ts.map +1 -1
  40. package/dist/server.js +2 -1
  41. package/dist/server.js.map +1 -1
  42. package/dist/shared/__test-utils__/log-output.d.ts +1 -2
  43. package/dist/shared/__test-utils__/log-output.d.ts.map +1 -1
  44. package/dist/shared/__test-utils__/log-output.js +1 -2
  45. package/dist/shared/__test-utils__/log-output.js.map +1 -1
  46. package/dist/shared/config.d.ts +8 -2
  47. package/dist/shared/config.d.ts.map +1 -1
  48. package/dist/shared/config.js +20 -20
  49. package/dist/shared/config.js.map +1 -1
  50. package/dist/shared/errors.d.ts +1 -1
  51. package/dist/shared/errors.js +10 -10
  52. package/dist/shared/errors.js.map +1 -1
  53. package/dist/shared/events/factory.js +12 -12
  54. package/dist/shared/events/factory.js.map +1 -1
  55. package/dist/shared/events/serialize.d.ts +2 -2
  56. package/dist/shared/events/serialize.js +19 -19
  57. package/dist/shared/events/serialize.js.map +1 -1
  58. package/dist/shared/harvest/event-buffer.d.ts +2 -2
  59. package/dist/shared/harvest/event-buffer.js +3 -3
  60. package/dist/shared/harvest/event-buffer.js.map +1 -1
  61. package/dist/shared/harvest/harvest-scheduler.d.ts +4 -5
  62. package/dist/shared/harvest/harvest-scheduler.d.ts.map +1 -1
  63. package/dist/shared/harvest/harvest-scheduler.js +35 -35
  64. package/dist/shared/harvest/harvest-scheduler.js.map +1 -1
  65. package/dist/shared/harvest/metric-aggregator.d.ts +9 -9
  66. package/dist/shared/harvest/metric-aggregator.d.ts.map +1 -1
  67. package/dist/shared/harvest/metric-aggregator.js +16 -18
  68. package/dist/shared/harvest/metric-aggregator.js.map +1 -1
  69. package/dist/shared/index.d.ts +0 -1
  70. package/dist/shared/index.d.ts.map +1 -1
  71. package/dist/shared/index.js +0 -1
  72. package/dist/shared/index.js.map +1 -1
  73. package/dist/shared/logger.d.ts +4 -5
  74. package/dist/shared/logger.d.ts.map +1 -1
  75. package/dist/shared/logger.js +12 -12
  76. package/dist/shared/logger.js.map +1 -1
  77. package/dist/shared/pricing-data.js +10 -10
  78. package/dist/shared/pricing-data.js.map +1 -1
  79. package/dist/shared/pricing.d.ts +3 -3
  80. package/dist/shared/pricing.js +12 -12
  81. package/dist/shared/pricing.js.map +1 -1
  82. package/dist/shared/redact.d.ts +1 -3
  83. package/dist/shared/redact.d.ts.map +1 -1
  84. package/dist/shared/redact.js +8 -10
  85. package/dist/shared/redact.js.map +1 -1
  86. package/dist/shared/timing.d.ts +4 -4
  87. package/dist/shared/timing.d.ts.map +1 -1
  88. package/dist/shared/timing.js +9 -9
  89. package/dist/shared/timing.js.map +1 -1
  90. package/dist/shared/tokens.d.ts +4 -4
  91. package/dist/shared/tokens.js +16 -16
  92. package/dist/shared/tokens.js.map +1 -1
  93. package/dist/shared/transport/events-api.d.ts +1 -1
  94. package/dist/shared/transport/events-api.d.ts.map +1 -1
  95. package/dist/shared/transport/events-api.js +2 -1
  96. package/dist/shared/transport/events-api.js.map +1 -1
  97. package/dist/shared/transport/http-client.d.ts +1 -1
  98. package/dist/shared/transport/http-client.d.ts.map +1 -1
  99. package/dist/shared/transport/http-client.js +19 -28
  100. package/dist/shared/transport/http-client.js.map +1 -1
  101. package/dist/shared/transport/logs-api.d.ts +2 -3
  102. package/dist/shared/transport/logs-api.d.ts.map +1 -1
  103. package/dist/shared/transport/logs-api.js +3 -3
  104. package/dist/shared/transport/logs-api.js.map +1 -1
  105. package/dist/shared/transport/metric-api.d.ts.map +1 -1
  106. package/dist/shared/transport/metric-api.js +1 -0
  107. package/dist/shared/transport/metric-api.js.map +1 -1
  108. package/dist/shared/transport/otlp-event-bridge.d.ts +10 -5
  109. package/dist/shared/transport/otlp-event-bridge.d.ts.map +1 -1
  110. package/dist/shared/transport/otlp-event-bridge.js +20 -11
  111. package/dist/shared/transport/otlp-event-bridge.js.map +1 -1
  112. package/dist/shared/transport/otlp-shared.d.ts +12 -1
  113. package/dist/shared/transport/otlp-shared.d.ts.map +1 -1
  114. package/dist/shared/transport/otlp-shared.js +20 -4
  115. package/dist/shared/transport/otlp-shared.js.map +1 -1
  116. package/dist/shared/transport/otlp-transport.d.ts +22 -19
  117. package/dist/shared/transport/otlp-transport.d.ts.map +1 -1
  118. package/dist/shared/transport/otlp-transport.js +136 -120
  119. package/dist/shared/transport/otlp-transport.js.map +1 -1
  120. package/dist/shared/transport/types.d.ts +7 -3
  121. package/dist/shared/transport/types.d.ts.map +1 -1
  122. package/dist/storage/session-store.js +1 -1
  123. package/dist/storage/weekly-summary.js +3 -3
  124. package/dist/storage/weekly-summary.js.map +1 -1
  125. package/dist/tools/cross-session-tools.js +1 -1
  126. package/dist/tools/cross-session-tools.js.map +1 -1
  127. package/dist/tools/session-stats.d.ts.map +1 -1
  128. package/dist/tools/session-stats.js +2 -1
  129. package/dist/tools/session-stats.js.map +1 -1
  130. package/dist/tracing/mcp-tracer.js +1 -1
  131. package/dist/tracing/mcp-tracer.js.map +1 -1
  132. package/dist/transport/nr-ingest.d.ts.map +1 -1
  133. package/dist/transport/nr-ingest.js +4 -0
  134. package/dist/transport/nr-ingest.js.map +1 -1
  135. package/dist/version.d.ts +2 -0
  136. package/dist/version.d.ts.map +1 -0
  137. package/dist/version.js +21 -0
  138. package/dist/version.js.map +1 -0
  139. package/dist/web/assets/index-CW0UCwb9.css +2 -0
  140. package/dist/web/assets/index-HRyb4aZK.js +64 -0
  141. package/dist/web/index.html +2 -2
  142. package/package.json +23 -23
  143. package/dist/shared/version.d.ts +0 -2
  144. package/dist/shared/version.d.ts.map +0 -1
  145. package/dist/shared/version.js +0 -2
  146. package/dist/shared/version.js.map +0 -1
  147. package/dist/web/assets/index-BrL281N-.css +0 -2
  148. package/dist/web/assets/index-CcaYZzXm.js +0 -42
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAsD3D;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,CAEhF"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAsD3D;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,CAEhF"}
@@ -6,7 +6,7 @@ const LOG_LEVEL_ORDER = {
6
6
  error: 3,
7
7
  };
8
8
  /**
9
- * type-safe narrowing helper. The previous
9
+ * Type-safe narrowing helper. The previous
10
10
  * `envLevel in LOG_LEVEL_ORDER` check + `as LogLevel` cast was sound at
11
11
  * runtime today but the cast hid the gap: TS can't narrow `string` to a
12
12
  * literal union via `in`, so a refactor that broadened `LOG_LEVEL_ORDER`
@@ -28,7 +28,7 @@ function resolveLogLevel() {
28
28
  /**
29
29
  * Cached resolved log level.
30
30
  *
31
- * Pre-§7.5, every `createLogger()` call re-read `NEW_RELIC_AI_LOG_LEVEL`
31
+ * Previously, every `createLogger()` call re-read `NEW_RELIC_AI_LOG_LEVEL`
32
32
  * from the env. If a process changed the env between two calls — common
33
33
  * in tests that flip it per-block — the two loggers ended up with
34
34
  * different levels, producing flapping behavior that was hard to debug.
@@ -73,14 +73,14 @@ export function __resetLogLevelCache() {
73
73
  *
74
74
  * makes the http-client module emit only errors regardless of how the
75
75
  * rest of the process is configured. Without an override, the level
76
- * resolves from the env (cached, see 5) and tracks
76
+ * resolves from the env (cached) and tracks
77
77
  * process-wide changes via `__resetLogLevelCache()`.
78
78
  */
79
79
  export function createLogger(component, levelOverride) {
80
80
  return createLoggerInternal(component, levelOverride, undefined);
81
81
  }
82
82
  function createLoggerInternal(component, levelOverride, boundContext) {
83
- // 5: when no override is supplied, the minimum level is
83
+ // When no override is supplied, the minimum level is
84
84
  // resolved per-log-call via the cached `getMinLevel()` so a process-wide
85
85
  // log-level change (env mutation + cache reset) takes effect immediately
86
86
  // for already-constructed loggers — without a Map lookup penalty in the
@@ -91,7 +91,7 @@ function createLoggerInternal(component, levelOverride, boundContext) {
91
91
  const minLevelOrder = fixedLevelOrder ?? LOG_LEVEL_ORDER[getMinLevel()];
92
92
  if (LOG_LEVEL_ORDER[level] < minLevelOrder)
93
93
  return;
94
- // §7.2: defensively redact secret-shaped keys from caller-supplied `data`
94
+ // Defensively redact secret-shaped keys from caller-supplied `data`
95
95
  // before merging into the log entry. Callers occasionally pass through
96
96
  // config objects (`{ ...config }`) or response payloads that contain
97
97
  // licenseKey / authorization headers; without this guard those fields
@@ -99,13 +99,13 @@ function createLoggerInternal(component, levelOverride, boundContext) {
99
99
  const safeData = data === undefined ? undefined : redact(data);
100
100
  const now = new Date();
101
101
  const entry = {
102
- // §7.6: bound context first, per-call data wins on key collision.
102
+ // Bound context first, per-call data wins on key collision.
103
103
  // Canonical fields come last so callers cannot accidentally overwrite
104
104
  // level, message, component, timestamp, or epoch_ms.
105
105
  ...(boundContext ?? {}),
106
106
  ...safeData,
107
107
  timestamp: now.toISOString(),
108
- // §7.7: epoch_ms alongside ISO timestamp for NR Logs API ingestion.
108
+ // epoch_ms alongside ISO timestamp for NR Logs API ingestion.
109
109
  epoch_ms: now.getTime(),
110
110
  level,
111
111
  component,
@@ -116,7 +116,7 @@ function createLoggerInternal(component, levelOverride, boundContext) {
116
116
  serialized = JSON.stringify(entry);
117
117
  }
118
118
  catch {
119
- // §7.3: per-field fallback. JSON.stringify on the whole entry threw,
119
+ // Per-field fallback. JSON.stringify on the whole entry threw,
120
120
  // but most fields are probably fine — only one or two values are bad
121
121
  // (e.g. a BigInt buried in caller data). Walk top-level keys and
122
122
  // replace ONLY the offending ones with '[unserializable]', so
@@ -124,7 +124,7 @@ function createLoggerInternal(component, levelOverride, boundContext) {
124
124
  // and any well-formed data fields) still surface. `data` is spread
125
125
  // into entry via `...safeData` above, so its keys are already
126
126
  // top-level here.
127
- // NOTE (§LG1): this walk operates on top-level entry keys only. If a
127
+ // NOTE: this walk operates on top-level entry keys only. If a
128
128
  // data field is a nested object containing an unserializable value
129
129
  // (e.g. `data = { outer: { amount: 1n } }`), the entire `outer` key is
130
130
  // replaced with '[unserializable]' — not just the `amount` sub-key.
@@ -141,7 +141,7 @@ function createLoggerInternal(component, levelOverride, boundContext) {
141
141
  }
142
142
  serialized = JSON.stringify(safeEntry);
143
143
  }
144
- // §7.4: prefer console.error over a raw process.stderr.write. Both go to
144
+ // Prefer console.error over a raw process.stderr.write. Both go to
145
145
  // the same underlying stream, but console.error uses Node's Console
146
146
  // implementation which handles formatting and any future buffering
147
147
  // changes — and it keeps log output cooperative with consumer code that
@@ -156,8 +156,8 @@ function createLoggerInternal(component, levelOverride, boundContext) {
156
156
  child: (context) => createLoggerInternal(component, levelOverride, {
157
157
  ...(boundContext ?? {}),
158
158
  // Redacting at child-creation time avoids re-running redact() on the
159
- // bound context per log call (§LG2). Note: per-call data is still
160
- // redacted on every emit (line 141) — only bound context gets the
159
+ // bound context per log call. Note: per-call data is still
160
+ // redacted on every emit — only bound context gets the
161
161
  // creation-time optimization.
162
162
  ...redact(context),
163
163
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"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"}
@@ -21,12 +21,12 @@ export const MODEL_ALIASES = {
21
21
  'gemini-3.1-pro': 'gemini-3.1-pro-preview',
22
22
  'gemini-3.1-flash-lite': 'gemini-3.1-flash-lite-preview',
23
23
  'gemini-3-flash': 'gemini-3-flash-preview',
24
- // Gemini family shortcuts (§PD4): without these, bare family queries like
24
+ // Gemini family shortcuts: without these, bare family queries like
25
25
  // 'gemini-2.5' return null (gpt-style .x suffixes don't match -\d prefix
26
26
  // heuristic) or non-deterministically pick between pro/flash.
27
27
  'gemini-2.5': 'gemini-2.5-pro',
28
28
  'gemini-2.0': 'gemini-2.0-flash',
29
- // OpenAI family shortcuts (§PD4): 'gpt-5' has no exact key and the .x
29
+ // OpenAI family shortcuts: 'gpt-5' has no exact key and the .x
30
30
  // suffix prevents the forward-prefix heuristic from matching.
31
31
  'gpt-5': 'gpt-5.5',
32
32
  };
@@ -67,7 +67,7 @@ export const DEFAULT_PRICING_TABLE = {
67
67
  // Dateless current-gen entry — MODEL_ALIASES['claude-haiku-4'] routes here.
68
68
  // Matches the opus/sonnet convention: alias → dateless key → dated legacy key.
69
69
  // Update this entry when Haiku 4.x rates change; the dated entry below is
70
- // retained only for historical-cost backfill (§PD3).
70
+ // retained only for historical-cost backfill.
71
71
  'claude-haiku-4-5': {
72
72
  inputPerMTok: 1,
73
73
  outputPerMTok: 5,
@@ -85,7 +85,7 @@ export const DEFAULT_PRICING_TABLE = {
85
85
  contextWindow: 200_000,
86
86
  },
87
87
  // ---- Anthropic (legacy Claude 4 generation) ----
88
- // these legacy entries share input/output/cache rates
88
+ // These legacy entries share input/output/cache rates
89
89
  // with their current-generation counterparts, but `contextWindow` differs
90
90
  // (200K legacy vs 1M current). They are NOT alias candidates: the cost
91
91
  // calculations downstream don't use contextWindow, but downstream tooling
@@ -120,7 +120,7 @@ export const DEFAULT_PRICING_TABLE = {
120
120
  // The reverse-prefix algorithm strips only 8-digit date suffixes, so a
121
121
  // future model named 'claude-opus-4-10' (or 'claude-opus-4-100') would
122
122
  // match this entry via reverse-prefix because
123
- // 'claude-opus-4-10'.startsWith('claude-opus-4-1') is true (§PD5).
123
+ // 'claude-opus-4-10'.startsWith('claude-opus-4-1') is true.
124
124
  // If Anthropic releases a claude-opus-4-10 model, add an explicit alias
125
125
  // before that model key appears in the table.
126
126
  'claude-opus-4-1': {
@@ -235,7 +235,7 @@ export const DEFAULT_PRICING_TABLE = {
235
235
  cacheReadPerMTok: 0.5,
236
236
  contextWindow: 1_000_000,
237
237
  // OpenAI long-context pricing is marginal: only tokens above 270k are
238
- // billed at the tier rate — not the entire request (§PD2).
238
+ // billed at the tier rate — not the entire request.
239
239
  tierThreshold: 270_000,
240
240
  tierMode: 'marginal',
241
241
  tierInputPerMTok: 10,
@@ -296,7 +296,7 @@ export const DEFAULT_PRICING_TABLE = {
296
296
  // completion_tokens at outputPerMTok. The extractor sets thinkingTokens
297
297
  // from completion_tokens_details.reasoning_tokens as an informational
298
298
  // breakdown, but those tokens are already counted in outputTokens, so
299
- // a separate thinkingPerMTok rate would double-bill (§PD1).
299
+ // a separate thinkingPerMTok rate would double-bill.
300
300
  contextWindow: 200_000,
301
301
  },
302
302
  'o1-mini': {
@@ -312,7 +312,7 @@ export const DEFAULT_PRICING_TABLE = {
312
312
  o3: {
313
313
  inputPerMTok: 10,
314
314
  outputPerMTok: 40,
315
- // No thinkingPerMTok — see 'o1' comment above (§PD1).
315
+ // No thinkingPerMTok — see 'o1' comment above.
316
316
  contextWindow: 200_000,
317
317
  },
318
318
  'o3-mini': {
@@ -337,7 +337,7 @@ export const DEFAULT_PRICING_TABLE = {
337
337
  },
338
338
  // ---- AWS Bedrock (Converse API pricing for on-demand) ----
339
339
  // Current Claude generation via Bedrock
340
- // NOTE (§PR2): cache pricing for claude-opus-4-7 and claude-sonnet-4-6 on
340
+ // NOTE: cache pricing for claude-opus-4-7 and claude-sonnet-4-6 on
341
341
  // Bedrock has not been publicly documented as of 2026-06-03. Rates below are
342
342
  // omitted until verified against the AWS Bedrock pricing page.
343
343
  'anthropic.claude-opus-4-7': {
@@ -356,7 +356,7 @@ export const DEFAULT_PRICING_TABLE = {
356
356
  contextWindow: 200_000,
357
357
  },
358
358
  // Legacy Claude models via Bedrock cross-region inference
359
- // Cache rates verified against AWS Bedrock pricing page (2026-06-03) (§PR2).
359
+ // Cache rates verified against AWS Bedrock pricing page (2026-06-03).
360
360
  'anthropic.claude-3-5-sonnet-20241022-v2:0': {
361
361
  inputPerMTok: 3,
362
362
  outputPerMTok: 15,
@@ -1 +1 @@
1
- {"version":3,"file":"pricing-data.js","sourceRoot":"","sources":["../../src/shared/pricing-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing-data.js","sourceRoot":"","sources":["../../src/shared/pricing-data.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,+CAA+C;AAC/C,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,4EAA4E;AAC5E,8EAA8E;AAC9E,uEAAuE;AACvE,mEAAmE;AACnE,EAAE;AACF,4EAA4E;AAC5E,2BAA2B;AAC3B,8EAA8E;AAC9E,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,4BAA4B;IAC5B,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,2BAA2B;IAE/C,sCAAsC;IACtC,gBAAgB,EAAE,wBAAwB;IAC1C,uBAAuB,EAAE,+BAA+B;IACxD,gBAAgB,EAAE,wBAAwB;IAC1C,mEAAmE;IACnE,yEAAyE;IACzE,8DAA8D;IAC9D,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,kBAAkB;IAEhC,+DAA+D;IAC/D,8DAA8D;IAC9D,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,8EAA8E;AAC9E,kDAAkD;AAClD,EAAE;AACF,yEAAyE;AACzE,oDAAoD;AACpD,2EAA2E;AAC3E,kDAAkD;AAClD,6CAA6C;AAC7C,6CAA6C;AAC7C,0DAA0D;AAC1D,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,0EAA0E;AAC1E,iCAAiC;AACjC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,qBAAqB,GAAiC;IACjE,2CAA2C;IAC3C,iBAAiB,EAAE;QACjB,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,SAAS;KACzB;IACD,mBAAmB,EAAE;QACnB,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,SAAS;KACzB;IACD,4EAA4E;IAC5E,+EAA+E;IAC/E,0EAA0E;IAC1E,8CAA8C;IAC9C,kBAAkB,EAAE;QAClB,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,OAAO;KACvB;IACD,2BAA2B,EAAE;QAC3B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,OAAO;KACvB;IAED,mDAAmD;IACnD,sDAAsD;IACtD,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,yEAAyE;IACzE,oEAAoE;IACpE,yDAAyD;IACzD,iBAAiB,EAAE;QACjB,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,OAAO;KACvB;IACD,mBAAmB,EAAE;QACnB,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,OAAO;KACvB;IACD,iBAAiB,EAAE;QACjB,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,OAAO;KACvB;IACD,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,8CAA8C;IAC9C,4DAA4D;IAC5D,wEAAwE;IACxE,8CAA8C;IAC9C,iBAAiB,EAAE;QACjB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,OAAO;KACvB;IACD,0BAA0B,EAAE;QAC1B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,OAAO;KACvB;IACD,wBAAwB,EAAE;QACxB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,OAAO;KACvB;IACD,2BAA2B,EAAE;QAC3B,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,CAAC;QACvB,aAAa,EAAE,OAAO;KACvB;IAED,+CAA+C;IAC/C,wBAAwB,EAAE;QACxB,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,OAAO;QACtB,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE,EAAE;KACxB;IACD,+BAA+B,EAAE;QAC/B,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,SAAS;KACzB;IACD,wBAAwB,EAAE;QACxB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,SAAS;KACzB;IAED,8BAA8B;IAC9B,gBAAgB,EAAE;QAChB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,OAAO;QACtB,gBAAgB,EAAE,GAAG;QACrB,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE,EAAE;KACxB;IACD,kBAAkB,EAAE;QAClB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,eAAe,EAAE,GAAG;QACpB,aAAa,EAAE,SAAS;KACzB;IACD,uBAAuB,EAAE;QACvB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,SAAS;KACzB;IAED,8BAA8B;IAC9B,mEAAmE;IACnE,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,wEAAwE;IACxE,iBAAiB;IACjB,kBAAkB,EAAE;QAClB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,SAAS;KACzB;IAED,uCAAuC;IACvC,gBAAgB,EAAE;QAChB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,OAAO;QACtB,gBAAgB,EAAE,GAAG;QACrB,iBAAiB,EAAE,EAAE;KACtB;IACD,kBAAkB,EAAE;QAClB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,OAAO;QACtB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,GAAG;KACvB;IAED,wCAAwC;IACxC,SAAS,EAAE;QACT,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,GAAG;QACrB,aAAa,EAAE,SAAS;QACxB,sEAAsE;QACtE,oDAAoD;QACpD,aAAa,EAAE,OAAO;QACtB,QAAQ,EAAE,UAAU;QACpB,gBAAgB,EAAE,EAAE;QACpB,iBAAiB,EAAE,EAAE;KACtB;IACD,SAAS,EAAE;QACT,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,OAAO;QACtB,QAAQ,EAAE,UAAU;QACpB,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,IAAI;KACxB;IACD,cAAc,EAAE;QACd,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,GAAG;QAClB,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,OAAO;KACvB;IACD,cAAc,EAAE;QACd,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,OAAO;KACvB;IAED,4BAA4B;IAC5B,QAAQ,EAAE;QACR,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,OAAO;KACvB;IACD,aAAa,EAAE;QACb,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;KACvB;IACD,mBAAmB,EAAE;QACnB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,OAAO;KACvB;IACD,mBAAmB,EAAE;QACnB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,OAAO;KACvB;IACD,wBAAwB,EAAE;QACxB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;KACvB;IACD,EAAE,EAAE;QACF,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,+DAA+D;QAC/D,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,qDAAqD;QACrD,aAAa,EAAE,OAAO;KACvB;IACD,SAAS,EAAE;QACT,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;KACvB;IACD,YAAY,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,OAAO;KACvB;IACD,EAAE,EAAE;QACF,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,+CAA+C;QAC/C,aAAa,EAAE,OAAO;KACvB;IACD,SAAS,EAAE;QACT,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;KACvB;IACD,SAAS,EAAE;QACT,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;KACvB;IACD,aAAa,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,OAAO;KACvB;IACD,eAAe,EAAE;QACf,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,MAAM;KACtB;IAED,6DAA6D;IAC7D,wCAAwC;IACxC,mEAAmE;IACnE,6EAA6E;IAC7E,+DAA+D;IAC/D,2BAA2B,EAAE;QAC3B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;KACzB;IACD,6BAA6B,EAAE;QAC7B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;KACzB;IACD,0CAA0C,EAAE;QAC1C,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,OAAO;KACvB;IACD,0DAA0D;IAC1D,sEAAsE;IACtE,2CAA2C,EAAE;QAC3C,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,GAAG;QACzB,aAAa,EAAE,OAAO;KACvB;IACD,0CAA0C,EAAE;QAC1C,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,OAAO;KACvB;IACD,uCAAuC,EAAE;QACvC,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,OAAO;KACvB;IACD,yBAAyB;IACzB,+BAA+B,EAAE;QAC/B,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,OAAO;KACvB;IACD,8BAA8B,EAAE;QAC9B,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;KACvB;IACD,sBAAsB;IACtB,iCAAiC,EAAE;QACjC,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,MAAM;KACtB;IACD,iCAAiC,EAAE;QACjC,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,MAAM;KACtB;IACD,cAAc;IACd,sBAAsB,EAAE;QACtB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;KACvB;IACD,uBAAuB,EAAE;QACvB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,OAAO;KACvB;IACD,wBAAwB,EAAE;QACxB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,OAAO;KACvB;IAED,oBAAoB;IACpB,sBAAsB,EAAE;QACtB,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,OAAO;KACvB;IACD,sBAAsB,EAAE;QACtB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;KACvB;IACD,cAAc,EAAE;QACd,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,OAAO;KACvB;IACD,qDAAqD;IACrD,iBAAiB,EAAE;QACjB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,MAAM;KACtB;IACD,mBAAmB,EAAE;QACnB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,MAAM;KACtB;IACD,kBAAkB,EAAE;QAClB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;KACvB;IAED,mBAAmB;IACnB,gBAAgB,EAAE;QAChB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,OAAO;KACvB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;KACvB;IACD,sDAAsD;IACtD,0EAA0E;IAC1E,uEAAuE;IACvE,4DAA4D;IAC5D,OAAO,EAAE;QACP,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,KAAK;KACrB;IACD,eAAe,EAAE;QACf,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,KAAK;KACrB;CACF,CAAC"}
@@ -52,7 +52,7 @@ export interface CostBreakdown {
52
52
  * mis-pointed multi-GB file would OOM `JSON.parse`.
53
53
  *
54
54
  * Returns the parsed override map on success, or `null` when the file is
55
- * missing, the wrong shape, too large, or contains no valid entries (§PR7).
55
+ * missing, the wrong shape, too large, or contains no valid entries.
56
56
  *
57
57
  * **Note:** `null` is returned for both "file not found" and "all entries
58
58
  * invalid" — callers cannot distinguish the two cases from the return value
@@ -103,8 +103,8 @@ export declare class PricingTable {
103
103
  * file path to overlay user-provided prices on top of the built-in table.
104
104
  * Call with `null`/`undefined` to reset to the built-in defaults.
105
105
  *
106
- * **Synchronous I/O — startup-only.** Reads the custom file with `readFileSync`
107
- *; calling this on a hot path (e.g. a SIGHUP-triggered
106
+ * **Synchronous I/O — startup-only.** Reads the custom file with `readFileSync`;
107
+ * calling this on a hot path (e.g. a SIGHUP-triggered
108
108
  * reload while the process is serving inference traffic) blocks the event
109
109
  * loop. Schedule reloads from a worker thread or wrap in `setImmediate`.
110
110
  *
@@ -143,7 +143,7 @@ function validatePricingEntry(model, entry) {
143
143
  // future / unknown keys from the user's JSON into the merged table, where
144
144
  // they would surface in serialization (`Object.entries(...)`) and risk
145
145
  // future code mistaking them for valid pricing fields. Built as a single
146
- // literal to satisfy the readonly interface (§PR5).
146
+ // literal to satisfy the readonly interface.
147
147
  return {
148
148
  inputPerMTok: e.inputPerMTok,
149
149
  outputPerMTok: e.outputPerMTok,
@@ -177,7 +177,7 @@ function validatePricingEntry(model, entry) {
177
177
  * mis-pointed multi-GB file would OOM `JSON.parse`.
178
178
  *
179
179
  * Returns the parsed override map on success, or `null` when the file is
180
- * missing, the wrong shape, too large, or contains no valid entries (§PR7).
180
+ * missing, the wrong shape, too large, or contains no valid entries.
181
181
  *
182
182
  * **Note:** `null` is returned for both "file not found" and "all entries
183
183
  * invalid" — callers cannot distinguish the two cases from the return value
@@ -210,7 +210,7 @@ export function loadCustomPricing(filePath) {
210
210
  return null;
211
211
  }
212
212
  // Null-prototype object prevents __proto__ assignment from polluting
213
- // Object.prototype even if a reserved key slips through (§P1).
213
+ // Object.prototype even if a reserved key slips through.
214
214
  const result = Object.create(null);
215
215
  const RESERVED = new Set(['__proto__', 'constructor', 'prototype']);
216
216
  for (const [model, entry] of Object.entries(parsed)) {
@@ -224,7 +224,7 @@ export function loadCustomPricing(filePath) {
224
224
  }
225
225
  }
226
226
  // Return null when no valid entries were found so callers can distinguish
227
- // "applied custom pricing" (truthy) from "file present but all invalid" (§PR1).
227
+ // "applied custom pricing" (truthy) from "file present but all invalid".
228
228
  if (Object.keys(result).length === 0) {
229
229
  logger.warn('Custom pricing file contained no valid entries', { filePath: resolvedPath });
230
230
  return null;
@@ -292,7 +292,7 @@ export class PricingTable {
292
292
  constructor(customFilePath) {
293
293
  // Null-prototype base: Object.assign to a null-prototype target does not
294
294
  // invoke the __proto__ setter, so prototype pollution is defused even if
295
- // loadCustomPricing returns a result containing that key (§P1).
295
+ // loadCustomPricing returns a result containing that key.
296
296
  this.table = Object.assign(Object.create(null), clonePricingTable(DEFAULT_PRICING_TABLE));
297
297
  if (customFilePath) {
298
298
  const custom = loadCustomPricing(customFilePath);
@@ -321,9 +321,9 @@ export class PricingTable {
321
321
  */
322
322
  resolve(modelName) {
323
323
  // Returns shallow copies so caller mutation cannot corrupt the instance
324
- // table — resolved entries are values, not live references (§PRC1).
324
+ // table — resolved entries are values, not live references.
325
325
  // 1. Exact match — Object.hasOwn guards against inherited prototype values
326
- // for non-null-prototype tables and makes intent explicit (§P2).
326
+ // for non-null-prototype tables and makes intent explicit.
327
327
  if (Object.hasOwn(this.table, modelName)) {
328
328
  return { ...this.table[modelName] };
329
329
  }
@@ -334,7 +334,7 @@ export class PricingTable {
334
334
  }
335
335
  // Forward prefix: find table keys that start with the given name followed
336
336
  // by a digit-led suffix. Longest key wins on tie — but two same-length
337
- // candidates would be non-deterministic (§PR1). Log a warning in that case
337
+ // candidates would be non-deterministic. Log a warning in that case
338
338
  // so future table additions that create ambiguity are visible.
339
339
  let bestKey = null;
340
340
  let ambiguous = false;
@@ -351,7 +351,7 @@ export class PricingTable {
351
351
  }
352
352
  }
353
353
  if (ambiguous && bestKey !== null) {
354
- // §11.5: returning a non-deterministic result is worse than returning null,
354
+ // Returning a non-deterministic result is worse than returning null,
355
355
  // because the caller cannot distinguish "pricing found" from "pricing guessed".
356
356
  // Returning null forces the table maintainer to add an explicit alias entry
357
357
  // rather than silently accepting iteration-order-dependent pricing.
@@ -410,8 +410,8 @@ const defaultTable = new PricingTable();
410
410
  * file path to overlay user-provided prices on top of the built-in table.
411
411
  * Call with `null`/`undefined` to reset to the built-in defaults.
412
412
  *
413
- * **Synchronous I/O — startup-only.** Reads the custom file with `readFileSync`
414
- *; calling this on a hot path (e.g. a SIGHUP-triggered
413
+ * **Synchronous I/O — startup-only.** Reads the custom file with `readFileSync`;
414
+ * calling this on a hot path (e.g. a SIGHUP-triggered
415
415
  * reload while the process is serving inference traffic) blocks the event
416
416
  * loop. Schedule reloads from a worker thread or wrap in `setImmediate`.
417
417
  *
@@ -486,7 +486,7 @@ function computeCost(pricing, usage) {
486
486
  // Savings: what the cache-read tokens would have cost at the full input rate.
487
487
  // In marginal mode, the savings rate depends on whether the fresh input
488
488
  // exceeded the tier threshold — above-threshold tokens save at the tier rate,
489
- // not the base rate (§PRC3).
489
+ // not the base rate.
490
490
  const savingsInputRate = useTier &&
491
491
  tierMode === 'marginal' &&
492
492
  pricing.tierInputPerMTok !== undefined &&
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/shared/pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/shared/pricing.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import type { AgentConfig } from './config.js';
11
11
  * - Functions, symbols, undefined are returned as-is (they don't serialize anyway).
12
12
  * - **`Map` and `Set` values are NOT walked for secrets** — they are summarized
13
13
  * as `'[Map(N)]'` / `'[Set(N)]'` because `Object.entries` does not enumerate
14
- * their contents (§RE2). If credentials are stored as Map entries under a
14
+ * their contents. If credentials are stored as Map entries under a
15
15
  * non-secret key (e.g. `{ headers: new Map([['Authorization', 'Bearer x']]) }`),
16
16
  * they will NOT be redacted. Convert to plain objects before passing to `redact()`.
17
17
  */
@@ -26,8 +26,6 @@ export declare function redact<T>(value: T): T;
26
26
  *
27
27
  * Keep `redact()` for arbitrary objects; reach for `safeForLog()` when you
28
28
  * specifically have an `AgentConfig` and want a typed return.
29
- *
30
- *
31
29
  */
32
30
  export declare function safeForLog(config: AgentConfig): Readonly<AgentConfig>;
33
31
  //# sourceMappingURL=redact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/shared/redact.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoB/C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAErC;AA4CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAErE"}
1
+ {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/shared/redact.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoB/C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAErC;AA4CD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAErE"}
@@ -10,22 +10,22 @@
10
10
  // redact() before handing it to a logger or external sink.
11
11
  //
12
12
  // safeForLog(config) — convenience wrapper that returns a redacted copy of an
13
- // AgentConfig, suitable for diagnostic dumps. See
13
+ // AgentConfig, suitable for diagnostic dumps.
14
14
  // ---------------------------------------------------------------------------
15
15
  // Pattern notes:
16
- // - `key(?!s)` matches `apiKey`, `licenseKey`, bare `key`, but NOT `keys` (plural, §RE1).
17
- // The `\b` word-boundary upgrade that was applied to `token\b` (§LR1) and
18
- // `credentials?\b` (§LR2) cannot be applied here: CamelCase names like `licenseKey`
16
+ // - `key(?!s)` matches `apiKey`, `licenseKey`, bare `key`, but NOT `keys` (plural).
17
+ // The `\b` word-boundary upgrade that was applied to `token\b` and
18
+ // `credentials?\b` cannot be applied here: CamelCase names like `licenseKey`
19
19
  // and `apiKey` do NOT have a word boundary before the `K` (both sides are word chars),
20
- // so `\bkey` would FAIL to match them (§11.6, deliberate false-positive trade-off).
20
+ // so `\bkey` would FAIL to match them (deliberate false-positive trade-off).
21
21
  // Mid-word false positives (`monkey`, `jockey`) are accepted in exchange for reliably
22
22
  // redacting all camelCase key properties. A regex-only fix is not feasible without
23
23
  // enumerating every legitimate CamelCase prefix, which would miss future additions.
24
24
  // - `token\b` matches `apiToken`, `accessToken`, bare `token`, but NOT `tokenCount`,
25
- // `tokenize`, `tokenAmount`, etc. (§LR1). The `\b` works here because `token` almost
25
+ // `tokenize`, `tokenAmount`, etc. The `\b` works here because `token` almost
26
26
  // never appears mid-word in legitimate property names.
27
27
  // - `credentials?\b` matches `credential` and `credentials`, but NOT `credentialType`,
28
- // `credentialProvider`, etc. (§LR2). Same fix applied to `passwords?\b`.
28
+ // `credentialProvider`, etc. Same fix applied to `passwords?\b`.
29
29
  const SECRET_KEY_RE = /key(?!s)|token\b|secret|passwords?\b|authorization|credentials?\b|bearer/i;
30
30
  const REDACTED = '***';
31
31
  const MAX_DEPTH = 8;
@@ -41,7 +41,7 @@ const MAX_DEPTH = 8;
41
41
  * - Functions, symbols, undefined are returned as-is (they don't serialize anyway).
42
42
  * - **`Map` and `Set` values are NOT walked for secrets** — they are summarized
43
43
  * as `'[Map(N)]'` / `'[Set(N)]'` because `Object.entries` does not enumerate
44
- * their contents (§RE2). If credentials are stored as Map entries under a
44
+ * their contents. If credentials are stored as Map entries under a
45
45
  * non-secret key (e.g. `{ headers: new Map([['Authorization', 'Bearer x']]) }`),
46
46
  * they will NOT be redacted. Convert to plain objects before passing to `redact()`.
47
47
  */
@@ -101,8 +101,6 @@ function redactInner(value, depth, ancestors) {
101
101
  *
102
102
  * Keep `redact()` for arbitrary objects; reach for `safeForLog()` when you
103
103
  * specifically have an `AgentConfig` and want a typed return.
104
- *
105
- *
106
104
  */
107
105
  export function safeForLog(config) {
108
106
  return Object.freeze(redact(config));
@@ -1 +1 @@
1
- {"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/shared/redact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/shared/redact.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export declare class RequestTimer {
49
49
  private openPhase;
50
50
  /** Closed phases in start-order. */
51
51
  private closedPhases;
52
- /** Record the request start time. Idempotent — only the first call takes effect (§TM2). */
52
+ /** Record the request start time. Idempotent — only the first call takes effect. */
53
53
  start(): void;
54
54
  /**
55
55
  * Record when the first NON-thinking content token arrives. Idempotent —
@@ -76,7 +76,7 @@ export declare class RequestTimer {
76
76
  * - With no open phase: debug log and ignored.
77
77
  */
78
78
  markThinkingEnd(): void;
79
- /** Record the request end time. Idempotent — only the first call takes effect (§TM2). */
79
+ /** Record the request end time. Idempotent — only the first call takes effect. */
80
80
  stop(): void;
81
81
  /**
82
82
  * Compute derived timing metrics.
@@ -84,8 +84,8 @@ export declare class RequestTimer {
84
84
  * **Side effects:** if a thinking phase was started but never ended (e.g. the
85
85
  * stream disconnected before `markThinkingEnd()` was called), this method
86
86
  * auto-closes the open phase at `stopAt` and writes back `this.closedPhases`
87
- * and `this.openPhase = null` so subsequent calls see a consistent state
88
- * (§TIM1). This mutation is intentional — it means `getMetrics()` is safe to
87
+ * and `this.openPhase = null` so subsequent calls see a consistent state.
88
+ * This mutation is intentional — it means `getMetrics()` is safe to
89
89
  * call multiple times and will return consistent results after the first call.
90
90
  *
91
91
  * @param outputTokens — If provided, `tokensPerSecond` is calculated.
@@ -1 +1 @@
1
- {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/shared/timing.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,aAAa;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAWD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAAuB;IAC3C,qDAAqD;IACrD,OAAO,CAAC,SAAS,CAA0B;IAC3C,oCAAoC;IACpC,OAAO,CAAC,YAAY,CAAqB;IAEzC,2FAA2F;IAC3F,KAAK,IAAI,IAAI;IAQb;;;;;OAKG;IACH,cAAc,IAAI,IAAI;IAQtB;;;;;;;;;OASG;IACH,iBAAiB,IAAI,IAAI;IAQzB;;;;;OAKG;IACH,eAAe,IAAI,IAAI;IASvB,yFAAyF;IACzF,IAAI,IAAI,IAAI;IAQZ;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,mBAAmB;CA6EvD"}
1
+ {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/shared/timing.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,aAAa;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAWD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAAuB;IAC3C,qDAAqD;IACrD,OAAO,CAAC,SAAS,CAA0B;IAC3C,oCAAoC;IACpC,OAAO,CAAC,YAAY,CAAqB;IAEzC,oFAAoF;IACpF,KAAK,IAAI,IAAI;IAQb;;;;;OAKG;IACH,cAAc,IAAI,IAAI;IAQtB;;;;;;;;;OASG;IACH,iBAAiB,IAAI,IAAI;IAQzB;;;;;OAKG;IACH,eAAe,IAAI,IAAI;IASvB,kFAAkF;IAClF,IAAI,IAAI,IAAI;IAQZ;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,mBAAmB;CA6EvD"}
@@ -30,7 +30,7 @@ export class RequestTimer {
30
30
  openPhase = null;
31
31
  /** Closed phases in start-order. */
32
32
  closedPhases = [];
33
- /** Record the request start time. Idempotent — only the first call takes effect (§TM2). */
33
+ /** Record the request start time. Idempotent — only the first call takes effect. */
34
34
  start() {
35
35
  if (this.startAt !== null) {
36
36
  timerLogger.debug('start() called more than once — ignoring duplicate');
@@ -83,7 +83,7 @@ export class RequestTimer {
83
83
  this.closedPhases.push({ startAt: this.openPhase.startAt, endAt: performance.now() });
84
84
  this.openPhase = null;
85
85
  }
86
- /** Record the request end time. Idempotent — only the first call takes effect (§TM2). */
86
+ /** Record the request end time. Idempotent — only the first call takes effect. */
87
87
  stop() {
88
88
  if (this.stopAt !== null) {
89
89
  timerLogger.debug('stop() called more than once — ignoring duplicate');
@@ -97,8 +97,8 @@ export class RequestTimer {
97
97
  * **Side effects:** if a thinking phase was started but never ended (e.g. the
98
98
  * stream disconnected before `markThinkingEnd()` was called), this method
99
99
  * auto-closes the open phase at `stopAt` and writes back `this.closedPhases`
100
- * and `this.openPhase = null` so subsequent calls see a consistent state
101
- * (§TIM1). This mutation is intentional — it means `getMetrics()` is safe to
100
+ * and `this.openPhase = null` so subsequent calls see a consistent state.
101
+ * This mutation is intentional — it means `getMetrics()` is safe to
102
102
  * call multiple times and will return consistent results after the first call.
103
103
  *
104
104
  * @param outputTokens — If provided, `tokensPerSecond` is calculated.
@@ -113,12 +113,12 @@ export class RequestTimer {
113
113
  }
114
114
  const durationMs = this.stopAt - this.startAt;
115
115
  // Clamp to 0 so a markFirstToken() call that happens before start() (out of
116
- // order usage) produces 0 rather than a negative latency (§TM1).
116
+ // order usage) produces 0 rather than a negative latency.
117
117
  const timeToFirstTokenMs = this.firstTokenAt !== null ? Math.max(0, this.firstTokenAt - this.startAt) : null;
118
118
  // Auto-close any phase that was started but never ended (e.g. stream
119
119
  // disconnected during thinking, so markThinkingEnd was never called).
120
120
  // Without this, the open phase's wall-clock time is counted inside
121
- // generationDurationMs instead of thinkingDurationMs (§TM1).
121
+ // generationDurationMs instead of thinkingDurationMs.
122
122
  let effectiveClosedPhases = this.closedPhases;
123
123
  if (this.openPhase !== null) {
124
124
  timerLogger.debug('thinking phase still open at getMetrics() — auto-closed at stopAt', {
@@ -130,7 +130,7 @@ export class RequestTimer {
130
130
  { startAt: this.openPhase.startAt, endAt: this.stopAt },
131
131
  ];
132
132
  // Move the auto-closed phase into closedPhases so subsequent
133
- // markThinkingEnd() or getMetrics() calls see a consistent state (§TM1).
133
+ // markThinkingEnd() or getMetrics() calls see a consistent state.
134
134
  this.closedPhases = effectiveClosedPhases;
135
135
  this.openPhase = null;
136
136
  }
@@ -141,13 +141,13 @@ export class RequestTimer {
141
141
  }));
142
142
  const thinkingDurationMs = thinkingPhases.length > 0 ? thinkingPhases.reduce((sum, p) => sum + p.durationMs, 0) : null;
143
143
  const generationDurationMs = Math.max(0, durationMs - (thinkingDurationMs ?? 0));
144
- // 6: align tokensPerSecond semantics with `factory.ts` —
144
+ // Align tokensPerSecond semantics with `factory.ts` —
145
145
  // return `null` when either the duration is zero or no output tokens were
146
146
  // produced, treating both as "no meaningful rate to report". The previous
147
147
  // path returned 0 when `outputTokens === 0`, which read downstream as a
148
148
  // measured-zero rate rather than a missing measurement.
149
149
  //
150
- // 6: compute as `(outputTokens / durationMs) * 1000`
150
+ // Compute as `(outputTokens / durationMs) * 1000`
151
151
  // rather than `outputTokens / (durationMs / 1000)`. The two are
152
152
  // mathematically equivalent for non-degenerate inputs but the multiply
153
153
  // form preserves precision better when `durationMs` is small (e.g.