@newrelic/preflight 1.6.4 → 1.6.6

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 (85) hide show
  1. package/dist/alerts/local-alert-rule.d.ts +0 -2
  2. package/dist/alerts/local-alert-rule.d.ts.map +1 -1
  3. package/dist/alerts/local-alert-rule.js.map +1 -1
  4. package/dist/config.js +4 -4
  5. package/dist/config.js.map +1 -1
  6. package/dist/metrics/cost-per-outcome.d.ts +0 -8
  7. package/dist/metrics/cost-per-outcome.d.ts.map +1 -1
  8. package/dist/metrics/cost-per-outcome.js.map +1 -1
  9. package/dist/metrics/cost-tracker.d.ts +0 -2
  10. package/dist/metrics/cost-tracker.d.ts.map +1 -1
  11. package/dist/metrics/cost-tracker.js.map +1 -1
  12. package/dist/shared/config.d.ts +0 -5
  13. package/dist/shared/config.d.ts.map +1 -1
  14. package/dist/shared/config.js +5 -12
  15. package/dist/shared/config.js.map +1 -1
  16. package/dist/shared/errors.d.ts +0 -6
  17. package/dist/shared/errors.d.ts.map +1 -1
  18. package/dist/shared/errors.js +15 -15
  19. package/dist/shared/errors.js.map +1 -1
  20. package/dist/shared/events/factory.d.ts.map +1 -1
  21. package/dist/shared/events/factory.js +31 -12
  22. package/dist/shared/events/factory.js.map +1 -1
  23. package/dist/shared/events/serialize.d.ts +10 -11
  24. package/dist/shared/events/serialize.d.ts.map +1 -1
  25. package/dist/shared/events/serialize.js +23 -24
  26. package/dist/shared/events/serialize.js.map +1 -1
  27. package/dist/shared/harvest/event-buffer.d.ts +2 -3
  28. package/dist/shared/harvest/event-buffer.d.ts.map +1 -1
  29. package/dist/shared/harvest/event-buffer.js +7 -8
  30. package/dist/shared/harvest/event-buffer.js.map +1 -1
  31. package/dist/shared/harvest/harvest-scheduler.d.ts +4 -7
  32. package/dist/shared/harvest/harvest-scheduler.d.ts.map +1 -1
  33. package/dist/shared/harvest/harvest-scheduler.js +10 -38
  34. package/dist/shared/harvest/harvest-scheduler.js.map +1 -1
  35. package/dist/shared/harvest/metric-aggregator.d.ts +9 -24
  36. package/dist/shared/harvest/metric-aggregator.d.ts.map +1 -1
  37. package/dist/shared/harvest/metric-aggregator.js +16 -25
  38. package/dist/shared/harvest/metric-aggregator.js.map +1 -1
  39. package/dist/shared/logger.d.ts.map +1 -1
  40. package/dist/shared/logger.js +3 -10
  41. package/dist/shared/logger.js.map +1 -1
  42. package/dist/shared/pricing-data.d.ts.map +1 -1
  43. package/dist/shared/pricing-data.js +19 -18
  44. package/dist/shared/pricing-data.js.map +1 -1
  45. package/dist/shared/pricing.d.ts +10 -9
  46. package/dist/shared/pricing.d.ts.map +1 -1
  47. package/dist/shared/pricing.js +8 -5
  48. package/dist/shared/pricing.js.map +1 -1
  49. package/dist/shared/redact.d.ts.map +1 -1
  50. package/dist/shared/redact.js +19 -4
  51. package/dist/shared/redact.js.map +1 -1
  52. package/dist/shared/timing.d.ts +1 -1
  53. package/dist/shared/timing.d.ts.map +1 -1
  54. package/dist/shared/timing.js +5 -14
  55. package/dist/shared/timing.js.map +1 -1
  56. package/dist/shared/tokens.d.ts.map +1 -1
  57. package/dist/shared/tokens.js +0 -9
  58. package/dist/shared/tokens.js.map +1 -1
  59. package/dist/shared/transport/http-client.d.ts.map +1 -1
  60. package/dist/shared/transport/http-client.js +1 -12
  61. package/dist/shared/transport/http-client.js.map +1 -1
  62. package/dist/shared/transport/metric-api.d.ts +0 -6
  63. package/dist/shared/transport/metric-api.d.ts.map +1 -1
  64. package/dist/shared/transport/metric-api.js +0 -6
  65. package/dist/shared/transport/metric-api.js.map +1 -1
  66. package/dist/shared/transport/otlp-event-bridge.d.ts.map +1 -1
  67. package/dist/shared/transport/otlp-event-bridge.js +3 -0
  68. package/dist/shared/transport/otlp-event-bridge.js.map +1 -1
  69. package/dist/shared/transport/otlp-transport.js +1 -1
  70. package/dist/shared/transport/otlp-transport.js.map +1 -1
  71. package/dist/shared/transport/types.d.ts +4 -6
  72. package/dist/shared/transport/types.d.ts.map +1 -1
  73. package/dist/tools/cross-session-tools.d.ts +0 -11
  74. package/dist/tools/cross-session-tools.d.ts.map +1 -1
  75. package/dist/tools/cross-session-tools.js +0 -14
  76. package/dist/tools/cross-session-tools.js.map +1 -1
  77. package/dist/tools/session-stats.d.ts +0 -4
  78. package/dist/tools/session-stats.d.ts.map +1 -1
  79. package/dist/tools/session-stats.js +0 -6
  80. package/dist/tools/session-stats.js.map +1 -1
  81. package/package.json +1 -1
  82. package/dist/tools/index.d.ts +0 -7
  83. package/dist/tools/index.d.ts.map +0 -1
  84. package/dist/tools/index.js +0 -4
  85. package/dist/tools/index.js.map +0 -1
@@ -85,11 +85,9 @@ export declare class HarvestScheduler {
85
85
  *
86
86
  * Returns `true` when the event was added without evicting another, and
87
87
  * `false` when the event buffer was already full and the oldest event
88
- * was head-dropped. Callers ignoring the return
89
- * value see the same behavior as before the per-harvest
90
- * `nr.ai.dropped_events` self-monitoring metric still counts the drops
91
- * regardless. The boolean lets producers throttle or surface a custom
92
- * backpressure metric instead of polling.
88
+ * was head-dropped. The per-harvest `nr.ai.dropped_events` self-monitoring
89
+ * metric counts the drops regardless of whether the caller uses the
90
+ * return value.
93
91
  */
94
92
  addEvent(event: NrEventData): boolean;
95
93
  /**
@@ -97,8 +95,7 @@ export declare class HarvestScheduler {
97
95
  *
98
96
  * Returns `true` when the sample was accepted into a bucket, and `false`
99
97
  * when it was rejected (non-finite value or invalid attribute type) per
100
- * the strict validation contract. Existing
101
- * callers that ignore the return value see unchanged behavior.
98
+ * the strict validation contract.
102
99
  */
103
100
  recordMetric(name: string, value: number, attributes?: Record<string, MetricAttributeValue>): boolean;
104
101
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"harvest-scheduler.d.ts","sourceRoot":"","sources":["../../../src/shared/harvest/harvest-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harvest-scheduler.d.ts","sourceRoot":"","sources":["../../../src/shared/harvest/harvest-scheduler.ts"],"names":[],"mappings":"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"}
@@ -55,10 +55,6 @@ export class HarvestScheduler {
55
55
  retryOtlpMetricSnapshots = [];
56
56
  maxRetryEvents;
57
57
  maxRetryMetricSnapshotsCap;
58
- // Snapshot cap: 500 buckets ≈ 2000 wire metrics post-explosion. Larger
59
- // effective ceiling than the previous 500-NrMetric cap (~125 buckets) by
60
- // design — retry pressure is rare and the previous limit was tighter than
61
- // intended.
62
58
  boundBeforeExit;
63
59
  constructor(options) {
64
60
  this.licenseKey = options.licenseKey;
@@ -71,8 +67,6 @@ export class HarvestScheduler {
71
67
  this.otlpTransport = options.otlpTransport;
72
68
  this.transport = options.transport ?? 'nr-events-api';
73
69
  this.allowProcessExit = options.allowProcessExit ?? false;
74
- // Warn when the transport configuration requires an OTLP component that
75
- // was not provided — events/metrics would be silently dropped.
76
70
  const wantOtlp = this.transport === 'otlp' || this.transport === 'both';
77
71
  if (wantOtlp && !this.otlpEventBridge) {
78
72
  logger.warn('HarvestScheduler: transport includes otlp but otlpEventBridge is not configured — OTLP events will be silently dropped');
@@ -82,11 +76,6 @@ export class HarvestScheduler {
82
76
  }
83
77
  this.eventBuffer = new EventBuffer({ maxSize: options.maxEventBufferSize });
84
78
  this.metricAggregator = new MetricAggregator();
85
- // maxRetryEvents defaults to maxEventBufferSize when
86
- // not specified, preserving prior behavior. Operators that need a
87
- // deeper retry cap (bursty failures, long downstream outages) can set
88
- // it independently — peak in-memory event count is then roughly
89
- // maxEventBufferSize + maxRetryEvents.
90
79
  this.maxRetryEvents = options.maxRetryEvents ?? options.maxEventBufferSize ?? 1_000;
91
80
  this.maxRetryMetricSnapshotsCap = options.maxRetryMetricSnapshots ?? 500;
92
81
  this.boundBeforeExit = () => {
@@ -98,11 +87,9 @@ export class HarvestScheduler {
98
87
  *
99
88
  * Returns `true` when the event was added without evicting another, and
100
89
  * `false` when the event buffer was already full and the oldest event
101
- * was head-dropped. Callers ignoring the return
102
- * value see the same behavior as before the per-harvest
103
- * `nr.ai.dropped_events` self-monitoring metric still counts the drops
104
- * regardless. The boolean lets producers throttle or surface a custom
105
- * backpressure metric instead of polling.
90
+ * was head-dropped. The per-harvest `nr.ai.dropped_events` self-monitoring
91
+ * metric counts the drops regardless of whether the caller uses the
92
+ * return value.
106
93
  */
107
94
  addEvent(event) {
108
95
  return this.eventBuffer.add(event);
@@ -112,8 +99,7 @@ export class HarvestScheduler {
112
99
  *
113
100
  * Returns `true` when the sample was accepted into a bucket, and `false`
114
101
  * when it was rejected (non-finite value or invalid attribute type) per
115
- * the strict validation contract. Existing
116
- * callers that ignore the return value see unchanged behavior.
102
+ * the strict validation contract.
117
103
  */
118
104
  recordMetric(name, value, attributes = {}) {
119
105
  return this.metricAggregator.record(name, value, attributes);
@@ -197,11 +183,6 @@ export class HarvestScheduler {
197
183
  });
198
184
  }, this.metricHarvestIntervalMs);
199
185
  if (this.allowProcessExit) {
200
- // Opt-in path for short-lived CLI tools. unref()'d
201
- // intervals don't hold the loop open, and beforeExit is registered as
202
- // a best-effort final-flush attempt. Both are best-effort: Node can
203
- // exit before the fire-and-forget stop() finishes, so events may be
204
- // lost. Consumers should still prefer awaiting stop() explicitly.
205
186
  this.eventIntervalId.unref();
206
187
  this.metricIntervalId.unref();
207
188
  process.once('beforeExit', this.boundBeforeExit);
@@ -299,7 +280,6 @@ export class HarvestScheduler {
299
280
  });
300
281
  });
301
282
  }
302
- // Final flush of in-memory buffers
303
283
  await Promise.all([this.harvestEvents(), this.harvestMetrics()]);
304
284
  // Flush OTLP-managed buffers (they live inside the OTel SDK batch
305
285
  // processors; otherwise events/metrics already enqueued but not yet
@@ -341,15 +321,13 @@ export class HarvestScheduler {
341
321
  return ms;
342
322
  }
343
323
  async doHarvestEvents() {
344
- // Scoped child logger stamps `harvestId` on every
345
- // log line emitted during this cycle (overflow, retry, requeue,
346
- // OTLP-export failures). Operators searching stderr for one harvest's
347
- // story have a single pivot.
348
324
  const harvestLog = logger.child({ harvestId: newHarvestId(), scope: 'events' });
349
325
  const fresh = this.eventBuffer.flush();
350
326
  // Surface event-buffer head-drops as a self-monitoring metric so
351
327
  // overflow loss is visible in the consumer's own NR dashboards. Drained
352
- // once per harvest, paired with a single warn log.
328
+ // once per harvest, paired with a single warn log. Recorded into
329
+ // metricAggregator, so this ships on the METRIC harvest cadence (default
330
+ // 60s), not this 5s event cadence.
353
331
  const dropped = this.eventBuffer.drainDropCount();
354
332
  if (dropped > 0) {
355
333
  harvestLog.warn('EventBuffer overflow — oldest entries dropped', { dropped });
@@ -357,9 +335,6 @@ export class HarvestScheduler {
357
335
  source: 'event_buffer',
358
336
  });
359
337
  }
360
- // Drain the add counter each cycle so totalAdded represents adds-since-
361
- // last-flush. Not emitted as a metric today; wired here so a
362
- // future nr.ai.added_events metric reads the correct per-interval value.
363
338
  this.eventBuffer.drainAddCount();
364
339
  const wantNr = this.transport === 'nr-events-api' || this.transport === 'both';
365
340
  const wantOtlp = this.transport === 'otlp' || this.transport === 'both';
@@ -444,8 +419,6 @@ export class HarvestScheduler {
444
419
  return this.inFlightMetricHarvest;
445
420
  }
446
421
  async doHarvestMetrics() {
447
- // Scoped child logger stamps a `harvestId` on every
448
- // log line emitted during this metric harvest cycle.
449
422
  const harvestLog = logger.child({ harvestId: newHarvestId(), scope: 'metrics' });
450
423
  // Self-monitoring: drain MetricAggregator's
451
424
  // drop counter and emit it as a metric so non-finite-value rejections
@@ -523,9 +496,9 @@ export class HarvestScheduler {
523
496
  else {
524
497
  // Debug-level success log so operators tailing stderr can
525
498
  // distinguish "harvest completed cleanly with N metrics" from
526
- // "harvest never ran". Includes both the wire batch count and
527
- // the underlying snapshot count so a future cardinality-explosion
528
- // signal is visible at debug.
499
+ // "harvest never ran". batchSize and snapshotCount are always equal
500
+ // under the current 1-NrMetric-per-snapshot wire format; both are
501
+ // logged so that no longer holding true is visible at debug.
529
502
  log.debug('Sent metrics to NR', {
530
503
  batchSize: batch.length,
531
504
  snapshotCount: snapshots.length,
@@ -597,7 +570,6 @@ export class HarvestScheduler {
597
570
  const dropped = this.retryNrEventBatch.length - this.maxRetryEvents;
598
571
  this.retryNrEventBatch.splice(0, dropped);
599
572
  log.warn('NR event retry buffer overflow — oldest entries dropped', { dropped });
600
- // Surface as self-monitoring metric so NR dashboards show retry-buffer drops.
601
573
  this.metricAggregator.record('nr.ai.dropped_events', dropped, {
602
574
  source: 'retry_buffer',
603
575
  transport: 'nr-events-api',
@@ -1 +1 @@
1
- {"version":3,"file":"harvest-scheduler.js","sourceRoot":"","sources":["../../../src/shared/harvest/harvest-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harvest-scheduler.js","sourceRoot":"","sources":["../../../src/shared/harvest/harvest-scheduler.ts"],"names":[],"mappings":"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"}
@@ -28,11 +28,9 @@ export declare class MetricAggregator {
28
28
  private buckets;
29
29
  /**
30
30
  * Number of `record()` calls rejected since the last `drainDropCount()`.
31
- * Incremented on non-finite values and invalid attribute types.
32
- * Mirrors the pattern in `EventBuffer.dropCount` so
33
- * `HarvestScheduler` can emit a `nr.ai.dropped_metrics` self-monitoring
34
- * gauge each harvest tick — operators currently see only `logger.warn`
35
- * spam, with no aggregate count of "we silently dropped N samples".
31
+ * Incremented on non-finite values and invalid attribute types. Mirrors
32
+ * the pattern in `EventBuffer.dropCount` so `HarvestScheduler` can emit a
33
+ * `nr.ai.dropped_metrics` self-monitoring gauge each harvest tick.
36
34
  */
37
35
  private droppedCount;
38
36
  constructor();
@@ -41,10 +39,9 @@ export declare class MetricAggregator {
41
39
  *
42
40
  * Returns `true` when the sample was accepted into a bucket, and `false`
43
41
  * when it was rejected (non-finite value or invalid attribute type) per
44
- * the strict validation contract. The boolean return surface
45
- * exposes the rejection signal so callers can implement backpressure or
46
- * surface invalid-input metrics. Existing callers
47
- * that ignore the return value see unchanged behavior.
42
+ * the strict validation contract. The boolean return surface exposes the
43
+ * rejection signal so callers can implement backpressure or surface
44
+ * invalid-input metrics.
48
45
  */
49
46
  record(name: string, value: number, attributes?: Record<string, MetricAttributeValue>): boolean;
50
47
  /**
@@ -87,26 +84,14 @@ export declare class MetricAggregator {
87
84
  *
88
85
  * Public so consumers can build self-monitoring metrics on top of the
89
86
  * aggregator (e.g. emit `harvest.metric_aggregator.bucket_count` to NR
90
- * each tick to detect cardinality explosions). Used internally by
91
- * `metric-aggregator.test.ts` to verify post-`harvest()` state.
92
- *
93
- * Not used by `HarvestScheduler` today; surfacing it (rather than dropping
94
- * the accessor) keeps the surface stable for the
95
- * self-monitoring work.
87
+ * each tick to detect cardinality explosions).
96
88
  */
97
89
  get bucketCount(): number;
98
90
  }
99
91
  /**
100
92
  * Convert each {@link MetricSnapshot} to a single wire-format `NrMetric` of
101
- * type `'summary'`.
102
- *
103
- * Previously this function emitted four separate metrics per snapshot
104
- * (`{name}.count`, `.sum`, `.min`, `.max`) — three of them as `gauge` (which
105
- * is semantically wrong for a delta-aggregated value) and one as `count`
106
- * (without the required `interval.ms` field). The summary type collapses
107
- * those four into one record carrying `{ count, sum, min, max }` plus the
108
- * harvest interval, halving payload cardinality and producing correct
109
- * NR-side aggregate stats.
93
+ * type `'summary'`, carrying `{ count, sum, min, max }` plus the harvest
94
+ * interval.
110
95
  *
111
96
  * @param intervalMs Harvest interval in ms — appears on the wire as
112
97
  * `interval.ms` per NR's Metric API contract.
@@ -1 +1 @@
1
- {"version":3,"file":"metric-aggregator.d.ts","sourceRoot":"","sources":["../../../src/shared/harvest/metric-aggregator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC3D;AAsDD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAsB;IACrC;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,CAAK;;IAMzB;;;;;;;;;OASG;IACH,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAM,GACpD,OAAO;IA+CV;;;;;;;;;;OAUG;IACH,gBAAgB,IAAI,cAAc,EAAE;IAiBpC;;;;;OAKG;IACH,KAAK,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI;IAkCjD,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAIvC;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;OAKG;IACH,cAAc,IAAI,MAAM;IAMxB;;;;;;;;;;;OAWG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAAmB,GAC7B,QAAQ,EAAE,CAkBZ"}
1
+ {"version":3,"file":"metric-aggregator.d.ts","sourceRoot":"","sources":["../../../src/shared/harvest/metric-aggregator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC3D;AAyDD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAsB;IACrC;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAK;;IAMzB;;;;;;;;OAQG;IACH,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAM,GACpD,OAAO;IA+CV;;;;;;;;;;OAUG;IACH,gBAAgB,IAAI,cAAc,EAAE;IAiBpC;;;;;OAKG;IACH,KAAK,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI;IAqCjD,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAIvC;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;OAKG;IACH,cAAc,IAAI,MAAM;IAMxB;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAAmB,GAC7B,QAAQ,EAAE,CAkBZ"}
@@ -32,6 +32,9 @@ function escapeKeyPart(s) {
32
32
  return s.replace(/[|=&]/g, (c) => '%' + c.charCodeAt(0).toString(16).toUpperCase());
33
33
  }
34
34
  function makeKey(name, attributes) {
35
+ // Sort so attribute insertion order doesn't affect bucket identity —
36
+ // otherwise {a:1,b:2} and {b:2,a:1} would key differently and silently
37
+ // fragment into separate buckets depending on caller insertion order.
35
38
  const sorted = Object.entries(attributes).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
36
39
  return (escapeKeyPart(name) +
37
40
  '|' +
@@ -41,11 +44,9 @@ export class MetricAggregator {
41
44
  buckets;
42
45
  /**
43
46
  * Number of `record()` calls rejected since the last `drainDropCount()`.
44
- * Incremented on non-finite values and invalid attribute types.
45
- * Mirrors the pattern in `EventBuffer.dropCount` so
46
- * `HarvestScheduler` can emit a `nr.ai.dropped_metrics` self-monitoring
47
- * gauge each harvest tick — operators currently see only `logger.warn`
48
- * spam, with no aggregate count of "we silently dropped N samples".
47
+ * Incremented on non-finite values and invalid attribute types. Mirrors
48
+ * the pattern in `EventBuffer.dropCount` so `HarvestScheduler` can emit a
49
+ * `nr.ai.dropped_metrics` self-monitoring gauge each harvest tick.
49
50
  */
50
51
  droppedCount = 0;
51
52
  constructor() {
@@ -56,10 +57,9 @@ export class MetricAggregator {
56
57
  *
57
58
  * Returns `true` when the sample was accepted into a bucket, and `false`
58
59
  * when it was rejected (non-finite value or invalid attribute type) per
59
- * the strict validation contract. The boolean return surface
60
- * exposes the rejection signal so callers can implement backpressure or
61
- * surface invalid-input metrics. Existing callers
62
- * that ignore the return value see unchanged behavior.
60
+ * the strict validation contract. The boolean return surface exposes the
61
+ * rejection signal so callers can implement backpressure or surface
62
+ * invalid-input metrics.
63
63
  */
64
64
  record(name, value, attributes = {}) {
65
65
  if (!Number.isFinite(value)) {
@@ -140,7 +140,10 @@ export class MetricAggregator {
140
140
  for (const s of snapshots) {
141
141
  // Guard against corrupt snapshots (e.g. built manually — the type is
142
142
  // exported). A negative count or non-finite sum would permanently corrupt
143
- // the bucket's accumulators.
143
+ // the bucket's accumulators. Unlike record(), corruption here is
144
+ // silently discarded without logging/counting against droppedCount —
145
+ // merge() only ever receives our own previously-harvested snapshots,
146
+ // so corruption here would mean an internal bug, not bad caller input.
144
147
  if (!Number.isFinite(s.sum) ||
145
148
  !Number.isFinite(s.min) ||
146
149
  !Number.isFinite(s.max) ||
@@ -197,12 +200,7 @@ export class MetricAggregator {
197
200
  *
198
201
  * Public so consumers can build self-monitoring metrics on top of the
199
202
  * aggregator (e.g. emit `harvest.metric_aggregator.bucket_count` to NR
200
- * each tick to detect cardinality explosions). Used internally by
201
- * `metric-aggregator.test.ts` to verify post-`harvest()` state.
202
- *
203
- * Not used by `HarvestScheduler` today; surfacing it (rather than dropping
204
- * the accessor) keeps the surface stable for the
205
- * self-monitoring work.
203
+ * each tick to detect cardinality explosions).
206
204
  */
207
205
  get bucketCount() {
208
206
  return this.buckets.size;
@@ -210,15 +208,8 @@ export class MetricAggregator {
210
208
  }
211
209
  /**
212
210
  * Convert each {@link MetricSnapshot} to a single wire-format `NrMetric` of
213
- * type `'summary'`.
214
- *
215
- * Previously this function emitted four separate metrics per snapshot
216
- * (`{name}.count`, `.sum`, `.min`, `.max`) — three of them as `gauge` (which
217
- * is semantically wrong for a delta-aggregated value) and one as `count`
218
- * (without the required `interval.ms` field). The summary type collapses
219
- * those four into one record carrying `{ count, sum, min, max }` plus the
220
- * harvest interval, halving payload cardinality and producing correct
221
- * NR-side aggregate stats.
211
+ * type `'summary'`, carrying `{ count, sum, min, max }` plus the harvest
212
+ * interval.
222
213
  *
223
214
  * @param intervalMs Harvest interval in ms — appears on the wire as
224
215
  * `interval.ms` per NR's Metric API contract.
@@ -1 +1 @@
1
- {"version":3,"file":"metric-aggregator.js","sourceRoot":"","sources":["../../../src/shared/harvest/metric-aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metric-aggregator.js","sourceRoot":"","sources":["../../../src/shared/harvest/metric-aggregator.ts"],"names":[],"mappings":"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"}
@@ -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;;;;;;;;;;;;;;;;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"}
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;AA+C3D;;;;;;;;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"}
@@ -5,21 +5,14 @@ const LOG_LEVEL_ORDER = {
5
5
  warn: 2,
6
6
  error: 3,
7
7
  };
8
- /**
9
- * Type-safe narrowing helper. The previous
10
- * `envLevel in LOG_LEVEL_ORDER` check + `as LogLevel` cast was sound at
11
- * runtime today but the cast hid the gap: TS can't narrow `string` to a
12
- * literal union via `in`, so a refactor that broadened `LOG_LEVEL_ORDER`
13
- * (e.g. added `trace`) would silently let `envLevel` flow through with
14
- * the wrong type. Explicit type guard removes the cast and makes the
15
- * literal-union membership check the single source of truth.
16
- */
8
+ // Explicit type guard so a future broadening of LOG_LEVEL_ORDER (e.g. adding
9
+ // 'trace') can't silently type-check as LogLevel via an `in` check + cast.
17
10
  const LOG_LEVELS = ['debug', 'info', 'warn', 'error'];
18
11
  function isLogLevel(value) {
19
12
  return LOG_LEVELS.includes(value);
20
13
  }
21
14
  function resolveLogLevel() {
22
- const envLevel = process.env.NEW_RELIC_AI_LOG_LEVEL?.toLowerCase();
15
+ const envLevel = process.env.NEW_RELIC_AI_LOG_LEVEL?.toLowerCase().trim();
23
16
  if (envLevel !== undefined && isLogLevel(envLevel)) {
24
17
  return envLevel;
25
18
  }
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pricing-data.d.ts","sourceRoot":"","sources":["../../src/shared/pricing-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAejD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqBhD,CAAC;AAmBF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA2d9D,CAAC"}
1
+ {"version":3,"file":"pricing-data.d.ts","sourceRoot":"","sources":["../../src/shared/pricing-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAejD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqBhD,CAAC;AAmBF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA4d9D,CAAC"}
@@ -6,7 +6,7 @@
6
6
  // alias, the prefix-match heuristic in resolveModelPricing() prefers longer
7
7
  // keys (dated suffixes like "-20250514") and silently returns LEGACY pricing,
8
8
  // e.g. claude-opus-4 → claude-opus-4-20250514 ($15/$75) instead of the
9
- // current claude-opus-4-7 ($5/$25). That's a 3× cost overestimate.
9
+ // current claude-opus-4-8 ($5/$25). That's a 3× cost overestimate.
10
10
  //
11
11
  // Resolution order in resolveModelPricing(): exact → alias → forward-prefix
12
12
  // → reverse-prefix → null.
@@ -49,6 +49,9 @@ export const MODEL_ALIASES = {
49
49
  // ---------------------------------------------------------------------------
50
50
  export const DEFAULT_PRICING_TABLE = {
51
51
  // ---- Anthropic (current generation) ----
52
+ // "Fable" — internal/beta codename for a Claude variant priced ahead of a
53
+ // public model-name announcement; update or remove once it ships under a
54
+ // public name.
52
55
  'claude-fable-5': {
53
56
  inputPerMTok: 10,
54
57
  outputPerMTok: 50,
@@ -103,9 +106,10 @@ export const DEFAULT_PRICING_TABLE = {
103
106
  contextWindow: 200_000,
104
107
  },
105
108
  // ---- Anthropic (legacy Claude 4 generation) ----
106
- // These legacy entries are retained for historical-cost backfill. Context
107
- // windows differ from current-gen (200K vs 1M). Family-name routing
108
- // (e.g. `claude-opus-4` → current generation) is handled by MODEL_ALIASES.
109
+ // These legacy entries are retained for historical-cost backfill. Most use
110
+ // the pre-1M-context window (200K); claude-opus-4-7 already had the
111
+ // 1M-context bump backported. Family-name routing (e.g. `claude-opus-4` →
112
+ // current generation) is handled by MODEL_ALIASES.
109
113
  'claude-opus-4-7': {
110
114
  inputPerMTok: 5,
111
115
  outputPerMTok: 25,
@@ -138,13 +142,11 @@ export const DEFAULT_PRICING_TABLE = {
138
142
  cacheCreationPerMTok: 6.25,
139
143
  contextWindow: 200_000,
140
144
  },
141
- // WARNING: this key uses a version-number suffix (-1) not a date suffix.
142
- // The reverse-prefix algorithm strips only 8-digit date suffixes, so a
143
- // future model named 'claude-opus-4-10' (or 'claude-opus-4-100') would
144
- // match this entry via reverse-prefix because
145
- // 'claude-opus-4-10'.startsWith('claude-opus-4-1') is true.
146
- // If Anthropic releases a claude-opus-4-10 model, add an explicit alias
147
- // before that model key appears in the table.
145
+ // This key uses a version-number suffix (-1), not an 8-digit date suffix,
146
+ // so DATED_SUFFIX_RE never strips it it's ineligible as a reverse-prefix
147
+ // base. A future 'claude-opus-4-10' resolves via the dated-key + alias path
148
+ // instead (see pricing.test.ts "13b"), never through this entry no
149
+ // action needed here when that model ships.
148
150
  'claude-opus-4-1': {
149
151
  inputPerMTok: 15,
150
152
  outputPerMTok: 75,
@@ -263,11 +265,12 @@ export const DEFAULT_PRICING_TABLE = {
263
265
  cacheReadPerMTok: 0.5,
264
266
  contextWindow: 1_000_000,
265
267
  // OpenAI long-context pricing is marginal: only tokens above 270k are
266
- // billed at the tier rate — not the entire request.
268
+ // billed at the tier rate — not the entire request. Output always bills
269
+ // at outputPerMTok in marginal mode (see ModelPricing.tierMode), so no
270
+ // tierOutputPerMTok is set here — it would be dead data.
267
271
  tierThreshold: 270_000,
268
272
  tierMode: 'marginal',
269
273
  tierInputPerMTok: 10,
270
- tierOutputPerMTok: 45,
271
274
  },
272
275
  'gpt-5.4': {
273
276
  inputPerMTok: 2.5,
@@ -277,7 +280,6 @@ export const DEFAULT_PRICING_TABLE = {
277
280
  tierThreshold: 270_000,
278
281
  tierMode: 'marginal',
279
282
  tierInputPerMTok: 5,
280
- tierOutputPerMTok: 22.5,
281
283
  },
282
284
  'gpt-5.4-mini': {
283
285
  inputPerMTok: 0.75,
@@ -498,10 +500,9 @@ export const DEFAULT_PRICING_TABLE = {
498
500
  outputPerMTok: 0.6,
499
501
  contextWindow: 128_000,
500
502
  },
501
- // `command` and `command-light` are deprecated (2024)
502
- // but retained for historical-cost backfill of consumer apps that haven't
503
- // migrated. Context window is 4096 tokens, not 4000 — the round-number
504
- // approximation in the original entry was off by 96 tokens.
503
+ // `command` and `command-light` are deprecated (2024) but retained for
504
+ // historical-cost backfill of consumer apps that haven't migrated.
505
+ // Context window is 4096 tokens, not the round number 4000.
505
506
  command: {
506
507
  inputPerMTok: 1,
507
508
  outputPerMTok: 2,